多播路由选择协议
发布时间:2014/9/4 20:33:47 访问次数:2605
虽然在TCP/IP中IP多播协议已成为建议标准,但多播路由选择协议(用来在多播路由器之间传播路由信息)则尚未标准化。
在多播过程中一个多播组申的成员是动态变化的。例如在收听网上某个广播节目时, NAND01GW3B2BN6E随时会有主机加入或离开这个多播组。多播路由选择实际上就是要找出以源主机为根节点的多播转发树。在多播转发树上,每一个多播路由器向树的叶节点方向转发收到的多播数据报,但在多播转发树上的路由器不会收到重复的多播数据报(即多播数据报不应在互联网中兜圈子)。不难看出,对不同的多播组对应于不同的多播转发树。同一个多播组,对不同的源点也会有不同的多播转发树。
已有了多种实用的多播路由选择协议,它们在转发多播数据报时使用了以下的三种方法:
(1)洪泛与剪除。这种方法适合于较小的多播组,而所有的组成员接入的局域网也是相邻接的。一开始,路由器转发多播数据报使用洪泛的方法(这就是广播)。为了避免兜圈子,采用了叫做反向路径广播RPB (Reverse Path Broadcasting)的策略。RPB的要点是:每一个路由器在收到一个多播数据报时,先检查数据报是否从源点经最短路径传送来的。进行这种检查很容易,只要从本路由器寻找到源点的最短路径上(之所以叫做反向路径,因为在
计算最短路径时是把源点当作终点)的第一个路由器是否就是刚才把多播数据报送来的路由器。若是,就向所有其弛方向转发刚才收到的多播数据报(但进入的方向除夕卜),否则就丢弃而不转发。如果本路由器有好几个相邻路由器都处在到源点的最短路径上(也就是说,存在几条同样长度的最短路径),那么只能选择一条最短路径,选择的准则就是看这几条最短路径中的相邻路由器谁的IP地址最小。图4-50的例子说明了这一概念。
为简单起见,在图4-50中的网络用路由器之间的链路来表示。我们假定各路由器之间的距离都是1。路由器R.收到源点发来的多播数据报后,向R2和R3转发。R2发现Ri就在自己到源点的最短路径上,因此向R3和R4转发收到的数据报。R3发现R2不在自己到源点的最短路径上,因此丢弃R2发来的数据报。其他路由器也这样转发。R,到源点有两条最短路径:R7一R4一R2--Rl一源点;R7一R5- R3一Rl一源点。我们再假定R4的IP地址比Rs的IP地址小,所以我们只使用前一条最短路径。因此R,只转发R传过来的数据报,而丢Rs传过来的数据报。最后就得出了用来转发多播数据报的多播转发树(图中用粗线表示),以后就按这个多播转发树来转发多播数据报。这样就避免了多播数据报的兜圈子,同时每一
个路由器也不会接收重复的多播数据报。
图4-50反向路径广播RPB和剪除
如果在多播转发树上的某个路由器发现它的下游树枝(即叶节点方向)已没有该多播组的成员,就应把它和下游的树枝一起剪除。例如,在图4-50中虚线椭圆表示剪除的部分。当某个树枝有新增加的组成员时,可以再接入到多播转发树上。
虽然在TCP/IP中IP多播协议已成为建议标准,但多播路由选择协议(用来在多播路由器之间传播路由信息)则尚未标准化。
在多播过程中一个多播组申的成员是动态变化的。例如在收听网上某个广播节目时, NAND01GW3B2BN6E随时会有主机加入或离开这个多播组。多播路由选择实际上就是要找出以源主机为根节点的多播转发树。在多播转发树上,每一个多播路由器向树的叶节点方向转发收到的多播数据报,但在多播转发树上的路由器不会收到重复的多播数据报(即多播数据报不应在互联网中兜圈子)。不难看出,对不同的多播组对应于不同的多播转发树。同一个多播组,对不同的源点也会有不同的多播转发树。
已有了多种实用的多播路由选择协议,它们在转发多播数据报时使用了以下的三种方法:
(1)洪泛与剪除。这种方法适合于较小的多播组,而所有的组成员接入的局域网也是相邻接的。一开始,路由器转发多播数据报使用洪泛的方法(这就是广播)。为了避免兜圈子,采用了叫做反向路径广播RPB (Reverse Path Broadcasting)的策略。RPB的要点是:每一个路由器在收到一个多播数据报时,先检查数据报是否从源点经最短路径传送来的。进行这种检查很容易,只要从本路由器寻找到源点的最短路径上(之所以叫做反向路径,因为在
计算最短路径时是把源点当作终点)的第一个路由器是否就是刚才把多播数据报送来的路由器。若是,就向所有其弛方向转发刚才收到的多播数据报(但进入的方向除夕卜),否则就丢弃而不转发。如果本路由器有好几个相邻路由器都处在到源点的最短路径上(也就是说,存在几条同样长度的最短路径),那么只能选择一条最短路径,选择的准则就是看这几条最短路径中的相邻路由器谁的IP地址最小。图4-50的例子说明了这一概念。
为简单起见,在图4-50中的网络用路由器之间的链路来表示。我们假定各路由器之间的距离都是1。路由器R.收到源点发来的多播数据报后,向R2和R3转发。R2发现Ri就在自己到源点的最短路径上,因此向R3和R4转发收到的数据报。R3发现R2不在自己到源点的最短路径上,因此丢弃R2发来的数据报。其他路由器也这样转发。R,到源点有两条最短路径:R7一R4一R2--Rl一源点;R7一R5- R3一Rl一源点。我们再假定R4的IP地址比Rs的IP地址小,所以我们只使用前一条最短路径。因此R,只转发R传过来的数据报,而丢Rs传过来的数据报。最后就得出了用来转发多播数据报的多播转发树(图中用粗线表示),以后就按这个多播转发树来转发多播数据报。这样就避免了多播数据报的兜圈子,同时每一
个路由器也不会接收重复的多播数据报。
图4-50反向路径广播RPB和剪除
如果在多播转发树上的某个路由器发现它的下游树枝(即叶节点方向)已没有该多播组的成员,就应把它和下游的树枝一起剪除。例如,在图4-50中虚线椭圆表示剪除的部分。当某个树枝有新增加的组成员时,可以再接入到多播转发树上。
上一篇:IGMP采用的一些具体措施
上一篇:隧道技术在多播中的应用