张西波
摘要:自动转报系统是空管重要的报文通信系统,其运行状况直接关系到自动转报业务的开展,关系到飞行安全工作的保障。为了提高系统的可靠性,自动转报系统采用双网结构,冗余结构导致在交换机出现故障时产生环路,引起系统瘫痪。该文对实际运行中出现的两例不同类型的环路故障进行分析,并提出了有效的解决方法,对可能面临同样问题的同行提供一点有益的帮助。
关键词:自动转报;交换机;stp;环路
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)30-0238-02
1 概述
天津空管分局使用的转报系统有两套,一套是2008年建立,使用单网结构。另外一套是2014年建立,使用双网结构。两套转报系统都是北京航管科技有限公司开发的DMHS-M型转报系统,只是软件版本和系统结构存在差别。虽然有两套转报系统,但是由于08转报的异步单元中有电流环接口,不能直接连到智能线路切换器上,我们就没有把08转报系统作为一套备用系统接入智能线路切换器。两套系统相对独立,新系统对外提供服务,旧系统不对外提供服务。自动转报网络作为民航系统重要的通信基础设施之一,基于该网络开展的平面电报通信业务是保证民用航空飞行正常和安全必不可少的手段。用于全国各机场之间的电报传输,传递管制、气象、情报、航空公司、省局等重要部门的电报,是机场的信息枢纽中心,尤其是空中交通管制部门传递航班动态信息的主要手段,在维护空中交通秩序、保证民用航空安全和飞行正常中起着重要作用。天津自动转报系统结构如下:
图1 天津自动转报系统网络结构
2 两例环路故障
2.1 报文收电地址错误引起的环路及其解决办法
天津在世界时01:34 ,用2008转报系统给北京发测试报的时候,突然收到大量的同一地址的报文,报文内容如下:
GG ZBZZNFNX
070134 WRRRYNYX
VAWR0905 WIIF 06070130
其他报文内容省略。
发电地址都为WRRRYNYX,收电地址都为ZBZZNFNX,报文都是印尼火山灰,报文内容重复。在2014转报系统的BJS也同样收到,为了解决报文循环问题,应急修改两套转报机的路由表,把收电地址为ZBZZNFNX的报文自动转发到OIT。事后统计从01:34到01:48,就收到97份印尼火山灰報文,平均8秒就收到一份报文,期间转报系统处理报文缓慢。前几天也收到过印尼火山灰报文,因收电地址不是天津情报,出现干线循环告警(循环五次自动终止),虽然收电地址不是天津,但是报文是情报需要的,因此,我们手工转发到情报(即OIT),同时我们也把这种情况向上级转报部门反应,只是还没有解决。
原因分析:两个原因导致了这个故障,第一个是收电地址错误,正确的收电地址应该是ZBTJOIXX,平时遇到这种情况,报文循环五次后就停止转发了,与此同时,转报机会有干线循环告警提示。第二个原因是天津和北京使用的转报路不同,天津使用的是BJB,北京使用的BJM,平时不测试报文时,天津BJB和BJM都打开,北京是只开BJM,所以,我们能够收到北京的报文,没有发现天津和北京实际使用的是不同路传输。在测试报文时恰巧遇到一个错误的收电地址,天津转报机的路由表配置,认为ZBZZNFNX报文不是天津的,应该通过BJB转发到北京,由于08转报机不作正式使用,不做测试时,BJB是关闭的,这个问题没有暴露出来。测试报文时,北京把BJB路给打开了,北京转报机的路由表认为ZBZZNFNX是天津的报文,又把这份报文通过BJM和BJS发到天津来,这样报文就通过BJB和BJM在天津和北京之间形成了一个环路。由于报文是印尼火山灰,应改转发给情报,收电地址应该为ZBTJOIXX,电报应通过OIT转发到情报。我们改不了电报的收电地址,只能通过修改路由表,把ZBZZNFNX的报文转发到OIT。
2.2 交换机故障出现的环路及其解决办法
2014转报系统的ip管理终端出现超时告警,不能通过远程登录查看转报主备机的工作情况。笔记本接入交换机时,笔记本屏幕上显示ip地址冲突。笔记本上设置的ip地址也没有与转报系统中的ip地址相冲突,怎么会出现ip地址冲突,只能是网络中出现了环路,赶紧拔掉一台交换机的电源,重启交换机,再次查看转报系统,告警音消失,系统工作正常。
3 系统设计形成的环路及解决方法
3.1 环路的危害
根据以太网的原理,当以太网交换机节点收到一个广播帧或未知单播帧时,会向其他所有端口泛洪该帧。交换机节点通过泛洪的方式,很容易将广播帧或未知单播帧转发给目的主机。但是,当网络中有环路存在时,广播帧会在环路的各个交换机节点上依次泛洪和转发,最终回到源交换机节点,而源交换机节点收到该广播帧后,并不会丢弃,继续按照广播帧的转发方式进行泛洪,因此广播帧会永无休止地在交换机的节点进行转发,最终流量越来越大,耗尽带宽,网络瘫痪。因此,交换机需要配置stp协议,解决环路问题。
3.2 交换机之间的环路
2014转报系统为了保证转报系统不受单个设备出现故障影响系统工作,系统对交换网络进行冗余设计:交换机冗余和网线冗余。两个交换机之间使用双网线连接,ip管理终端通过两个网口分别连到交换机A和交换机B。为了解决两个交换机之间的环路问题,对两台交换机进行配置,交换机之间连接的接口使用以太通道,交换机会把一组物理端口联合起来,作为一个逻辑的通道,也就是channel-group,这样交换机会认为这个逻辑通道为一个端口。这么做有三个好处:增加带宽,带宽相当于组成组的端口的带宽总和。 增加冗余,只要组内不是所有的端口都down掉,两个交换机之间仍然可以继续通信。负载均衡,可以在组内的端口上配置,使流量可以在这些端口上自动进行负载均衡。
交换机之间双网线接口的配置:
switchport mode trunk
channel-protocol lacp
channel-group 1 mode active
3.3 转报主备机同交换机连接形成的环路
由于转报主机和备机使用双网口和交换机相连,双网口使用同一个ip地址,因此,交换机需要配置stp协议,有的端口处于blocking状态,使网络中不会出现环路。 使用stp的端口启动要经过5个状态:disable 、blocking 、listening、 learning 和forwarding 。在STP选举过程中,端口是不能转发用户数据的。端口一开始处于阻塞状态,这个状态只能接收BPDU;一个接口20秒没收到BPDU,也就是到了最大时间,端口会进入侦听状态,这时接口可以接收BPDU,并开始发送BPDU;发送15秒的BPDU,接口将会为转发用户数据做准备,也开始学习MAC地址,这个状态叫学习状态;再经过15秒的学习后,端口进入转发状态,转发状态是一个正常的接口。从disable状态到forwarding状态转换需要50秒,也就是说如果一个连接到交换机的终端网线断开,重新连接到能够正常收发数据,至少将近1分钟,才能正常转发报文。因此,连接异步单元、超级终端、转报主机和备机的端口使用portfast端口模式,快速收敛,可以很快地从blocking状态转变成forwarding状态,加快生成树收敛时间。缺点是如果这个端口接入了网络设备,容易造成二层环路。
异步单元、超级终端、转报主备机到交换机连接的配置:
switchport mode access
spanning-tree portfast
3.4 网络中出现环路后的处理
尽管对交换机做了配置,利用生成树算法、在以太网络中,创建一个以某台交换机的某个端口为根的生成树,避免环路。在以太网络拓扑发生变化时,通过生成树协议达到收敛保护的目的,解决环路问题,但是还是可能由于协议运行中出现问题,出现环路故障,在这种情况下,我们只能手动破坏环路,使设备快速恢复正常。
4 结束语
环路故障是我们使用网络中可能遇到的一个问题,它能使整个系统瘫痪,危害性很大,有时会使我们误认为是设备出现故障,其实有些时候设备没有出现问题,是我们的上层应用出现了问题,或者是交换机上运行的协议出现了问題。为了快速发现环路故障,平时对设备间的连线要做好标识,不同类型的接口使用不同颜色的网线。对交换机连接设备的接口做好记录,当出现故障时,根据故障现象,根据资料,仔细认真分析,抓住本质,这样才能快速解决问题。
参考文献:
[1] Evan Marcus,Hal Stern.高可用性系统设计[M]. 汪青青,卢祖英,译.清华大学出版社,2005.
[2] Radia Perlman. 网络互连:网桥·路由器·交换机和互连协议[M].机械工业出版社,2002.
[3] DMHS-M系统管理员培训教程.endprint