首部=固定部分(20B)+ 可变部分(0B–40B)
-
-
目前有IPv4和IPv6两个版本(v:version,版本),本节的数据报格式指IPv4数据报格式
4位二进制可以表示十进制的范围(0000–1111,即0–15),
因为首部=固定部分(20B)+ 可变部分(0B–40B) 首部有一个固定部分,它至少占20个字节。
2.已知一个IP数据报中的首部长度字段内容是0101,请问该IP数据报的首部长度大小是?
-
-
第二步:十进制值乘以单位4字节,得出答案。即5x4字节=20字节
(3)区分服务 占8位,用来获取相关服务。一般情况下不怎么用。
1.已知首部长度字段取值为0101,总长度字段的取值为0011111111111100,请问根据这些条件,你能获得那些信息?
可直接求出首部长度=20字节,总长度=1020字节(二进制转十进制,带上单位即可)
间接得出数据长度,数据长度=总长度–首部长度=1000
观察上图可知,发送方发送的应用层报文需要从上至下经过一层一层的封装,最终在物理层变成比特流,通过物理层交付给接收方。
每一层的封装都是将上层的交付的内容作为本层的数据部分,再加上本层的首部,于是就构成了本层的报文,即本层的报文=上一层的报文+本层的首部。
由于数据链路层有MTU(数据链路层报文的数据字段的最大长度,一般规定为1500B)的限制,导致了网络层的报文过长时(总长度>1500B),就要进行分片处理。
数据部分根据需要分割成多个小的部分,每一个小的部分再加上原始数据报首部(但必须修改有关字段的值),使小的部分的总长度小于1500B即可。
-
-
相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。
a. 标志字段的最低位记为MF。MF=1,表示“还有分片”的数据报。
b. 标志字段的中间的一位记为DF,表示不能分片。DF=0时才允许分片。
-
用于数据报的分片处理,表示相对于用户数据字段的起点,该片从何处开始。
-
片偏移以8个字节为偏移单位,也就是说,除最后一个数据报片外,每个分片的长度一定是8字节的整倍数。
-
-
-
防止无法交付的数据报无限制地在互联网中兜圈子,白白消耗网络资源。
-
单位:跳数,指数据报最多可在互联网中经过多少个路由器。
-
-
协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个协议进行处理
(10)首部校验和 占16位。用于检验数据报的首部,不含数据部分。
是一个选项字段,用于排错、测量以及安全措施,为了增加IP数据报的功能。
3.使用wireshark对IP数据报的抓包结果:
来自CSDN博主@tobing的“Wireshark分析IP数据报”文章里的图片
原文始发于微信公众号(计算机408):IPv4数据报的格式
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/261216.html