五 IP数据报的格式
1 IP数据报首部固定部分中的各字段
①版本,占4位,指协议IP的版本
②首部长度,占4位,范围是0-15,用于表示首部长度有几个4字节。由于固定长度部分长度位20字节,因此首部长度字段最小为5,不足4字节整数倍时在填充字段进行填充
③区分服务,占8位,除了在使用区分服务时使用外,一般情况下不使用
④总长度,占16位,指首部和数据之和的长度,单位为字节,当长度超过MTU(以太网规定是1500字节)时要进行分片,IP协议规定,所有主机和路由必须能够接收长度不超过576字节的数据报
(512字节合理数据长度+60字节最长的IP首部+4字节富余容量)
⑤标识,占16位,每产生一个IP报计数器加1并赋值给标识字段,并不是为了排序,而是作为该IP报的识别ID,当分片时,此ID会复制给每一个分片,接收时对ID相同的分片进行组装
⑥标志,占3位,但只有两位有意义
1)第一位(总第48位),无意义
2)第二位(中间),DF(Dont Fragment)不能分片,只有DF=0 才可分片
3)第三位,MF(More Fragement)更多分片,MF=1表明后面还有分片
⑦片偏移,占13位,分片后在原分组中的相对位置
⑧生存时间(TTL),占8位,初始为0x1111 1111即为十进制255,每当IP数据报被转发一次就把TTL值减去1,转发前TTL值为0就丢弃
⑨协议,占8位,指出数据报携带的数据使用什么协议
⑩首部检验和,占16位,只检验数据报的首部,不包括数据部分,且每经过一个路由器都要重新计算首部检验和(因为生存时间、标志、片偏移等可能发生变化)
⑪源地址,占32位,发送IP报的主机IP
⑫目的地址,占32位,接受IP报的主机IP
2 IP报首部的可变部分
长度0-40字节不等,最后用全0补齐位4字节的整数倍