二十九、IP数据报

简介: 二十九、IP数据报

1、IP数据报格式


IP数据报格式分为首部数据部分,其中首部又可以细分为固定部分可变部分;数据部分若是过大,则会对数据进行分片。45a65712493b439aaef75284b424375e.png



1.1 IP数据报首部信息

011f278180ef4f908b297e57014a54d0.png


版本: 中记录了当前数据报使用的是IPV4协议还是IPV6协议;


首部长度: 的单位是4B,最小为5,最大为15,因为首部长度的空间大小只有4位;最小为5是因为,首部固定长度部分最少为20B;


区分服务: 指示期望获得哪种类型的服务,如强调数据报的优先级;


总长度: 首部长度+数据长度,单位是1B,总长度的空间大小为16位,最大可以表示的数字为65535,再乘以单位1B,说明总长度最大为65535B;


生存时间(TTL): IP分组的保质期。经过一个路由器-1,变成0则将数据报丢弃;


协议: 指的是数据部分使用的协议,各种协议对应的字段如下所示:


94963c7d20f244bfa55b3ae1325c5fbb.png


首部检验和: 只检验首部,不检验数据部分;


源地址和目的地址: IPV4协议下的地址长度为32位;


可选字段: 0-40B,用来支持排错、测量以及安全等措施;


填充: 全为0,把首部补成4B的整数倍;



2、IP数据报的分片


最大传送单元MTU


表示链路层数据帧可以封装的数据上限,以太网的MTU是1500字节,超过1500字节就要对数据进行分片处理。

1916053e13814fb6b63b0ee7d4dcdc61.png


标识:


同一数据报的分片使用同一个标识;

标志:


有3位,但是只有两位有意义,中间位为DF(Don’t Fragment),DF=1,禁止分片;DF=0,允许分片。最低位MF,(More Fragment):MF=1,后面还有分片;MF=0代表最后一片/没有分片。

片偏移:


指出较长分组分片后,某片在原分组中的相对位置,以8B位为单位。通过片偏移的调整规则可以发现,数据报中若进行分片之后,除了最后一个分片,每一个分片一定是8B的整数倍。

IP数据报分片例题:

31cd93b68230408896b69efa7ef41c2b.png



一种八片的首饰:


   总长度的单位是1B,片偏移的单位是8B,首部长度的单位是4B。








相关文章
|
网络架构
|
网络协议 算法
|
网络协议 网络安全 C++
【网络篇】第十六篇——再谈端口号
【网络篇】第十六篇——再谈端口号
【网络篇】第十六篇——再谈端口号
|
网络协议 Unix Java
重学计算机网络(二) - 曾记否,查IP地址(上)
重学计算机网络(二) - 曾记否,查IP地址(上)
174 0
重学计算机网络(二) - 曾记否,查IP地址(上)
|
Oracle 关系型数据库 数据库
懒人的小技巧, 批处理修改IP
懒人的小技巧, 批处理修改IP
185 0
|
网络协议
重学计算机网络(二) - 曾记否,查IP地址(下)
重学计算机网络(二) - 曾记否,查IP地址(下)
150 0
|
网络协议 Linux
重学计算机网络(二) - 曾记否,查IP地址
先献上几个梗 1.1.1.1 不是测试用的,原来一直没分配,现在被用来做一个DNS了,宣传是比谷歌等公司的dns服务更保护用户隐私。 IP地址255.255.255.255,代表有限广播,它的目标是网络中的所有主机。
1037 0