IP协议网络层最核心的协议。网络成协议的工作主要有两个:地址管理和路由选择(路径规划)。
IP协议报头结构
(1)4位版本号,表示当前IP协议的版本,有两个:IPv4和IPv6。这里主要讨论IPv4。
(2)4位首部长度,表示当前IP报头的长度。带有选项字段(可以有,可以没有)可以实现增长报头。
(3)8位服务类型,这里的八位,实际有四位,另外的四位是保留位,可以提供未来的扩展使用。四个服务类型中,比特位都是互斥的,一个报文中四个位只有一位可以是1,其他的都是0。4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。实际开发中,很少手动调整。
(4)16位总长度,表示一个IP数据报(报头+载荷)有多长。载荷部分就是一个完成的传输层数据报(比如完成的TCP数据报)。IP协议是自己内置了拆包组包的协议,可以自动完成过长的TCP数据报分包,每一个包来携带TCP的一部分数据。
(5)16位标识,3位标志,13位片偏移。16位标识,同一个包拆出来的若干个小包,标识是一样的;十三位片偏移,描述了拆出来的包的先后顺序;