第19章网际多目标广播简介 水冰水水本水水水本冰水客水冰水水冰水本水冰本水水冰冰水水水冰冰水水冰客水水本水水水水水水冰冰水冰本水水水水冰水水水冰水水*冰水 19.1多目标广播的概念 19.2多目标广播所需要的环境 19.3多目标广播树的概念 19.4IP多目标广播的地址和主机组的管 理 19.4.1P多目标广播的地址 19.4.2网际主机组管理协议 14.4.3接收端如何参与多目标广播 19.5多目标广播路径选择简介 19.5.1两种基本的路径选择法 19.5.2密集型多目标广播路由协议 19.5.3稀疏型多目标广播路由协议 19.5.4协同工作 19.6实时传输协议和实时控制协议 19.6.1RTP简介 19.6.2RTP信息包标题域 19.6.3实时传输控制协议 19.6.4实时流放协议 19.7资源保留协议 19.7.1RSVP协议简介 19.7.2不同种类的接收器 19.7.3接纳测试 19.7.4路径消息 练习与思考题 参考文献和站点 半*水水水水水水水本水水客客水冰客客水半*客水水水*冰水水水水本水水水水客水冰水水客水客水水*客水半水水冰水客水冰水水水水水冰水 进入20世纪90年代之后,组合声音、电视和数据流的多媒体网络应用的开发和研究迅 速增加,近年来也不断有产品投入市场,用户也渴望得到服务质量好、服务费用低的产 像电视会议、协同工作、远程教学、可视电话等等的多媒体网络应用都是非常受欢迎的应用 这些应用都是实时的交互应用,而且即使采用了很好的压缩技术,传输多媒体数据所需要的 带宽也是巨大的。在实现这些令人兴奋的应用中,正在开发的网际多目标广播( IP multicast 技术将会并且正在起着越来越重要的作用。使用多目标广播技术不仅可以节省宝贵的网络资 源(主要是带宽)和服务器资源,而且可以保证服务质量。 如同因特网上的其他应用技术一样,多目标广播的核心技术体现在各种各样的协议上。 协议是技术的精华,是人类智慧的结晶。如果不带着问题去阅读协议是很枯燥的,如果要开 发产品就要了解协议的思想,就要深入研究协议的细节,如果没有协议可遵循就自己制定和 提交新的协议,让大家使用你提出的协议。为此,编者从2500多个RFC文件中挑选了与多目 标广播关系最密切的RFC文件,列在本章的“参考文献和站点”中供感兴趣的读者进一步研 究 19.1多目标广播的概念 假设世界上有许多用户想在因特网上接收现场电视节目(例如现场体育比赛),如何把 传送到世界各地?最直观的方法就是使用传统的IP寻址方法,每个信息包都使用一个唯 的IP地址,一次只给一个节点(即主机)传送,如图19-01所示,这种方法称为单目标传送 ( unicast)。如果使用单目标广播服务把相同内容的信息传输给N个目标站点,就须要传输N 个拷贝,即要传输N次
第19章 网际多目标广播简介 *************************************************************************** 19.1 多目标广播的概念 19.2 多目标广播所需要的环境 19.3 多目标广播树的概念 19.4 IP多目标广播的地址和主机组的管 理 19.4.1 IP多目标广播的地址 19.4.2 网际主机组管理协议 14.4.3 接收端如何参与多目标广播 19.5 多目标广播路径选择简介 19.5.1 两种基本的路径选择法 19.5.2 密集型多目标广播路由协议 19.5.3 稀疏型多目标广播路由协议 19.5.4 协同工作 19.6 实时传输协议和实时控制协议 19.6.1 RTP简介 19.6.2 RTP信息包标题域 19.6.3 实时传输控制协议 19.6.4 实时流放协议 19.7 资源保留协议 19.7.1 RSVP协议简介 19.7.2 不同种类的接收器 19.7.3 接纳测试 19.7.4 路径消息 练习与思考题 参考文献和站点 *************************************************************************** 进入20世纪90年代之后,组合声音、电视和数据流的多媒体网络应用的开发和研究迅 速增加,近年来也不断有产品投入市场,用户也渴望得到服务质量好、服务费用低的产品, 像电视会议、协同工作、远程教学、可视电话等等的多媒体网络应用都是非常受欢迎的应用。 这些应用都是实时的交互应用,而且即使采用了很好的压缩技术,传输多媒体数据所需要的 带宽也是巨大的。在实现这些令人兴奋的应用中,正在开发的网际多目标广播(IP multicast) 技术将会并且正在起着越来越重要的作用。使用多目标广播技术不仅可以节省宝贵的网络资 源(主要是带宽)和服务器资源,而且可以保证服务质量。 如同因特网上的其他应用技术一样,多目标广播的核心技术体现在各种各样的协议上。 协议是技术的精华,是人类智慧的结晶。如果不带着问题去阅读协议是很枯燥的,如果要开 发产品就要了解协议的思想,就要深入研究协议的细节,如果没有协议可遵循就自己制定和 提交新的协议,让大家使用你提出的协议。为此,编者从2500多个RFC文件中挑选了与多目 标广播关系最密切的RFC文件,列在本章的“参考文献和站点”中供感兴趣的读者进一步研 究。 19.1 多目标广播的概念 假设世界上有许多用户想在因特网上接收现场电视节目(例如现场体育比赛),如何把 它传送到世界各地?最直观的方法就是使用传统的IP寻址方法,每个信息包都使用一个唯一 的IP地址,一次只给一个节点(即主机)传送,如图19-01所示,这种方法称为单目标传送 (unicast)。如果使用单目标广播服务把相同内容的信息传输给N个目标站点,就须要传输N 个拷贝,即要传输N次
19章网际多目标广播简介 量 接收者 发送者 R 互连网络 R3 图19-01单目标广播服务 使用这种方法有下列缺点:①浪费链路带宽,因为在链路上要传送多个相同的拷贝 ②大大地加重了服务机的负担。一个比较好的方法是把消息一次性地同时传输给N个目标站 点,如图19-02所示,这就叫做多目标广播( multicasting),在因特网上广播就称为IP多目 标广播( IP multicast)或者叫做网际多目标广播。 接收者R1 发送者 route 互联网络 R3 图19-02多目标广播服务 多目标广播是真正的分布式信息传输服务,使用IP多目标广播可以大大减轻网络上出 现的拥挤和服务器的负担,因此可用于声音和影视的实时广播,例如,因特网电话会议,因 特网电视会议 研究表明,要满足多目标广播的要求,只须在IP协议中增加支持多目标广播的路径安 排( multicast routing)功能就可以。P多目标广播路由协议( IP Multicast routing protocol)比较好地满足了在IP网络上实现多目标广播的功能 19.2多目标广播所需要的环境 为支持IP多目标广播,发送端和接收端以及收发两端之间的网络设施都必需具备多目 标广播功能,包括中间的路由器。对本地的IP多目标广播,主机节点所需要的环境是: (1)TCP/IP协议堆中可支持IP多目标广播 (2)软件支持网际主机组管理协议( Internet Group Management Protocol,IGMP),这 样就可以申请参加多目标广播组( multicast group)和接收多目标广播。 (3)要有IP多目标广播应用软件,例如电视会议软件
第19章 网际多目标广播简介 2 图19-01 单目标广播服务 使用这种方法有下列缺点:①浪费链路带宽,因为在链路上要传送多个相同的拷贝, ②大大地加重了服务机的负担。一个比较好的方法是把消息一次性地同时传输给N个目标站 点,如图19-02所示,这就叫做多目标广播(multicasting),在因特网上广播就称为IP多目 标广播(IP multicast)或者叫做网际多目标广播。 图19-02 多目标广播服务 多目标广播是真正的分布式信息传输服务,使用IP多目标广播可以大大减轻网络上出 现的拥挤和服务器的负担,因此可用于声音和影视的实时广播,例如,因特网电话会议,因 特网电视会议。 研究表明,要满足多目标广播的要求,只须在IP协议中增加支持多目标广播的路径安 排(multicast routing)功能就可以。IP多目标广播路由协议(IP Multicast routing protocol)比较好地满足了在IP网络上实现多目标广播的功能。 19.2 多目标广播所需要的环境 为支持IP多目标广播,发送端和接收端以及收发两端之间的网络设施都必需具备多目 标广播功能,包括中间的路由器。对本地的IP多目标广播,主机节点所需要的环境是: (1) TCP/IP协议堆中可支持IP多目标广播。 (2) 软件支持网际主机组管理协议(Internet Group Management Protocol,IGMP),这 样就可以申请参加多目标广播组(multicast group)和接收多目标广播。 (3) 要有IP多目标广播应用软件,例如电视会议软件
19章网际多目标广播简介 在LAN网络上运行或者评估多目标广播,只需要以上的环境就满足。在这个环境下,不 需要路由器来为主机的适配器创建或者加入多目标广播组就可以与其他主机共享多目标广 播数据。 在WAN网络上运行或者评估多目标广播就还需要: (1)在接收两端之间的所有路由器都具备多目标广播的功能。许多新的路由器都有这个 功能,老的路由器也许需要升级和更新。 (2)也许要能识别防火墙以便使多目标广播畅通 多目标广播得到工业界的广泛支持,现在也有许多网络基础设施厂商提供支持多目标 广播的软硬件,如路由器、交换机、TCP/IP堆、网络接口卡、桌面计算机操作系统和应用软 件 图19-03描述了运行多目标广播必需要有的部件。图中的交通方向是多目标广播数据包 的方向,需要与主机组成员进行通信的消息和传输路径消息没有在图上表示。 多目标广播 多目标广播 发送应用软件 多目标广播应用协议 发送应用软件 UDP (例如,电视会议,多目标广播文件传输) IP ICMP IGMP IP ICMP IGMP TcPP协议堆”寻址:源端端囗地址和接收端端囗地址,TcP/P协议堆 发送端地址(单目标广播)和 网络驱动程序 多目标广播接收端地址 网络驱动程序* 网络接口* 网络接口* 互联网* 发送端 接收端 子网 子网之 表示具有 参加多目标 具有多目标 多目标广播能力凵广播组的主机 MR广播的路由器 图19-03网际多目标广播环境[] 19.3多目标广播树的概念 为了便于说明多目标广播技术中的问题,我们引入多目标广播树( multicast tree)或 者叫做多目标广播跨越树( multicast spanning tree)的概念,用它来描述服务机(播送机) 和接收机之间构成的播放与接收关系。服务机只向外传送一个信息包流,每当信息包到达多 目标广播树中有多个分支的路由器时,路由器就为每个分支复制一个信息包。这样就减轻了 服务机的负担,更有效地利用了网络资源
第19章 网际多目标广播简介 3 在LAN网络上运行或者评估多目标广播,只需要以上的环境就满足。在这个环境下,不 需要路由器来为主机的适配器创建或者加入多目标广播组就可以与其他主机共享多目标广 播数据。 在WAN网络上运行或者评估多目标广播就还需要: (1) 在接收两端之间的所有路由器都具备多目标广播的功能。许多新的路由器都有这个 功能,老的路由器也许需要升级和更新。 (2) 也许要能识别防火墙以便使多目标广播畅通。 多目标广播得到工业界的广泛支持,现在也有许多网络基础设施厂商提供支持多目标 广播的软硬件,如路由器、交换机、TCP/IP堆、网络接口卡、桌面计算机操作系统和应用软 件。 图19-03描述了运行多目标广播必需要有的部件。图中的交通方向是多目标广播数据包 的方向,需要与主机组成员进行通信的消息和传输路径消息没有在图上表示。 图19-03 网际多目标广播环境[1] 19.3 多目标广播树的概念 为了便于说明多目标广播技术中的问题,我们引入多目标广播树(multicast tree)或 者叫做多目标广播跨越树(multicast spanning tree)的概念,用它来描述服务机(播送机) 和接收机之间构成的播放与接收关系。服务机只向外传送一个信息包流,每当信息包到达多 目标广播树中有多个分支的路由器时,路由器就为每个分支复制一个信息包。这样就减轻了 服务机的负担,更有效地利用了网络资源
19章网际多目标广播简介 图19-04说明多目标广播树的概念。图中S表示多目标广播的源端主机,R表示参加多目 标广播的终端主机,MR( multicast- enabled router)表示具有多目标广播功能的路由器。注 意,IP子网中有一处没有主机,表示对多目标广播没有任何兴趣的站点。 MR MR MR MR MR MR MR MR 发送端接收端R多目标广播路由器 图19-04多目标广播树的概念 网络将使用路由协议建立从源端到所有希望参加会话的接收端之间的多目标树,图 19-05说明这种树的结构。网络建立多目标广播树的过程如下: (1)广播源把数据或者广播通知发送给所有路由器。 (2)不想参加多目标广播的终端逆向发送一个删除消息 (3)删除没有成员的分支和不在最短路径树上的分支 (4)在广播源生成最短路径树 (5)使用联结和删除功能改变成员之间的关系 现在至少有三种多目标广播路由协议: (1)距离矢量多目标路由协议( Distance Vector Multicast Routing Protocol, DVMRP)。 (2)多目标广播开放最短路径优先协议( Multicast Open Shortest PathFirst, MOSPF)。 (3)协议独立多目标广播( Protocol independent Multicasting,PIM)
第19章 网际多目标广播简介 4 图19-04说明多目标广播树的概念。图中S表示多目标广播的源端主机,R表示参加多目 标广播的终端主机,MR(multicast-enabled router)表示具有多目标广播功能的路由器。注 意,IP子网中有一处没有主机,表示对多目标广播没有任何兴趣的站点。 图19-04 多目标广播树的概念 网络将使用路由协议建立从源端到所有希望参加会话的接收端之间的多目标树,图 19-05说明这种树的结构。网络建立多目标广播树的过程如下: (1) 广播源把数据或者广播通知发送给所有路由器。 (2) 不想参加多目标广播的终端逆向发送一个删除消息。 (3) 删除没有成员的分支和不在最短路径树上的分支。 (4) 在广播源生成最短路径树。 (5) 使用联结和删除功能改变成员之间的关系 现在至少有三种多目标广播路由协议: (1) 距离矢量多目标路由协议(Distance Vector Multicast Routing Protocol,DVMRP)。 (2) 多目标广播开放最短路径优先协议(Multicast Open Shortest Path First,MOSPF)。 (3) 协议独立多目标广播(Protocol Independent Multicasting,PIM)
19章网际多目标广播简介 MR MR MR MR MR 发送端 接收端MR多目标广播路由器 图19-05多目标广播树结构 19.4IP多目标广播的地址和主机组的管理 19.4.1IP多目标广播的地址 大多数高层网络协议(high- level network protocol),例如传输控制协议( Transfer Control protocol,TCP)和用户数据包协议( User Datagram Protocol,UDP)仅提供单目标 广播ω unicast)传送服务,不能满足多目标广播的要求。为了提高网络资源的利用率和提高 服务质量,1989年由施乐公司( Xerox)在帕洛阿尔托研究中心( Palo alto research center PARC)的 Steve deering提出了一种解决方案,就是使用IP地址中的D类地址来实现IP多目标 广播(IP- Multicast)。这个解决方案是以RFC112的形式公布的。为了探索多目标广播的应 用,1992年3月因特网工程特别工作组( Internet Engineering Task Force,IETF)召开的会 议上采纳了一种称为“多目标广播骨干网 MBone”的试验方案,1993年7月正式命名为 MBone, 是一种可在全球范围内传输电视的网络 在因特网上多目标广播的广播源分散在世界各地,加入某一广播的所有计算机构成 计算机组,称为主机组( host group)。一个主机组的成员是随时变动的,一台主机可以随 时加入或者退出主机组,主机组成员的数目和所在的地理位置也不受限制,一台主机也可以 属于几个主机组。IP多目标广播使用D类IP地址( Class d internet protocol addresses), 它的最高4位为1110就是用来指定多目标广播主机组群( multicast host groups)的地址。在 网际协议地址(IP地址)的“点十进制”记法中,主机组的地址范围从224.0.0.0到 239.255.255.255。主机组的地址划分为两种类型,一种称为永久性地址,另一种称为暂时 性地址。地址的分配由因特网号码分配局( Internet Assigned Numbers authority,IANA 掌握。例如,永久地址224.0.0.1称为“所有主机组(al1- hosts group)”地址,它是用来与 直接连接到网络上的所有IP多目标广播主机组进行通信的地址,而244.0.0.2是与LAN上的所 有路由器进行通信的地址。244.0.0.0到244.0.0.255是为路由协议和其他用途保留的地址。 其他的地址和地址范围用于应用软件,例如,244.0.13.000到244.0.13.255用于网络新闻 ( Net News),这些保留的IP多目标广播地址列在RFC1700中。广播发布或者叫做会话发布协 议( Session announcement protoco)和会话说明协议( Session Description Protocol) RFC2327草案描述了如何创建和检测 MBone的会话地址/端口的分配
第19章 网际多目标广播简介 5 图19-05 多目标广播树结构 19.4 IP多目标广播的地址和主机组的管理 19.4.1 IP多目标广播的地址 大多数高层网络协议(high-level network protocol),例如传输控制协议(Transfer Control Protocol,TCP)和用户数据包协议(User Datagram Protocol,UDP)仅提供单目标 广播(unicast)传送服务,不能满足多目标广播的要求。为了提高网络资源的利用率和提高 服务质量,1989年由施乐公司(Xerox)在帕洛阿尔托研究中心(Palo Alto Research Center, PARC)的Steve Deering提出了一种解决方案,就是使用IP地址中的D类地址来实现IP多目标 广播(IP-Multicast)。这个解决方案是以RFC 1112的形式公布的。为了探索多目标广播的应 用,1992年3月因特网工程特别工作组(Internet Engineering Task Force,IETF)召开的会 议上采纳了一种称为“多目标广播骨干网MBone”的试验方案,1993年7月正式命名为MBone, 是一种可在全球范围内传输电视的网络。 在因特网上多目标广播的广播源分散在世界各地,加入某一广播的所有计算机构成一 个计算机组,称为主机组(host group)。一个主机组的成员是随时变动的,一台主机可以随 时加入或者退出主机组,主机组成员的数目和所在的地理位置也不受限制,一台主机也可以 属于几个主机组。IP多目标广播使用D类IP地址(Class D Internet Protocol addresses), 它的最高4位为1110就是用来指定多目标广播主机组群(multicast host groups)的地址。在 网际协议地址(IP地址)的“点十进制”记法中,主机组的地址范围从224.0.0.0到 239.255.255.255。主机组的地址划分为两种类型,一种称为永久性地址,另一种称为暂时 性地址。地址的分配由因特网号码分配局(Internet Assigned Numbers Authority,IANA) 掌握。例如,永久地址224.0.0.1称为“所有主机组(all-hosts group)”地址,它是用来与 直接连接到网络上的所有IP多目标广播主机组进行通信的地址,而244.0.0.2是与LAN上的所 有路由器进行通信的地址。244.0.0.0到244.0.0.255是为路由协议和其他用途保留的地址。 其他的地址和地址范围用于应用软件,例如,244.0.13.000到244.0.13.255用于网络新闻 (Net News),这些保留的IP多目标广播地址列在RFC 1700中。广播发布或者叫做会话发布协 议(Session Announcement Protocol)和会话说明协议(Session Description Protocol)—— RFC 2327草案描述了如何创建和检测MBone的会话地址/端口的分配
19章网际多目标广播简介 发送给多目标广播主机组所有成员的数据包称为IP多目标广播数据包( IP Multicast Datagram),这种数据包与单目标广播IP数据包相同。要发送IP多目标广播数据包时,发送 端指定一个代表主机组的目标地址,使用与发送单目标数据包一样的操作“ Send Ip”来发 送多目标广播数据包 与发送IP多目标广播数据包比较,接收IP多目标广播数据包要复杂得多,尤其是在WAN 上。为了接收数据包,用户主机上的应用软件需要在多目标广播主机组中申请成员资格。申 请成员资格要与LAN上的路由器通信,如果需要的话还要与发送端和接收端之间的中间路由 器进行通信。有了成员资格之后,接收端主机上的网络接口卡就可开始筛选具体的LAN网络 硬件(数据链路层)的地址,这个地址是与新的多目标广播组地址相关联的。WAN路由器把请 求的多目标广播数据包递送到LAN路由器,LAN路由器把接收端的主机地址转换成相关的硬件 地址,然后使用这个地址创建消息(例如,以太网帧)。正在注意这些地址的接收主机的网络 接口卡和网络驱动程序就把多目标广播消息传输给TCP/IP协议堆,由协议堆把广播消息变成 用户应用程序的输入,例如电视播放器 19.4.2网际主机组管理协议 如果LAN上多目标广播组的成员要接收来自远距离广播源的广播,多目标广播信息包就 必需要通过路由器转发到LAN网上。多目标广播路由器通过使用网际主机组管理协议 ( Internet Group Management Protocol,IGMP)来查明直接附加到子网的主机组成员是否存 在,它发送一个IGMP查询消息以获得主机组成员的情况。IGMP的详细内容可参看RFC1112 和RFC2236。 网际主机组管理协议IGMP在IP上的执行过程与网际控制消息协议( Internet Control Messages Protocol,ICMP)的执行过程类似。IGMP消息封装在IP数据包( iP datagram)中, 而数据包有两种类型:主机成员查询( Host Membership Query)数据包和主机成员报告(Host Membership Report)数据包,它们具有相同的如下固定格式 Checksum 3)(bits4-7 (bits16-31 Multicast Group Address( Class D) 为了确定在局域子网上的任何一台主机是否属于多目标广播组,每个子网上的路由器 要周期性地向LAN上的所有终端主机发送一个主机成员查询( Host Membership Query)信息, 要求它们汇报主机组群成员的情况。这个查询被送到所有主机组(网络地址=224.0.0.1 而每台主机都回送一个主机成员报告( Host Membership report)信息,如图19-06所示,这 样就可确定子网上的主机是否加入多目标广播组,从而确定是否要把多目标数据包送到这个 子网。 Host Membership Query 送给IP地址=2240.0.1 的主机组) LAN (Host Membership Report Host Membership Report Host Membership Report 图19-06在LAN内的网际主机组成员协议(IGMP)消息[1]
第19章 网际多目标广播简介 6 发送给多目标广播主机组所有成员的数据包称为IP多目标广播数据包(IP Multicast Datagram),这种数据包与单目标广播IP数据包相同。要发送IP多目标广播数据包时,发送 端指定一个代表主机组的目标地址,使用与发送单目标数据包一样的操作“Send IP”来发 送多目标广播数据包。 与发送IP多目标广播数据包比较,接收IP多目标广播数据包要复杂得多,尤其是在WAN 上。为了接收数据包,用户主机上的应用软件需要在多目标广播主机组中申请成员资格。申 请成员资格要与LAN上的路由器通信,如果需要的话还要与发送端和接收端之间的中间路由 器进行通信。有了成员资格之后,接收端主机上的网络接口卡就可开始筛选具体的LAN网络 硬件(数据链路层)的地址,这个地址是与新的多目标广播组地址相关联的。WAN路由器把请 求的多目标广播数据包递送到LAN路由器,LAN路由器把接收端的主机地址转换成相关的硬件 地址,然后使用这个地址创建消息(例如,以太网帧)。正在注意这些地址的接收主机的网络 接口卡和网络驱动程序就把多目标广播消息传输给TCP/IP协议堆,由协议堆把广播消息变成 用户应用程序的输入,例如电视播放器。 19.4.2 网际主机组管理协议 如果LAN上多目标广播组的成员要接收来自远距离广播源的广播,多目标广播信息包就 必需要通过路由器转发到LAN网上。多目标广播路由器通过使用网际主机组管理协议 (Internet Group Management Protocol,IGMP)来查明直接附加到子网的主机组成员是否存 在,它发送一个IGMP查询消息以获得主机组成员的情况。IGMP的详细内容可参看RFC 1112 和RFC 2236。 网际主机组管理协议IGMP在IP上的执行过程与网际控制消息协议(Internet Control Messages Protocol,ICMP)的执行过程类似。IGMP消息封装在IP数据包(IP datagram)中, 而数据包有两种类型:主机成员查询(Host Membership Query)数据包和主机成员报告(Host Membership Report)数据包,它们具有相同的如下固定格式。 Version (bits 0-3) Type (bits 4-7) Code (bits 8-15) Checksum (bits 16-31) Multicast Group Address (Class D) 为了确定在局域子网上的任何一台主机是否属于多目标广播组,每个子网上的路由器 要周期性地向LAN上的所有终端主机发送一个主机成员查询(Host Membership Query)信息, 要求它们汇报主机组群成员的情况。这个查询被送到所有主机组(网络地址=224.0.0.1), 而每台主机都回送一个主机成员报告(Host Membership Report)信息,如图19-06所示,这 样就可确定子网上的主机是否加入多目标广播组,从而确定是否要把多目标数据包送到这个 子网。 图19-06 在LAN内的网际主机组成员协议(IGMP)消息[1]
第19章网际多目标广播简介 19.4.3接收端如何参与多目标广播 多目标广播会话消息经常通过因特网广告通知接收端。广告使用应用层的广播会话说 明协议( Session Description Protocol,SDP)来发布。这个协议发送广告的地址是 224.2.2.2,UDP端口号是4000,这是一个特殊的多目标广播会话。发送的广告内容包括广播 的名称、广播时间( active times)、媒体的类型(声音、电视、白板等等)和广播地址。任何 有兴趣了解多目标广播的主机都可以参加这个特殊的多目标广播会话和接收这种广告。可用 台主机运行用户代理来收集广告并把广告摘要用图形方式向用户显示。第一个这样的用户 代理叫做会话目录(S Directory, SD), E LBL Lawrence Berkeley Laboratories 的 Van Jacobson开发的,它除了显示公告之外,也启动多目标应用程序和为任何一个新的多 目标广播会话选择一个地址 如何给多目标广播分配地址?当源端开始一个新的多目标广播时,SD就从多目标地址 空间中随机地选择一个多目标广播地址。参加多目标广播的主机需要做两件事:①要立即给 最近的路由器发送一个消息,告诉它参加多目标广播,发送这个消息是使用应用层的一个叫 做网际主机组管理协议IGMP。②要设置IP进程去接收IP数据包,因为它在IP目标地址域中含 有会话的多目标广播地址,当接收端退出多目标广播会话时,类似的进程也要设置。 19.5多目标广播路径选择简介 19.5.1两种基本的路径选择法 多目标广播是从广播源向目标组连续发送信息的过程。多目标广播交通是经由跨越树 ( spanning tree)从广播源传送到机组中的所有接收主机。不同的IP多目标广播路由协议使 用不同的技术来构造多目标广播跨越树( multicast spanning tree)。跨越树一经构造,多 目标广播交通就在跨越树上穿越 根据多目标广播组成员在整个网络上预期的分布情况,IP多目标广播路由选择(IP Multicast routing)协议通常遵循下述两种基本假设来制定: (1)多目标广播组成员密布在整个网络上,也就是许多子网至少包含一个成员,并且 带宽很充裕。根据这种假设制定的协议叫做密集型多目标广播路由协议( dense-mode lticast routing protocols),它是依靠一种称为“流放( flooding)”技术来把信息传播 到网络上的所有路由器。这个协议包含距离矢量多目标广播路由协议 Distance vector Multicast Routing Protocol, DVMRP)、多目标广播开放式最短路径优先( Multicast0pen Shortest Path first, MOSPF)协议和协议独立的多目标广播-密集型 Protocol- Independent Multicast- Dense mode, PIM-DM)路由协议 (2)多目标广播组成员稀疏地分布在整个网络,并且未必有充裕的带宽可用。例如, 多目标广播组成员跨越因特网上的许多地区就是属于这种情况。根据这种假设制定的协议叫 做稀疏型多目标广播路由协议( Sparse- Mode Multicast Routing Protocols)。稀疏型并不 意味多目标广播组的成员很少,而仅仅是指散布得很广。在这种情况下使用流放技术会浪费 不该浪费的带宽,引起严重的性能问题。稀疏型多目标广播路由协议包括用几个核心路由器 构造的核心基干树( Core based trees,CBT)协议和协议独立的多目标广播-稀疏型 ( Protocol- Independent Multicast- Sparse Mode,PIM-SM)路由协议 19.5.2密集型多目标广播路由协议 1.距离矢量多目标广播路由协议DMRP) 为支持多目标广播路径选择而开发的第一个协议叫做距离矢量多目标广播路由协议 Distance Vector Multicast Routing Protocol, DVMRP)。它已广泛用在 MBone网络上,该 协议在RFC1075中有详细的描述 DVMRP为每一个广播对(广播源和目标主机组)构造不同的广播发送树( distribution tree)。每棵发送树是最小跨越树( spanning tree),这种树是指从树根上的广播源算起到作 为树叶的所有接收多目标广播的主机构成的树。根据信息包在路径上的转发(hop)数,这种 发送树提供在广播源到每个接收主机之间的最短路径。当广播源开始给多目标广播组传送信 息时,使用“播送和剪除( broadcast and prune)”技术来构造发送树
第19章 网际多目标广播简介 7 19.4.3 接收端如何参与多目标广播 多目标广播会话消息经常通过因特网广告通知接收端。广告使用应用层的广播会话说 明协议(Session Description Protocol,SDP)来发布。这个协议发送广告的地址是 224.2.2.2,UDP端口号是4000,这是一个特殊的多目标广播会话。发送的广告内容包括广播 的名称、广播时间(active times)、媒体的类型(声音、电视、白板等等)和广播地址。任何 有兴趣了解多目标广播的主机都可以参加这个特殊的多目标广播会话和接收这种广告。可用 一台主机运行用户代理来收集广告并把广告摘要用图形方式向用户显示。第一个这样的用户 代理叫做会话目录(Session Directory,SD),是由LBL(Lawrence Berkeley Laboratories ) 的Van Jacobson开发的,它除了显示公告之外,也启动多目标应用程序和为任何一个新的多 目标广播会话选择一个地址。 如何给多目标广播分配地址?当源端开始一个新的多目标广播时,SD就从多目标地址 空间中随机地选择一个多目标广播地址。参加多目标广播的主机需要做两件事:①要立即给 最近的路由器发送一个消息,告诉它参加多目标广播,发送这个消息是使用应用层的一个叫 做网际主机组管理协议IGMP。②要设置IP进程去接收IP数据包,因为它在IP目标地址域中含 有会话的多目标广播地址,当接收端退出多目标广播会话时,类似的进程也要设置。 19.5 多目标广播路径选择简介 19.5.1 两种基本的路径选择法 多目标广播是从广播源向目标组连续发送信息的过程。多目标广播交通是经由跨越树 (spanning tree)从广播源传送到机组中的所有接收主机。不同的IP多目标广播路由协议使 用不同的技术来构造多目标广播跨越树(multicast spanning tree)。跨越树一经构造,多 目标广播交通就在跨越树上穿越。 根据多目标广播组成员在整个网络上预期的分布情况,IP多目标广播路由选择(IP Multicast Routing)协议通常遵循下述两种基本假设来制定: (1) 多目标广播组成员密布在整个网络上,也就是许多子网至少包含一个成员,并且 带宽很充裕。根据这种假设制定的协议叫做密集型多目标广播路由协议(dense-mode multicast routing protocols),它是依靠一种称为“流放(flooding)”技术来把信息传播 到网络上的所有路由器。这个协议包含距离矢量多目标广播路由协议(Distance Vector Multicast Routing Protocol,DVMRP)、多目标广播开放式最短路径优先(Multicast Open Shortest Path First,MOSPF)协议和协议独立的多目标广播-密集型(Protocol-Independent Multicast - Dense Mode,PIM-DM)路由协议。 (2) 多目标广播组成员稀疏地分布在整个网络,并且未必有充裕的带宽可用。例如, 多目标广播组成员跨越因特网上的许多地区就是属于这种情况。根据这种假设制定的协议叫 做稀疏型多目标广播路由协议(Sparse-Mode Multicast Routing Protocols)。稀疏型并不 意味多目标广播组的成员很少,而仅仅是指散布得很广。在这种情况下使用流放技术会浪费 不该浪费的带宽,引起严重的性能问题。稀疏型多目标广播路由协议包括用几个核心路由器 构造的核心基干树(Core Based Trees,CBT)协议和协议独立的多目标广播-稀疏型 (Protocol-Independent Multicast- Sparse Mode,PIM-SM)路由协议。 19.5.2 密集型多目标广播路由协议 1. 距离矢量多目标广播路由协议(DVMRP) 为支持多目标广播路径选择而开发的第一个协议叫做距离矢量多目标广播路由协议 (Distance Vector Multicast Routing Protocol,DVMRP)。它已广泛用在MBone网络上,该 协议在RFC 1075中有详细的描述。 DVMRP为每一个广播对(广播源和目标主机组)构造不同的广播发送树(distribution tree)。每棵发送树是最小跨越树(spanning tree),这种树是指从树根上的广播源算起到作 为树叶的所有接收多目标广播的主机构成的树。根据信息包在路径上的转发(hop)数,这种 发送树提供在广播源到每个接收主机之间的最短路径。当广播源开始给多目标广播组传送信 息时,使用“播送和剪除(broadcast and prune)”技术来构造发送树
19章网际多目标广播简介 为简化对 DVMRP的说明,假设网络上的所有路由器都支持 DVMRP。DMRP使用的方法是假 设网络上的每台主机都是多目标广播组的一部分,在广播源子网上的路由器,也就是指定用 来为子网上所有主机处理路径选择的路由器,首先向所有相邻的路由器传送多目标广播信 息,然后每台路由器有选择地把广播信息发送到下游路由器,一直发送到所有多目标广播组 的成员 在生成跨越广播树期间有选择的转发工作过程如下。当路由器接收到一个多目标广播 信息时,它就检査它的单目标广播路由表,以便确定返回到广播源的最短路径的接口。如果 这个接口就是多目标广播信息到达的最短路径接口,路由器就在它内部的表中登录某些状态 信息用来识别多目标广播组,并且把多目标广播消息转发到所有相邻的路由器。这种机制叫 做反向路径转发( Reverse Path Forwarding),它可确保在广播树上没有环路,而且广播树 包含的路径(从广播源到所有接收主机之间的路径)是最短路径。这是 DVMRP协议的基本部分 协议中的剪除部分是用来剪除广播树的树枝,就是删除不参加多目标广播组的成员 IGMP协议运行在主机和与它们直接邻接的路由器之间,它用来维护路由器中的组员数据。当 路由器确信没有主机属于多目标广播组时就向上游路由器发送一个剪除信息。毫无疑问,路 由器也要修改路由表中的状态信息以反映那个分支已从这棵上剪除掉。这个过程一直到所有 多余的分支被剪除掉为止。最后得到的是一棵最小跨越广播树 DVMRP跨越广播树的构造如图19-07所示。一旦构造了跨越广播树,就可以使用它把多 目标广播信息从广播源传送到多目标广播组的成员,而沿途上的路由器在通往广播组成员的 接口上转发多目标广播信息。由于新的成员可在任何时候加入到广播组,而且由于新成员可 能是在某一个被剪除的分支上加入,因此υwMRP就周期性地重新启动跨越广播树的构造进程 在子网上密布有多目标广播组的情况下, DVMRP工作得很好。但多目标广播组稀疏分布 在广域网上的情况下,周期性地广播行为会使网络的性能严重下降。使用DMRP的另一个问 题是,多目标广播路由状态信息的数量问题,因为所有路由器都必需为每个广播组(广~播源 和接收组)存放状态信息,这些信息是用来转发多目标广播消息的指定接口信息,或者是剪 除状态信息,而且这些信息必需要存放在多目标广播路由器中。 广播源 本地子网 --------+ MR MIR 2 组员 Mr 8 组员 组员组员 图19-07DMRP跨越广播树的构造过程[1] 现在回过头来简要说说跨越树的构造过程。按照每个时间单元转发一次消息来划分 ①在第1次转发时,消息到达路由器MR1 ②在第2次转发时,消息到达路由器MR2、3和4 ③在第3次转发时,消息到达路由器MR5、6和8,路由器MR3和4交换消息
第19章 网际多目标广播简介 8 为简化对DVMRP的说明,假设网络上的所有路由器都支持DVMRP。DVMRP使用的方法是假 设网络上的每台主机都是多目标广播组的一部分,在广播源子网上的路由器,也就是指定用 来为子网上所有主机处理路径选择的路由器,首先向所有相邻的路由器传送多目标广播信 息,然后每台路由器有选择地把广播信息发送到下游路由器,一直发送到所有多目标广播组 的成员。 在生成跨越广播树期间有选择的转发工作过程如下。当路由器接收到一个多目标广播 信息时,它就检查它的单目标广播路由表,以便确定返回到广播源的最短路径的接口。如果 这个接口就是多目标广播信息到达的最短路径接口,路由器就在它内部的表中登录某些状态 信息用来识别多目标广播组,并且把多目标广播消息转发到所有相邻的路由器。这种机制叫 做反向路径转发(Reverse Path Forwarding),它可确保在广播树上没有环路,而且广播树 包含的路径(从广播源到所有接收主机之间的路径)是最短路径。这是DVMRP协议的基本部分。 协议中的剪除部分是用来剪除广播树的树枝,就是删除不参加多目标广播组的成员。 IGMP协议运行在主机和与它们直接邻接的路由器之间,它用来维护路由器中的组员数据。当 路由器确信没有主机属于多目标广播组时就向上游路由器发送一个剪除信息。毫无疑问,路 由器也要修改路由表中的状态信息以反映那个分支已从这棵上剪除掉。这个过程一直到所有 多余的分支被剪除掉为止。最后得到的是一棵最小跨越广播树。 DVMRP跨越广播树的构造如图19-07所示。一旦构造了跨越广播树,就可以使用它把多 目标广播信息从广播源传送到多目标广播组的成员,而沿途上的路由器在通往广播组成员的 接口上转发多目标广播信息。由于新的成员可在任何时候加入到广播组,而且由于新成员可 能是在某一个被剪除的分支上加入,因此DVMRP就周期性地重新启动跨越广播树的构造进程。 在子网上密布有多目标广播组的情况下,DVMRP工作得很好。但多目标广播组稀疏分布 在广域网上的情况下,周期性地广播行为会使网络的性能严重下降。使用DVMRP的另一个问 题是,多目标广播路由状态信息的数量问题,因为所有路由器都必需为每个广播组(广播源 和接收组)存放状态信息,这些信息是用来转发多目标广播消息的指定接口信息,或者是剪 除状态信息,而且这些信息必需要存放在多目标广播路由器中。 图19-07 DVMRP跨越广播树的构造过程[1] 现在回过头来简要说说跨越树的构造过程。按照每个时间单元转发一次消息来划分 ① 在第1次转发时,消息到达路由器MR1。 ② 在第2次转发时,消息到达路由器MR2、3和4。 ③ 在第3次转发时,消息到达路由器MR5、6和8,路由器MR3和4交换消息
19章网际多目标广播简介 ④在第4次转发时,消息到达路由器MR7。它认识到这是一个叶子路由器,而且在子网 上没有广播组的成员,所以它就回送一个剪除消息给路由器MR6。路由器MR6回送 个剪除消息给路由器MR4。路由器M3也回送一个剪除消息给路由器MR1 最后生成的跨越树如图19-08所示。 广播源 本地子阿 MR 1 MR8 组员 组员组员 图19-08最后生成的跨越广播树[1] 2.多目标广播开放最短路径优先协议M0SPF) 多目标广播开放最短路径优先协议 mUlticast0 pen Shortest Path First, MOSPF)在 RFC1584中有详细的解释,开放最短路径优先协议(0 pen Shortest Path First,OsPF)是单 目标广播路由协议,在RFC1587中有详细的解释,它沿着最低成本路径邮递消息,而最低成 本则使用链路状态(link- state)来衡量的。除了路径上的转发数之外,可能影响成本的网络 性能参数包括:①负荷平衡信息,例如,对通信量小的链路,其成本就比较低,对交通量大 的链路,其成本就比较高,这样做是为了平衡网络上的交通:②要求的服务质量,例如,对 要求时延低的服务,其成本就比较高,对要求使用卫星链路的服务,其成本就比较高,等等。 MOSPF倾向于用在诸如由单个组织控制的网络上, MOSPF不能脱离OSPF来使用,需要与 单目标路由协议联用。在使用OSPF/ MOSPF协议的网络中,每个路由器都要维持整个网络的最 新布局图,其链路状态信息就用来构造多目标广播树。 每台 MOSPF路由器通过网际主机组管理协议( Internet Group Management Protocol IGM)周期性地收集多目标广播组成员的信息。这个信息连同上述的链路状态信息一起传送 到这个路由域中所有的其他路由器。根据从邻接路由器接收到的信息,路由器将修改它们内 部的链路状态信息。由于每个路由器都了解整个网络的布局,因此路由器就使用广播源作为 树根、使用广播组的成员作为树叶来独立计算最低成本跨越广播树。由于所有路由器都周期 性地共享链路状态信息,因此它们计算得到的广播树将完全相同。然而,由于MSPF要周期 性地在路由器之间传递链路状态信息,因此并不认为 MOSPF很适合用于多目标广播 M0SF使用 Di jkstra算法去计算最短路径树。对每个广播对(广播源和目标组)都要单独 计算。为了减少计算量,当路由器接收到数据包流中的第一个数据包时才做这种计算。一旦 计算出广播树,就把信息存储起来,为后来的数据包使用。广播树的构造计算过程如图19-09 所
第19章 网际多目标广播简介 9 ④ 在第4次转发时,消息到达路由器MR7。它认识到这是一个叶子路由器,而且在子网 上没有广播组的成员,所以它就回送一个剪除消息给路由器MR6。路由器MR6回送一 个剪除消息给路由器MR4。路由器MR3也回送一个剪除消息给路由器MR1。 最后生成的跨越树如图19-08所示。 图19-08 最后生成的跨越广播树[1] 2. 多目标广播开放最短路径优先协议(MOSPF) 多目标广播开放最短路径优先协议(Multicast Open Shortest Path First,MOSPF)在 RFC 1584中有详细的解释,开放最短路径优先协议(Open Shortest Path First,OSPF)是单 目标广播路由协议,在RFC 1587中有详细的解释,它沿着最低成本路径邮递消息,而最低成 本则使用链路状态(link-state)来衡量的。除了路径上的转发数之外,可能影响成本的网络 性能参数包括:①负荷平衡信息,例如,对通信量小的链路,其成本就比较低,对交通量大 的链路,其成本就比较高,这样做是为了平衡网络上的交通;②要求的服务质量,例如,对 要求时延低的服务,其成本就比较高,对要求使用卫星链路的服务,其成本就比较高,等等。 MOSPF倾向于用在诸如由单个组织控制的网络上,MOSPF不能脱离OSPF来使用,需要与 单目标路由协议联用。在使用OSPF/MOSPF协议的网络中,每个路由器都要维持整个网络的最 新布局图,其链路状态信息就用来构造多目标广播树。 每台MOSPF路由器通过网际主机组管理协议(Internet Group Management Protocol, IGMP)周期性地收集多目标广播组成员的信息。这个信息连同上述的链路状态信息一起传送 到这个路由域中所有的其他路由器。根据从邻接路由器接收到的信息,路由器将修改它们内 部的链路状态信息。由于每个路由器都了解整个网络的布局,因此路由器就使用广播源作为 树根、使用广播组的成员作为树叶来独立计算最低成本跨越广播树。由于所有路由器都周期 性地共享链路状态信息,因此它们计算得到的广播树将完全相同。然而,由于MOSPF要周期 性地在路由器之间传递链路状态信息,因此并不认为MOSPF很适合用于多目标广播。 MOSPF使用Dijkstra算法去计算最短路径树。对每个广播对(广播源和目标组)都要单独 计算。为了减少计算量,当路由器接收到数据包流中的第一个数据包时才做这种计算。一旦 计算出广播树,就把信息存储起来,为后来的数据包使用。广播树的构造计算过程如图19-09 所示
19章网际多目标广播简介 广播源 步骤 MR 9 ③:MR5 MR 7 MR 8 图19-09 MOSPF树的计算过程[1] 计算步骤如下: ①MR计算的树:经由IGMP知道组的成员,因此就知道通往MR4的路径要经MR2,通往M8 的路径要经M5,等等 ②MR2计算的树:确定通往MR4的路径是直接的,通往MR8的路径要经MR5;MR3计算的树 确定通往MR9的路径是直接的 ③MR5计算的树:确定通往MR8的路径是直接的。 随便提及的是,这个计算过程是由多目标广播传输来激发的,也就是数据驱动(data driven)的方法;每台路由器接收到消息时就计算广播树,并可得到完全相同的广播树,然 后使用广播树来转发广播内容。 3.协议独立多目标广播路由协议(PIM 协议独立多目标广播( Protocol Independent Multicast,PIM)路由协议正在由因特网 工程特别工作组( Internet Engineering Task Force,IETF)的一个工作小组开发。现在已 有某些路由器产品中支持PIM协议。这个协议的目标是要开发一个标准的多目标广播路由协 议,它不依赖于任何特殊的单目标广播路由协议提供的方法,用在因特网上可增减路由域数 目的域间多目标广播的行程安排。PIM有两种运行模式:一种是为密集型分布的多目标广播 组群,另一种是稀疏型分布的多目标广播组群。第一种方式叫做协议独立多目标广播-密集 型( Protocol- Independent Multicast-Dense Mode,PIM-DM)路由协议,将在下面介绍。第 二种叫做协议独立型多目标广播-稀疏型( Protocol Independent Multicast- Sparse Mode, PIM-SM路由协议,将在“19.5.3稀疏型多目标广播路由协议”中介绍 协议独立型多目标广播一密集型( PIM-DM路由协议与距离矢量多目标广播路由协议 DVMRP相类似,它们都使用反向路径多目标广播技术 Reverse Path Multicasting,RPM) 来构造以广播源为树根的广播树( source- rooted distribution trees)。 DVMRP和PIM-DM之 间的主要差别是:PIM完全独立于单目标路由广播协议( unicast routing protocol),而 DVMRP则依赖单目标广播协议的机制, PIM-DM也比DMRP简单 PIM-M是数据驱动型协议,它构造广播树的方法就像所有密集型路由协议( dense-mode routing protocols)那样。然而,由于PIMM独立于单目标广播路由协议,因此在最短路径 接口上到达路由器的信息包被转发到所有下游接口,一直到达不必要的分岔树枝被剪除为 止。如前所述,在构造广播树期间, DVMRP使用单目标广播协议专门提供的拓扑信息来转发 消息,因此DMRP就有更多的挑选余地。而 PIM-DM协议的设计人员遵循的哲学是在协议的简 单性和协议的独立性方面下功夫,甚至不惜增加信息包的开销
第19章 网际多目标广播简介 10 图19-09 MOSPF树的计算过程[1] 计算步骤如下: ① MR1计算的树:经由IGMP知道组的成员,因此就知道通往MR4的路径要经MR2,通往MR8 的路径要经MR5,等等。 ② MR2计算的树:确定通往MR4的路径是直接的,通往MR8的路径要经MR5;MR3计算的树: 确定通往MR9的路径是直接的。 ③ MR5计算的树:确定通往MR8的路径是直接的。 随便提及的是,这个计算过程是由多目标广播传输来激发的,也就是数据驱动(data driven)的方法;每台路由器接收到消息时就计算广播树,并可得到完全相同的广播树,然 后使用广播树来转发广播内容。 3. 协议独立多目标广播路由协议(PIM) 协议独立多目标广播(Protocol Independent Multicast,PIM)路由协议正在由因特网 工程特别工作组(Internet Engineering Task Force,IETF)的一个工作小组开发。现在已 有某些路由器产品中支持PIM协议。这个协议的目标是要开发一个标准的多目标广播路由协 议,它不依赖于任何特殊的单目标广播路由协议提供的方法,用在因特网上可增减路由域数 目的域间多目标广播的行程安排。PIM有两种运行模式:一种是为密集型分布的多目标广播 组群,另一种是稀疏型分布的多目标广播组群。第一种方式叫做协议独立多目标广播-密集 型(Protocol-Independent Multicast-Dense Mode,PIM-DM)路由协议,将在下面介绍。第 二种叫做协议独立型多目标广播-稀疏型(Protocol Independent Multicast - Sparse Mode, PIM-SM)路由协议,将在“19.5.3 稀疏型多目标广播路由协议”中介绍。 协议独立型多目标广播-密集型(PIM-DM)路由协议与距离矢量多目标广播路由协议 DVMRP 相类似,它们都使用反向路径多目标广播技术(Reverse Path Multicasting,RPM) 来构造以广播源为树根的广播树(source-rooted distribution trees)。DVMRP和PIM-DM之 间的主要差别是:PIM完全独立于单目标路由广播协议(unicast routing protocol ),而 DVMRP则依赖单目标广播协议的机制,PIM-DM也比DVMRP简单。 PIM-DM是数据驱动型协议,它构造广播树的方法就像所有密集型路由协议(dense-mode routing protocols)那样。然而,由于PIM-DM独立于单目标广播路由协议,因此在最短路径 接口上到达路由器的信息包被转发到所有下游接口,一直到达不必要的分岔树枝被剪除为 止。如前所述,在构造广播树期间,DVMRP使用单目标广播协议专门提供的拓扑信息来转发 消息,因此DVMRP就有更多的挑选余地。而PIM-DM协议的设计人员遵循的哲学是在协议的简 单性和协议的独立性方面下功夫,甚至不惜增加信息包的开销