IP协议定义传输的基本单元、支持路径选择和包含一组不可靠分组交付思路的规则。
IP协议数据报格式如下
版本:IPv4
首部长度:20字节,不含填充和选项
服务类型:优先级指示,用于路由算法提示,帮助路由器根据本地策略和对路径上可用硬件的知识选择不同的路由路径
总长度:2字节表示长度,所以IP包最大长度65535字节,但实际受限于物理网络的MTU大小,例如以太网的 MTU 1500字节
标识:和源IP唯一标识数据报
标志:是否分片或片未完标识
片偏移:相对总长度的偏移
寿命:TTL Time To Live 路由器的跳限制,避免循环路由,每经过一个路由器减1,到0时该数据报将被丢弃
协议 - 指明创建IP数据报的高层协议
首部校验和:完整性校验,每经过一个路由器将重新计算一次校验和
源地址,目的地址:通常是最初发送方和最终接收方的地址,一般中间路由器不会改变,除非设置了源站路由选项
IP选项:通常用于网络控制、调试和收集信息
数据报经过不同MTU的物理网络时可能产生分片,分片通常发生在路由器上,路由器连接着不同MTU的网络。分片传输是无序的,数据报分片后只在到达目的主机后才进行重组。
优点:分片可以被独立路由,减少中间环节(路由器)实现的复杂度
缺点:增加了数据报丢失的概率,任一分片丢失,在接收方重组时将丢弃其他所有已收到的分片。
目的主机收到第一个分片后启动重组计时器,若在超时前没有收齐全部分片则丢弃该报文。
分片和重组通常都在操作系统底层实现。