二十九、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。








相关文章
|
6月前
|
网络协议 测试技术 数据安全/隐私保护
ensp中高级acl (控制列表) 原理和配置命令 (详解)
ensp中高级acl (控制列表) 原理和配置命令 (详解)
332 0
|
网络协议 网络性能优化 数据库
华为18级工程师用200张图带你一次性搞懂HTTP/TCP/IP网络协议
互联网世界中,网络协议的重要性不言而喻。很多人都知道,网络协议中的五层模型或者七层模型,这些在操作系统中,那都是“必考题”。上学的时候,无论是死记硬背,还是各种小抄,总得把下面这个图记下来。踏入工作,走进 web 开发“不归路”,发现还是不能落下它。 计算机网络相关的知识点是在面试过程中开发者经常被问到。当然可能这一块知识点与前面的操作系统、数据库相比较比重可能没那么高。但是优秀的你,一定是想做好充分的准备吧!
|
网络协议 网络安全 C++
【网络篇】第十六篇——再谈端口号
【网络篇】第十六篇——再谈端口号
【网络篇】第十六篇——再谈端口号
|
缓存 网络协议 Unix
【网络篇】第十八篇——ping的工作原理
【网络篇】第十八篇——ping的工作原理
【网络篇】第十八篇——ping的工作原理
|
域名解析 网络协议 Unix
Linux网络基本配置命令(我路过你的心,你不肯留)(一)
Linux网络基本配置命令(我路过你的心,你不肯留)(一)
238 0
Linux网络基本配置命令(我路过你的心,你不肯留)(一)
|
域名解析 Linux
Linux网络基本配置命令(我路过你的心,你不肯留)(二)
Linux网络基本配置命令(我路过你的心,你不肯留)(二)
101 0
Linux网络基本配置命令(我路过你的心,你不肯留)(二)
|
网络协议 Linux 数据中心
重学网络系列之(我的名字叫IP)
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
124 0
|
Oracle 关系型数据库 数据库
懒人的小技巧, 批处理修改IP
懒人的小技巧, 批处理修改IP
179 0