组播流量控制技术分析

2020-05-20 00:33辽宁高大伟
网络安全和信息化 2020年5期
关键词:接收者报文路由

■ 辽宁 高大伟

编者按:笔者单位采用ASM组播模式,在近期出现一些问题,甲站的组播用户反映说组播丢包严重,笔者经过一系列尝试,并查阅相关资料和文献,对VLAN下组播转发的内容进行配置,最终解决了问题。

IP组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽和降低网络负载,在诸多方面都有广泛的应用。

根据IP组播中源和目的不同,可以分为三种模型:任意源组播(ASM)、源过滤组播(SFM)和指定源组播(SSM)。笔者单位采用的是ASM组播模式,三个站网络互联关系如图1所示,三个网络设备均启用三层OSPF协议,并配置组播模式为pim sm,并将华为9306配置为动态RP(Rendezvous Point)。

近期甲站的组播用户反映说组播丢包严重,请网管协助查一下网络是否存在问题。

故障排查

图1 单位网络互联图

如果怀疑组播数据出现问题,首先要分析组播转发的原理。单播报文的转发过程中,路由器只关心报文中的目的地址,通过目的地址决定向哪个接口转发。在组播中,报文是发送给一组接收者的,这些接收者用一个逻辑地址标识。路由器在接收到报文后,必须根据源和目的地址确定出上游(指向组播源)和下游方向,把报文沿着远离组播源的方向进行转发,这个过程称作逆向路径转发。

组播路由表又称为组播分发树,用来描述IP组播报文在网络中经过的路径。组播路由项包含3个要素:(S,G)、iif和oiflist。其中S为源地址,G为组地址,iif为入接口,oiflist为出接口列表。组播分发树的2个基本类型为源路径树和共享树。源路径树是指以组播源作为树根,将组播源到每一个接收者的最短路径结合起来构成的转发树。由于源路径树使用的是从组播源到接收者的最短路径,因此也称为最短路径树(Shortest Path Tree,SPT)。

对于某个组,网络要为任何一个向该组发送报文的组播源建立一棵树。共享树以某个路由器作为路由树的树根,该路由器称为汇集点(Rendezvous Point,RP),将RP到所有接收者的最短路径结合起来构成转发树。使用共享树时,对应某个组,网络中只有一棵树,所有的组播源和接收者都使用这棵树来收发报文,组播源先向树根发送数据报文,之后报文又向下转发到达所有的接收者。PIM-ASM直接反向构建从组播接收者到组播源的源路径树(最短路径树SPT),为每一个组播源与接收者之间建立一棵独立的SPT。路由器收到组播数据报文后,只有确认这个数据报文是从自己到组播源的出接口上到来的,才进行转发,否则丢弃报文。

RPF执行过程中会用到原有的单播路由表以确定上游和下游的邻接结点,只有当报文是从上游邻接结点对应的接口(RPF接口)到达时,才向下游转发。RPF的作用除了可以正确地按照组播路由的配置转发报文外,还能避免由于各种原因造成的环路,环路避免在组播路由中是一个非常重要的问题。RPF的主体是RPF检查,路由器收到组播报文后,先对报文进行RPF检查,只有检查通过才转发,否则丢弃。

组播转发原理分析清楚了,下面应该检查三个站的组播路由是否正确。在确认三个设备的路由协议、组播配置没有问题后,登录甲站华为9306,组播路由及组播数据等都是正常的,乙站的组播路由及收发甲站的组播数据均正常,但丙站的组播路由正常,竟然收到了乙站的组播数据。询问甲站的用户了解到原来乙站和丙站能互收双方组播数据,后来乙站的软件改造后就只收甲站的组播数据了。当把组播转发原理简单给甲站的用户介绍后,他们初步怀疑甲站的组播数据丢包可能与丙站的软件没有改造有关系,建议能否将丙站收乙站的组播数据隔断。

隔断组播数据,笔者首先想到的是用ACL配置流策略:在丙站的华为5700上配置ACL即拒绝访问的丙站组播组及组播源,然后配置流分类,再配置流行为,配置流策略,最后在全局下启用流策略。配置完成后在华为5700上查看组播转发表,竟然还能看到组播转发的数据。

问题解决

问题到这里,笔者认为单组播的流隔断策略同单播的策略不同。笔者决定还是在配置手册里查一下问题的原因,在查看《华为交换机学习指南》时,在组播这一章节笔者发现了在VLAN下配置组播转发的内容,笔者赶紧在华为5700上VLAN 5配置了组播组加入控制策略(IGMPSNOOPING GROUP-POLICY ACL号),本来以为策略能起效,奇怪的是丙站还能收到乙站的组播数据。再翻看《华为交换机学习指南》组播配置篇章时,笔者查到了PIM协议配置组播转发的内容,再在PIM协议下组播转发控制策略,丙站收不到乙站的组播数据,甲站用户大量丢包的现象也消失了,问题解决。

经验总结

实时数据的组播传输作为网络的一种应用,依赖于基础网络的正常运行。根据用户网络的客观条件,将用户特殊需求分解为一系列子需求并采用适当的技术去实现,不关注于个别技术是否最优,而关注系统整体的效果,以最终达成用户的目标。总之,网络技术人员要有解决问题的思路,要综合运用原理性的知识理解工作中出现的问题,只有如此才能为网络应用可靠和高效地运行提供有力的技术支撑。

猜你喜欢
接收者报文路由
基于J1939 协议多包报文的时序研究及应用
低轨星座短报文通信中的扩频信号二维快捕优化与实现
基于SDN的组播安全机制
数据通信中路由策略的匹配模式
路由选择技术对比
功能翻译理论视角下英语翻译技巧探讨
浅析反驳类报文要点
可撤销用户动态更新广播加密方法的研究
路由重分发时需要考虑的问题
口碑传播中影响因素作用机制研究及应用