目录
ip数据包格式
版本-首部长度-优先级与服务类型-总长度-标识符-标志-段偏移量-TTL(生命周期)-协议号-首部校验和-源-目标-可选项-数据
版本号
ip地址协议的版本 (4bit)指IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPV4,表示为0100
首部长度
(4)封装的长度 ip数据包的包头部长度
优先级与服务类型
(8)IP地址的优先级和区分 该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现QOS(服务质量)的要求。注:定义ip数据包是否优先传送
总长度
(16)定义ip数据包的总长度,最长为65535字节,包括包头和数据。注:ip头部 数据段可能20字节也有可能多 总长度加上数据段长度最长为65535字节
标识符
(16)数据过大会分片 该字段用于表示ip数据包的标识符。当ip对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包(分片是为了传输速率)
标志
(3)和标识符一起传递,指示不可以被分片或者最后一个分片是否发出(数据传输的完整性)
段偏移量
(13)标识分片数据所在的位置 在一个分片序列中如何将各分片连接起来,按什么顺序连接 数据传输过去会根据顺序组合在一起 (数据传输到之后的重组)
标识符
完整数据切片,分为多个数据包准备传输 标志:开始传输时的数据完整性 段偏移量:在数据传输到对端的时候,由段偏移量确定,这么多数据包,应该按照什么顺序,再拼接为完整的数据
TTL生命周期
(8)可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器-1,当TTL的值为0时,该数据包将被丢弃
协议号
(8)封装的上层哪个协议 ICMP:1 TCP:6 UDP:17 协议号和功能场景一一对应
首部校验和
(16)这个字段只检验数据包的首部,不包括数据部分。这是因为数据包每经过一次路由器都要重新计算一下首部校验和(因为一些字段如生存时间,标志,片偏移等可能发生变化)
源地址
(32)源ip地址,表示发送端的ip地址
目标地址
(32)目标ip地址,表示接收端的ip地址
可选项:选项字段根据实际情况可变长,可以和ip一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据 注:根据实际情况可变长,例如创建时间等
上层数据