IS-IS Local MT
产生原因
对于部署了组播和单向TE-Tunnel的网络,如果TE-Tunnel上配置了IGP Shortcut,即IS-IS协议在进行SPF计算时会使用处于Up状态的MPLS TE隧道,那么,路由计算得到的路由出接口可能不是实际的物理接口,而是TE-Tunnel接口。这样就存在一个问题,由于被TE-Tunnel跨越的路由器无法感知到组播报文,可能会造成组播数据报文被丢弃,从而影响网络的可靠性。如图8-31所示。
用户和组播服务器发送组播报文流程如下:
用户向DeviceA发送Report消息,请求加入组播组;DeviceA向DeviceB发送加入组播组请求(Join报文)。
当该Join报文到达DeviceB时,DeviceB选择TE-Tunnel1/0/0作为RPF(Reverse Path Forwarding)接口,并从DeviceB的Interface2接口通过MPLS标签转发至DeviceC。
在DeviceC上,由于报文是通过MPLS标签转发,所以DeviceC不会对该组播Join报文进行特殊处理,即不会建立组播转发表项。并且在本图的拓扑中,DeviceC是该MPLS转发的倒数第二跳,它会去掉MPLS标签,通过DeviceC的Interface2接口将组播Join报文转发给DeviceD。
DeviceD收到该组播Join报文后建立组播转发项,下游接口为GE2/0/0,上游接口为Interface1,然后继续向DeviceE发送组播Join报文,至此建立SPF树。
当组播源发出流量至DeviceD时,DeviceD会将流量转发至DeviceC,由于之前DeviceC没有建立组播报文的转发表项,所以流量被丢弃,导致组播业务无法正常进行。
为解决上述问题,IS-IS协议引入了Local MT(Local Multicast-Topology,本地组播拓扑)特性。
相关概念
Local MT是在不改变设备间的协议报文的前提下,在本地为组播创建单独的拓扑,当IGP计算出的路由的出接口为IGP-Shortcut(AA)类型的TE-Tunnel时,它再同时为该路由计算出一个(或一组)实际的物理出接口,可以有效解决TE-Tunnel与组播的冲突问题。
本特性中提到的TE-Tunnel指的是IGP-Shortcut(AA)类型的TE-Tunnel。
实现过程
创建MIGP(Multicast IGP)路由表
位于Shortcut TE-Tunnel入口起始端的DeviceB会为组播创建单独的MIGP路由表,保存TE-Tunnel所对应的物理接口,以保证组播协议报文的转发,从而建立正确的组播路由表项。当路由的出接口是TE-Tunnel时,IS-IS会为该路由计算出实际的物理出接口,并将其加入到MIGP路由表中;
指导组播协议报文转发
当转发组播协议报文时,路由器首先查找单播路由表。如果发现下一跳是TE-Tunnel时,会继续查找MIGP路由表,找到对应的实际物理出接口,指导组播协议报文进行转发。如组播源Server的上游接口是TE-Tunnel1/0/0,IS-IS会计算出该路由的实际出接口为Interface2,并将计算出来的这条路由加入到MIGP路由表中。这样组播业务就不会受TE-Tunnel的影响,组播协议报文按照MIGP路由表从实际的物理出接口转发,并在组播路由表中建立相应的路由表项,实现组播数据的正确转发。
适用场景
Local MT特性适用于同时部署了组播和在MPLS TE-Tunnel上使能了IGP Shortcut的组网,解决组播业务中断的问题。
使用价值
Local MT特性可以解决组播和TE-Tunnel冲突的情况,为运营商提供可靠的组播服务。