Ip结构图

版本 (4)
报头长度(4)
QOS(8)
总长度(16)
标识符(16)
标志(3)
分片偏移量(13)
TTL(8)
协议(8)
头校验和(16)
源IP (32)
目IP(32)
Ip 选项(若有)(24)
填充(8)
数据(32)

 
版本:就是IP 的版本标识
报头长度:以32b 为地址的 最常见的是5(20B)
QOS IP 包是一个不保证传输协议 用QOS 来弥补IP 的不足
总长度 :指明IP 数据包的长度 单位是B
标识符:指明数据包片来自哪个数据包
标志 :就是标记数据包是否要分片 有三个b
1.       当第一个比特为1时表示要分组
2.       当第二个比特为1时表示不是最后一个数据片
3.       第三个比特未用
分片偏移量:当知道来自哪一个数据包分片后填入偏移量域 来确定分片在原数据包里的位置 还要填入总长度 以便这个数据包是否传输完
TTL:存活期:在网络中处理延迟  用HOP 为单位 当一个数据包传到另一端时 在对端启用一个计时器。它进过一个路由器就减一跳 直到为0时 还没有收到完整的包 就把已经收到的片给丢弃
协议:指明数据区封装传输层(TCP UDP) 到达对端来决定上一层所匹配的端口.
头校验和:检查传输过程中的数据包是否完整正确
数据:放入传输层封装的数据
分片和重组过程
IP 数据包要封装在datalink里的 IP 数据包里的MTU 不能大于二层中的传输字节
所以要对IP数据包分片
分片过程:
1.       把要分片数据包的报头复制到每个分片中,这时填入标志域,标志域中有三个比特
当第一个比特为1时表示要分组
当第二个比特为1时表示不是最后一个数据片
第三个比特未用
2.       标识符会标记每个分片是属于哪个数据包
3.       这时加入分片偏移量来标记每个分片在原来数据包里距离头的位置,第一个分片的偏移量是0 同时填入总长度来标记分片的长度
重组过程:
当对端收到第一个数据分片时通过标示符显示它属于哪个数据包 当收到第二个分片时 通过标志域来判断它是否是最后一个分片,如果是根据偏移量来确定其在数据包中的位置 重组好了的包交给IP 层去处理