数据通信网OSPF和VRRP联动引发次优路由问题分析
2023-07-25戴俊勉胡江云陶慧吉家昊
戴俊勉 胡江云 陶慧 吉家昊
摘要:本文通过研究承载铁路综合视频监控系统的数据通信网出现次优路由问题,结合OSPF(开放式最短路径协议)和VRRP(虚拟路由器冗余协议)的相关原理,分析网络架构,采用基于Route-policy(路由策略)与Ip-prefix(前缀列表)的路由控制策略进行路由优化,并予以实施,解决因OSPF与VRRP联动产生次优路由,导致影响业务正常运行的问题。
关键词:数据通信网;开放式最短路径协议;虚拟路由器冗余协议;次优路由;网络优化;路由策略;前缀列表
随着高速铁路的快速发展,铁路系统在国民生产和生活中发挥越来越大的作用。由于铁路系统具有部门多、地点分散、环境复杂等特点,为保证铁路系统的运输安全,铁路综合视频监控系统的稳定性和安全性尤为重要。在赣深高铁综合视频监控系统中,数据通信网采用OSPF和VRRP协议进行联动,以保证综合视频监控服务器的正常运行,一旦设置不合理,数据通信网内极容易产生次优路由,严重影响综合视频监控服务器的正常运行,因此有必要对综合视频监控系统网络结构及协议进行深入分析。
一、网络结构
赣深高铁综合视频监控系统网络结构,如图1所示。
接入路由器AR01作为综合视频监控网络的出口,由华为NE20E-S8担当;CE01和CE02作为综合视频监控服务器接入交换机,由华为S7706担当,三台设备间运行OSPF协议实现路由互通。为确保综合视频监控系统的高可靠性和高可用性,综合视频监控服务器Server01和Server02之间采用热备的方式,同时每台服务器均采用双网卡主备模式,即同一时间仅有主网卡进行工作。并且为了防止单台网关交换机故障影响,采用VRRP协议实现综合视频监控服务器网关的虚拟化冗余备份[1],在CE01和CE02上配置两个VRRP备份组,其中备份组1的VIP(虚拟网关)作为Server01的网关,其Master(主用)路由设备为CE01;备份组2的VIP作为Server02的网关,其Master路由设备为CE02。
在网络正常状态下,工程建设人员为确保Server1的流量全部从CE01和AR01的直连链路转发,Server2的流量全部从CE02和AR01的直连链路转发,并且不允许两台Server的流量在一条链路上转发。工程建设人员在CE01和CE02的下行接口VLANIF上均配置arp direct-route enable的命令,通过基于ARP表生成主机路由,CE01和CE02将Server01和Server02的主机路由分别通告给AR01,实现AR01路由表中关于Server01和Server02的主机路由下一跳分别为CE01和CE02。
为验证CE交换机上VRRP虚拟网关冗余情况,对CE02交换机进行重启操作后,分析服务器流量转发路径,发现在AR01路由表中关于Server02的路由存在异常,去往Server02路由的下一跳从CE02变更为CE01,未按照预先设计方案要求进行流量转发,存在次优路由的情况,因此有必要对路由协议进行深入分析。
二、协议分析
(一)OSPF协议
OSPF协议是一种链路状态路由协议,其基于IP运行[2],协议的LSDB(链路状态数据库)报文直接采用IP封装,通过Hello、DD(数据库描述)、LSR(链路状态请求)、LSU(链路状态更新)和LSAck(链路状态确认)5种协议报文来实现协议的建立及数据的交互。其中Hello报文用于发现直连链路上的OSPF邻居,并用于维护OSPF邻居关系;DD报文用于描述LSDB中LSA(链路状态通告)的头部数据;LSR报文用于向OSPF邻居请求LSA;LSU(链路状态更新)报文用于发送完整的LSA数据,并通过组播的方式进行泛洪;LSAck(链路状态确认)报文用于设备收到LSU后,对接收到的LSA进行确认[3]。
OSPF协议中设备间两种关系:邻居关系和邻接关系[4],其中邻居关系指的是路由器在激活OSPF协议后,通过互联网接口交互Hello报文实现路由器相互发现,并形成2-Way(双向通信)状态,以CE01和AR01建立邻居关系为例,如图2所示。
其中CE01和AR01的Router-ID分别為1.1.1.1和3.3.3.3。CE01的G1/0/0接口率先激活OSPF协议并开始发送Hello报文,在该报文的头部中包含设备的Router-ID及接口的区域ID,在该报文的载荷中包含接口的网络掩码,Hello间隔、路由器失效间隔,以及该接口上所发现的邻居,由于协议刚激活,此时邻居为空。AR01收到Hello报文后,首先对报文进行检查,检查自己接口的网络掩码是否与收到的Hello报文中的“网络掩码”是否一致,同时对其他相关参数进行核对,若存在异常,则忽略Hello报文,当检查通过后,AR01将CE01的状态置为Init(初始)状态。接下来,AR01给CE01发送Hello报文,其中“邻居”字段中写入CE01的Router-ID值。当CE01收到AR01发送的Hello报文,并且在“邻居”字段中发现自己的Router-ID值,CE01将AR01添加到自己的邻居表中,并且将AR01的状态置为2-Way。随后CE01给AR01发送Hello报文,其中“邻居”字段中写入AR01的Router-ID值。AR01收到CE01发送的Hello报文后,同理进行判断后,将CE01的状态置为2-Way,此时CE01和AR01的OSPF的邻居关系建立完成。邻居关系建立完成后,路由器间通过交互DD报文,实现双方LDSB报文中LSA头部数据互通,当路由器需要完整的LSA数据时,将通过LSR报文发起报文更新请求,实现路由器之间LSDB报文的同步,此时CE01和AR01间的状态为Full(全毗邻),CE01和AR01的关系将变为邻接关系。
(二)VRRP协议
VRRP协议能够使得多台同属于一个广播域的网络设备协同工作,实现设备冗余,从而提高网络的可靠性,其配置在三层交换机或路由器上的接口上,通过Advertisement Package(通告报文)进行协议交互。在VRRP协议中定义了VRID(虚拟路由器标识符)和Priority(优先级)两种参数[5],一个VRRP备份组必须使用相同的VRID进行标识,并且Priority值越大,三层交换机或路由器的接口越容易成为Master。Master路由设备承担VRRP备份组的报文转发任务,并且在一个VRRP备份组中,只有Master路由设备会响应针对虚拟网关的ARP Request,而处于Backup路由设备并不参与数据转发工作,但会实时监控当前Master的状态,以便随时接替其工作[6]。根据业务转发需要,备份组1中CE01和CE02优先级分别设置为120和100;备份组2中CE01和CE02优先级分别设置为100和120。
(三)路由分析
根据Server02的流量走向,查看AR01上的路由信息,发现AR01学习到的Server02主机路由是由CE01而非CE02通告,查看CE01和CE02路由表中上关于Server02的路由信息,发现CE01上路由信息为直连路由,路由优先级为255;CE02上路由信息为O_ASE(OSPF的外部路由信息),路由优先级为150,CE02并未通过直连路由学习到Server02主机路由,而是通过OSPF协议学习到的。进一步对CE02上路由信息进行详细分析,可发现直连路由的状态为Inactive Adv(未激活状态),而状态为Active Adv(激活状态)的路由条目是从AR01设备上通过OSPF协议学习到的。结合VRRP协议进行深入分析,在测试VRRP功能时,CE02设备发生重启,在CE02设备重启过程中,Server02主备网卡发生切换,同时VRRP备份组2的主设备变为CE01,由CE01生成Server2的主机路由,并将Server02的主机路由通告给AR01。当CE02设备重启完成时,AR01会将Server02的主机路由通过OSPF协议通告给CE02,此时Server02主备网卡再次切换,CE02设备通过arp direct-route enable命令学习到直连的主机路由,由于ARP生成的直联主机路由优先级为255,小于OSPF路由优先级150,所以CE02直连路由不生效,生效的主机路由是通过OSPF学习到的。同时在CE01上关于Server02的ARP表项刷新到Eth-turnk1端口,由于Eth-trunk1端口也加入了下行口的VLAN,因此CE01会生成关于Server02的主机路由,并将该主机路由通告给AR01,导致上层AR01上关于Server02的主机路由不会刷新,由此在网络中产生次优路由。
三、优化方案
为了确保VRRP冗余切换完成后,综合视频监控系统数据通信网内不出现次优路由的问题,使用Route-policy来解决。Route-policy是一种路由选择和控制工具,功能强大、灵活多变,可对路由信息进行筛选、过滤和属性设置等操作,其常与ACL(访问控制列表)或Ip-prefix配合使用,来实现对路由的控制,可以影响数据流量的转发[7]。通过在CE01和CE02上部署基于Route-policy与Ip-prefix的路由控制策略,实现CE01在arp direct-route enable命令下,只允许发布Server01的主机路由;CE02在arp direct-route enable命令下,只允许发布Server02的主机路由,从而打破次优路由产生的条件,以CE01为例,具体操作如下:
①创建一条名字为Server01的前缀列表,仅允许Server01的主机地址通过,命令行:ip ip-prefix server01 index 10 permit 10.0.0.4 32。
②创建一条Route-policy,名字为Server01,节点号为10,命令行:route-policy server01 permit node 10;在节点视图下,使用if-match语句匹配名字为Server01的前缀列表,命令行:if-match ip-prefix server01。
③将创建好的路由策略应用到arp direct-route enable,实现路由发布控制,命令行:arp direct-route enable route-policy server01。
同理在CE02上完成对Server02主机路由的路由策略配置,完成上述配置后,对VRRP冗余性进行验证,确认数据通信网内流量转发不存在次优路由的情况。
同时由于工程建设人员未对命令行的工作机制和使用限制进行深入了解,错误地认为arp direct-route enable命令生成的直连路由优先级最高,使得在OSPF等多協议的联动过程中对数据通信网网络产生异常影响,因此在数据通信网的建设与维护过程中,应完善作业标准化流程,加强对网络协议联动的敏感性。
四、结束语
本文通过研究铁路综合视频监控系统中数据通信网出现次优路由的问题,结合OSPF和VRRP协议的工作原理,采用基于Route-policy与Ip-prefix的路由控制策略,解决了OSPF和VRRP协议联动过程中产生次优路由的问题,排查安全隐患,对数据通信网的工程建设和网络维护,具有一定的参考意义。
作者单位:戴俊勉 胡江云 陶慧 吉家昊 中国铁路广州局集团有限公司
参 考 文 献
[1]朱仕耿.HCNP路由交换学习指南[M].北京:人民邮电出版社,2017:490-492.
[2]华为技术有限公司.HCNA网络技术学习指南[M]. 北京:人民邮电出版社,2015:192-194.
[3] 蒋建峰.HCNA网络技术[M].北京:电子工业出版社,2018:78-85.
[4] Jeff Doyle.OSPF和IS-IS详解[M].孙余强,译.北京:人民邮电出版社,2014:196-220.
[5]朱壮普.基于MSTP和VRRP的网络高可用性技术研究与实现[J].太原学院学报(自然科学版),2018,36(04):46-51.
[6]胡江云,肖琳琳,龚芸娴,等.数据通信网VRRP与MSTP联动引发的次优路由问题分析[J].铁道通信信号,2020,56(08):59-62.
[7]戴俊勉,李铭煜,唐春英,等.铁路数据网MPLS BGP VPN双归属业务路由优化控制研究[J].铁道通信信号,2019,55(07):54-56.