IP协议
IP协议,Internet Protocol ,互联⽹协议,IP协议位于⽹络层,主要⽬的是使得⽹络间能互联通信 IP是TCP/IP协议族中得核⼼协议,所有TCP、UDP、ICMP和IGMP数据都是通过IP数据报传输。 IP报⽂
IP数据报的⾸部部分长度为20-60个字节
版本号:指IP协议所使⽤的版本。4个位。版本号为0100,4,即IPv4,版本号为6,即IPv6
IP⾸部长度:表⽰IP包头长度,该字段⽤4位表⽰。最常见的报头长度是0101即20位,当IP报头长度不是4字节整数倍时,就需要对填充域填充
DS位:现在⼀般⽤于⽀持QoS中差分服务模型,实现⽹络流量优化
总长度:指IPv4数据报的总长度。数据报的最⼤长度为:2*16-1=65535字节,当IP数据报超过最⼤传输单元MTU后,会被分⽚处理 标识符:⽹络中转发的IP报⽂的长度可以不同,但如果报⽂长度超过了数据链路所⽀持的最⼤长度,则报⽂就需要分割成若⼲个⼩的⽚段才能在链路上传输。将报⽂分割成多个⽚段的过程叫做分⽚
主机将数据报分⽚后,在发送前,会给每⼀个分⽚数据报⼀个ID值,放在16位的标识符字段中。 标志位:标志字段在IP报头中占3位, 第1位作为保留,置0;
第2位,分段,有两个不同的取值:该位置0,表⽰可以分段;该位置1,表⽰不能分段;
第3位,更多分段,同样有两个取值:该位置0,表⽰这是数据流中的最后⼀个分段,该位置1,表⽰数据流未完,后续还有 当⽬的主机接收到⼀个IP数据报时,会⾸先查看该数据报的标识符,并且检查标志位的第3位是置0或置1,以确定是否还有更多的分段。如果还有后续报⽂,接收主机则将接收到的报⽂放在缓存直到接收完所有具有相同标识符的数据报,然后再进⾏重组。 偏移量:各个IP分⽚数据报在发送到⽬的主机时可能是⽆序的,所以就需要“偏移量”字段来指明“该分⽚在原数据报中的位置顺序” ⽣存时间:该字段⽤于设置⼀个“数据报可经过的路由器数量”的上限。
报⽂在⽹段间转发时,如果⽹络数设备上的路由规划不合理,就可能出现环路,导致报⽂在⽹络中⽆线循环,⽆法到达⽬的端。环路发⽣后,所有发往这个⽬的地的报⽂都会被循环转发,⽹络将发⽣拥塞。
发送⽅在初始发送时设定某个值(建议为64,、128或255),每台路由器再转发时都将其减⼀,当字段达到0时,该数据报被丢弃,并使⽤⼀个ICMP消息通知发送⽅。
协议:8位1个字节,包含⼀个数字,该数字对应⼀个“有效载荷部分的数据类型”。⽐如0x06代表TCP。
⾸部校验和:2个字节,该字段“仅计算”IPv4⾸部。也就是说只“校验”⾸部。并不检查数据报的“数据部分”。
⾸先将“⾸部校验和”设置为0。然后对⾸部(整个⾸部是⼀个16位字的“序列”)计算16位⼆进制反码和。该值被存储在⾸部校验和字段中。当接收⽅接收到数据报后,也对其⾸部进⾏校验计算,如果结果与“⾸部校验和”的值不同,就丢弃收到的数据报。 源IP、⽬的IP:各占4个字节 可选字段:IP⽀持很多可选选项。
因篇幅问题不能全部显示,请点此查看更多更全内容