ImageVerifierCode 换一换
格式:PPT , 页数:75 ,大小:473KB ,
资源ID:5697258      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-5697258.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(04-IPv6对实时通信和流传输的支持.ppt)为本站会员(jinchen)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

04-IPv6对实时通信和流传输的支持.ppt

1、2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,1,中科院计算所计算机网络课程,第4单元 IPv6对实时通信和流传输的支持,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,2,第4单元 IPv6对实时通信和流传输的支持,4.1 定义和概念4.1.1 定义流标记和优先级4.1.2 流和策略路由4.1.3 流不是虚电路 4.2 支持预留4.2.1 特别的服务4.2.2 使用RSVP和流4.2.3 使用逐跳选项,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,3,第4单元 IPv6对实时通信和流传输的支持,4.

2、3 等级式编码和优先级4.3.1 等级式传输4.3.2 大的组播组不需要优先级4.3.3 源相对优先级可能引发拥塞4.3.4 自适应的应用4.3.5 监察网络使用4.3.6 修改优先级域 4.4 实时传输协议 4.5 资源预留协议,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,4,第4单元 IPv6对实时通信和流传输的支持,作为下一代IP协议的提案之一的SIP(简单IP协议)最初假定维持64位的边界。最早的版本包含两个64位地址,分别用于源和目的地,还有一些诸如分组长度、载荷类型和跳段计数这样的辅助域。然而这些辅助域不需要64位这么长,结果剩下32位未用。当时征

3、求各种专家的意见,如何最佳地使用这些位。一些人建议插入一个检验和,另一些人则希望有更长的长度域或跳段计数域。然而最有说服力的需求是流标识符,可用以标识实时流,通过某种预留协议分配资源和优先级。如果我们要在Internet上提供高质量的多媒体通信,就需要对流做适当的处理。SIP的设计者采纳了这一建议。经过两年多的讨论和提炼,结果产生了对IPv6流标记和优先级类别的定义。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,5,4.1 定义和概念,IPv6规范对流进行了定义。定义在措词上很小心,避免隐含任何具体的特征。“流是从一个特定的源发往一个特定的(单播或组播)目的地

4、的一个分组序列;对于这些分组,源请求中间的路由器做特别的处理。”事实上,流的定义隐含地来自对流标记本身的定义。流是来自同一个源前往同一目的地且具有相同流标记的分组的集合。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,6,4.1.1 定义流标记和优先级,我们把组成一个流的一系列分组用20位的流标记标识。没有必要让Internet上的所有分组都属于流。事实上很有可能在过渡阶段大多数分组都不会明确地标记属于流。数据由诸如SMTP邮件程序、FTP文件传送程序或HTTP Web浏览器这样的经典应用产生。这些应用程序是为IPv4设计的,将被升级既能处理IPv4地址,也能处

5、理IPv6地址,但可能不会被修改加入IPv4不支持的流处理过程。对应的分组将使用由20个0位组成的零流标记。 当传输要求某种特别的处理时,例如对于具有严格的实时限制条件的应用,将使用流标记。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,7,4.1.2 流和策略路由,流标记可以结合路由选择头一起使用。事实上,明确地采用源路由通过相同的一组中继器的所有分组需要特别的处理。这并不意味着经过相同的源路由的所有分组属于同一个应用:它们可能属于不同的视频流,或者属于混合的音频、视频和数据流。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,8

6、,4.1.2 流和策略路由,多媒体通信可能持续相当长的时间。在此期间源路由选择的需求可能改变。在一天内的某些时段,该单位的第二个连接提供商可能给出比其主要提供商更好的价格。想要利用这种价格优惠的客户,比如说,可以在下午1点之前使用标准的路由选择,然后插入一个路由选择头,在下午1点至2点之间强行使用第二种路由。从应用的角度看问题,这些分组一直属于同一个流。但是IPv6规范明确指出,如果源路由选择改变了路由,流标记也必须改变。在我们的例子中,在下午1点至2点之间传送的分组的流标记跟1点之前或2点之后传送的分组不同。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,9,

7、4.1.3 流不是虚电路,IPv6的流不同于X.25或ATM中的虚电路。IPv6分组的路由选择仅受对目的地址的选择的影响,或者受在分组中插入的路由选择头的影响。加流标记不会对路由选择有任何影响。 建议在IPv6基本头中加上流标记的大多数专家在头脑中都有资源预留的想法。他们注意到,传统的分组交换不支持诸如话音或视频传输这样的严格的实时应用。他们认为,资源预留是对基本的分组交换的必要增强。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,10,4.2 支持预留,以传统的数字电话为例,模拟话音信号以8kHz的速率采样,每个样本使用8个二进制位数字化,结果产生64kbps

8、的数据流。这个信号可以作为相继的分组在Internet上传送。诸如vat这样的流行程序把这个数据流分组化,典型的分组包装160个样本,代表20毫秒的话音。它们通过Internet每秒发送50个分组。如果传输是合理地稳定,那么接收方可以解包话音样本,并回放没有失真的话音信号。但是,当网络拥塞时,话音质量会降低。某些分组会经历长的队列。这将产生很长的播放延迟,降低通信的交互性。还有一些分组会丢失,这将产生噼啪声。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,11,4.2 支持预留,延迟和噼啪声的缘由是分组交换的传统调度策略。这种调度先来先服务,就像在银行办理业务需

9、要排队那样。预留过程旨在为某种特别标识的分组建立一个特别的行道。人们相信,在分组交换机上可以实施特别的调度策略来保证分组的稳定流动。IETF制定了一个资源预留协议,称作RSVP。IPv6流标记可以跟这个协议结合使用。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,12,4.2.1 特别的服务,传统的分组交换机并不想跟分组队列混在一起。当有一个分组到达时,它被传递给路由选择模块,该模块检查其目的地址,确定外出线路。如果该线路可用,分组就被立即传输。否则,就把分组放在队列中,等待以后传输。这种策略叫做先到先服务。在每个外出线路的前面都有单个队列。,2005年11月2

10、3日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,13,4.2.1 特别的服务,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,14,4.2.1 特别的服务,然而,这种传统做法并非强制性的。代替每个外出接口仅一个队列的做法,交换机可以把分组分类。例如,它们可以给与实时分组队列比数据分组队列要大的优先级。但是仅此还不够。如果我们需要实时保证,我们必须保证每秒发送50个分组的队列每秒能够被访问50次。使用队列理论的术语,我们必须保证,一个队列的服务速率等于或高于其到达速率。达到这一目标的一个方法是让每个实时通信有一个队列,并且还有一个用于所有数据分组的缺省队

11、列。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,15,4.2.1 特别的服务,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,16,4.2.1 特别的服务,例如有4个实时流。可以把流标记跟源地址结合在一起使用,表明哪个分组属于哪个流。在缺省条件下,没有被识别为一个实时流的一部分的分组划归缺省的数据队列。使用预留过程宣告实时流,并把它们的需求通知路由器。每个实时流将以符合它们的需求的速率被服务。实时数据流将不会遭遇不可预料的队列延迟,也将不会经历拥塞。而在另一方面,数据队列仅得到尽力而为的服务。作为给实时流预留传输资源的结果,数据

12、传输仅得到剩余带宽和处理能力。它将经历比较长的延迟和比较频繁的拥塞。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,17,4.2.2 使用RSVP和流,在Internet中选择的预留协议叫做RSVP。RSVP的主要假定是诸如高速视频传输这样的组播应用最需要资源预留。这些应用有某些独特的特性,比如说,大量的接收方可能对应不同的传输条件,它们还可能属于不同的域。结果RSVP是一个由接收方驱动的协议。它由接收方决定选择它们希望接收的哪一个源,以及它们想要预留多少带宽并为之付费。它们通过向网络发送RSVP报文来做这类选择。源通过沿着常规的数据报文的通路定期地发送PATH

13、报文使得预留成为可能。通过这些PATH报文,Internet路由器获悉正在进行的通信的情况。 RSVP报文将在由PATH报文标记的反向通路上传播,从而保证资源是在用以传播数据的正确的链路上预留。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,18,4.2.2 使用RSVP和流,典型的RSVP报文会说明接收方要倾听的源地址,数据发往的组播组地址和一些服务质量参数(例如要保留的数据速率)。它还会包含一个过滤描述,描述接收方要选择的数据的框架文件。例如,在A和B之间同时进行文件传送和音频会话。此时,希望为音频预留64kbps的带宽,但肯定不希望看到文件传送竞争使用那个

14、预留带宽从而破坏声音的质量。这就是过滤描述要达到的目的。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,19,4.2.2 使用RSVP和流,在IPv4中描述过滤器需要考虑层次差异的问题,涉及到分层原则的违犯,即在网络层的工作调用更高层的参数。在我们的例子中,文件传送使用TCP,音频使用UDP。但是仅仅对协议类型进行过滤是不够的,因为可能同时存在多个UDP和TCP应用。我们在描述过滤的工作中需要使用TCP和UDP端口。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,20,4.2.2 使用RSVP和流,其实,层次违犯并非主要的过失。许

15、多网络设计人员对于用UDP端口补充描述他们的源和目的地址的效果非常满意。但是对于IPv6,端口号深埋在分组内部,位于长的扩展头菊花链之后。这会使得过滤编码非常低效。更糟的是,如果分组是加密的,端口号根本不可见。这就是可以让IPv6流标记起作用的地方。代替对端口号的指定,接收方在他的过滤器中叙述它要给以特权的特定的流标记。这一信息呈现在分组的靠前部位,并且易于访问,使得分类过程易于实现。 必须指出,RSVP并非IPv6可以实现的惟一的预留过程。一些研究人员相信他们可以用逐跳选项的形式定义一个给定流的服务质量需求。这个选项将在一些分组中传送。路由器会记住相关的参数,并把它们跟该流相关联。,2005

16、年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,21,4.3 等级式编码和优先级,发送方应该总是试图从可提供的容量得到最好的服务质量。诸如TCP慢启动这样的算法正是为正常的数据传送做这样的事情。它们保持管道几乎一直是充满的,同时避免由太频繁的丢失引起的TCP效率的降低。它们可以尝试评估可提供的容量,然后调整样本速率和压缩比率,使得依然保持在那个容量之内。但是至少有两种情况使得这种适配不能够有效地执行:(1)应用程序发现可提供的容量需要花一些时间。如果网络状态改变的速度比适配期还要快,那么我们会看到循环,短暂的拥塞和分组丢失。(2)通向大的组播组的不同成员的通路可能具有不同

17、的容量,仅当适配成这些容量中的最低值时才能保证不会丢失分组,在实践中这会导致可能的最坏服务。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,22,4.3 等级式编码和优先级,对于这个问题业已提出的解决方案是结合两种技术:等级式编码和相对优先级。相应地,初始IPv6规范用如下描述定义了一个优先级域:“在IPv6头中的4位优先级域使得一个源能够标识它的分组相对于发自同一源的其它分组的投递优先级。” 其思想是多媒体源要发送标有不同优先级的多个分组。在拥塞的情况下,中间的路由器会自动丢弃那些标着较低优先级的分组,使得接收方在当前的网络条件下总能得到可能的最好的接收。 后

18、来的研究表明,对大的组播组的等级式传输可以不使用网络级优先级来实现,并且那样的优先级丢弃会使得实现起来比较困难。现在的优先级域处于修改状态,并从源相对优先级转向网络全局优先级。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,23,4.3.1 等级式传输,假定我们要发送一个声音信号。声音用高保真的麦克风捕获并且以16位精度44kHz频率采样。我们可以把传输组织成等级式分组:*一个基本分组,包含以5.5kHz做的信号子采样*一个补充分组,包含以5.5kHz和11kHz采样之间的差值。*两个更多的分组,包含在11kHz和22kHz采样之间的差值。*四个分组,包含在22

19、kHz和完全精度的44kHz采样之间的差值。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,24,4.3.1 等级式传输,如果我们使用源相关的优先级,每个分组将有一个不同的优先级编码,因此,如果链路拥塞,44kHz分组被首先丢弃,然后是22kHz分组,再往后是11kHz。通过这种方式,我们保证:*即使网络很快地改变其状态,该用户的带宽份额将总是被比较重要的数据占用。*即使一个组播组的成员有非常不同的容量,它们也将都得到适配其本地通路的最好的服务质量。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,25,4.3.1 等级式传输,简言

20、之,等级式编码使得应用程序能够把它们的数据划分优先级,使得最有意义的数位最后丢弃。在1996年的IPv6规范中,等级式编码通过称作丢弃优先级的标记支持,在IPv6头的第一个字节的4位中编码成一个整数。 优先级值0到7用于拥塞控制的交通,该交通的传输控制过程包括类似于慢启动的拥塞控制回路。这类交通根据其相对优先级分类,从用于非特征化交通的值0,用于最不紧迫的数据的值1,到用于Internet控制的值7。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,26,4.3.1 等级式传输,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,27,4

21、.3.1 等级式传输,编码8-15为实时交通即非拥塞控制的交通保留。最高值15用于包含信息的最有意义部分的分组,而值8用于信息的最不重要的部分。在我们的例子中,5.5kHz分组可以用优先级15 (最高优先级)标记。然后把递减的优先级用于11-、22-、44-kHz的分组。当平行地使用多媒体时,应该根据它们的相对重要性分配优先级。例如,视频通信是奢侈品, 仅当已经提供高质量的音频时,才花费得起。如果我们要同时传送音频和视频,我们就可能要划分优先级,也许要为慢扫描视频分配一个介于11-和22-kHz之间的中间优先级,为低分辨率视频分配一个介于22-和44-kHz之间的中间优先级,而把编码8(最低优

22、先级)用于高保真视频。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,28,4.3.1 等级式传输,在1995年的规范中,优先级是相对的。它们用以确定单个源的分组等级,而不比较来自多个源的分组的等级。它们仅可以用来补充诸如公平队列或基于分类的队列策略。路由器一旦决定要丢弃一个给定源的某些分组,它就察看优先级域,并开始丢弃具有最低优先级值的那些分组。 值得注意的是,在受控交通和实时交通之间没有隐含的排序。显然,不应该给于高分辨率视频(实时交通的最低优先级)比SNMP交通(拥塞控制的交通的最高优先级)更高的优先级,尽管前者标记的优先级是8,后者标记的优先级是7。,2

23、005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,29,4.3.2 大的组播组不需要优先级,当1993年在Internet上做等级式编码视频传输实验的时候,研究人员不能够使用优先级,因为在IPv4中没有实现优先级域。实验采用了另一种方案,为每一优先级使用一个分立的组播地址:*以低速率连接的站加入组G0,仅接收高优先级数据;*以中等速率连接的站同时加入组G0和组G1,既接收高优先级数据,也接收低优先级数据;*以最高速率连接的站同时加入组G0、组G1和组G2,接收完全的信号。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,30,4.3.2

24、大的组播组不需要优先级,实验的结果表明,这是一个很好的解决方案,因为把数据分裂成多个组的做法取得了两个非常重要的结果:(1)仅当至少有一个接收方请求时数据才会在一个网络链路上传送。(2)把站分配到组的工作可以通过端到端的过程自动完成,而不用请求中间路由器介入。 第(1)条是映射过程的直接结果。组播路由选择的设计是把分组仅仅传送给组成员。因此,在我们的例子里,发送给组G2的高速流仅到达通过IGMP协议明确地加入那个组的站。仅有的条件是站能够发现它们应该加入哪个组。业已提出的解决方案是结合在会话目录中所有组地址的完全列表和端到端的评估算法。,2005年11月23日,授课教师:鲁士文(CAS/ICT

25、) 授课地点:中关村,31,4.3.2 大的组播组不需要优先级,加入高速组的低速会话立即会发现,它仅仅收到高速分组的一部分。事实上,加入这个组的做法也会破坏所有其它较低速率组的接收。当接收完这个加入请求后,上游的路由器开始转发高速数据,这样就拥塞了在前往接收方的通路上的所有低速链路。拥塞会给所有的组带来明显的丢失速率。为了加速收敛,已经提出了一种在组成员之间的同步协议(RTCP,RSVP)。然而,有一点很明显,就是要评估一个指定站应该加入哪个组不是一件困难的事情。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,32,4.3.3 源相对优先级可能引发拥塞,优先级丢

26、弃是针对实时数据的开环传输进行的。发送方仅仅根据相对优先级标记分组,网络察看优先级标记确定哪些分组可以传输,哪些分组不可以传输。然而开环传输的思想本身可能是有问题的。在下图中,我们考察一下在网络的数据源S和接收方R之间发生的情况:,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,33,4.3.3 源相对优先级可能引发拥塞,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,34,4.3.3 源相对优先级可能引发拥塞,我们假定,源通过高速光纤连接到第一个路由器A,然后通过一条中速链路连接到第二个路由器B,后者又通过低速无线媒体连接到R。再假

27、定我们使用前述的等级式编码,源发送完全的信号,高度压缩的数据使用高优先级,中等清晰度数据使用中等优先级,高清晰度数据使用低优先级。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,35,4.3.3 源相对优先级可能引发拥塞,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,36,4.3.3 源相对优先级可能引发拥塞,监测到拥塞的路由器自适应地选择它们允许通过的分组优先级,例如,第一个路由器A丢弃低优先级分组,而无线中继器B仅传送高优先级分组。R仅仅收到高优先级数据,这正是我们所希望的。然而,让我们看一看在A和B之间的链路。该链路也被其它

28、的传输使用,例如在X和Y之间的数据交换。因为运载中等优先级数据,这些传输被不适当地减慢了。类似地,在S和R之间传输的高速数据会跟在S和X之间的其它交换竞争带宽。事实上,我们是在使用宝贵的网络资源传送无人接收的分组。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,37,4.3.3 源相对优先级可能引发拥塞,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,38,4.3.3 源相对优先级可能引发拥塞,比较可取的做法是在S(发送方)和R(接收方)之间实施一种反馈算法,并且使用自适应的或感知网络的应用。实时传输协议(RTP)就包括一种报告机制

29、(RTCP),该机制使得这种反馈成为可能。 RTCP报告能够通知源关于接收方体验到的数据速率、丢失率和延迟。在我们的例子中,使用这个协议, S (发送方)很快就会发现,可用的端到端带宽仅能够传输最重要的数据。因此,它将仅发送高度压缩的信号,从而释放网络带宽用于X和Y之间或者S和X之间的其它传输。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,39,4.3.4 自适应的应用,1988年Van Jacobson修改了TCP协议的经典实现。他使用经典的控制理论的结果设计了慢启动算法。让TCP连接以最小的速度启动,然后逐步增加,其目的是免使网络变得不稳定。TCP程序包括

30、一个反馈回路,在网络拥塞的条件下会自动减慢应用的发送速率。其结果是引人入胜的,而非受控的或开环多媒体应用有可能把网络带回到1988年之前的混乱局面。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,40,4.3.4 自适应的应用,多媒体应用也不必是开环的。在实施和应用视频会议系统的过程中,人们意识到,固定速率并非视频的必要条件。典型的用户接口可以设置一个滑动标尺,它可以让用户在16kbps和256kbps之间选择一个数据速率。这个数据速率在内部被变换成压缩比,折中的视频质量和对网络的使用。在包括反馈控制算法之后,程序可以连续地收集来自所有接收方的传输报告。如果检测

31、到拥塞,就立即降低传输比率。在一切看来都很好的情况下再慢慢地增加速率。通过采取跟Van Jacobson的TCP同样的举措,我们可以尽可能地减少视频传输对经典Internet使用的影响。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,41,4.3.5 监察网络使用,模拟研究表明,如果在一个试验的Internet中的所有站都实现Van Jacobson的慢启动算法,网络会被很好地利用,所有的用户都得到近乎相同的资源份额。在某种意义上讲,这是最佳的和公平的。然而同样的模拟实验表明,如果各个站的参数略有不同,就可能导致它们所得到的网络份额有重要的差别。例如,如果某些站

32、比其它站更靠近网络的瓶颈点,那么它们对网络拥塞条件的反应更快,当拥塞停止时会比较早地发送较多的数据。 所有的网络用户都应该遵从同样的游戏规则,才能保证资源被大家公平地使用,比如说,每个站的TCP都应该实现具有拥塞避免机制的正确版本。然而,网络不能指望每个用户都遵从规则,应该强制实行公平措施,例如,使用某种形式的公平队列机制。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,42,4.3.5 监察网络使用,另一种可能的方法是定义网络范围的优先级,比如说高档和低档,并把它们跟不同的每个分组价格或不同的预交费用挂钩。通过保证高档级分组的数目仍然处在全局网络容量的水平之下

33、,让用户得到某种服务保证。然后在每一个档次的级别中保证付同样价格的所有用户得到近似相同的服务。 简言之,我们需要对网络交通进行管制,一个给定用户、给定的流在每个单位时间内只能发送协定数量的分组。如果发送方试图发送超额太多的数据,那么一些分组将会被丢弃。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,43,4.3.6 修改优先级域,业已证明以前方式的优先级丢弃是有害的。它形成开环传输,导致对网络带宽的浪费。因此优先级域被修改,抛弃了用以区分同一流的分组的相对优先级概念。此前,Sally Floyd和Van Jacobson提出了一种称作随机早期检测(RED)的机制

34、。根据这种机制,每个路由器都监察其资源,在遭遇拥塞的时候,随机地丢弃一部分交通量,以此来避免形成长的队列。然后,通过分析被丢弃分组的历史,路由器可以发现行为不轨的用户,并把它们放进一个“警察盒”。RED的实施促使研究人员请求更多的控制位,用以改进拥塞避免算法的实现。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,44,4.3.6 修改优先级域,在1997年下一代IP工作组重新定义了优先级域,并且给了这个域一个新的名字,即类别(class)。其长度由4位增加到8位,而流ID的长度由24位减至20位。 类别域的第一位D置1表示对延迟敏感的交通,例如交互式数据交通或实

35、时多媒体会话。随后的3位编码网络范围的优先级,类似于IPv4中的优先级域。这些位可以用来实现“区分服务”,例如给予企业交通对娱乐交通的优先权。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,45,4.3.6 修改优先级域,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,46,4.3.6 修改优先级域,最后4位是保留的。许多研究人员想把这些位中的两位用于拥塞避免控制。RED(随机早期检测)的一个弱点是把分组丢弃作为路由器告诉应用程序放慢速度的唯一途径。如果交通是由数量很大的小流组成,路由器必须从每个流丢弃一个分组,这会产生非常高的总体

36、丢弃速率。取代丢弃一个分组,路由器可以通过简单地在分组中标记一个“经历拥塞”位发出拥塞的信号,请求用户放慢速度。然而现在的大多数运输协议都还不懂得这个信号。可以使用第2个位标记分组,表示其发送方和接收方已准备好适配拥塞信号。当一个路由器实现了RED算法时,在某个点上它决定在一个随机选择的分组上给出一个拥塞信号。如果源已经把分组标记成“准备好适配”,路由器就简单地把“经历拥塞”位置1。如果“准备好适配”位没有置1,路由器就把该分组丢弃。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,47,4.4 实时传输协议,各种各样的多媒体应用产生了对一个类属的实时传输协议的需

37、求,RTP(实时传输协议)应运而生。RTP是IETF的AVT工作组(Audio/Video Transport WG)开发的协议。该协议在RFC 1889、1890中有详细描述,现在已成为因特网的建议标准,并且已被广泛使用。RTP在协议栈中的位置有一些奇特,它被放在用户空间中,并且通常都运行在UDP之上。多媒体应用典型地由多重的声频、视频、正文以及其它的流构成。它们随着应用被馈入在用户空间的RTP库。这个库再把上述流多路复用,并把它们编码在RTP分组中,RTP分组随后又被这个库送进套接口,由此产生了相应的UDP数据报;接着UDP数据报又被封装到IP分组,然后形成被传输的以太网帧。下面的插图示出

38、了在这种情况下的协议栈以及分组的嵌套封装。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,48,4.4 实时传输协议,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,49,4.4 实时传输协议,作为这种设计的结果,就不太好说RTP究竟是在哪个层次了。由于它在用户空间中运行,并被链接到应用程序,看起来很像是一个应用协议。在应用的发送端,开发者必须编写用RTP封装分组的程序代码,然后将RTP分组交给UDP套接口。在接收端,RTP分组通过UDP套接口进入应用层后,还要利用开发者编写的程序代码从RTP分组中将应用数据块取出来。然而在另一方面

39、,RTP又是一个类属的只提供传输设施的独立于应用的协议,它封装多媒体应用的数据块,向多媒体应用程序提供时间戳和序号等服务,因此它看起来也像是一个传输协议,可以被看成是在UDP之上的一个运输层的子层。也许最好的描述是:它是一个在应用层中实现的运输协议。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,50,4.4 实时传输协议,RTP同时也是ITU-T(国际电信联盟电信标准化部门)的标准(H.225.0)。实际上,RTP是一个协议框架,因为它只包含了一些附加的信息,让应用程序知道应当如何进行处理。 RTP还有两点值得注意。首先,RTP分组只运载RTP数据,而控制是由

40、另一个配套使用的RTCP协议提供。其次,RTP在1025到65535之间选择一个未使用的偶数UDP端口号,而在同一次会话中RTCP则使用下一个奇数UDP端口号。RTP和RTCP的默认UDP端口号是5004和5005。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,51,4.4 实时传输协议,RTP为实时应用提供端到端的传输,但不提供任何服务质量保证。 RTP的基本功能是把若干个实时数据流多路复用成单个的UDP分组流。该UDP流可以被发送给单个目的地(单播)或多个目的地(组播)。因为RTP只是使用常规的UDP,所以路由器对其分组不做特别处理,除非路由器启用了某种常

41、规的IP服务质量特征。总之,对于投递和时延、抖动等没有特别的保证。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,52,4.4 实时传输协议,在RTP流中发送的每个分组都被标上一个号码(序列号),在其后发送的分组的号码依次以增量值1递增。这种编号允许目的地确定是否有分组丢失。如果有一个分组丢失了,那么对于目的地说来,最好的做法就是为替代该丢失的值插入一个近似值。重传的做法是不可取的,因为被重传的分组可能会由于到达得太晚而变得无用。结果,RTP没有流控制,没有错误控制,没有确认应答,也没有请求重传的机制。 每个RTP载荷可以包含多路采样,并且可以用应用选择的任意方

42、式编码。为了允许互操作,RTP定义了若干个框架文件,并且对于每个框架文件都允许多路编码。例如,可以把单个音频流编码成8kHz的8位PCM采样,也可以采用差值编码和预测编码,以及GSM(全球移动通信系统)编码、MP3等。RTP在其头部提供了一个域(载荷类型) ,源可以在其中指定编码方案。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,53,4.4 实时传输协议,许多实时应用需要的另一个设施是时间印记。其思想是允许源把一个时间印记跟在每个分组中的第一个采样相关联。时间印记是相对于流的起始而言的,因此仅仅在时间印记之间的差值是有意义的。绝对值并没有意义。该机制允许目的

43、地做少量的缓存,在流开始后把每个采样播放正确长度的时间,独立于包括该采样的分组的到达时间。时间印记不仅减少抖动的影响,而且也允许多路的流互相同步。例如,数字电视节目可能有一个视频流和两个音频流。两个音频流可能是为立体声广播设计的,也可能是为了处理具有一个原始语音声道和另一个配音成地方语音的声道的影片,从而让观众有一个选择。每个流都来自不同的物理设备,但它们如果都根据单个计数器做时间印记,那么,即使流的传输不是稳定的,它们也可以同步地回放。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,54,4.4 实时传输协议,下面的插图示出了RTP的头部。它由3个32位的字组

44、成,并且可能有一些扩展项。 第一个字包含版本域,它现在的值是2,但愿该版本已经接近于最后版本了,因为已经仅剩下一个码点了(虽然也可以把真正的版本号定义在一个扩展字中,并且用3来标志此种做法)。 P位表示分组已经被填充成4字节的整数倍,最后一个字节说明加了多少个字节。 X位表示存在一个扩展头。扩展头的格式和含义都没有定义。唯一定义了的是扩展项的第1个字给出长度。这就为任何不可预见的需求对扩展项的不同目的的使用留有余地。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,55,4.4 实时传输协议,CC域表示有多少个贡献源(4位编码0-15)。 M位是一个应用特有的标记

45、位。它可以被用来标记一个视频帧的开始,在音频通道中一个谈话的开始,或者应用程序理解的某个其它东西。 载荷类型域表示使用了哪一种编码算法(例如非压缩的8位音频、MP3等)。由于每个分组都运载这个域,在传输期间编码方法可以改变。 序列号只是一个计数器,对于发送的每个RTP分组,该值都要递增1。它被用来检测分组的丢失。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,56,4.4 实时传输协议,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,57,4.4 实时传输协议,时间印记由流的源产生,记录作分组中第1个采样的时间。这个值通过解耦回放和

46、分组的到达时间,可以帮助接收方减少抖动。同步流标识符说明分组属于哪个流。该方法用以把多路数据流复用成单个UDP流和随后再解复用多路数据流。 最后,贡献源标识符(如果存在的话)是在播放室中有混和器的情况下使用。它被用来表示被混和的不同的流。在组播环境中,可以用一个中间的混和站将多个发往同一目的地的RTP流混和成1个流,这样可以节省通信资源。在这种情况下,混合器是做同步的源,被混和的流就列在贡献源标识符域中。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,58,4.4 实时传输协议,RTP有一个称作RTCP(实时传输控制协议)的伙伴协议。它是一个与RTP配合使用的协

47、议(RFC 1889,1890),实际上,RTCP协议也是RTP协议的不可分割的一部分。 RTCP协议的主要功能是:服务质量的监视与反馈、媒体间的同步(如某一个RTP发送的声音和图像的配合),以及组播组中成员的标识。RTCP分组也使用UDP来传送,但不传输任何数据。由于RTCP分组很短,因此可将多个RTCP分组封装在一个UDP数据报中。RTCP分组周期性地在网上传送,它带有发送端和接收端对服务质量的统计信息报告,内容如已发送的分组数和字节数,分组丢失率、分组到达时间间隔的抖动等。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,59,4.4 实时传输协议,RTCP

48、对服务质量的监视与反馈功能可以用来向源提供对于延迟、抖动、带宽、拥塞和其它网络性能和状态的反馈信息。编码进程可以使用这类信息在网络工作得很好时增加数据速率(从而给出更好的服务质量)以及在网络有故障时减少数据速率。通过提供连续的反馈,可以不断地适配编码算法,以在当前的实际条件下提供尽可能好的服务质量。例如,如果在传输期间带宽增加或减少了,编码可以在必要时从MP3改成8位的PCM,或者再改成差值编码。可以使用载荷类型域告诉目的地当前的分组是采用什么样的编码算法,从而使得按需改变成为可能。,2005年11月23日,授课教师:鲁士文(CAS/ICT) 授课地点:中关村,60,4.4 实时传输协议,RTCP还处理流间同步。问题是不同的流可能使用不同的时钟,具有不同的颗粒度和不同的飘移速率。可以使用RTCP使它们保持同步。 最后,RTCP提供了一种命名多种多样的源的方法。这一信息可以显示在接收者的屏幕上表明当前谁在演讲。,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报