计算机网络-IP数据报格式

计算机网络-IP数据报格式_第1张图片

经典格局图

版本:占4位字,现今主流的两种版本为IPv4与IPv6;

首部长度:占4位字,记录IP数据报文首部的大小,在数据报首部中一个32字等于4字节,通常IP数据报的首部并不需要增加额外的参数,所以此处一般为4*5=20字节;

DSCP/ECN:占8位字,区别服务的等级,等级决定服务的质量,也就是路由器对于该数据报转发的优先度。网络被划分为许多的DS域,每一个域在同一个管理实体的控制下实现同样的区分策略。DiffServ将所有复杂性放在DS域的边界节点中,而使DS域内部路由器工作尽可能地简单。ECN允许在不丢弃报文的同时通知对方网络拥塞的发生,这是一个可选功能,而且仅当双方支持并希望使用且底层网络支持时才会被使用;

计算机网络-IP数据报格式_第2张图片

DCSP和IP优先权位示意图

计算机网络-IP数据报格式_第3张图片

总长度:占16位字,记录该数据报(如数据报过大被分片则为每一段数据报的长度,而不是完整数据报的长度)的长度;

标识:占16位字,每生成一个数据报的分片,这个值都会加一,最后的值会复制给其他该报的分片,当数据报到达目的地址后就靠这个值来标识哪些部分原本是一个整体;

标志:占3位字,最高位是待扩展的,现在只能为0,中位DF为0时表明允许分片,为1时表明不能分片。最低位为1时表明后面还有分片,为1时表明这是最后一个分片了;

片偏移:占13位字,第一个分片的片偏移为0,从第二个分片开始片偏移为前一个分片的大小,这里以八个字节为偏移单位,每个分片的长度一定是8字节(64位)的整数倍;

生存时间:占4位字,路由器在转发数据报之前就把该值减一,如果在转发之前这个值为零,就会把它丢弃,不会转发。这是防止一些无用的数据报一直在网络中传递,浪费网络资源;

协议:占8位字,该值指出这个数据报携带的数据用的是什么协议,以使目的主机的IP层知道应该将数据部分上交给哪个处理过程。常见的TCP:6、UDP:17;

首部检验和:占16位字,每次路由的转发,数据报的首部都会改变,比如生存时间TTL每一次就要减一,所以每次路由器接收到数据报后就要检查首部检验和是否正确,具体检验计算方法为:发送方把首部检验和的值置0,然后把首部的数据按每16位字分段,然后把它们作反码相加,得到的值放到首部检验和中。接收方收到后一样把首部的数据按16位字分段,然后采取反码相加,如果结果为0,则这个数据报与发送时的数据一致;

源地址:占32位字,即发送数据主机的IP地址;

目的地址:占32位字,即要送达的目的主机的IP地址;

选项:此处是扩展部分,一般情况并不常用,可用大小为1~40位字。



参考资料:

维基百科、《计算机网络第6版》谢希仁、百度百科

你可能感兴趣的:(学习笔记,计算机网络)