04-IPv6对实时通信和流传输的支持.ppt_第1页
04-IPv6对实时通信和流传输的支持.ppt_第2页
04-IPv6对实时通信和流传输的支持.ppt_第3页
04-IPv6对实时通信和流传输的支持.ppt_第4页
04-IPv6对实时通信和流传输的支持.ppt_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 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位未用 当时征求各种专家的意见 如何最佳地使用这些位 一些人建议插入一个检验和 另一些人则希望有更长的长度域或跳段计数域 然而最有说服力的需求是流标识符 可用以标识实时流 通过某种预留协议分配资源和优先级 如果我们要在Internet上提供高质量的多媒体通信 就需要对流做适当的处理 SIP的设计者采纳了这一建议 经过两年多的讨论和提炼 结果产生了对IPv6流标记和优先级类别的定义 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 5 4 1定义和概念 IPv6规范对流进行了定义 定义在措词上很小心 避免隐含任何具体的特征 流是从一个特定的源发往一个特定的 单播或组播 目的地的一个分组序列 对于这些分组 源请求中间的路由器做特别的处理 事实上 流的定义隐含地来自对流标记本身的定义 流是来自同一个源前往同一目的地且具有相同流标记的分组的集合 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 6 4 1 1定义流标记和优先级 我们把组成一个流的一系列分组用20位的流标记标识 没有必要让Internet上的所有分组都属于流 事实上很有可能在过渡阶段大多数分组都不会明确地标记属于流 数据由诸如SMTP邮件程序 FTP文件传送程序或HTTPWeb浏览器这样的经典应用产生 这些应用程序是为IPv4设计的 将被升级既能处理IPv4地址 也能处理IPv6地址 但可能不会被修改加入IPv4不支持的流处理过程 对应的分组将使用由20个0位组成的零流标记 当传输要求某种特别的处理时 例如对于具有严格的实时限制条件的应用 将使用流标记 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 7 4 1 2流和策略路由 流标记可以结合路由选择头一起使用 事实上 明确地采用源路由通过相同的一组中继器的所有分组需要特别的处理 这并不意味着经过相同的源路由的所有分组属于同一个应用 它们可能属于不同的视频流 或者属于混合的音频 视频和数据流 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 8 4 1 2流和策略路由 多媒体通信可能持续相当长的时间 在此期间源路由选择的需求可能改变 在一天内的某些时段 该单位的第二个连接提供商可能给出比其主要提供商更好的价格 想要利用这种价格优惠的客户 比如说 可以在下午1点之前使用标准的路由选择 然后插入一个路由选择头 在下午1点至2点之间强行使用第二种路由 从应用的角度看问题 这些分组一直属于同一个流 但是IPv6规范明确指出 如果源路由选择改变了路由 流标记也必须改变 在我们的例子中 在下午1点至2点之间传送的分组的流标记跟1点之前或2点之后传送的分组不同 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 9 4 1 3流不是虚电路 IPv6的流不同于X 25或ATM中的虚电路 IPv6分组的路由选择仅受对目的地址的选择的影响 或者受在分组中插入的路由选择头的影响 加流标记不会对路由选择有任何影响 建议在IPv6基本头中加上流标记的大多数专家在头脑中都有资源预留的想法 他们注意到 传统的分组交换不支持诸如话音或视频传输这样的严格的实时应用 他们认为 资源预留是对基本的分组交换的必要增强 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 10 4 2支持预留 以传统的数字电话为例 模拟话音信号以8kHz的速率采样 每个样本使用8个二进制位数字化 结果产生64kbps的数据流 这个信号可以作为相继的分组在Internet上传送 诸如vat这样的流行程序把这个数据流分组化 典型的分组包装160个样本 代表20毫秒的话音 它们通过Internet每秒发送50个分组 如果传输是合理地稳定 那么接收方可以解包话音样本 并回放没有失真的话音信号 但是 当网络拥塞时 话音质量会降低 某些分组会经历长的队列 这将产生很长的播放延迟 降低通信的交互性 还有一些分组会丢失 这将产生噼啪声 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 11 4 2支持预留 延迟和噼啪声的缘由是分组交换的传统调度策略 这种调度先来先服务 就像在银行办理业务需要排队那样 预留过程旨在为某种特别标识的分组建立一个特别的行道 人们相信 在分组交换机上可以实施特别的调度策略来保证分组的稳定流动 IETF制定了一个资源预留协议 称作RSVP IPv6流标记可以跟这个协议结合使用 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 12 4 2 1特别的服务 传统的分组交换机并不想跟分组队列混在一起 当有一个分组到达时 它被传递给路由选择模块 该模块检查其目的地址 确定外出线路 如果该线路可用 分组就被立即传输 否则 就把分组放在队列中 等待以后传输 这种策略叫做先到先服务 在每个外出线路的前面都有单个队列 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 13 4 2 1特别的服务 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 14 4 2 1特别的服务 然而 这种传统做法并非强制性的 代替每个外出接口仅一个队列的做法 交换机可以把分组分类 例如 它们可以给与实时分组队列比数据分组队列要大的优先级 但是仅此还不够 如果我们需要实时保证 我们必须保证每秒发送50个分组的队列每秒能够被访问50次 使用队列理论的术语 我们必须保证 一个队列的服务速率等于或高于其到达速率 达到这一目标的一个方法是让每个实时通信有一个队列 并且还有一个用于所有数据分组的缺省队列 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 15 4 2 1特别的服务 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 16 4 2 1特别的服务 例如有4个实时流 可以把流标记跟源地址结合在一起使用 表明哪个分组属于哪个流 在缺省条件下 没有被识别为一个实时流的一部分的分组划归缺省的数据队列 使用预留过程宣告实时流 并把它们的需求通知路由器 每个实时流将以符合它们的需求的速率被服务 实时数据流将不会遭遇不可预料的队列延迟 也将不会经历拥塞 而在另一方面 数据队列仅得到尽力而为的服务 作为给实时流预留传输资源的结果 数据传输仅得到剩余带宽和处理能力 它将经历比较长的延迟和比较频繁的拥塞 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 17 4 2 2使用RSVP和流 在Internet中选择的预留协议叫做RSVP RSVP的主要假定是诸如高速视频传输这样的组播应用最需要资源预留 这些应用有某些独特的特性 比如说 大量的接收方可能对应不同的传输条件 它们还可能属于不同的域 结果RSVP是一个由接收方驱动的协议 它由接收方决定选择它们希望接收的哪一个源 以及它们想要预留多少带宽并为之付费 它们通过向网络发送RSVP报文来做这类选择 源通过沿着常规的数据报文的通路定期地发送PATH报文使得预留成为可能 通过这些PATH报文 Internet路由器获悉正在进行的通信的情况 RSVP报文将在由PATH报文标记的反向通路上传播 从而保证资源是在用以传播数据的正确的链路上预留 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 18 4 2 2使用RSVP和流 典型的RSVP报文会说明接收方要倾听的源地址 数据发往的组播组地址和一些服务质量参数 例如要保留的数据速率 它还会包含一个过滤描述 描述接收方要选择的数据的框架文件 例如 在A和B之间同时进行文件传送和音频会话 此时 希望为音频预留64kbps的带宽 但肯定不希望看到文件传送竞争使用那个预留带宽从而破坏声音的质量 这就是过滤描述要达到的目的 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和流 其实 层次违犯并非主要的过失 许多网络设计人员对于用UDP端口补充描述他们的源和目的地址的效果非常满意 但是对于IPv6 端口号深埋在分组内部 位于长的扩展头菊花链之后 这会使得过滤编码非常低效 更糟的是 如果分组是加密的 端口号根本不可见 这就是可以让IPv6流标记起作用的地方 代替对端口号的指定 接收方在他的过滤器中叙述它要给以特权的特定的流标记 这一信息呈现在分组的靠前部位 并且易于访问 使得分类过程易于实现 必须指出 RSVP并非IPv6可以实现的惟一的预留过程 一些研究人员相信他们可以用逐跳选项的形式定义一个给定流的服务质量需求 这个选项将在一些分组中传送 路由器会记住相关的参数 并把它们跟该流相关联 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 21 4 3等级式编码和优先级 发送方应该总是试图从可提供的容量得到最好的服务质量 诸如TCP慢启动这样的算法正是为正常的数据传送做这样的事情 它们保持管道几乎一直是充满的 同时避免由太频繁的丢失引起的TCP效率的降低 它们可以尝试评估可提供的容量 然后调整样本速率和压缩比率 使得依然保持在那个容量之内 但是至少有两种情况使得这种适配不能够有效地执行 1 应用程序发现可提供的容量需要花一些时间 如果网络状态改变的速度比适配期还要快 那么我们会看到循环 短暂的拥塞和分组丢失 2 通向大的组播组的不同成员的通路可能具有不同的容量 仅当适配成这些容量中的最低值时才能保证不会丢失分组 在实践中这会导致可能的最坏服务 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 22 4 3等级式编码和优先级 对于这个问题业已提出的解决方案是结合两种技术 等级式编码和相对优先级 相应地 初始IPv6规范用如下描述定义了一个优先级域 在IPv6头中的4位优先级域使得一个源能够标识它的分组相对于发自同一源的其它分组的投递优先级 其思想是多媒体源要发送标有不同优先级的多个分组 在拥塞的情况下 中间的路由器会自动丢弃那些标着较低优先级的分组 使得接收方在当前的网络条件下总能得到可能的最好的接收 后来的研究表明 对大的组播组的等级式传输可以不使用网络级优先级来实现 并且那样的优先级丢弃会使得实现起来比较困难 现在的优先级域处于修改状态 并从源相对优先级转向网络全局优先级 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 23 4 3 1等级式传输 假定我们要发送一个声音信号 声音用高保真的麦克风捕获并且以16位精度44kHz频率采样 我们可以把传输组织成等级式分组 一个基本分组 包含以5 5kHz做的信号子采样 一个补充分组 包含以5 5kHz和11kHz采样之间的差值 两个更多的分组 包含在11kHz和22kHz采样之间的差值 四个分组 包含在22kHz和完全精度的44kHz采样之间的差值 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 24 4 3 1等级式传输 如果我们使用源相关的优先级 每个分组将有一个不同的优先级编码 因此 如果链路拥塞 44kHz分组被首先丢弃 然后是22kHz分组 再往后是11kHz 通过这种方式 我们保证 即使网络很快地改变其状态 该用户的带宽份额将总是被比较重要的数据占用 即使一个组播组的成员有非常不同的容量 它们也将都得到适配其本地通路的最好的服务质量 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 25 4 3 1等级式传输 简言之 等级式编码使得应用程序能够把它们的数据划分优先级 使得最有意义的数位最后丢弃 在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 3 1等级式传输 编码8 15为实时交通即非拥塞控制的交通保留 最高值15用于包含信息的最有意义部分的分组 而值8用于信息的最不重要的部分 在我们的例子中 5 5kHz分组可以用优先级15 最高优先级 标记 然后把递减的优先级用于11 22 44 kHz的分组 当平行地使用多媒体时 应该根据它们的相对重要性分配优先级 例如 视频通信是奢侈品 仅当已经提供高质量的音频时 才花费得起 如果我们要同时传送音频和视频 我们就可能要划分优先级 也许要为慢扫描视频分配一个介于11 和22 kHz之间的中间优先级 为低分辨率视频分配一个介于22 和44 kHz之间的中间优先级 而把编码8 最低优先级 用于高保真视频 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 28 4 3 1等级式传输 在1995年的规范中 优先级是相对的 它们用以确定单个源的分组等级 而不比较来自多个源的分组的等级 它们仅可以用来补充诸如公平队列或基于分类的队列策略 路由器一旦决定要丢弃一个给定源的某些分组 它就察看优先级域 并开始丢弃具有最低优先级值的那些分组 值得注意的是 在受控交通和实时交通之间没有隐含的排序 显然 不应该给于高分辨率视频 实时交通的最低优先级 比SNMP交通 拥塞控制的交通的最高优先级 更高的优先级 尽管前者标记的优先级是8 后者标记的优先级是7 2005年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大的组播组不需要优先级 实验的结果表明 这是一个很好的解决方案 因为把数据分裂成多个组的做法取得了两个非常重要的结果 1 仅当至少有一个接收方请求时数据才会在一个网络链路上传送 2 把站分配到组的工作可以通过端到端的过程自动完成 而不用请求中间路由器介入 第 1 条是映射过程的直接结果 组播路由选择的设计是把分组仅仅传送给组成员 因此 在我们的例子里 发送给组G2的高速流仅到达通过IGMP协议明确地加入那个组的站 仅有的条件是站能够发现它们应该加入哪个组 业已提出的解决方案是结合在会话目录中所有组地址的完全列表和端到端的评估算法 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 31 4 3 2大的组播组不需要优先级 加入高速组的低速会话立即会发现 它仅仅收到高速分组的一部分 事实上 加入这个组的做法也会破坏所有其它较低速率组的接收 当接收完这个加入请求后 上游的路由器开始转发高速数据 这样就拥塞了在前往接收方的通路上的所有低速链路 拥塞会给所有的组带来明显的丢失速率 为了加速收敛 已经提出了一种在组成员之间的同步协议 RTCP RSVP 然而 有一点很明显 就是要评估一个指定站应该加入哪个组不是一件困难的事情 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 32 4 3 3源相对优先级可能引发拥塞 优先级丢弃是针对实时数据的开环传输进行的 发送方仅仅根据相对优先级标记分组 网络察看优先级标记确定哪些分组可以传输 哪些分组不可以传输 然而开环传输的思想本身可能是有问题的 在下图中 我们考察一下在网络的数据源S和接收方R之间发生的情况 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 33 4 3 3源相对优先级可能引发拥塞 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 34 4 3 3源相对优先级可能引发拥塞 我们假定 源通过高速光纤连接到第一个路由器A 然后通过一条中速链路连接到第二个路由器B 后者又通过低速无线媒体连接到R 再假定我们使用前述的等级式编码 源发送完全的信号 高度压缩的数据使用高优先级 中等清晰度数据使用中等优先级 高清晰度数据使用低优先级 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 35 4 3 3源相对优先级可能引发拥塞 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 36 4 3 3源相对优先级可能引发拥塞 监测到拥塞的路由器自适应地选择它们允许通过的分组优先级 例如 第一个路由器A丢弃低优先级分组 而无线中继器B仅传送高优先级分组 R仅仅收到高优先级数据 这正是我们所希望的 然而 让我们看一看在A和B之间的链路 该链路也被其它的传输使用 例如在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 就包括一种报告机制 RTCP 该机制使得这种反馈成为可能 RTCP报告能够通知源关于接收方体验到的数据速率 丢失率和延迟 在我们的例子中 使用这个协议 S 发送方 很快就会发现 可用的端到端带宽仅能够传输最重要的数据 因此 它将仅发送高度压缩的信号 从而释放网络带宽用于X和Y之间或者S和X之间的其它传输 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 39 4 3 4自适应的应用 1988年VanJacobson修改了TCP协议的经典实现 他使用经典的控制理论的结果设计了慢启动算法 让TCP连接以最小的速度启动 然后逐步增加 其目的是免使网络变得不稳定 TCP程序包括一个反馈回路 在网络拥塞的条件下会自动减慢应用的发送速率 其结果是引人入胜的 而非受控的或开环多媒体应用有可能把网络带回到1988年之前的混乱局面 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 40 4 3 4自适应的应用 多媒体应用也不必是开环的 在实施和应用视频会议系统的过程中 人们意识到 固定速率并非视频的必要条件 典型的用户接口可以设置一个滑动标尺 它可以让用户在16kbps和256kbps之间选择一个数据速率 这个数据速率在内部被变换成压缩比 折中的视频质量和对网络的使用 在包括反馈控制算法之后 程序可以连续地收集来自所有接收方的传输报告 如果检测到拥塞 就立即降低传输比率 在一切看来都很好的情况下再慢慢地增加速率 通过采取跟VanJacobson的TCP同样的举措 我们可以尽可能地减少视频传输对经典Internet使用的影响 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 41 4 3 5监察网络使用 模拟研究表明 如果在一个试验的Internet中的所有站都实现VanJacobson的慢启动算法 网络会被很好地利用 所有的用户都得到近乎相同的资源份额 在某种意义上讲 这是最佳的和公平的 然而同样的模拟实验表明 如果各个站的参数略有不同 就可能导致它们所得到的网络份额有重要的差别 例如 如果某些站比其它站更靠近网络的瓶颈点 那么它们对网络拥塞条件的反应更快 当拥塞停止时会比较早地发送较多的数据 所有的网络用户都应该遵从同样的游戏规则 才能保证资源被大家公平地使用 比如说 每个站的TCP都应该实现具有拥塞避免机制的正确版本 然而 网络不能指望每个用户都遵从规则 应该强制实行公平措施 例如 使用某种形式的公平队列机制 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 42 4 3 5监察网络使用 另一种可能的方法是定义网络范围的优先级 比如说高档和低档 并把它们跟不同的每个分组价格或不同的预交费用挂钩 通过保证高档级分组的数目仍然处在全局网络容量的水平之下 让用户得到某种服务保证 然后在每一个档次的级别中保证付同样价格的所有用户得到近似相同的服务 简言之 我们需要对网络交通进行管制 一个给定用户 给定的流在每个单位时间内只能发送协定数量的分组 如果发送方试图发送超额太多的数据 那么一些分组将会被丢弃 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 43 4 3 6修改优先级域 业已证明以前方式的优先级丢弃是有害的 它形成开环传输 导致对网络带宽的浪费 因此优先级域被修改 抛弃了用以区分同一流的分组的相对优先级概念 此前 SallyFloyd和VanJacobson提出了一种称作随机早期检测 RED 的机制 根据这种机制 每个路由器都监察其资源 在遭遇拥塞的时候 随机地丢弃一部分交通量 以此来避免形成长的队列 然后 通过分析被丢弃分组的历史 路由器可以发现行为不轨的用户 并把它们放进一个 警察盒 RED的实施促使研究人员请求更多的控制位 用以改进拥塞避免算法的实现 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 44 4 3 6修改优先级域 在1997年下一代IP工作组重新定义了优先级域 并且给了这个域一个新的名字 即类别 class 其长度由4位增加到8位 而流ID的长度由24位减至20位 类别域的第一位D置1表示对延迟敏感的交通 例如交互式数据交通或实时多媒体会话 随后的3位编码网络范围的优先级 类似于IPv4中的优先级域 这些位可以用来实现 区分服务 例如给予企业交通对娱乐交通的优先权 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 45 4 3 6修改优先级域 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 46 4 3 6修改优先级域 最后4位是保留的 许多研究人员想把这些位中的两位用于拥塞避免控制 RED 随机早期检测 的一个弱点是把分组丢弃作为路由器告诉应用程序放慢速度的唯一途径 如果交通是由数量很大的小流组成 路由器必须从每个流丢弃一个分组 这会产生非常高的总体丢弃速率 取代丢弃一个分组 路由器可以通过简单地在分组中标记一个 经历拥塞 位发出拥塞的信号 请求用户放慢速度 然而现在的大多数运输协议都还不懂得这个信号 可以使用第2个位标记分组 表示其发送方和接收方已准备好适配拥塞信号 当一个路由器实现了RED算法时 在某个点上它决定在一个随机选择的分组上给出一个拥塞信号 如果源已经把分组标记成 准备好适配 路由器就简单地把 经历拥塞 位置1 如果 准备好适配 位没有置1 路由器就把该分组丢弃 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 47 4 4实时传输协议 各种各样的多媒体应用产生了对一个类属的实时传输协议的需求 RTP 实时传输协议 应运而生 RTP是IETF的AVT工作组 Audio VideoTransportWG 开发的协议 该协议在RFC1889 1890中有详细描述 现在已成为因特网的建议标准 并且已被广泛使用 RTP在协议栈中的位置有一些奇特 它被放在用户空间中 并且通常都运行在UDP之上 多媒体应用典型地由多重的声频 视频 正文以及其它的流构成 它们随着应用被馈入在用户空间的RTP库 这个库再把上述流多路复用 并把它们编码在RTP分组中 RTP分组随后又被这个库送进套接口 由此产生了相应的UDP数据报 接着UDP数据报又被封装到IP分组 然后形成被传输的以太网帧 下面的插图示出了在这种情况下的协议栈以及分组的嵌套封装 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 48 4 4实时传输协议 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 49 4 4实时传输协议 作为这种设计的结果 就不太好说RTP究竟是在哪个层次了 由于它在用户空间中运行 并被链接到应用程序 看起来很像是一个应用协议 在应用的发送端 开发者必须编写用RTP封装分组的程序代码 然后将RTP分组交给UDP套接口 在接收端 RTP分组通过UDP套接口进入应用层后 还要利用开发者编写的程序代码从RTP分组中将应用数据块取出来 然而在另一方面 RTP又是一个类属的只提供传输设施的独立于应用的协议 它封装多媒体应用的数据块 向多媒体应用程序提供时间戳和序号等服务 因此它看起来也像是一个传输协议 可以被看成是在UDP之上的一个运输层的子层 也许最好的描述是 它是一个在应用层中实现的运输协议 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 50 4 4实时传输协议 RTP同时也是ITU T 国际电信联盟电信标准化部门 的标准 H 225 0 实际上 RTP是一个协议框架 因为它只包含了一些附加的信息 让应用程序知道应当如何进行处理 RTP还有两点值得注意 首先 RTP分组只运载RTP数据 而控制是由另一个配套使用的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 所以路由器对其分组不做特别处理 除非路由器启用了某种常规的IP服务质量特征 总之 对于投递和时延 抖动等没有特别的保证 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 52 4 4实时传输协议 在RTP流中发送的每个分组都被标上一个号码 序列号 在其后发送的分组的号码依次以增量值1递增 这种编号允许目的地确定是否有分组丢失 如果有一个分组丢失了 那么对于目的地说来 最好的做法就是为替代该丢失的值插入一个近似值 重传的做法是不可取的 因为被重传的分组可能会由于到达得太晚而变得无用 结果 RTP没有流控制 没有错误控制 没有确认应答 也没有请求重传的机制 每个RTP载荷可以包含多路采样 并且可以用应用选择的任意方式编码 为了允许互操作 RTP定义了若干个框架文件 并且对于每个框架文件都允许多路编码 例如 可以把单个音频流编码成8kHz的8位PCM采样 也可以采用差值编码和预测编码 以及GSM 全球移动通信系统 编码 MP3等 RTP在其头部提供了一个域 载荷类型 源可以在其中指定编码方案 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 53 4 4实时传输协议 许多实时应用需要的另一个设施是时间印记 其思想是允许源把一个时间印记跟在每个分组中的第一个采样相关联 时间印记是相对于流的起始而言的 因此仅仅在时间印记之间的差值是有意义的 绝对值并没有意义 该机制允许目的地做少量的缓存 在流开始后把每个采样播放正确长度的时间 独立于包括该采样的分组的到达时间 时间印记不仅减少抖动的影响 而且也允许多路的流互相同步 例如 数字电视节目可能有一个视频流和两个音频流 两个音频流可能是为立体声广播设计的 也可能是为了处理具有一个原始语音声道和另一个配音成地方语音的声道的影片 从而让观众有一个选择 每个流都来自不同的物理设备 但它们如果都根据单个计数器做时间印记 那么 即使流的传输不是稳定的 它们也可以同步地回放 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 54 4 4实时传输协议 下面的插图示出了RTP的头部 它由3个32位的字组成 并且可能有一些扩展项 第一个字包含版本域 它现在的值是2 但愿该版本已经接近于最后版本了 因为已经仅剩下一个码点了 虽然也可以把真正的版本号定义在一个扩展字中 并且用3来标志此种做法 P位表示分组已经被填充成4字节的整数倍 最后一个字节说明加了多少个字节 X位表示存在一个扩展头 扩展头的格式和含义都没有定义 唯一定义了的是扩展项的第1个字给出长度 这就为任何不可预见的需求对扩展项的不同目的的使用留有余地 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 55 4 4实时传输协议 CC域表示有多少个贡献源 4位编码0 15 M位是一个应用特有的标记位 它可以被用来标记一个视频帧的开始 在音频通道中一个谈话的开始 或者应用程序理解的某个其它东西 载荷类型域表示使用了哪一种编码算法 例如非压缩的8位音频 MP3等 由于每个分组都运载这个域 在传输期间编码方法可以改变 序列号只是一个计数器 对于发送的每个RTP分组 该值都要递增1 它被用来检测分组的丢失 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 56 4 4实时传输协议 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 57 4 4实时传输协议 时间印记由流的源产生 记录作分组中第1个采样的时间 这个值通过解耦回放和分组的到达时间 可以帮助接收方减少抖动 同步流标识符说明分组属于哪个流 该方法用以把多路数据流复用成单个UDP流和随后再解复用多路数据流 最后 贡献源标识符 如果存在的话 是在播放室中有混和器的情况下使用 它被用来表示被混和的不同的流 在组播环境中 可以用一个中间的混和站将多个发往同一目的地的RTP流混和成1个流 这样可以节省通信资源 在这种情况下 混合器是做同步的源 被混和的流就列在贡献源标识符域中 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 58 4 4实时传输协议 RTP有一个称作RTCP 实时传输控制协议 的伙伴协议 它是一个与RTP配合使用的协议 RFC1889 1890 实际上 RTCP协议也是RTP协议的不可分割的一部分 RTCP协议的主要功能是 服务质量的监视与反馈 媒体间的同步 如某一个RTP发送的声音和图像的配合 以及组播组中成员的标识 RTCP分组也使用UDP来传送 但不传输任何数据 由于RTCP分组很短 因此可将多个RTCP分组封装在一个UDP数据报中 RTCP分组周期性地在网上传送 它带有发送端和接收端对服务质量的统计信息报告 内容如已发送的分组数和字节数 分组丢失率 分组到达时间间隔的抖动等 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 59 4 4实时传输协议 RTCP对服务质量的监视与反馈功能可以用来向源提供对于延迟 抖动 带宽 拥塞和其它网络性能和状态的反馈信息 编码进程可以使用这类信息在网络工作得很好时增加数据速率 从而给出更好的服务质量 以及在网络有故障时减少数据速率 通过提供连续的反馈 可以不断地适配编码算法 以在当前的实际条件下提供尽可能好的服务质量 例如 如果在传输期间带宽增加或减少了 编码可以在必要时从MP3改成8位的PCM 或者再改成差值编码 可以使用载荷类型域告诉目的地当前的分组是采用什么样的编码算法 从而使得按需改变成为可能 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 60 4 4实时传输协议 RTCP还处理流间同步 问题是不同的流可能使用不同的时钟 具有不同的颗粒度和不同的飘移速率 可以使用RTCP使它们保持同步 最后 RTCP提供了一种命名多种多样的源的方法 这一信息可以显示在接收者的屏幕上表明当前谁在演讲 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 61 4 5资源预留协议 一旦我们为一个流制定了一条特别的路径 就有可能沿着该路径预留资源 以保证它能够得到所需要的容量 可能被预留的资源潜在地有3个不同的种类 1 带宽 2 缓冲区空间 3 CPU周期作为第一种的带宽是显然的 如果一个流需要1Mbp 而输出线路的容量是2Mbp 那么试图让3个流同时前往那条线路是行不通的 因此预留带宽意味着不要超载任何输出线路 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 62 4 5资源预留协议 第二种常常短缺的资源是缓冲区空间 当一个分组到达时 它通常被硬件本身放到网络接口卡上 然后路由器软件必须把它拷贝到在RAM中的一个缓冲区 让它在那个缓冲区中排队等待在选择的输出线路上传输 如果没有缓冲区可用了 那么分组必须被抛弃 因为没有存放它的地方 为了取得好的服务质量 可以为一个特别的流预留一些缓冲区 使得该流不必跟其它的流争用缓冲区 当它需要的时候 总是有一个缓冲区可提供 最后 CPU周期也是一个稀有的资源 处理一个分组花路由器的CPU时间 因此 一个路由器每秒钟只能处理一定数量的分组 为了让每个分组都能得到及时的处理 需要保证CPU不被超载 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 63 4 5资源预留协议 RSVP是IETF为集成服务体系结构制定的一个主要的协议 它在RFC2205 2209文件中有详细的描述 这个协议用于做预留工作 其它的协议用于发送数据 RSVP是一个Internet的控制协议 位于传输层 建立在IPv4或IPv6之上 提供对单工数据流的控制 并支持组播信息传送 它允许应用程序向网络请求一定质量的服务 RSVP请求由信息的接收方 信宿机 提出 该请求包括了对服务质量的要求 通过一个或多个路由器的验证 到达信息的发送方 信源机 从而建立一条具有一定服务质量的信息通路 该通路上的路由器负责提供预定的资源来保证传输的服务质量 并维护该数据通路的状态 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 64 4 5资源预留协议 RSVP协议涉及主机 路由器以及路由器之间的通信 因此 为了在TCP IP网络上实现RSVP功能 必须配置支持RSVP的路由器 在最简单的形式中 RSVP使用基于分布树的组播路由选择 每一组被分配一个组地址 为了给一个组发送 发送方把组地址放在他的分组中 标准的组播路由选择算法建立一个分布树覆盖所有的组成员 路由选择算法不包含在RSVP协议中 跟通常的组播相比 RSVP仅有的差别是有一些附加的信息 定期地播送给组 告诉路由器在它们的存储器中维持某些数据结构 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 65 4 5资源预留协议 作为例子 考虑下面插图 a 示出的网络 主机1和2是组播发送方 主机3 4和5是组播接收方 在这个示例中 发送方和接收方是分开的 但一般说来 这两个集合可以重叠 示图 b 和 c 分别给出了源自主机1和主机2的组播树 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 66 4 5资源预留协议 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 67 4 5资源预留协议 为了取得更好的接收和消除拥塞 在一个组中的任一接收方都可以把一个预留报文沿着树上行发送给发送方 RSVP使用反向通路转发算法把该报文沿着树向上传播 在每一跳段的路由器都记录该预留 并实际地预留所需要的带宽 如果没有足够的带宽可以提供 它就往回报告失败的消息 当报文返回到源时 在沿着分布树从发送方到做预留请求的接收方的整个通路上就都预留了带宽 2005年11月23日 授课教师 鲁士文 CAS ICT 授课地点 中关村 68 4 5资源预留协议 R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论