数据链路层如何用MAC地址标记每台设备的“身份证“,通过MTU规则限制46-1500字节数据帧大小,ARP协议在广播风暴中精准寻址,解决IP到MAC的“最后一公里“难题
文章目录本篇摘要一.认识以太网二. 以太帧格式三.认识下MTU最大传输单元四.细谈MSS最大段尺寸五.ARP协议ARP数据报格式六.总结几个需要注意的问题七.本篇小结本篇摘要介绍以太网作为技术标准体系涵盖拓扑、MAC方式及速率等解析以太帧结构MAC地址、协议类型等阐述MTU46-1500字节与MSS协商机制说明ARP协议通过请求/应答建立IP-MAC映射并缓存解决局域网通信寻址问题。一.认识以太网以太网的本质以太网并非指某种特定的网络实体而是一套技术标准体系。它不仅涵盖了数据链路层Data Link Layer的相关规定也包含了部分物理层Physical Layer的技术规范。以太网标准内容规定了网络的拓扑结构。定义了介质访问控制MAC方式。明确了网络的传输速率。以太网的技术特性举例通常要求使用双绞线作为传输介质。支持多种传输速率如10Mbps、100Mbps、1000Mbps1Gbps等。以太网的地位与应用是当前应用最为广泛的局域网LAN技术。在局域网技术领域与以太网并列的其他技术还包括令牌环网Token Ring、无线局域网Wireless LAN, WLAN等。二. 以太帧格式IP与MAC地址的核心区别IP地址网络层逻辑地址描述通信的总体起点与终点如从北京到上海的旅程。MAC地址数据链路层物理地址固化在网卡硬件中描述通信每一跳区间的起点与终点如从北京站到天津站、天津站到济南站的具体路段。数据帧的关键结构源/目的MAC地址48位硬件标识符固化在网卡出厂时标识当前链路层的发送端和接收端设备。帧协议类型字段通过特定值区分上层协议类型如IP、ARP、RARP。CRC校验码位于帧末尾用于检测数据帧在传输过程中是否发生错误保障数据完整性。这里有个问题为什么数据链路层这里要求上层传的数据要46-1500?三.认识下MTU最大传输单元MTU的类比MTU相当于发快递时对包裹尺寸的限制该限制由不同数据链路对应的物理层产生。以太网MTU具体数值以太网帧中的数据长度规定最小46字节最大1500字节。ARP数据包长度不够46字节时要在后面补填充位最大值1500称为以太网的最大传输单元MTU 。不同网络类型的MTU不同的网络类型有不同的MTU。MTU与数据包分片如果一个数据包从以太网路由到拨号链路上当数据包长度大于拨号链路的MTU时则需要对数据包进行分片fragmentation。MTU的本质可以理解成这是底层硬件的一种规定如果超过了就必须在IP层进行分片。之前讲过了对于传输层除了报头的数据(UDP【14721500-20-8】/TCP【14601500-20-20】)如果报文过大了就会分片这里就不再说了!可以理解成这是底层硬件的一种规定如果超过了就必须在ip层进行分片在网络层讲过)四.细谈MSS最大段尺寸TCP单个数据报最大消息长度受限于MTU此最大长度称为MSS。TCP建立连接时通信双方会进行MSS协商。最理想状态是MSS值为IP不分片处理的最大长度该长度受限于数据链路层的MTU。双方在发送SYN时会在TCP头部写入自身能支持的MSS值。双方知晓对方MSS值后选择较小的作为最终MSS。MSS的值在TCP首部40字节的变长选项中kind 2。这里的交互MSS就是为了保证双方在数据链路层发送以及接收的时候不会被分片或者拒收以及ip层发现MSS讨大导致拒收引发对面重传等情况!MTU与MSS关系现在我们结合实际情况回答下为什么处于这个范围刚刚说了是由于硬件等规定那么为什么要这么规定局域网就是一个碰撞域一个时刻只能发送一个数据帧 真正在网络物理层上流动的数据 ---- 其实是数据帧这里可以把局域网理解成临界资源每次只能发一个数据帧因此每台主机使用的时间越少越好而发送的数据帧越少越短越好才能对网络更友好这里假设数据帧特别大此时就会传的特别慢占用网络时间长其他主机发的报文就要等待了 — 因此规定最大MTU是1500如果特别小就需要分片的数量就特别大此时一台主机发的数据帧就会特别多此时产生冲突的时间就会延长对网络也是不友好 — 下限就是46这里为什么是这两个数是经过多次测试最优方案此时我们就知道为什么这样规定了也就是结合实际的!使用ifconfig命令,即可查看ip地址, mac地址和MTU:五.ARP协议ARP协议产生背景仅知道目标主机IP地址不知道MAC地址时无法发送数据帧因此需要局域网协议将IP转换为对应的MAC地址即ARP协议。ARP协议层次属性ARP不是单纯的数据链路层协议而是介于数据链路层和网络层之间的协议。ARP协议核心功能建立主机IP地址和MAC地址的映射关系。ARP协议工作流程发送数据帧时先发ARP请求局域网内所有主机可见。若接收方信息不一致则舍弃若目的IP与自身IP一致将自身MAC地址写入并发送应答ARP对方收到后记录MAC地址用于数据发送后续重复时仅匹配的接收不匹配则丢弃 。ARP数据报格式源 MAC 地址和目的 MAC 地址在以太网首部和 ARP 请求中各出现一次在以太网链路层情况中多余其他链路层网络类型可能必要。硬件类型表示链路层网络类型其中 1 代表以太网。协议类型指明要转换的地址类型0x0800 对应 IP 地址。硬件地址长度方面以太网地址为 6 字节。协议地址长度上IP 地址为 4 字节。op 字段取值含义1 表示 ARP 请求2 表示 ARP 应答。那么在数据链路层ARP协议和以太网协议是如何工作?其实就是我们发送ip数据帧的时候首先看下对应ARP协议层有没有对应mac地址没有的话就直接发经过以太网协议包装的ARP请求得到对应mac地址后保存然后再发ip数据帧!这里发送的时候经过哪层协议进行的包装到时候接收的时候它就要进行解析!理解了数据链路层发送的规则但是局域网中任何主机可能收到ARP请求也可能收到ARP应答下面讲一下主机如何进行区分我们说过了局域网是个碰撞域每次都集体发送一个数据帧假设B主机收到了一个ARP数据帧怎么知道是请求还是应答呢首先ARP层拿到对应的数据后可以先看op标志如果是1那么此时就把自己的mac地址填到对应的目的以太网地址里如果是2此时就可以拿到里面的目的以太网地址保存再填充对应ip数据帧!再复盘下对应操作对于第一次给主机发信息首先进行ARP请求(即广播以太网帧首部的硬件地址填FFRFFFRFFF6表示广播)目的主机接收到广播的ARP请求发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机将自己的硬件地址填写在应答包中;然后源机拿到后就可以进行ip数据帧的发送了!每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址。两个问题1·为什么要进行缓存如果很长时间给对面主机发信息每次发送ARP请求效率就低了还会带来不必要的网络负担因此需要保存。2·为什么要有过期时间因为ip是动态分配的而且mac地址只要硬件等换了就会更换它们是变化的为了保证有效性需要及时调整等原因导致过期时间动态性适配保证IP - MAC映射关系随设备变化及时更新防止通信失败。资源管理避免缓存表溢出给活跃设备释放空间。安全性增强加大ARP欺骗攻击难度减少长期攻击风险。兼容性适配DHCP等动态IP分配机制支持移动与临时接入设备。六.总结几个需要注意的问题一般对于ARP请求会来到ARP协议层进行分析决定是否舍弃因为它要判断目的ip地址是否和自己的相同而获取目的ip只能在ARP层进行解析。对于ARP应答在MAC帧层就可以决定是否要舍弃如果是发给自己的应答此时在以太网首部就有目的mac如果不是自己的mac地址就直接舍弃。因此当一个主机收到报文的时候首先到达mac帧层如果发现以太网首部目的地址不是全F就是应答按照上面的方式处理如果是全F也就是请求需要交给ARP层进行分析处理七.本篇小结以太网定义局域网通信标准MTU限制数据帧大小保障效率ARP协议通过广播请求与缓存映射实现IP到MAC转换确保链路层数据精准传输。

相关新闻

【UE4】VS2022编译UE4.26.2工程问题记录

【UE4】VS2022编译UE4.26.2工程问题记录

最近将VS2019升级到了VS2022,编译项目时遇到了一些问题,在此记录一下~ 一. GenerateProjectFiles.bat 生成失败 安装 MSVC v142 - VS 2019 C x64/x86 生成工具二. 编译失败,提示常量算法中溢出 安装 Windows 10 SDK (10.0.19041.0) 修改Buil…

2026/7/26 19:03:55 阅读更多 →
SVG Wave 性能优化:如何生成高质量的 SVG 波浪文件

SVG Wave 性能优化:如何生成高质量的 SVG 波浪文件

SVG Wave 性能优化:如何生成高质量的 SVG 波浪文件 【免费下载链接】svgwave SVG Wave is a tiny, free and beautiful SVG gradient waves generator for your next design. 项目地址: https://gitcode.com/gh_mirrors/sv/svgwave SVG Wave 是一款小巧、免费…

2026/7/26 18:50:28 阅读更多 →
现代C++设计模式高级技巧:模板元编程与设计模式的完美结合

现代C++设计模式高级技巧:模板元编程与设计模式的完美结合

现代C设计模式高级技巧:模板元编程与设计模式的完美结合 【免费下载链接】design-pattern Design Patterns In Modern C 中文版翻译 项目地址: https://gitcode.com/gh_mirrors/des/design-pattern 在现代C开发中,设计模式是构建灵活、可维护代码…

2026/7/26 19:04:00 阅读更多 →

最新新闻

微信防撤回补丁失效?逆向工程实战:从内存修改到开源方案

微信防撤回补丁失效?逆向工程实战:从内存修改到开源方案

1. 项目概述:当微信更新遇上防撤回补丁最近,不少热衷于使用微信PC版防撤回功能的朋友,可能都遇到了一个头疼的问题:微信更新到4.0.3.36版本后,之前用得好好的补丁突然失效了。消息撤回的提示框一闪而过,该被…

2026/7/27 7:31:26 阅读更多 →
得物App sign签名逆向:MD5加密常见错误与排查方案详解

得物App sign签名逆向:MD5加密常见错误与排查方案详解

1. 项目概述:为什么“得物sign签名”是逆向路上的第一道坎? 如果你正在尝试爬取得物App的商品、价格或评论数据,或者想研究其接口调用逻辑,那么“sign签名”这个参数绝对是你绕不开的第一座大山。它就像一道加密的门禁&#xff0c…

2026/7/27 7:31:26 阅读更多 →
AI视觉在超声波缺陷检测中的应用与优化

AI视觉在超声波缺陷检测中的应用与优化

1. 项目概述:超声波缺陷检测的AI视觉革命在工业无损检测领域,超声波检测一直是发现材料内部缺陷的黄金标准。但传统方法高度依赖操作人员的经验,就像医生看X光片一样,需要多年训练才能准确判断图像中的异常。我们团队开发的这套AI…

2026/7/27 7:31:26 阅读更多 →
分布式训练通信优化:Horovod与BytePS核心技术解析

分布式训练通信优化:Horovod与BytePS核心技术解析

1. 分布式训练通信优化概述在大规模机器学习训练场景中,单机单卡的训练模式已经无法满足日益增长的模型规模和数据集大小的需求。分布式训练通过将计算任务分配到多个计算节点上并行执行,显著提升了训练效率。然而,分布式训练中的通信开销往往…

2026/7/27 7:31:26 阅读更多 →
为什么你的提示词总在中性情绪上翻车?揭秘BERT+Prompt联合调优的6大隐性参数

为什么你的提示词总在中性情绪上翻车?揭秘BERT+Prompt联合调优的6大隐性参数

更多请点击: https://intelliparadigm.com 第一章:中性情绪翻车现象的本质归因 在现代软件工程实践中,“中性情绪翻车”并非心理学术语,而是开发者社区对一类隐蔽性技术失效的戏称——指系统在无明显错误日志、无异常抛出、无监控…

2026/7/27 7:31:26 阅读更多 →
从感官艺术展到交互装置:TouchDesigner与Max/MSP实战开发指南

从感官艺术展到交互装置:TouchDesigner与Max/MSP实战开发指南

在当代艺术与科技融合的浪潮中,感官体验的边界被不断拓宽。近期,一场名为“即兴生活家Doris的环球感官艺术实验”的展览引发了业界与公众的广泛关注。这不仅仅是一场艺术展,更是一次关于数据、交互与感知的深度技术实践。对于开发者、创意技术…

2026/7/27 7:30:26 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻