组播分发树
-
描述组播数据在网络中的转发路径,由 组播路由协议建立
-
有两种类型: SPT(最短路径树)和 RPT(共享树)
组播分发表示方法
形式
|
备注
|
(S,G)
|
通常用来表示最短路径树,或者由组播源S发往组播组G的组播报文。
“S”代表
特定组播源,“G”代表特定组播组G
|
(*,G)
|
通常用来表示共享树,或者由任意组播源发往组播组G的组播报文。
“*”代表
任意组播源,“G”代表特定组播组G
|
SPT:最短路径树
Shortest Path Tree,最短路径树,也称为“Source Tree,源树”
-
以组播源作为树根,将组播源到每一个接收者的最短路径结合起来构成的转发树
-
每一个组播源与接收者之间建立一棵独立的SPT
如有多个源,则沿途的路由器都会建立一个转发路由表项。
优点:
源到接收者路径是最短的;
RPT:共享树
Rendezvous Point Tree,共享树
-
以某个路由器作为路由器的树根,这个根常被称为RP(汇合点或核心)
-
所有的组播源和接收者都使用这棵树来收发报文,组播源先向树根发送数据报文,之后报文又向下转发到达所有的接收者
上图解释:源S1和源S2先到路由器D,那么路由器D及之前所经过的路由器记录的为(S,G)最短路径树,再经由路由器D转发给接收者R1和R2,而向下转发时,路由器C、E只需记录(*,G)共享树即可。
分发树比较
分发树 |
备注
|
SRT
最短路径树
|
路径最优,延迟最小,占用内存较多
|
RPT
共享树
|
路径不是最优,引入额外的延迟,占用内容较少
|
组播数据转发
-
组播路由和单播路由是相反的
-
单播路由关心数据报文要到哪里去
-
组播路由关心数据报文从哪里来
-
-
组播路由使用 RPF机制来检测环路
-
单播报文的转发过程中,路由器并不关心源地址,只关心报文中的目的地址,通过目的地址决定向哪个接口转发
-
在组播中,报文是发送给一组接收者的,这些接收者用一个逻辑地址表示。路由器在接收到报文后,必须根据源和目的地址确定出上游(指向组播源)和下游方向,把报文沿着原理组播源的方向进行转发
RPF:反向路径转发
Reverse Path Forwarding,反向路径转发
-
确保组播数据沿正确的路径传输
-
避免组播环路
-
路由器收到组播数据报文后,只有确认这个数据报文是从自身连接到组播源的接口上收到的,才进行转发,否则丢弃
-
RPF检查过程:
-
在 单播路由表中查找到组播报文 源地址的路由
-
如果该路由的出接口就是组播报文的入接口,RPF检查成功
-
否则RPF检查失败,报文丢弃
-
图例:
解释:从192.18.0.32发来组播数据,但是是从S0/0端口过来的,会检查单播路由表,路由表显示该网段的接口应该是S0/1端口,与发送来的端口不符,所以会选择丢弃该报文