第18章互联网服务质量服务质量的提出:文本→多媒体通信、实时通信视频——带宽;语音——实时;控制——实时由于IP协议的无连接特性和IP网络松散的控制管理方式,IP服务质量QoS(QualityofService)研究面临很大的挑战。第18章互联网服务质量18.1服务质量(QoS)18.2实时传输协议18.3实时传输控制协议(RTCP)18.4集成业务18.5区分业务(DiffServ)18.1服务质量(QoS)服务质量QoS是指网络在传输数据流时要求满足的一系列服务请求及实现这些请求的机制。衡量服务请求的几个指标:带宽要求、传输延迟、延迟抖动、可靠性、丢失率、吞吐量等。其研究的目标是有效提供端到端的服务质量控制或保证。主要的IPQoS技术有:集成业务(IntServ)区分业务(DiffServ)QoS路由多协议标签交换MPLS1.集成业务(IntServ)•IntServ的基本思想是在传送数据之前,根据业务的QoS需求进行网络资源预留,从而为该数据流提供端到端的QoS保证。用于非骨干网IntServ尽管能提供QoS保证,但扩展性较差。原因在于:(1)IntServ工作方式是基于每个流的,需要保存大量与分组队列数成正比的状态信息。(2)资源预留协议(RSVP)的有效实施必须依赖于分组所经过的路径上的每个路由器。在骨干网上,业务流的数目可能会很大,同时要求路由器的转发速率很高,使得IntServ难于在骨干网上运行。2.区分业务(DiffServ)•DiffServ的基本思想是将用户的数据流按照服务质量要求来划分等级,任何用户的数据流都可以自由进入网络。区分业务只承诺相对的服务质量,而不对任何用户承诺具体的服务质量指标。•用于骨干网•DiffServ简化了信令,对业务流的分类粒度更粗。它通过汇聚(aggregate)和逐跳行为PHB(PerHopBehavior)的方式来提供一定程度上的QoS保证。汇聚的含义在于路由器可以把QoS需求相近的各业务流看成一个大类,以减少调度算法所处理的队列数;PHB的含义在于逐跳的转发方式,每个PHB对应一种转发方式或QoS要求。•区分业务只包含有限数量的业务级别,状态信息的数量少,因此实现简单,扩展性较好。它的不足之处是很难提供基于流的端到端的质量保证。目前,区分业务是业界认同的IP骨干网的QoS解决方案。3.QoS路由•一般的路由器对所有的IP包都采用先来先处理(FirstComeFirstServiceFCFS)的工作方式,它尽最大努力将IP包送达目的地。但对IP包传递的可靠性、延迟等不能提供任何保证。•QoS路由根据多种不同的度量参数(如带宽、成本、每一跳开销、时延、可靠性等)来选择路由,实现链路状态信息发布、路由计算和路由表存储等。•优点:QoS路由能够满足业务的QoS要求,并提高了网络的资源利用率。•不足:QoS路由的计算十分复杂,增加了网络的开销,很难实现真正实用的QoS路由算法。4.多协议标签交换MPLS•多协议标签交换MPLS根据分组首部的标记,通过网络路径控制来提供流汇聚的带宽管理,对于骨干网,这是目前使用最普遍、实现性最强的一种QoS机制。•以上四种QoS技术可以结合使用。例如在核心网采用DiffServ,在接入网采用IntServ,目前MPLS与DiffServ技术的结合最有可能成为IP网络运营商首选的QoS方案。返回18.2实时传输协议•实时传输协议RTP(Real-timeTransportProtocol)由IETF作为RFC1889发布,是针对多媒体服务数据流的一种传输协议,其目的是提供时间信息和实现流同步。•RTP通常使用UDP来传送数据,但RTP也可以在TCP或ATM等其他协议之上工作。当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给实时传输控制协议(RTCP)。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。•RTP提供端对端网络传输功能,适合通过组播和点播传送实时数据,如视频、音频和仿真数据。RTP没有涉及资源预留和质量保证等实时服务,RTCP扩充数据传输以允许监控数据传送,提供最小的控制和识别功能。1.RTP首部格式•RTP数据包=定长的RTP首部+不定长的连续媒体数据,其中RTP首部为12字节,多媒体数据可以是编码数据。V2位P1位X1位CC4位M1位PT7位顺序号16位时戳同步源标识(SSRC)贡献源标识(CSRC)……贡献源标识(CSRC)图18-1RTP格式2.RTP报文封装RTP协议一般运行在面向数据报的UDP之上,它只能提供无连接的不可靠服务,帧丢失或出错都会降低多媒体信息质量。图18-2表示RTP报文的封装格式。IP首部UDP首部RTP首部数据图18-2RTP报文封装格式•工作时,RTP协议从上层接收流媒体信息码流,装配成RTP数据包发送给下层,下层协议提供RTP和RTCP的分流。如果RTP使用一个偶数号端口,则相应的RTCP使用其后的奇数号端口。从而实现了数据流和控制流的分离,使协议的实现更加灵活和简单。3.RTP数据传输•RTP利用混合器和翻译器完成实时数据的传输。一个典型的RTP包传输流程如图18-3所示:S1S2混合器1翻译器混合器2R1S3S4图18-3典型的RTP包传输流程其中S1,S2,S3,S4为数据源的发送端,R1为最终RTP包流的接收端。4.RTP协议特点(1)轻量的传输协议•RTP只提供端到端的实时媒体传输功能,并不提供机制来确保实时传输和服务质量保证。(2)灵活性•传输协议与具体的控制策略分开,传输协议本身只提供完成实时传输的机制,开发者可自主实现效率较高的算法与合适的控制策略。(3)协议独立性•RTP协议与下层协议无关。(4)安全性•RTP协议在设计上考虑到安全功能,支持对数据加密和身份认证功能。返回18.3实时传输控制协议(RTCP)•实时传输控制协议RTCP(Real-timeTransportControlProtocol)和RTP一起提供流量控制和拥塞控制服务。•在RTP会话期间,各参与者周期性地传送RTCP包。RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。•RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。1.RTCP功能RTCP主要具有以下四个方面的功能:(1)提供数据发布的质量反馈(2)提供RTP源持久传输层标识(3)控制传输速率(4)传送最小连接控制信息2.实时传输控制协议RTCP包格式实时传输控制协议RTCP首部格式如图18-4所示。图18-4实时传输控制协议RTCP首部格式023815版本填充报告计数包类型长度版本:长度为2位,识别RTP的版本。RTP数据包中的该值与RTCP数据包中的一样。填充:长度为1位,置位时,RTCP数据包包含一些填充八位位组。填充的最后八位是填充字节数。一些分组加密算法需要使用填充字段。对于复合RTCP数据包中,只有最后的一个数据包才需要使用填充,这是因为复合数据包采用的是整体加密方法。报告计数:长度为5位,接收方的报告计数,接收方报告块的编号包含在该数据包中。包类型:识别一个RTCP数据包。RTCP数据包类型为发送端报告(SR)、接收端报告(RR)、源描述(SDES)、结束参与(BYE)、特殊应用功能(APP)五种数据包。长度:该字段长16位,表示RTCP数据包(含首部、数据和填充)的大小。其值为数据包的32位字数减去1。返回18.4集成业务IntServ/RSVP服务模型定义在RFC1633中,并且RFC1633将RSVP作为IntServ结构中的主要信令协议,其主要目标是以资源预留的方式来实现QoS保障。18.4.1IntServ模型IntServ的基本思想是在传送数据之前,根据业务的QoS需求进行网络资源预留,从而为该数据流提供端到端的QoS保证。应用RSVP分类器调度器设置消息数据RSVP路由协议策略控制分类器调度器主机路由器图18-5IntServ的基本元素及其相互关系结构上,IntServ/RSVP服务模型主要由四个部分构成:•信令协议RSVP,•接入控制器(admissioncontrolroutines),•分类器(classifier)•包调度器(packetscheduler)。实现:综合服务需要所有路由器在控制路径上处理每个流的信令消息并维护每个流的路径状态和资源预留状态,在数据路径上执行流的分类、调度和缓冲区管理。•RSVP负责以逐跳(hop-by-hop)方式建立或者拆除每个流的资源预留软状态(softstate),设置协议:动态地保留资源。•接入控制器将决定是否接受一个资源预留请求,其根据是链路和网络节点的资源使用情况以及QoS请求的具体要求。•分类器则对传输的数据包分类成传输流,IntServ常用的分类器是多字段(Multi-Field,MF)分类器,当路由器接收到数据包时,它根据数据包首部的多个字段(如5元组:源IP地址,目的IP地址,源端口号,目的端口号,传输协议),将数据包放入相应的队列中。•调度器则根据不同的策略对各个队列中的数据包进行调度转发。•IntServ所采用的主要技术包括:先进的冲撞管理、限制延迟、抖动以及网络内带宽消耗的排队算法,还有能够为特定应用预留带宽的资源预留协议。IntServ的优点有:(1)能够提供端到端的QoS保证。(2)可以保证组播业务中网络资源的有效分配和网络状态的动态改变,以及组播成员的灵活管理。(3)适用于多媒体实时业务。IntServ的缺点有:(1)扩展性不好。(2)要求从发送端到接收端的所有路由器都支持RSVP。(3)信令系统及RSVP都较复杂,造成实现困难。因此,Intserv只适合用于网络规模较小、业务质量要求较高的网络。18.4.2资源预留协议(RSVP)RSVP是集成业务的核心。这是一种信令协议,用来通知网络节点预留资源。如果资源预留失败,RSVP协议会向主机发回拒绝消息。1.RSVP工作原理•IntServ/RSVP服务模型对传统因特网体系结构的扩展主要包括在路由器中保存业务流状态信息以及明确的状态建立机制。这种模型有效地集成了各种实时应用和非实时应用。•RSVP是一种提供预留设置和控制以实现综合服务的协议。最复杂。•RSVP协议允许应用程序为它们的数据流保留带宽。主机根据数据流的特性使用这个协议向网络请求保留一个特定量的带宽,路由器也使用RSVP协议转发带宽请求。•为了执行RSVP协议,在接收端、发送端和路由器中都必须有执行RSVP协议的软件。RSVP的两个主要特性是:(1)保留组播树上的带宽,单播是一个特殊情况。(2)接收端导向,也就是接收端启动和维护资源的保留。图18-6说明上述两个特性。图中给出了组播树,它的数据流向是从树的顶部到六个主机。虽然数据源来自发送端,但保留消息则发自接收端。当路由器向上给发送端转发保留消息时,路由器可以合并来自下面的保留消息。主机MR1MR2合并保留保留消息保留消息数据流广播路由器图18-6RSVP特性2.RSVP优缺点RSVP的优点:(1)良好的兼容性。RSVP设计时考虑到了与非RSVP网络兼容的问题。(2)软状态机制。RSVP软状态机制提供了一种节点从故障中恢复的自我稳定机制;同时防止了由于各种网络原因导致的重复预约资源的问题;预留状态不刷新则超时。(3)接收端预约方式。使其能够适用于组播中存在大量接收者的情况,同时可以提高网络的资源利用率。RSVP的缺点:RSVP的操作依靠周期性的不可靠的消息交换,如果在预约的建立阶段丢掉预约消息,则将导致很长的连接建立时延。RSVP的预约方法本身就对RSVP的可扩展性构成损害,因为RSVP需要在路由器的数据路径(调度,缓存管理等)和控制路径(RSVP状态)同时保持流的状态。返回18.5区分业务(DiffServ)•DiffServ是一个起源于IntServ,但相对简单、粗划