IPv4首部详细解释

本文详细解析了IPv4数据报首部的各个字段,包括版本号、首部长度、区分服务、总长度、分片相关字段、生存时间、协议、首部校验和、源IP地址和目的IP地址等,并解释了它们的功能及如何实现分片与重组。



简介

在这里插入图片描述
如上图所示,IPv4数据报首部有多个字段,由20个字节的固定字段和40字节的可选字段组成。最少20个字节,最多60个字节。



各个字段详解


版本号

版本号(version, VER):版本号字段的长度为4比特。这4比特规定了数据报的IP协议版本,路由器需要查看版本号来确定如何解释IP数据报的剩余部分(IPv4和IPv6的解释方法是完全不同的)。目前就IPv4和IPv6两个版本号,IPv4的版本号字段为:0100 = 4

首部长度

首部长度(internet header length, IHL):首部长度字段的长度也为4比特它的单位是32bit的字(1个字 = 4字节),由于一共只有4比特,所以最大值为15字 = 60字节。之所以需要这个字段是因为IPv4的首部有选项这种可选的字段,所以IP数据报首部长度是可变的当没有选项时,首部长度是20个字节 = 5个字,也就是0101,这5个字(20字节)是固定的首部长度,也是首部长度最小值,是最常见的情况
首部长度限制为60字节(15字)可能不够用,会导致有的选项几乎无法使用。IPv6就不存在这个字段。

区分服务

区分服务(differentiated service, DS):区分服务字段的长度为8比特,这个字段以前叫服务类型(TOS),但IETF已经改变了这8个比特的解释和名称。
区分服务字段希望在不改变网络基础结构的前提下,让路由器可以对不同的数据报进行区别服务。路由器会根据DS字段的值来对分组进行区别处理。也就是说,数据报不再都是通过尽力交付的策略被分发,在DS字段做了特殊标记的数据报,会以不同于一般数据报的方式(比如以更高的优先级)被处理。
DS字段分为2部分,前6位为区分服务码点DSCP(differentiated services codepoint),后面两位叫做ECN( Explicit Congestion Notification),翻译为显式拥塞通知

准确说以前的8位TOS字段已经变成了现在的DSCP字段和ECN字段这2个字段,前者用于为数据报区分服务类型,后者用于拥塞控制。

先介绍2bit的ECN字段,ECN字段用于为数据报标记拥塞。假如一个持续拥塞的路由器希望告知发送方自己的情况,让发送方降低发送速度来缓解拥塞,它就需要利用ECN字段。拥塞的路由器会将ECN字段的值设置为拥塞。当接收方接受到被标记ECN为拥塞的分组时,它会让它的上层协议(比如TCP协议)将这种情况通知发送方。发送方接收到接收方响应报文的通知后,就会降低发送速度,路由器的拥塞情况就会缓解。

再来介绍前6bit的DSCP字段。
DSCP可以分为2种情况理解:
1.当后3位都为0时,最左边前三位与TOS的前三位优先位的解释相同。

如下表所示:

名称 描述
CS0 000000 类别选择(尽力而为)
CS1 001000 类别选择(优先)
CS2 010000 类别选择(立即)
CS3 011000 类别选择(瞬间)
CS4 100000 类别选择(瞬间覆盖)
CS5 101000 类别选择(严重)
CS6
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值