QoS之DSCP

用来在网络中提供 QoS 的 Diffserv 方法应用了一组合理定义的小型基本部件,使用这些部件可以构筑一系列的服务。其目标是在IPv4报头中定义区分服务(DS)字节和服务类型(ToS)字节,在IPv6中定义通信类(TrafficClass)字节,并标记分组中的标准化DS字节,使分组在每一个网络节点得到特定的转发处理或单中继段行为(PHB)。
区分服务体系结构提供了一个框架,在这个框架下,服务提供商们可以为客户提供各种网络服务,并根据性能来区分每一种服务。客户只需将分组的区分服务码点(DSCP)标记为特定值,便可以选择每个分组的性能等级,这个值指定了分组在服务提供商网络中的单中继段行为(PHB)。通常,服务提供商和客户可以共同协商一个配置文件(profile),它描述了各种服务等级通信的提交速率。如果提交的分组速率超过了规定,则可能无法获得规定的服务等级。
Diffserv体系结构只规定处理分组的基本机制,将这些机制作为基本部件可以构建各种服务。服务定义了一些重要的分组传输特征,例如,网络小一条路径某个方向上的吞吐量、延迟、抖动以及分组丢失率等。另外,还可以使用访问网络资源的相对优先级米表征服务。服务被定义后,提供这种服务的网络上的所有节点都将被指定一个 PHB,并给 PHB 分配一个 DSCP。PHB 是网络节点提供给所有带特定DSCP值的分绍的转发行为,需要特定服务等级的通信,其分组的DSCP 字段将被指定为相应的值。
1. DS区分服务字段
区别服务是用来对分组进行标记,允许服务区别。分组在网络的边缘处进行标记(与IP优先权非常相似),这些标记在分组通过的每一台路由器(跳)都能读取。根据在该跳中已经定义的特殊规则,分组分配给一个数据流泪,该数据流类将会被分配一定的权限访问调度和其他资源。

如图,对于IP优先权,只有最左边的3位拥来表示IP优先权,而紧跟的3位很少使用。DSCP则利用最左边的6位(第0-5位)进行分组标记,这样做将可能的分组标记的位数从8个增加到64个,而且消除了“浪费”位,剩下的2个有效位称为显式拥塞通知(Explicit Congestion Notification,ECN)
2. PHB每跳行为
在每一个节点或每一跳中对分组的处理称为每跳行为(Per-Hop Behavior,PHB)。RFC2475中解释:每跳行为是一种对DS节点的外部可观察转发行为的描述,大体上该DS节点实现了一个特定DS行为集合,PHB的可观察行为可能依靠与行为集合相关联的数据流特征或其他行为集合的特征的特定约束。
PHB 描述了Diffserv节点对具有相同DSCP的分组采用的外部可见的转发行为。可以用资源优先级来定义PHB,也可以用一些可见的通信服务特征如分组延迟、分组丢失率或分组抖动来定义。可以将 PHB 看做一个黑盒子,因为它定义了一些外部可见的转发行为,但没有指定特定的实现方式。
为了后向兼容的目的,注意:理解IP优先权但不理解区别服务的路由器只能看到Tos字段的3个有效的位(最左位),然而具有区别服务能力的路由器可以看到6个有效位。因此,标记000000在RFC2474中被定义为尽力服务。这意味只能理解IP优先级的路由器应该是000,也就是在IP优先权环境中尽力服务的定义。同样的,RFC2474预留了所有格式为xxx000的标记,以提供与IP优先权值的后向兼容。如下表:
位 优先权含义
001000 类选择1:无区别服务的节点读做001,按优先级1(优先priority)处理
010000 类选择2:无区别服务的节点读做010,按优先级2(快速immediate)处理
011000 类选择3:无区别服务的节点读做011,按优先级3(火速flash)处理
100000 类选择4:无区别服务的节点读做100,按优先级4(最优先flash override)处理
101000 类选择5:无区别服务的节点读做101,按优先级5(CRITIC/ECP)处理
110000 类选择6:无区别服务的节点读做110,按优先级6(互连网络控制)处理
111000 类选择7:无区别服务的节点读做111,按优先级7(网络控制)处理
3.保证转发(Assured Forwarding)
AF保证转发根据DSCP值来定义类别,它对于理解DSCP AF术语和DSCP值之间的对应关系至关重要。AF定义了4种AF类型:AF1x-AF4x,每个类之间都彼此完全独立,其中类别AF4比类别AF1更重要。在每种类别中,有3种丢弃概率。根据要求的吞吐量、延迟、抖动和丢包率,用户可以配置数据报的PHB,或者根据访问网络服务的优先权配置PHB,这取决于网络的策略。AF PHB定义了一种给通信流类别提供不同转发保证的方法。

DSCP中前3位用来指定AF PHB的类别,接下来2位指定丢弃概率,最后一位总是为0
表:
类别 丢弃概率 DSCP值
类别1:AF1x AF11(丢弃概率低) LOW 00 001010    10
         AF12(丢弃概率中) MEDIUM 00 001100    12
         AF13(丢弃概率高) HIGH 00 001110    14
类别2:AF2x AF21(丢弃概率低) LOW 00 010010    18
         AF22(丢弃概率中) MEDIUM 00 010100    20
         AF23(丢弃概率高) HIGH 00 010110    22
类别3:AF3x AF31(丢弃概率低) LOW 00 011010    26
         AF32(丢弃概率中) MEDIUM 00 011100    28
         AF33(丢弃概率高) HIGH 00 011110    30
类别4:AF4x AF41(丢弃概率低) LOW 00 100010    34
         AF42(丢弃概率中) MEDIUM 00 100100    36
         AF43(丢弃概率高) HIGH 00 100110    38
假设有4个分公司集合到一台路由器。每个分公司都被告知,他们不能发送超过256Kbit/s的FTP数据流,但有时他们可随意发送。事实上,有时他们会发送超过1Mbit/s的FTP数据流。问题是当一个分公司发送了大量的FTP数据流时,有时它会干涉到某个其他分公司的FTP数据流,即使这些分公司按照256kbit/s甚至更低速率在发送。利用AF PHB是这个问题的一个可能解决方法,我们在每个入口接口上设置一个监控程序,该程序监测入站的FTP的速率,如果速率小于等于256Kbit/s,分组被标记为AF11,如果速率在256Kbit/s到1Mbit/s之间,分组被标记为AF12,如果速率超过1Mbit/s的分组标记为AF13,在出口接口上,在AF1类中,基于DSCP的加权RED接口上使用。必要时WRED根据分组的DSCP标记丢弃该类分组。首先丢弃AF13分组,AF12分组和AF11分组就会在最后被丢弃

4.EF(Expedited Forwarding,快速转发)
快速转发PHB(Expedited Forwarding PHB)可以用来实现的丢失率,低延迟,低抖动,确定带宽,端到端服务.EF PHB针对VoIP和视频会议这样的应用. 导致分组延迟和分组抖动的主要原因是如果一个接口接收到的待转发流量超过其负载能力时,会形成排队延迟, 排队延迟通常是在拥塞时,队列过长引起的,EF PHB确保通信不需要排队或队列足够短。
路由器可以通过使用不同的EF功能实现方法, 为某个端口上特定的离开速率分配资源。 当EF通信可以在高度加权的队列上传送,例如CBWFQ,WRR,DRR等分组调度技术提供了这个功能。对于网络中的 EF通讯,推荐使用DSCP 101110(46)。RFC建议在多数cisco 设备中使用监控程序对EF数据报进行速率限定。特别地,如果配置要求为所有标记DSCP46的分组提供EF,而且如果为具有EF PHB权限的数据流配置128Kbit/s的出口速率,同时带有DSCP46标记的数据流达到129Kbit/s的速率,有1kbit/s带有DSCP46标记的数据流将被丢弃,以确保接收EF队列的速率不超过发送速率。但是如果没有发生拥塞,队列也不会被激活,监控机制也不会被激活。

猜你喜欢

转载自laibulai.iteye.com/blog/1335113
QOS