方案一:基于PIM-SM/mGRE的承载方案
-
PE 1的mVRF实例向公网RP发起加入(Join),以Share-Group地址为组播组地址,在公网沿途的各设备上分别创建(*,Share-Group)表项。同时,PE 2和PE3也各自发起类似的加入过程,最终在MD中形成一棵以公网RP为根,PE 1、PE2和PE 3为叶的RPT。
-
PE 1的mVRF实例向公网RP发起注册(Register),以接口地址为组播源地址、Share-Group地址为组播组地址,在公网沿途的各设备上分别创建(S,Share-Group)表项。同时,PE 2和PE3也各自发起类似的注册过程,最终在MD中形成三棵相互独立的、连接PE与RP的SPT。
-
在PIM-SM网络中,由RPT(*,Share-Group)以及三棵相互独立的SPT共同组成Share-MDT。
-
组播协议报文的传输:
a)当私网组播接收者和组播源位于VPN网络中的不同Site时,组播协议报文必须跨越公网进行传输。协议报文在本地PE上被封装为普通的公网组播数据并沿Share-MDT进行传输,在远端PE上被解封装,从而继续进行正常的协议交互过程,最终建立一棵跨越公网的组播分发树。
b)如果接收者与私网RP位于不同的Site,需要跨越公网发起加入以创建RPT;如果组播源与私网RP位于不同的Site,需要跨越公网发起注册以创建SPT。
-
组播数据报文的传输:
a)当组播分发树创建完成后,私网组播数据沿组播分发树传输给各Site中的接收者。私网组播数据在本地PE上被封装为普通的公网组播数据并沿Share-MDT进行传输,在远端PE上被解封装,从而继续在私网内进行组播数据的传输。
b)如果接收者与私网RP位于不同的Site,沿RPT跨越公网进行私网组播数据的传输;如果组播源与私网RP位于不同的Site,沿SPT跨越公网进行私网组播数据的传输。
c)为了防止组播数据流沿着share-MDT传送mVPN中的所有PE,浪费网络带宽,在各PE之间还可以按需建立专用的Data-MDT。当私网中组播数据的传输速率超过一定门限时,将该组播数据流从Share-MDT切换到Data-MDT,只有带有接收者的PE才会加入到Data-MDT,从而实现按需组播。
方案二:基于PIM-SSM/mGRE的承载方案
-
PE 1的公网实例分别向PE 2和PE 3的公网实例通知其本地的BGP MDT信息(包含BGP接口地址和Share-Group地址等信息),并互换BGP MDT路由信息;PE 2和PE 3收到来自PE1的BGP MDT信息后,分别向PE 1的BGP接口地址逐跳发送订阅报文,在公网沿途的各设备上分别创建(S,Share-Group)表项,从而形成一棵以PE 1为根、PE 2和PE3为叶的SPT。
-
同时,分别以PE 2和PE 3为根的SPT形成过程与此类似,最终在MD中形成三棵相互独立的SPT。
-
在PIM-SSM网络中,由这三棵相互独立的SPT共同组成了一棵Share-MDT。
方案三:基于mLDP的承载方案
总结:
|