2.密集模式协议 (1)距离向量多播路由协议 (DVMRP) 第一个支持多播功能的路由协议就是距离向量多播路由协议。它已经被广泛地应用在多播骨干网MBONE上。
DVMRP为每个发送源和目的主机组构建不同的分布树。每个分布树都是一个以多播发送源作为根,以多播接受目的主机作为叶的最小扩展分布树。这个分布树为发送源和组中每个多播接受者之间提供了一个最短路径,这个以“跳数”为单位的最短路径就是DVMRP的量度。当一个发送源要向多播组中发送消息时,一个扩展分布树就根据这个请求而建立,并且使用“广播和修剪”的技术来维持这个扩展分布树。
扩展分布树构建过程中的选择性发送多播包的具体运作是:当一个路由器接收到一个多播包,它先检查它的单播路由表来查找到多播组发送源的最短路径的接口,如果这个接口就是这个多播包到达的接口,那么路由器就将这个多播组信息记录到它的内部路由表(指明该组数据包应该发送的接口),并且将这个多播包向除了接受到该数据包的路由器以外的其他临近路由器继续发送。如果这个多播包的到达接口不是该路由器到发送源的最短路径的接口,那么这个包就被丢弃。这种机制被称为“反向路径广播”(Reverse-Path Broadcasting)机制,保证了构建的树中不会出现环,而且从发送源到所有接受者都是最短路径。。
对子网中密集分布的多播组来说DVMRP能够很好的运作,但是对于在范围比较大的区域上分散分布的多播组来说,周期性的广播行为会导致严重的性能问题。DVMRP不能支持大型
网络中稀疏分散的多播组。
(2)多播开放最短路径优先 (MOSPF) 开放最短路径优先(OSPF)是一个单播路由协议,它将数据包在最小开销路径上进行路由传送,这里的开销是表示链路状态的一种量度。除了路径中的跳数以外,其他能够影响路径开销的网络性能参数还有负载平衡信息、应用
程序需要的QoS等。
MOSPF是为单播路由多播使用
设计的。MOSPF依赖于OSPF作为单播路由协议,就象DVMRP也包含它自己的单播协议一样。在一个OSPF/MOSPF网络中每个路由器都维持一个最新的全网络拓扑结构图。这个“链路状态”信息被用来构建多播分布树。
每个MOSPF路由器都通过IGMP协议周期性的收集多播组成员关系信息。这些信息和这些链路状态信息被发送到其路由域中的所有其他路由器。路由器将根据它们从临近路由器接收到的这些信息更新他们的内部连接状态信息。由于每个路由器都清楚整个网络的拓扑结构,就能够独立的计算出一个最小开销扩展树,将多播发送源和多播组成员分别作为树的根和叶。这个树就是用来将多播流从发送源发送到多播组成员的路径。
(3)独立多播密集模式协议(PIM-DM) 独立多播协议(PIM)是一种标准的多播路由协议,并能够在Internet上提供可扩展的域间多播路由而不依赖于任何单播协议。PIM有两种运行模式,一种是密集分布多播组模式,另一个是稀疏分布多播组模式,前者被称为独立多播密集模式协议(PIM-DM),后者被称为独立多播稀疏模式协议(PIM-SM)。
PIM-DM有点类似于DVMRP,这两个协议都使用了反向路径多播机制来构建分布树。它们之间的主要不同在于PIM完全不依赖于网络中的单播路由协议而DVMRP依赖于某个相关的单播路由协议机制,并且PIM-DM比DVMRP简单。
PIM-DM协议和所有的密集模式路由协议一样也是数据
驱动的。但是既然PIM-DM不依赖于任何单播路由协议,路由器某个接收端口(就是返回到源的最短路径的端口)接收到的多播数据包被发送到所有下行接口直到不需要的分枝从树中被修剪掉。DVMRP在树构建阶段能够使用单播协议提供的拓扑数据有选择性的向下行发送数据包,PIM-DM则更加倾向于简单性和独立性,甚至不惜增加数据包复制引起的额外开销。