在广播选路中,从一个源节点可以向网络中的所有其他节点交付分组。
多播选路使单个源节点能够向其他网络节点的一个子集发送分组。
1 广播选路算法
完成广播通信的最直接方式是由发送节点向每个目的地分别发送分组的拷贝。
网络节点本身在分组复制、分组转发和广播路由主要有以下方法:
•无限制洪泛
实现广播的最显而易见的技术是使用洪泛(flooding)方法,该方法要求源节点向它的所有邻居发送一个分组的拷贝。当某节点接收了一个广播分组时,它复制该分组并向它的所有邻居转发。
•受控洪泛
避免广播风暴的关键是每个节点明智地选择何时洪泛分组,何时不洪泛分组。 在实践中,这可以通过序号控制洪泛实现,源节点将其地址(或其他的唯一标识符)以及广播序号放人广播分组,再向它的所有邻居发送该分组。每个节点维护它已经收到的、复制的和转发的源地址和每个广播分组的序号列表。当一个节点接收到一个广播分组时,它首先检查该分组是否在该列表中。如果在,丢弃该分组;如果不在,复制该分组并向该节点的所有邻居转发。
受控洪泛的第二种方法称为反向路径转发,有时也称为反向路径广播(Reverse Path Broadcasting,RPB)。RPB 的基本思想是当一台路由器接收到具有给定源地址的广播分组时, 仅当该分组到达的链路正好是位于它自己到其源的最短单播路径上,它才向其所有出链路 (除了它接收分组的那个)传输分组。否则,该路由器丢弃入分组。
•生成树广播
虽然序号控制洪泛和 RPB 避免了广播风暴,但它们不能完全避免冗余广播分组的传输。 另一种提供广播的方法是首先对网络节点构造出一棵生成树。当一个源节点要发送一个广播分组时,它向所有属于该生成树的特定链路发送分组。接收广播分组的节点则向生成树中的所有邻居转发该分组(它接收该分组的邻居除外)。生成树不仅消除了冗余广播分组,而且能够被任何节点用于开始广播分组。
广播协议在实践中通常被用于应用层和网络层。
2:多播
多播服务可以将多播分组仅交付给网络节点的一个子集。
在多播通信中,面临两个问题,即怎样标识多播分组的接收方,以及怎样为发送到这些接收方的分组编址。
在因特网体系结构中,多播数据报使用间接地址来编址。
在因特网中,表示一组接收方的单一标识就是一个 D 类多播地址。与一个 D 类地址相关联的多个接收方称为一个多播组。
虽然多播组抽象是很简单的,但需要解决组的形成、终结问题;组地址的选择问题:
新主机如何加入组(要么作为发送方,要么作为接收方)的问题;组成员资格问题等等。
对于因特网,多播组的管理由因特网组管理协议实现。
•互联网组管理协议
IGMP(Internet Group Management Protocol)运行在一台主机与其直接相连的路由器之间。 IGMP 为一台主机提供了手段,可让它通知与其相连的路由器,在本主机上运行的一个应用程序如何加入一个特定的多播组
•多播选路算法
在实践中有两种方法用于确定多播选路树:
使用一棵组共享树进行多播选路。像在生成树广播的场合中一样,跨越组的共享树多播选路基于一棵多播树,该树包括所有具有属干该多播组的相连主机的边缘路由器。在使用基于中心方法来构造多播选路树,具有属于多播组相连主机的边缘路由器向中心节点(经单播)发送加入消息。像在广播情况下一样,一个加入报文使用单播选路朝着中心转发,直到它到达已经属干多播树的一台路由器或到达这个中心。
使用一棵基于源的树进行多播选路。为多播组中的每个源构建一棵多播选路树。在实践中,使用 RPF 算法来构造一棵多播转发树,以用于转发来自源节点的多播数据报。
3.因特网中的多播选路
第一个用于因特网中的多播选路协议是距离向量多播选路协议(Distance Vector Multicast Routing Protocol,DVMRP)。