DSCP与PHB
DiffServ模型的一个重要概念是在转发分组时体现服务等级的每跳行为PHB(Per Hop Behaviors)。DiffServ模型中,IETF重新定义了IPv4中的ToS和IPv6中的TC,称作DS字段,DS字段的取值称为DSCP(DiffServ code point)。不同的DSCP取值对应于不同的PHB。
DSCP
在IPv4报文中,DS(Differentiated Service)字节的低6位(比特0~5)用作区分服务代码点DSCP。DSCP中的低3位(比特0~2)是类选择代码点CSCP(Class Selector Code Point),它表示了一类DSCP。网络中支持DiffServ技术的各设备根据DSCP值选择相应的转发行为。
在IPv6报文中,有两个字段与QoS有关,分别为流量类别TC(Traffic Class)和流标签FL(Flow Label)字段。流量类别字段有8位,和IPv4的服务类型(ToS)字段功能相同,用于对报文的业务类别进行标识;流标签字段有20位,用于标识属于同一业务流的包。流标签和源、目的地址一起,惟一标识了一个业务流。同一个流中的所有包具有相同的流标签,以便对有同样QoS要求的流进行快速、相同的处理。
PHB
在每一个DS节点上对分组的处理称为每跳行为PHB(Per-Hop Behavior)。PHB描述了DS节点对具有相同DSCP的分组采用的外部可见的转发行为。可以用优先级来定义PHB,也可以用一些可见的服务特征如分组延迟、抖动或丢包率来定义。PHB只定义了一些外部可见的转发行为,没有指定特定的实现方式。
标准协议定义了四种标准的PHB:类选择码CS(Class Selector),加速转发EF(Expedited Forwarding),确保转发AF(Assured Forwarding)和尽力而为BE(Best-Effort)。其中,BE是缺省的PHB。
PHB |
DSCP取值 |
含义 |
---|---|---|
CS |
XXX000,其中X取值0或1。当X为全0时,就是Default PHB,即BE类型PHB。 CS定义的DSCP=IP Precedence×8,比如CS6=6×8=48,CS7=7×8=56。 |
CS表示类选择码,代表的服务等级与在现有网络中使用的IP Precedence相同。 |
EF |
101110 |
EF被定义为这样的一种转发处理:从任何DS节点发出的信息流速率在任何情况下必须获得等于或大于设定的速率。EF PHB在DS域内不能被重新标记,仅允许在边界节点重新标记。 定义EF PHB的目标是在DS域内模拟一种虚拟租用线(Virtual Leased Line)的转发效果,提供一种低丢包率、低延迟、低抖动,确定带宽的转发服务。 EF流要求低时延、低抖动、低丢包率,对应于实际应用中的视频、语音、会议电视等实时业务。 |
AF |
XXX YY0,其中X取值0或1,XXX对应IP Precedence;YY表示丢弃优先级,数值越大,丢弃优先级越高。 XXX由于有三个bit,最大取值为8,但是目前只用到了1~4,即有4种AF类型:AF1y~AF4y (1<=y<=3)。 |
AF的推出是为了满足这样的需求:用户在与ISP订购带宽服务时,允许业务量超出所订购的规格。对不超出所订购规格的流量要求确保转发的质量;对超出规格的流量将降低服务待遇继续转发,而不只是简单地被丢弃。 运营商在提供AF服务时,为每类AF分配不同的带宽资源,保证对AF类提供带宽,对于多余的带宽允许其他数据使用。 AF流要求较低的延迟、低丢包率、高可靠性,对应于数据可靠性要求高的业务如电子商务、企业VPN等。 |
BE |
000000 |
对应于传统的IP分组投递服务,只关注可达性,其他方面不做任何要求。任何路由器必须支持BE PHB。 |
PHB |
常见用途 |
---|---|
CS6、CS7 |
CS6和CS7默认用于协议报文,比如说OSPF报文,BGP报文等应该优先保障,因为如果这些报文无法接收会引起协议中断。 |
CS5 |
CS5用于IP语音和视频业务的信令流。如SIP, H.323。 |
CS4 |
CS4用于视频会议(仅包括语音和视频,其数据归到CS1)、高清视频、交互式游戏。 |
CS3 |
CS3用于广播电视、实时视频监控业务。 |
CS2 |
CS2用于网络运维、维护和管理业务,例如SNMP、Syslog、SSH。 |
CS1 |
CS1用于非实时的弹性的业务,如娱乐视频流量。 |
EF |
EF用于承载语音的流量,因为语音要求低延迟,低抖动,低丢包率,是仅次于协议报文的最重要的报文。 说明:
EF PHB提供的是低时延服务,应该具有最低的抖动和丢包率,因而必须限制EF的专用带宽,以免其他服务得不到可用带宽。 |
AF4 |
AF4用来承载语音的信令流量。 说明:
语音流量必须优先于语音的信令,因为语音信令是语音的呼叫控制,在接通的时候等待几秒钟是可以忍受的,但是在通话过程的中断是绝对不能允许的。所以语音要优先于信令。 |
AF3 |
AF3可以用来承载IPTV的直播流量。直播的实时性强,需要有连续性和大吞吐量的保证。 |
AF2 |
AF2可以用来承载VoD(Video on Demand)的流量。VoD要求的实时性不如IPTV直播强,允许有延迟或者缓冲。 |
AF1 |
AF1可以承载专线业务,因为IPTV和语音是运营商最关键的业务,需要最优先保证,其次才是专线业务。面向银行之类需要钻石级保证的业务,可以安排为AF4甚至为EF。 |
BE |
当前Internet尽力而为的服务。 |