ip ip报文头的ttl字段OS字段的各是什么意思

版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),0110(IPv6)

IP包头长度(Header Length):长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。该部分占4个bit位,单位为32bit(4个字节),即本区域值= IP头部长度(单位为bit)/(8*4),因此,一个IP包头的长度最长为“1111”,即15*4=60个字节。IP包头最小长度为20字节。


T 吞吐量: 0:普通 1:流量尽量大
R 可靠性: 0:普通 1:可靠性尽量大
M 传输成本: 0:普通 1:成本尽量小
0 最后一位被保留,恒定为0

IP包总长(Total Length):长度16比特。 以字节为单位计算的IP包的长度 (包括头部和数据),所以IP包最大长度65535字节。

标识符(Identifier):长度16比特。该字段和Flags和Fragment Offest字段联合使用,对较大的上层数据包进行分段(fragment)操作。路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分。

标记(Flags):长度3比特。该字段第一位不使用。第二位是DF(Don't Fragment)位,DF位设为1时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。第三位是MF(More Fragments)位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的IP包的包头中将MF位设为1。

片偏移(Fragment Offset):长度13比特。表示该IP包在该组分片包中位置,接收端靠此来组装还原IP包。

生存时间(TTL):长度8比特。当IP包进行传送时,先会对该字段赋予某个特定的值。当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于路由环路而导致IP包在网络中不停被转发。

协议(Protocol):长度8比特。标识了上层所使用的协议。

(Header Checksum):长度16位。用来做IP头部的正确性检测,但不包含数据部分。 因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值。

起源和目标地址(Source and Destination Addresses):这两个地段都是32比特。标识了这个IP包的起源和目标地址。要注意除非使用NAT,否则整个传输的过程中,这两个地址不会改变。

至此,IP包头基本的20字节已介绍完毕,此后部分属于可选项,不是必须的部分。

可选项(Options):这是一个可变长的字段。该字段属于可选项,主要用于,由起源设备根据需要改写。可选项目包含以下内容:

    松散源路由(Loose source routing):给出一连串路由器接口的IP地址。IP包必须沿着这些IP地址传送,但是允许在相继的两个IP地址之间跳过多个路由器。

填充(Padding):因为IP包头长度(Header Length)部分的单位为32bit,所以IP包头的长度必须为32bit的整数倍。因此,在可选项后面,IP协议会填充若干个0,以达到32bit的整数倍。


   在QoS的分类流程中最关键的是对各种不同包配置不同的优先级,对流入的数据包按优先级排列,然后交换机就会根据这个优先级值执行相应的QoS行为。而对数据包进行优先级排列的第一步就要对数据包进行分类。分类规则可以使用VLAN帧中的802.1p优先级、IP报文头的ToS(Type of Service,服务类型)字段的优先级位,识别出不同优先级特征的流量;也可以由网络管理者设置流分类的策略,例如综合源地址、目的地址、MAC地址、IP协议或应用程序的端口号等信息对流进行分类。一般的分类依据封装报文的头部信息,使用报文的内容作为分类的标准是比较少见的。分类的结果是没有范围限制的,它可以是一个由五元组(源地址、源端口号、协议号、目的地址、目的端口号)确定的狭小范围,也可以是到某网段的所有报文。

      二层帧中的优先级是专门针对VLAN帧的,因为普通二层帧中是不携带有优先级字段的。VLAN帧中的优先级那就是我们通常所说的802.1p优先级(由IEEE 802.1p协议定义),位于VLAN帧中的“802.1Q Tag”字段的“PRI”子字段中,如图10-1所示。

      IEEE 802.1p是IEEE 802.1Q(VLAN标签技术)标准的扩充协议,它们协同工作。IEEE 802.1p的出现,使得第二层交换机能够提供流量优先级和动态组播过滤服务,其中流量优先级规范工作在媒体访问控制(MAC)层,组播流量过滤功能可确保该流量不超出第二层交换网络范围。

     IEEE 802.1Q标准定义了为以太网 MAC 帧添加的标签,但并没有定义和使用优先级字段,而使用IEEE 802.1p修改后的以太网MAC帧的以太网协议头中则定义了该字段。802.1p优先级位于二层VLAN帧头部,适用于不需要分析三层报文头,而需要在二层环境下保证QoS的场合。4个字节的802.1Q标签头包含了2个字节的TPID(Tag

TCI部分中PRI子字段就是802.1p优先级,也称为CoS优先级。它由3位组成,取值范围为0~7,共可表示8个优先级。其中,最高优先级为7,应用于网络管理和关键性网络流量,如路由选择信息协议(RIP)和开放最短路径优先(OSPF)协议的路由表更新;优先级6和5主要用于延迟敏感(delay-sensitive)应用程序,分别对应交互式语音和视频;优先级4到1主要用于受控负载(controlled-load)应用程序、流式多媒体(streaming multimedia)、关键性业务流量(business-critical traffic),如SAP 数据和后台流量。优先级0是默认值,并在没有设置其它优先级值的情况下自动启用。

      上面介绍的二层VLAN帧优先级比较简单,就是由PRI子字段的三位来标识,共有8种优先级,但在三层IP报文中,优先级的描述就要复杂许多,并且在不同时期出现了两种不同的优先级类型和不同的标识方法。

1.ToS字段标的IP优先级

      在早期的RFC 791标准中,IP数据包是依赖ToS(Type of Service,服务类型)字段来标识数据优先级值的。ToS是IP数据包中的IP报头中的一个字段(共1个字节),用来指定IP包的优先级,设备会优先转发ToS值高的数据包。

ToS字段共一个字节(8位),包括三个部分:0~2共三位用来定义数据包的IP优先级(IP Precedence)、ToS和最后一个固定为0的位,如图10-2所示。

(网间控制,值为110)和network control(网络控制,值为111),分别对应于数字0~7。

      在以上IP优先级值中,6和7一般保留给网络控制数据使用,比如路由;5推荐给语音数据使用;4推荐由视频会议和视频流使用;3推荐给语音控制数据使用;1和2推荐给数据业务使用;0为默认标记值。在IP优先级配置时,既可以使用0~7这样的数值,也可以使用上述对应的优先级名称。

      在IP包头的ToS字段中紧接着IP优先级字段后面的四位是ToS部分,代表需要为对应报文提供的服务类型(标识报文所注重的特性要求)。一开始,在RFC 791中是只用到了第3~5位,分别代表IP包在Delay(延时),Throughput(吞吐量),Reliability(可靠性)这三方面的特性要求(每个报文在这三位中只有一位可能置1,此时表示IP包在对应方面有特别要求)。后来在RFC1349标准中又扩展到第6位,表示IP包在路径开销(cost)方面的特性要求。

要注意的是,虽然ToS部分共有四位,但每个IP包中这四位中只能有一位为1,所以实际只有五个取值(包括全为0的值)。这五个值所对应的名称和数值分别为:normal(一般服务,取值为0000)、min-monetary-cost(最小开销,取值为0001,确保路径开销最小)、max-reliability(最高可靠性,0010,确保可靠性最高)、max-throughput(最大吞吐量,取值为0100,确保传输速率最高)、min-delay(最小时延,取值为1000,确保传输延时最小)。

Point,差分服务代码点)优先级,取值范围为0~63,共能标识出64个优先级值(值越大,优先级越高),最后两位保留,用于显示拥塞通知(Explicit Congestion Notification,ECN),如图10-3所示。


791定义的8个IP优先级值,而第3~4位用来标识PHB类别选择(PHB Class Selector)值,参见图10-3。PHB类别值和PHB类别选择值共同组成PHB值。DSCP值是由PHB的五位再加上第5位(固定为0),但在PHB类别中的三位不能全为0。

在RFC 2597中定义了四种确保转发(Assured Forwarding,AF)PHB组(称之为AF PHB)。它使用了DS字段中的第0~2位定义PHB类别,而使用DS字段中的第3和4位代表报文的“丢弃优先级”,用AF(x,y)表示,其中x表示流分类,y表示对应的丢弃优先级。

   【说明】所谓“确保转发”就是允许管理员在没有超过线路允许速率的情况下提供尽可能的传输质量保证,但如果超出用户线路速率则可能在出现拥塞时丢弃数据包。

 在确保转发PHB中,定义了四种PHB类别(也即“流分类”),它们的值分别为001、010、011和100(对应CS1~CS4),它们本身代表了流的不同优先级(值越大转发优先级越高),然后通过第3和4位的丢弃优先级值(取非0的三个值,分别为01、10和11,值越大丢弃优先级越高)进一步区分同一类流不同IP包的丢弃优先级。它们共同针对四种PHB分类组成了四组AF等级,它们所对应的AF值和对应的DSCP值如表10-1所示(此时第5位的值固定为0)。

PHB具有低延时、低开销和低抖动特性,适用于语音、视频和其他实时服务,一般具有比其他通信类型更加优先的队列。

     除了前面介绍的AF和EF外,还有一个缺省的PHB,那就是尽力服务类型,它所对应的DSCP值为000000,即十进制的0。另外还定义了CS6和CS7,CS6用于网间控制,对应的DSCP为110000,即十进制的48;CS7用于网内控制,对应的DSCP值为111000,即十进制的56。

    在配置DSCP优先级时,既可以使用对应的DSCP名称,如CS6、CS7、AF11、AF12(在CS1~CS4中每个包含了一组DSCP值,所以要指定具体的DSCP名称),又可使用对应的DSCP十进制值,如48、56等。

3.IP优先级与DSCP优先级的对应关系

   DSCP优先级是向后兼容IP优先级的,当支持DSCP的设备收到仅支持ToS中的IP优先级的报文时,缺省情况下它们之间是有一种映射关系的,具体如表10-2所示。当然,如果设备仅支持ToS的IP优先级,缺省情况下是不能识别报文中的DSCP优先级值的,这时需要事先在接收设备配置好DSCP优先级与IP优先级的映射关系。

我要回帖

更多关于 ip报文头的ttl字段 的文章

 

随机推荐