以太网帧大小为64~1518字节。以太网最大的数据帧是1518字节,这样刨去帧头14字节和帧尾CRC校验部分4字节,那么剩下承载上层IP报文的地方最大就只有1500字节,这个值就是以太网的默认MTU值。
如果IP层有<=1500字节需要发送,只需要一个IP包就可以完成发送任务;如果IP层有>1500字节数据需要发送,那么IP层就需要进行分片才能完成发送。
以主机发送一个数据载荷长度为2000字节的报文为例说明其分片的过程(假设出接口的MTU值为1500)。
当IP层接收到此IP数据包时,它要判断向本地哪个接口发送数据(选路),并查询该接口获得其MTU。把MTU与数据包长度进行比较,发现IP报文的长度超过了MTU的值1500,因此要进行分片处理,详情见下图。
第一片报文,IP报文头固定20字节,数据载荷可以封装1480字节(MTU值1500字节-IP报文头20字节,数据载荷长度须是8的倍数);
第二片报文,复制第一片的IP头,IP报文头固定20字节,数据载荷为剩余的520字节(总数据载荷长度2000字节减去第一片中已封装的1480字节)。
如果最后一片报文的长度不足46字节,会自动填充至46字节。
所有分片报文在发送至目的主机后,在目的主机进行分片重组,恢复为原报文。在进行重组时,通过IP头中的标志位中的MF用来分辨这是不是最后一个分片,片偏移用来分辨这个分片相对原数据报的位置。通过这几个字段,可以准确的完成数据报的重组操作。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
之前的应用只发送几个报文很正常,今天测试连续发送100帧(for循环内)时,发现最多只能连续发送40帧,超过40帧就死机了,不知道能从哪个标志上看出原因?如果遇到这种应用有啥好方法吗?请各位大佬指点,谢谢。
发表于 02-06 07:18
/behavior-changes-all#mtu-set-to-517
我们在应用更改后进行了测试,但遇到了无法传输超过 512 字节数据的问题。
由于客户的工作数据通常超过 51
发表于 05-28 06:41
值,如以太网的MTU是1500字节。IP分组的理论长度可达64KB,如果IP层要发送的数据报文的长度超过了链路的MTU,那么IP层就要对数据报文
发表于 10-07 11:00
每次在做数据传输时不超过这个最大数据单元 MTU交换通常发生在主从双方建立连接关系后(参见"一分钟读懂低功耗蓝牙连接数据包") 做个对比就可以知道BLE MTU 比较小(不过
发表于 10-17 11:33
每次在做数据传输时不超过这个最大数据单元 MTU交换通常发生在主从双方建立连接关系后(参见"一分钟读懂低功耗蓝牙连接数据包") 做个对比就可以知道BLE MTU 比较小(不过
发表于 10-27 10:34
停止。那么以太坊做了什么呢?就在上个月底,V 神发推特:“Sharding is comming.”—— 分片来了!!2. 啥是 Sharding以太坊和比特币一样,每笔交易都需要所有的节点进行验证
发表于 01-04 17:50
问题:需要检测上位机和单片机的通讯,拟计算通信报文如0000 0000前后两个报文的时间标识,当两报文间隔时间小于1S时,认为通信无问题,当间隔大于1S时,认为通信过程中存在数据丢失。现程序:如图现在这个程序的输出是一个1D数组
发表于 11-06 15:41
CAN总线中报文数据读取方法motorola编码格式的CAN报文解析需要知道DBC的哪些信息排序方式读取方式发送方式注motorola编码格式的CAN报文解析
发表于 01-12 07:28
1、Linux内核网络之网络层发送消息之IP分片简析本文分析下ip的分片。行 IP 分片。IP分片通常发生在网络环境中,比如1个B环境中的MTU
发表于 07-20 15:34
如何进行OPCDCOM配置(四会理士电源技术有限公司招聘)-如何进行OPCDCOM配置
发表于 09-18 14:23
•11次下载
欢迎来到东用知识小课堂,下面我们就来科普一下一下MTU是什么,如何设置MTUMTU是最大传输单元的意思,代指一类通讯协议某一层上所能通过的最大数据包大小(以byte为单位)。最大传输单元这一主要参数
发表于 10-29 06:00
•4626次阅读
欢迎来到东用知识小课堂,上次我们有谈到过关于什么是MTU和MTU的设置方法,今天我们来说一说如何利用Ping命令测试本地最佳MTU值的方法。测试构思:在广域网上,数值超过ISP标准的数
发表于 10-30 06:00
•1626次阅读
数据包的大小没有超过这个值,就直接被转发;如果超过了MTU值,就要被“分片”,分割成可以通过的尺寸。前提是设备允许分片。 路由器
发表于 12-19 17:46
•9729次阅读
你知道十进制转二进制如何进行转换吗? 当我们提到数字系统时,最常见的是十进制系统和二进制系统。十进制是基于10的系统,而二进制是基于2的系统。在这篇文章中,我们将详细讨论如何将十进制数转换为二进制数
发表于 12-20 17:05
•1446次阅读
北斗短报文终端的双向通信功能是基于中国北斗卫星导航系统(BDS)的卫星通信能力实现的。以下是北斗短报文终端进行双向通信的具体过程和特点:北斗短报文终端一、双向通信过程发送短
发表于 07-12 11:19
•529次阅读
评论