区分服务(DiffServ)是IETF工作组为了克服Inter-Serv的可扩展性差在1998年提出的另一个服务模型,目的是制定一个可扩展性相对较强的方法来保证IP的服务质量。
参考标准
RFC 2474, Defnition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers
RFC 2475, An Architecture for Differentiated Services Framework
RFC 2597, Assured Forwarding PHB
RFC 2598, An Expedited Forwarding PHB
RFC 2983, Differentiated Services and Tunnels
RFC 3086, Defnition of Differentiated Services Per Domain Behaviors and Rules for their Specifcation
RFC 3140, Per Hop Behavior Identifcation Codes
RFC 3246, An Expedited Forwarding PHB
RFC 3247, Supplemental Information for the New Defnition of the EF PHB
RFC 3248, A Delay Bound alternative revision of RFC2598
一同发展的还有许多与DiffServ有关的因特网草案(Internet
Drafts)可以参考:
An Informal Management Model for Diffserv Routers
Management Information Base for the Differentiated Services Architecture
New Terminology and Clarifcation for Diffserv
Differentiated Services Quality of Service Policy Information Base
An Assured Rate Per-Domain Behaviour for Differentiated Services
简介
DiffServ:区分服务体系结构
(DiffServ: Differentiated Service )
它是一种保证QoS的网络技术。
区分服务体系结构(DiffServ)定义了一种可以在互联网上实施可扩展的服务分类的体系结构。一种“服务”,是由在一个网络内,在同一个传输方向上,通过一条或几条路径传输
数据包时的某些重要特征所定义的。这些特征可能包括
吞吐率、时延、
时延抖动,和/或
丢包率的量化值或统计值等,也可能是指其获取网络资源的相对优先权。服务分类要求能适应不同应用程序和用户的需求,并且允许对互联网服务的分类收费。
DiffServ 体系结构由许多在
网络节点上实现的功能要素组成,包括每一跳转发小集合,
数据包归类功能,和交通调节功能。其中,交通调节功能又包含测量、标记、整形、和监察策略四部分。在本体系结构,只在网络的边界
节点上实现复杂的分类和调节功能,并且,通过在 IPv4 和 IPv6 包头的 DS 段做适当的标记 [DSFIELD],聚合流量,然后根据所做的标记,采取不同的每一跳转发策略。因此,本体系结构具备可扩展性。“每一跳行为”保证了在互相
竞争资源的数据流中为每个
网络节点分配缓冲区和带宽资源时,有一个合理的处理力度。在核心网络节点上,无需维护每个应用程序流或每个用户转发状态。
分类服务体系结构基于这样一个简单模型:进入网络的流量在
网络边缘处进行分类和可能的调节,然后被分配到不同的行为集合中去。每一个行为集合由唯一的 DS 编码点标识。在网络核心处,数据包根据 DS 编码点对应的每一跳行为转发。在本节中,我们讨论在分类服务区域中的关键组件,流量分类和调节功能,以及分类服务是如何通过流量调节和基于 PHB 的转发而实现的。
特点
DiffServ的最大特点就是简单有效、扩展性强。其实施特点是采用聚合的机制将具有相同特性的若干业务流聚合起来,为整个聚合流提供服务,而不再面向单个业务流。也就是说在DiffServ网络边界路由器上保持每流状态,核心路由器只负责数据包的转发而不保持状态信息。
在Diff-Serv模型中,业务流被划分成不同的差分服务类。一个业务流的差分服务类由其IP包头中的差分服务标记字段(Different Service Code Point,简称DSCP)来表示。在实施DiffServ的网络中,每一个路由器都会根据数据包的DSCP字段执行相应的PHB(Per Hop Behavior)行为。区分服务只包含有限数量的业务级别,状态信息的数量少,因此实现简单,扩展性较好。它的不足之处是很难提供基于流的端到端的质量保证。区分服务是业界认同的IP骨干网的QoS解决方案,但是由于标准还不够详尽,不同运营商的DiffServ网络之间的互通还存在困难。IETF RSVP和DiffServ两个工作组都正在研究RSVP与DiffServ相结合的问题,以进一步扩大DiffServ与现有系统的可兼容性,此外在业务分类、业务性能的量化描述以及域间业务类型映射等问题上,DiffServ模型也需进一步明确和开展的研究。
DiffServ的体系结构
为了满足DiffServ模型提出的分类服务特性要求,IETF RFC2475定义了一种可以在互联网上实现可扩展的分类业务的体系结构,这种体系结构通过标记IP数据分组的区分服务标记字段(DS Field)体现不同的业务级别,从而提供可扩展的差异性服务。DiffServ体系结构的网络体现是由区分服务域(DS域,DS Domain),每个DS域则是由一些具有DiffServ功能的网络结点组成,这些结点被称作区分服务结点(DS 结点, DS Node),依据这些DS结点的所处的不同位置,它们又可以被分为DS边界结点(DS Boundary Node)和DS内部结点(DS interior Node),每个DS域也可能拥有一个实现域内服务分类的策略/资源管理结点。
服务等级合约和业务量合约
服务等级合约(SLA,Service Level Agreement)是用户与服务提供者之间所达成的双方共同认可的一种描述了用户可享受的转发服务特性的服务约定合同。这里用户既可以是一个使用者,也可以是另一个上游DS域。服务等级合约可以包括一些业务流调节规则,这些规则可能构成了一个完整的业务量调节合约或者是该合约的一部分。
业务量调节合约(TCA,Traffic Conditioning Agreement)是一份描述了分类器进行业务量处理是所需依据规则的合约,这些处理规则包括业务流的分类规则,相应的业务流属性(Traffic Profile),以及对此业务流的测量、标记、丢弃和/或整形规则。业务量调节合约包含源自以下方面描述的业务量调节规则:SLA的显示指定所有规则,相关服务需求所体现的隐式指定和/或来自于DS域的服务提供策略。
SLA和TCA都属于商业的合约,它们的技术细节分别由服务等级规范(SLS,Service LevelSpecification)和流量调节规范(TCS,Traffic Conditioning Specification)来表述。
DS域与DS区
IETF在DiffServ模型中引入了DS域的概念,DS域是由一些彼此相连的DS结点构成的集合,它们具有统一的服务提供策略,而且实现一样的PHB组分类,比如某个ISP的网络或者内部网。但一个DS域并不一定都只是由一个网络构成,它也可以由同一个管理机构下的多个网络构成。DS域有明确的边界,边界由边界结点构成,在边界对进入的分组业务流进行分类的流量调节等处理。每个DS域都要通过边界结点与其他DS域或非DS域相连。
DiffServ区(Region)则是由多个连续的DS域构成,一个DS区内的DS域可以支持不同的PHB组,并且不同DS域内DSCP到PHB的映射关系也可能不相同。但是,为了提供可贯穿多个DS域的业务,每个对等的DS域之间都必须明确定义彼此分类的对一般高关系,指明如何在域边界处正确调节从一个DS域传向另一个DS域的业务流。DS区内的DS域也可以采用相同的服务提供策略,并支持相同的DSCP到PHB组的映射关系,这样的好处是消除了在DS域间进行业务量调节的需求。
区分服务的边界结点和内部结点
一个DS域是由一些DS边界结点和DS内部结点构成的,DS边界结点是那些连接着本DS域与其他DS域或者无DS能力的域的网络节点,DS内部结点则是那些连接着同一个DS域内的其他结点的网络结点。DS边界结点和内部结点都必须能够按照DSCP与PHB的对应关系实现分组流的数据转发。
边界结点的主要功能为:实现分组流的分类(Classify)和调节(逻辑上分为分类器和调节器),保存流的相应状态信息,根据预定的流规格对进入或离开区域的流进行调节,包括计量、标记、管制等操作动作,使输入流(或输出流)符合预先制定的TCA,并在分组包头标记DSCP值,分类归入行为聚。
协议结构
在 DiffServ 中,定义了一个替换头字段,称为 DS 字段,用来取代现有的 IPv4 TOS(Octet)和 IPv6 Traffic Class(Octet)。其格式如下所示:
6 bit DSCP
2 bit CU
DSCP ― 即区分服务代码点,用于选择 PHB。
CU ― 当前尚未使用。
区分服务模型能够提供满足不同的QOS需求的多种服务等级,与IntServ模型不同的是,使用DiffServ的应用在发送数据前不显示的通知
网络设备。DIffServ是为现代网络及其解决方案量身打造的一种Qos实现。DiffServ重新指定IP
数据包报头的
Tos(Type of Service,服务编码点)比特。DiffServ使用DSCP(Differentiated Service code point,差异化服务编码点)作为Qos优先级描述符,它支持64个分类等级。RFC2474定义了如何根据DSCP使用ToS
字节。
相关结构
DiffServ与IntServ
IntServ(Integrated Services)最初试图在因特网中将网络提供的服务划分为不同类别的是IEEE提出的综合服务IntServ。IntServ可对单个的应用会话提供服务质量的保证。
为了最大限度的利用DiffServ和IntServ两种机制的互补特性,IETF提出了了两种DiffServ和IntServ的结合方式。一种方法是将IntServ视为DiffServ的接入域,DiffServ视为IntServ的核心域的组网方式:RSVP信令透明地通过DiffServ网。由网络边缘的设备处理RSVP消息,并根据DiffServ网中资源的可用性提供许可控制,DiffServ网络边界将IntServ的业务类型映射为DiffServ的业务类型;另一种方法是为DiffServ网中结点配置RSVP功能,并采取一定策略决定哪些包用RSVP、哪些用DiffServ机制进行处理。
DiffServ与MPLS的结合
多协议标签交换着眼于改善网络中的分组转发性能,核心思想是基于标签对分组进行转发。在MPLS域的入口结点,每个分组被赋予一个标签,而在MPLS域的内部,路由器只需要根据分组携带的标签对其进行转发。
DiffServ从上层提供业务分类及保障服务质量,MPLS在下层将DiffServ中的行为聚合BA映射成不同的标签,利用MPLS的支持保证QoS的转发,MPLS与DiffServ的结合具有很好的发展前景。