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)”技术来构造发送树