【计算机网络——IP数据包/FCS/帧格式】

📅 发布时间:2026/7/5 22:57:38 👁️ 浏览次数:
【计算机网络——IP数据包/FCS/帧格式】
以太网帧格式、IP数据报格式、TCP数据报、UDP数据报、ARP数据报、ICMP数据报数据包分片、CRC循环冗余监测。【0310:新增了数据报分片部分 数据长度必须是8的倍数,片偏移=在此之前发送的数据长度/8】目录数据包分片基本概念例题说明CRC循环冗余检测例题1例题2IP数据报文格式以太网帧格式IP数据报ARP数据报RARP报ICMP报文ICMP查询报文(2)todoDNS解析失败ICMP差错报文帧格式实例数据报文交付同一网络中报文交付不同网络中普通数据报交付Q1:Q2:间接交付广播数据报交付【小结】IP数据报传输/MAC地址计算机网络故障排查VLSM变长子网划分排查故障步骤:!配置路由-双向路由数据包分片IP数据报分片——0310新增重点!当IP数据报的数据长度不能适应底层MTU时,需要对数据报进行分片传输。分片的数据报在报文中标识符是相同的,在目的主机上对数据报重组(这是因为不一定所有的分片都经过同一个路由器,所以不能在中间路由器上重组)。IP数据报:不可靠传输(不保证数据报到达,出错时丢弃发送ICMP)分片与重组:当数据报长度超过底层MTU时,数据报分片传输,分片的标识符是相同的,并在目的主机上重组。重点!!!每片数据报的数据部分必须是8的倍数(MTU-20得到一个数据报能发送的数据部分长度,这个值必须满足是8的倍数!!!!)片偏移:前面已经发送的数据部分/0,注意最后一个分片的片偏移!!!第一片 1480 在此之前发送数据长度是0,因此片偏移=0/8 = 0第二片 1480 在此之前发送的数据长度是1480,因此片偏移 = 1480/8 = 185好文:https://blog.csdn.net/qq_44631615/article/details/109393016?fromshare=blogdetailsharetype=blogdetailsharerId=109393016sharerefer=PCsharesource=weixin_47417033sharefrom=from_link基本概念1. 每个片段的最大数据长度:链路上一次能传送的最大数据包最大分片的数据长度 d = 链路长度-20/8向下取整 * 8【因为一个字节数据占8位,因此数据长度必须是8的整数倍。】比如MTU=576时,576-20=556,但556不是8的倍数,因此一次能传输的最大数据长度是552!2. 分几片传输:总数据长度(数据包长度-20)/d 向上取整3. 每个数据包总长度:数据长度+204. DF:don't fragment 禁止分片。0:允许, 1:禁止5. MF:more fragment。1:有更多,0:无更多。最后一个数据包为0,其他为16. 片偏移量: = 在此之前传输的数据部分长度/8.例题说明1例题说明2-0310新增CRC循环冗余检测参考:https://zhuanlan.zhihu.com/p/551776121【注1】CRC检验只能保证接收端接收到的帧没有差错,至于有没有出现帧丢失,帧重复,帧失序,是无法判断的。【注2】FCS的生成以及接收端CRC检验都是由硬件实现, 处理很迅速, 因此不会延误数据的传输1.前提:在数据链路层传输数据时,需要:封装成帧、透明传输、差错控制CRC校验作用:数据链路层发送数据时,需要采用CRC校验进行检错和差错检测,保证数据传输可靠性。常见差错检测方法:CRC校验法、海明码2.3. CRC使用什么方式检错:通过CRC校验算法,产生一个帧检测序列FCS。在原始数据后添加这n位数据成为帧检测序列FCS后,再进行数据传输。接收方依据n位的FCS可以对收到的数据进行检测4.FCS如何生成?——多项式最高次数为n次,将n添加到原始数据后得到x。——多项式可以得出一个码,除数y,用x mod y(这个过程异或运算,相同0,相异1)可以得出FCS发送端最终发送的数据是什么?是原始数据+FCS(帧序列检测码/冗余码)接收方收到数据如何通过FCS判定是否正确?用收到的数据对除数P求余,余数0,则正确。下面通过例题说明:例题1【注】生成多项式的二进制是除数,生成多项式最高次数是FCS位数,也是补0个数,两者不一样。给原始数据,需要通过CRC校验,则要发送的数据是什么?例题2在接收端检测收到的数据是否正确例题3假如要发送的数据是1101 0110 11, 采用