标签:字节 首部 ip 网络层 计算机网络 标识 分组 分片
网络层主要的作用是:转发和路由。
转发:将当前数据报的信息转发到下一个路由器/主机(通过一个转发表)。
路由:从源主机到目的主机的路径信息称为路由。
ip数据报的格式:
展开之后:
接下来说明各个字段的作用:
(1)版本号(4位):给出版本号,4:ipv4:6:ipv6.
(2)首部长度(4位):ip分组首部长度。
以4个字节为单位:0001表示首部长度为4个字节。0011表示首部长度为12个字节。(只是举例,可以知道首部的固定字节为20个字节,最少也应该是20个字节)。
(3)服务类型(TOS):区分服务。一般情况下不使用。
(4)总长度:ip分组的总字节数(首部+数据)。
最大的ip分组的总长度为:65535B;
最小的ip分组首部:20B;
Ip分组可以封装的最大数据:65535-20B;
(5)标识。标志位和片偏移稍后说。
(6)生存时间(TTL):ip分组在网络中可以通过的路由器数。
路由器转发一次分组,TTL-1;
如果TTL=0,路由器则丢弃该IP分组。
(7)协议:指示ip分组封装的是哪个协议的数据包。
实现复用/分解
6为tcp,表示的是TCP段。17是udp,表示的是UDP数据报。
(8)首部校验和:实现对ip分组首部的差错检测。
(9)源ip地址,目的地址。
(10)选项字段(可变):网络探测等。(基本没有)
ip分片:
最大传输单元(MTU)
网络链路存在MTU(最大传输单元)-链路层数据帧可封装数据的上限。
大ip分组向较小MTU链路转发时,可以(不一定分片)被“分片”。
一个ip分组可以被分为多片ip分组;
Ip分片到达目的主机后进行重组。
Ip首部的相关字段用于标识分片以及分片的相对顺序。
(1) 标识字段(16位):标识一个ip分组:ip协议利用一个计数器,每产生ip分组计数器加1,作为ip分组的标识。
(2)标志位(3位):
Df:(don’t fragment);
MF:(more fragment)。
Df = 1:禁止分片;df = 0:允许分片;mf = 1;非最后一片;mf = 0:最后一片(或者未进行分片)
(3)片偏移(13位):一个ip分组分片封装原ip分组数据的相对偏移量。
片偏移字段以8字节为单位
Ip分片过程中:
假设原ip分组总长度为l,带转发链路的MTU为m
若L>m并且DF=0,则可以进行分片
分片时每个分片的标识赋值原ip分组的标识
通常分片时,除了最后一片,其他分片均分为MTU允许的最大分片。
一个最大分片可封装的数据应该是8的倍数,因此,一个分片最大可封装的数据为:
需要总的片数:
每片的片偏移字段取值为:
标签:字节,首部,ip,网络层,计算机网络,标识,分组,分片 来源: https://blog.csdn.net/zhangqianqian57/article/details/119359943
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。