《任意源组播下的丢包分析与避免.docx》由会员分享,可在线阅读,更多相关《任意源组播下的丢包分析与避免.docx(7页珍藏版)》请在三一办公上搜索。
1、任意源组播下的丢包分析与避免 作者:张潇男石湘来源:计算机与网络2020年第09期摘要:在任意源组播(ASM)网络环境的基础上,对因PIM-SM协议构建组播路由过程 中自动对组播共享树向最短路径树(SPT)切换时所导致的组播数据丢失问题进行了分析。针 对目前主流网络设备避免SPT切换的几种方法的优缺点进行了介绍,并指出在专网应用时的 不合理性。通过原理分析和模拟环境试验,提出了一种通过添加静态组播组构建稳定组播路 由,避免SPT切换的新方法。关键词:任意源组播;最短路径树;丢包中图分类号:TP393文献标志码:A文章编号:1008-1739(2020)09-57-3ASM Multicast
2、Packet Loss Analysis and AvoidanceZHAKG Xi心k航L SHI Xasuir(1. Tlte 541111 侦血le ufCETC. Shiji皿hu丽里 D5MS1., Chi制:2 Chim S制ellile Marilime Trackiiig irid 3曲口1 Ctep宙rtmom, W而 214431, ChiftaAbstticijOn ihe basis of Any Source(ASM) riHwus ruwlS栏 by PIM-SM pioiutulih. sulyzed. The adtam畦g and di辎d盅in醍漓 of s
3、ev-eml ii址hoii& w avoid SPT switching of currenl aniilnyiream nei work equipruem ure iiklixHlLiGd. Lid th# irniliucLulLLy of applicH【沁Jl in ptivaiepciiiiLed iuL. Fkudly. u jaew niuU2il is pn-Dhtd lu biailJ 的 stcibl皿u I lk於 1 rouie aiiid avoid SPT handoff by addingmukLiisc groups.iny Souive Muhicast:
4、Shtirt Path Tree; packel loss0引言组播较单播传输更节省网络带宽,而且广播传输安全性高,因此组播已逐渐在网络中得到 较大规模应用。组播根据源和目的的不同,可分为ASM、源过滤组播(SFM)和指定源组播 (SSM)三种模型。目前组播技术应用较为广泛的是ASM模型,此模型假设不知道发送者和 接收者的位置,因此需要在网络中选取一个设备来当作桥梁去收集组播源和接收者的信息,这 个设备就是汇聚点(RP),它为二者建立共享路径树(RPT)。因此RP即使不在最优路径 上,数据也要经过RP进行转发。为了减少RP的负荷,接收者收到组播数据后会根据数据包 的源地址重新建立接收者到发送者
5、的最短路径并进行切换,这就会导致数据在切换过程中瞬间 丢失。本文对ASM的转发机制进行了分析,依据分析结果提出了解决问题的措施。1任意源组播路由的建立机制ASM的实现方法是:在网络中维护一台重要的PIM路由器,也称组播RP,网络中所有 的PIM路由器都知道RP的位置;当网络中出现组成员时,最后一跳路由器向RP发送Join 报文,逐跳创建(气G)表项,生成一棵以RP为根的RPT;当网络中出现活跃的组播源 时,第一跳路由器将组播数据封装在Register报文中单播发往RP,在RP上创建(S,G)表 项,注册源信息,从而生成基于RP的SPT表项。1.1 PIM-SM RPT 构建PIM-SM(ASM
6、模型)RPT是一棵以RP为根,以PIM路由器为叶子的组播分发树。当网络中出现组成员时,组成员端DR向RP发送Join报文,在通向RP的路径上逐跳创 建(气G)表项,生成一棵以RP为根的日?丁。加入报文从组成员端DR开始逐跳发送,直到 RP,RPT构建如图1所示。图1 RPT构建1.2 PIM-SM组播源注册组播源注册如图2所示,在PIM-SM网络中,任何一个新出现的组播源都必须首先在RP 处注册,继而才能将组播报文传输到组成员。具体过程如下:组播源将组播报文发给源端DR ;源端DR接收到组播报文后,将其 封装在Register报文中,发送给RP ;RP接收到Register报文,将其解封装,建
7、立(S,G) 表项,并将组播数据沿RPT发送到组成员。1.3 PIM-SM SPT 切换在PIM-SM网络中,一个组播组只对应一个RP,只构建一棵RPT。在未进行SPT切换的情况下,所有发往该组的组播报文都必须先封装在注册报文中发往 RP,RP解封装后,再沿RPT分发。RP是所有组播报文必经的中转站,当组播报文速率逐渐 变大时,对RP形成巨大的负担。为了解决此问题,PIM-SM允许RP或组成员端DR通过触发SPT切换来减轻RP的负担。(1)RP触发SPT切换RP收到源端dr的注册报文后,将封装在Register报文中的组播报文沿RPT转发给组成 员,同时RP会向源端DR逐跳发送Join报文。发
8、送过程中在PIM路由器创建(S,G)表项, 从而建立了 RP到组播发送者的源路径树。(2)组成员端DR触发SPT切换组成员端DR触发SPT切换如图3所示,组成员端DR周期性检测组播报文的转发速率, 一旦发现(S, G)报文的转发速率超过阈值,则触发SPT切换。Kmw图3组成员端DR触发SPT功换组成员端DR向源端DR逐跳发送Join报文并创建(S,G)表项,建立源端DR到组成员 DR的SPT。SPT建立后,组成员端DR会沿着RPT逐跳向RP发送剪枝报文,删除(气G) 表项中相应的下游接口。剪枝结束后,RP不再沿RPT转发组播报文到组成员端。如果SPT不经过RP, RP会继续向源端DR逐跳畿送剪
9、枝报文,删除(S, G)表项中相 应的下游接口。剪枝结束后,源端DR不再沿“源端DR-RP-的 SPT转发组播报文到RP。RP或 者组成员端DR在接收到第一份组播报文时都会触发各自的SPT切换。2丢包分析与避免措施2.1 SPT切换过程中造成丢包的分析组成员端DR收到来自源端的第一份组播报文后便已得知发送端的源IP地址,接收端DR 通过单播路由表向源端逐跳建立组播路由,组播路由完成后SPT建立。此时DR会对旧的转发路径进行清理,这就是组播的剪枝。剪枝完成后组播数据沿着SPT重新转发切换才算全部完 成。可是这一切复杂过程发送者全然不知,组播数据传输不会中断,剪枝完成前为了避免组播 数据通过SPT
10、和RPT同时转发而造成数据重报,在剪枝过程中必然会出现转发的瞬间中断, 当完成剪枝后组播数据才将会沿着最新的SPT继续转发,所以SPT切换过程中的丢包将不可 避免。2.2寻找避免路径切换机制通过上述分析得知,SPT切换是造成数据丢包的主要原因,避免丢包的思路应该是围绕建 立一个稳定的组播路由展开。目前避免路径切换的主要方式是配置组成员DR的SPT不进行切 换,通过强制改变设备默认配置从而保持组播的路由稳定。但在这种情况下,组播数据都会通 过RP进行传播,即使RP不是最优路径。这种方法下组播路由虽得到稳定,但无法减轻RP设 备的负担。选择一种通过接收端DR直接向组播源端建立一个稳定的SPT才是解
11、决问题的最好 方法。在工程应用中有一种手动牵引组播数据流量的技术,即在接收端DR相应接口上配置静态 组播组。可在静态组播组加入中通过配置组播源地址的方式强行构建接收者到组播数据发送者 的SPT,从而避免路径切换。这种方式不仅可以实现路由的稳定,还可以减轻RP的负担。2.3确定组播源地址要完成上述设置首先应确定组播发送者的地址(源地址)。获取源地址是进行配置前的必 要步骤,可通过Wireshark抓包软件在接收端抓组播报文,并对组播数据报文流进行分析。(1)配置端口镜像 配置抓包口: observe-port N interfacegigabitethernet ; 进入被观察端口: Quidw
12、ay-GigabitEthernetx/x/x ; 将此端口收到的数据复制到抓包口: port-mirroring to observe-port 1 inbound。端口配置 完成后将装有Wireshark软件的计算机通过网口连接至配置好的抓包口,打开Wireshark准备 进行抓包。(2)确定特定组首先确定任意源组播地址,任意源组播地址段一般为:224.0.1.0 231.255.255.255 ;233.0.0.0 238.255.255.255抓包完成后在Wireshark中点击需要设置的组播数据报文,在数据包IP层中找到IP的源 地址即组播发送者的IP地址并进行记录。2.4配置组播组
13、加入静态组播组加入应在组播接收端的DR路由器上进行使用,从而使接收端DR通过此命令 建立长久稳定的SPT路径。 首先在交换机中打开组播路由功能:multicast routing-enable ; 找到接收者所在VLAN(N),然后进入3层vlanif(N)中:interface vlanif N ; 完成静态组播组加入配置:igmp tatic-group ; group-addresssource-address。2.5建立稳定SPT路径静态组播组加入相当于在网络中手动添加了稳定的组播组成员,可以实现组播数据的快 速、稳定转发,在用户侧接口配置静态组播组并指定源地址后,接收端DR将按照组播
14、源地址 查找自身单播路由表并逐跳建立SPT。SPT随着命令的存在而长期存在,组播路径中的每跳路 由器都会针对此组数据生成(S.G)表项,并明确上下行转发端口,如图4所示。图4静态组播SPT树建立示意3应用效果上述措施完成之后,在路由器A, D上进行组播路由查询可以发现,从接收者R2到组播 源S的每跳路由器都产生了(S.G)组播路由表项,如表1所示。表1路由器A,D的组播路由信息序号LS.G)卜游援口下游接口(192 1655 8.122S.3 1,1)SeriaiCKa/1SerialftW22(192.168 8 U2S.1M)实际应用中,接收者R完整地接收了组播数据并未产生丢包。此时无论源
15、端是否发送组 播,接收者R2到组播源S的SPT仍然稳定建立,组播数据传输时,省去了组播路由建立的过 程,静态组播组加入后稳定了组播路径,提高了转发效率,避免了 ASM模型中的SPT切换, 从而避免了丢包的产生。4结束语上述分析以及提供的丢包避免措施可解决对于丢包率要求较高且使用组播ASM模型构建 的专网之中,从原理出发找到问题根源,应用一些看似不相关的技术去弥补不好解决的机理问 题。参考文献1 朱仕耿.HCNP路由交换学习指南M.北京:人民邮电出版社,2017.2 武忠,于红增.同源同宿SSM组播路由控制技术研究J.计算机与网络,2014, 40 (7): 64-66.3 徐俊,隗雪军,赵乾宏,等.航天测控通信IP网中可控组播的实现J.遥测遥控,2012, 33 (4): 61-63, 68.4 李乃振.专网组播应用设计与安全策略J.四川兵工学报,2015, 36 (7): 113-116, 124.5 狄彩云,张英,狄卫国,等.航天测控通信中指定源组播的技术研究J.无线电工程, 2014, 44 (9): 5-7.6 方山,李华.指定源组播原理分析与应用研究J.中国新通信,2016, 18 (23): 90.