大规模组播网络故障探究

2017-03-06 00:34蔡智慧彭皓夏东朝
软件导刊 2017年1期
关键词:路由协议环路

蔡智慧+彭皓+夏东朝

摘要摘要:互联网时代,组播应用越来越广泛。介绍组播(PIM)相关技术,阐述组播运行机制,分析环路在组播环境中出现定位故障的原因。从组播路由协议中分析组播中断的原因,提出了规避该类问题应采取的措施。

关键词关键词:组播;环路;组播中断;路由协议

DOIDOI:10.11907/rjdk.162286

中图分类号:TP393文献标识码:A文章编号文章编号:16727800(2017)001014702

引言

组播是一种针对点到多点的UDP格式报文传输协议。相比于单播,它可以极大节约网络宽带和流量。相比于广播,它可以跨三层网路传递,并能针对专门的网络客户接收群体。因为特定的目标群体,其数据流承载具有优于单播和广播的机制。所以,对于组播协议需要相比前两种传递方式更为复杂的协议来处理。

在互联网+时代,组播应用越来越广泛,例如大型企业视频系统、运营商OTT等。在这些重要领域,网络系统平均无故障时间指标越来越重要。在IP数据网络中,组播故障包括端到端的组播源服务、三层组播PIM路由转发和二层组播IGMP组成员管理故障,本文主要针对三层和二层环路下导致组播中断的原因进行分析研究。1故障场景与定位

组播网络中断故障出现后,登录三层交换机设备查找故障原因,发现设备的公网管理IP无法启用,只能通过应急console管理通道登陆设备。由于网络管理规范中,业务和管理地址都通过BGP协议承载,使用show ip route bgp查看三层交换机路由表,已无动态路由,初步定位为组播源服务地址不能向上层设备RP注冊。用show ip bgp summary检查三层交换机的路由协议BGP,发现BGP邻居已中断。协议状态如图1所示。

通过在交换机设备本端和上行设备上配置静态路由,确保BGP邻居路由可达。此时设备可通过公网进行带内远程管理,但组播中断故障尚未恢复。协议状态如图2所示。

根据设备组网规范,通过IGP OSPF实现BGP建立邻居路由的互联互通。使用show ip ospf interface brief和show ip ospf neighbor查看OSPF,发现邻居关系异常。通过show ip pim interface和show ip pim neighbor查看组播无关路由协议PIM,发现邻居异常。通过在交换机上执行show interface geiX/X查看三层交换机物理端口流量状态,发现某一个接口的流量出现异常,且端口状态中对广播报文的统计数量在1分钟之内出现陡增。分析此类原因属于端口异常状态,对该端口进行shutdown操作后,OSPF和PIM邻居恢复正常,组播业务恢复。协议状态如图3所示。

2原理分析

网络中运行了3种协议,分别是BGP、OSPF和PIM-SM协议。BGP主要承载组播源服务器IPv4地址与RP和其它业务地址进行通信。OSPF主要承担与上行设备建立BGP邻居关系时的loop接口IP之间的通信。PIM-SM主要用于网络中产生相应的*G和SG表项,以此承担组播数据的三层转发。2.1BGP

BGP用于在不同自治系统(AS)之间交换路由信息。当两个AS需要交换路由信息时,每个AS都必须指定一个BGP运行节点,代表AS与其它AS交换路由信息。这个节点可以是一个主机,但通常是路由器来执行BGP。两个AS中利用BGP交换路由信息的设备称为自治系统边界网关(Border Gateway)。BGP属于外部网关路由协议,可以实现自治系统间无环路的域间路由。BGP是沟通Internet广域网的主用路由协议,不同省份、不同国家之间的路由大多依靠BGP协议。BGP分为IBGP(Internal BGP)和EBGP(External BGP)。BGP的邻居关系通过路由设备上的手动配置实现,邻居实体之间通过传输层TCP(端口179)进行数据通信。运行BGP的两台设备之间会周期地发送19个字节的keep-alive消息,以此来维护邻居间的状态关系(默认周期为30秒)。在路由协议中,只有BGP使用TCP保障传输数据的可靠性。2.2OSPF

OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。目前针对IPv4协议使用的是OSPF Version 2,针对IPv6协议使用OSPF Version 3,采用最短路径SPF(Shortest Path First)算法。通过链路状态通告LSA(Link State Advertisement)描述网络拓扑,依据网络拓扑生成一棵最短路径树SPT(Shortest Path Tree),计算出到网络中所有目的地的最短路径,进行路由信息交换。

在应用视频业务的组播环境网络中通常以组播形式(224.0.0.5)发送Hello报文和LSAck报文。对于LSU报文,通常以组播形式首次发送,以单播形式重传。其中,224.0.0.5的组播地址为OSPF设备预留的IP组播地址,224.0.0.6的组播地址为OSPF DR预留的IP组播地址。2.3PIM-SM

PIM-SM(Protocol Independent Multicast-Sparse Mode,协议无关组播-稀疏模式)可以有效解决大型网络以及用户分散的场景中 “点到多点”的数据传输问题,使用户能够按需接收数据。

PIM-SM适用于网络组成员相对比较稀疏、分布广泛的大型网络。PIM-SM假设网络中所有主机均不需要接收组播数据,只有在主机明确提出需要接收组播数据时才会构建组播分发树,向提出需求的主机转发组播数据。相对于PIM-DM 模式,可以减小网络中无效数据的转发。

根据实现机制的不同,PIM分为以下两种模式:①PIM-DM(Protocol Independent Multicast-Dense Mode,协议无关组播—密集模式);②PIM-SM(Protocol Independent Multicast-Sparse Mode,协议无关组播—稀疏模式)。

在PIM域中,路由器周期性地向所有PIM路由器(224.0.0.13)以组播方式发送PIM Hello报文(以下简称Hello报文),以发现PIM邻居,维护各路由器之间的PIM邻居关系,从而构建和维护SPT。

通过对以上3种协议分析,发现BGP邻居关系的建立和维护报文通信都采用TCP协议承载,OSPF和PIM-SM邻居关系的建立和维护都采用UDP协议报文承载。在ISO七层模型中,UDP和TCP都属于传输层协议,唯一不同之处是UDP为不面向连接的一种不可靠传输协议,TCP属于面向连接的可造传输协议。

如果网络中运行设备存在二层环路,虽然环路的出现与PIM或OSPF建立邻居的SVI接口不在同一VLAN,但网络设备的路由控制层面信息都由设备的CPU进行处理。设备需要处理大量的广播报文,导致整体性能下降。UDP本身没有可靠的传输机制,所以会发生大量UDP报文丢弃情况,OSPF和PIM邻居无法建立。TCP本身有重传机制弥补,BGP只要在邻居路由可达的情况下就能正常传递路由表。3解决方案

猜你喜欢
路由协议环路
上海市中环路标线调整研究
精确打击效能评估系统中路由协议的研究
几种环路稳定性仿真方法介绍
Buck-Boost变换器的环路补偿及仿真
单脉冲雷达导引头角度跟踪环路半实物仿真
莫斯科地铁计划于2019—2020年推出第三换乘环路
PON环境下开启环路检测的场景分析