1Internet服务质量控制2上一页下一页主要内容服务质量控制概述集成服务模型区分服务模型分组调度拥塞概念3上一页下一页主要内容服务质量控制概述集成服务模型区分服务模型分组调度网络拥塞4上一页下一页服务质量(QoS)控制概述广义的网络服务质量–包括网络性能(performance)、可用性(availability)、可靠性(reliability)和安全性(security)等各种指标。本讲的服务指的是网络性能–性能相关的主要参数有带宽(width)、延迟(delay)/延迟抖动(jitter)和分组丢失率(lossrate)等5上一页下一页服务质量控制概述绝对的(确定性的)性能保证–一条在任意时刻都可以提供指定(100Mbps)带宽的网络链路–绝对的带宽保证概率的(随机的)性能保证–保证95%的分组的延迟不大于指定时间(100ms)–实际上是以一定的概率保证延迟时间平均的性能保证–保证一个月中的平均分组丢失率不高于10-5–平均的丢失率保证6上一页下一页服务质量控制概述-基于时间的控制粒度微秒级(1到100微秒)–基于分组-分组级,分组是互联网QoS控制的最小单位–流量调节机制(包括分组分类器、分组标记器和流量整形器等),分组调度机制和主动队列管理机制等毫秒级(1到100毫秒)–基于分组的往返时间(roundtriptime–拥塞控制和流量控制等基于反馈的控制机制秒(分)级(1到分)–会话级的(也就是用户会话持续的时间)(会话可以采用各种方式定义)–在这个粒度工作的QoS机制包括准入控制和QoS路由长期机制–主要包括流量工程,能力规划和服务定价等7上一页下一页服务质量控制概述-控制对象根据流(per-flow)进行控制一般来说,流采用IP源地址、目的地址、源端口号、目的端口号和协议域这五元组进行标识对流的聚集进行控制流聚集也可以有各种方法,比如每台主机、每个网络前缀、每个服务类别等等控制状态的携带者和控制本身的位置控制状态的携带者可以是路由器,也可以是分组控制的位置可以在用户主机、网络边缘路由器,或者是网络核心路由器8上一页下一页服务质量控制概述-QoS控制空间edgerouterobjectpacketflowflowaggregationTimegranularitypacketRoundtriphostcorerouterpositiontimesession9上一页下一页主要内容服务质量控制概述集成服务模型区分服务模型分组调度网络拥塞10上一页下一页问题•流AD需要带宽,延迟和丢失率保证•交叉的流量是不可预测的•IP网络可以提供这种保证吗?•IP网络如何实现这一目标?ABCDCrossTrafficEF5Mbps10Mbps11上一页下一页IP网络对QoS的支持提供besteffort服务没有资源管理–不能根据每个流的状态提供服务保证–不能在流量聚集之间提供服务区分早期的研究工作–Berkeley大学的Tenet研究组–ATM(ITU-T)12上一页下一页Then,whatwecanDo?资源预留流标识流区分–简单的FIFO调度不能工作准入控制ABCDCrossTrafficEF5Mbps10Mbps13上一页下一页两种QoS保证框架IETF的工作–集成服务框架(IntServ)–区分服务框架(DiffServ)14上一页下一页Internet集成服务框架(IntServ)体系结构的变化–原有模型:无状态–新模型:路由器维护每流状态•用于准入控制和调度•由信令协议建立服务模型的变化–原有模型:简单的besteffort服务类型–新模型:多种服务类型,包括besteffort和QoS类型设计了支持新的服务模型的协议和算法–原有模型:在IP层次没有资源管理–新模型:在IP层次进行显式的资源管理15上一页下一页集成服务网络流或者会话作为QoS保证对象每个流有一条固定的或者稳定的路径沿着路径的路由器维护每流的状态16上一页下一页SenderReceiver集成服务实例(case)每流的带宽和延迟保证–实例:为流保证1Mbps和100ms的延迟17上一页下一页SenderReceiver集成服务实例(control)分配资源-执行每流的准入控制18上一页下一页SenderReceiver集成服务实例(control)设置每流状态19上一页下一页SenderReceiver集成服务实例(control)设置每流状态,执行资源预留20上一页下一页SenderReceiver集成服务实例(DATA)每流分类21上一页下一页SenderReceiver每流缓冲管理集成服务实例(DATA)22上一页下一页集成服务实例(DATA)每流调度SenderReceiver23上一页下一页功能部件如何协作(Collaboration)AdmissionControlDataInDataOutControlPlaneDataPlaneSchedulerRoutingRoutingMessagesRSVPmessagesClassifierRSVPRouteLookupForwardingTablePerFlowQoSTablePolicyControl24上一页下一页服务类型(ServiceType)服务可以看成是网络和通信客户之间的合约(Agreement)–端到端服务(SLA)三种常见的服务–best-effort(“elastic”app.)–hardreal-time(“real-time”app.)–softreal-time(“tolerant”app.)25上一页下一页HardRealTime:GuaranteedServices服务合约–网络到客户:对会话中的每个分组保证其确定性的延迟上界–客户到网络:不会发送超过合约的数据量算法支持–基于最坏情况分析的准入控制–路由器执行每流分类和调度26上一页下一页SoftRealTime:ControlledLoadService服务合约–网络到客户:提供和轻负载的besteffort网络类似的性能–客户到网络:不会发送超过合约的数据流算法支持–基于聚集测量的准入控制–对聚集的调度27上一页下一页资源预留协议(RSVP)ResourceReSerVationProtocol用于建立每流状态的信令协议携带从主机到路由器的资源请求收集从路由器到接受主机的必要的信息预留资源从接受者到发送者在每一跳–和准入控制模块(admissioncontrol)以及策略模块交互(policycontrol)–建立准入状态或者通知请求发起者需求不能满足28上一页下一页RSVP用于单播和多播应用接收方发起预留过程不同的预留类型–FixedFilterStyle–WildcardStyle–SharedExplicitStyle网络内部保存的是软状态–为什么?路由和预留机制相互独立,配合工作29上一页下一页RSVP预留模型执行信令为会话建立预留状态一个会话是一个向单播或者组播地址发送的数据流,由下面的属性标识–IPdest,protocolnumber,Destportnumber一个会话中可以有多个发送者和接收者30上一页下一页RSVP的基本操作发送方通过数据发送路径发送PATH消息–在路径中的每台路由器上设置包括前一跳地址在内的路径状态(pathstate?)接收方沿着发送路径反方向发回RESV消息–定义了预留类型,需要的QoS参数–在路径中的每台路由器中建立预留状态请注意–接收方发起预留–预留过程和路由无关–操作有两种类型:path和reservation31上一页下一页RSVP预留模型NetworkSenderReceiverPATHMsg32上一页下一页RSVP预留模型NetworkSenderReceiverPATHMsgRESVMsg33上一页下一页PATH和RESV消息PATH定义了–源的流量特性引入令牌桶的概念(tokenbucket)–预留类型RESV定义了–排队延迟和带宽需求–源的流量特性(来自PATH)–Filter定义,也就是哪些发送方可以使用这些预留–基于这些信息路由器执行预留操作34上一页下一页令牌桶由两个参数(r,b)描述–r:平均速率(到达的平均速率,令牌或数据)–b:令牌深度假定流的到达速率=Rbps(R是链路带宽)只有当有令牌时才发送一个数据位–实际使用时往往按照分组为单位执行rbpsbbits=Rbpsregulator35上一页下一页令牌桶:实例r=100Kbps;b=3Kb;R=500Kbps3KbT=0:1Kbpacketarrives(a)2.2KbT=2ms:packettransmittedb=3Kb–1Kb+2ms*100Kbps=2.2Kb(b)2.4KbT=4ms:3Kbpacketarrives(c)3KbT=10ms:packetneedstowaituntilenoughtokensareinthebucket!(d)0.6KbT=16ms:packettransmitted(e)36上一页下一页每跳预留给定(b,r,R)和每跳延迟d分配带宽ra和缓存空间Ba保证满足延迟d37上一页下一页端到端的预留当R收到PATH消息时,它知道–流量特性(T-SPEC):(r,b,R)–已经经过的hop数R在发送RESV消息时需要考虑最坏情况下的延迟路径中的每台路由器都提供每跳延迟保证并转发RESV消息–在最简单的情况下,路由器平均分担延迟S1S1S2S2S3S3SSRR(b,r,R)(b,r,R,3)numhops(b,r,R,2,D-d1)(b,r,R,1,D-d1-d2)(b,r,R,0,0)(b,r,R,3,D)worst-casedelayPATHRESV38上一页下一页预留类型和Filter定义预留类型–使用filter定义哪些发送方可以使用该预留资源三种类型–wildcardfilter:不定义任何发送方;所有到相同目的地址的分组共享相同的资源•用于只有少量成员同时发言的组–fixedfilter:不在发送方之间共享,明确指出是为哪个发送方预留的资源•发送方不能被修改–dynamicfilter(Shared-Explicit):资源可以在明确指定的发送方之间共享•发送方可以为一个列表39上一页下一页WildcardFilter的例子接收方:H1,H2;发送方:H3,H4,H5每个发送方只能发送B带宽流量发送者之间串行工作模式S1S1S2S2S3S3H2H2H1H1H5H5H4H4H3H3(B,*)(B,*)(B,*)(B,*)(B,*)(B,*)senderreceiver40上一页下一页WildcardFilter优点–路由器保存的状态最少•路由器只需在输出链路上维护预留带宽信息缺点–可能导致资源利用率降低41上一页下一页WildcardFilter:资源利用率低的例子H1预留3B;希望同时听到三个发言者的发言问题:在(S3:S2)上也预留了3B,虽然最大只会用到2BS1S1S2S2S3S3H2H2H1H1H5H5H4H4H3H3(3B,*)(3B,*)(3B,*)senderreceiver42上一页下一页FixedFilter的例子接收方:H2,H3,H4,H5;发送方:H1,H4,H5路由器在路由表中为每个接收者维护状态S1S1S2S2S3S3H2H2H1H1H3H3senderreceiverH5H4send