- IP协议报头
- 4位版本号:值得是目前是哪个版本,目前大规模使用的是IPv4和IPv6
- 四位首部长度:IP因为选项这个可有可无所以我们的长度是可变的,我们需要靠这个4位首部长度来知道我们的头部有多长
- 8位服务类型(TOS):实际上只有4位有效,这四位是相互冲突的,其中只有一位是1其他三位是0,这四位分别是(最小延时,最大吞吐量,最高可靠性,最小成本)
- 16位总长度(字节数):描述了一个IP数据报的长度,包含(报头+载荷)IP有64kB的限制不过不用担心因为IP提供了拆包和组包的方法,系统内核自动完成
- 16位标识:在IP拆包的时候他来标记哪些拆下来的包是一起的
- 3位标志位:只有两位有效,其中一位表示这次的IP数据是否拆包了,还有一位表示结束标记
- 13位片偏移:描述了这些包之间的先后顺序
- 8位生存时间:单位不是s/ms而是次数,这里存储的是一个整数,一个IP数据报,每次经过一个路由器转发,TTL就-1如果这个数值为0了,说明这个数据包就要被丢包了(防止某个数据在网络中无限的转发下去)
- 8位协议:表示在传输层使用哪个协议
- 16位首部校验和:校验数据的正确性,只针对IP的首部校验的,载荷部分不管了,载荷中的TCP/UDP都自带了校验和
- 32位源IP地址:发件人地址
- 32位目的IP地址:收件人地址
14为了解决IPv4不够用的问题我们有三个解决办法:1、动态分配:上网的设备分配IP,下线就清空这个IP分配给别人用,2、NAT机制:下条博客介绍,3、升级成IPv6