BFD协议在移动通信核心网可靠性提升中的应用
2022-08-17李腾飞
李腾飞
(中通服咨询设计研究院有限公司,江苏 南京 210019)
0 引 言
在IP化的背景下,移动通信核心网需要充分挖掘利用有限的IP资源,并借助IP优化维持IPv4的可持续利用。核心网在功能域上分为两部分,分别是电路交换(Circuit Switch,CS)域和分组交换(Packet Switch,PS)域。CS域主要负责语音业务,通信之前资源预留,不同用户独占各自分配的资源,没有统计复用。PS域主要负责数据业务,不同的用户可以共享同样的资源,统计复用。移动通信核心网同时接入这两个域,实现核心网多元业务的同时处理。由于核心网结构复杂,同时连接大量的网络设备,链路存在故障隐患,因此需要通过双向转发检测(Bidirectional Forwarding Detection,BDF)协议在核心网中的准确部署来提升核心网的可靠性。
1 BFD协议在移动通信核心网中应用的机理
1.1 工作原理
BFD协议在两个系统之间双向转发检测,当其中一个系统没有及时接收到BFD报文时,则确定该链路中存在故障。根据实际需要设定报文发送周期,防止持续性双向检测增加网络运行负担[1]。BFD协议在网络运行过程中不具有邻居发现机制,当其发现邻居后,将信息传递给BFD模块。当BFD在规定的时间内没有接收到网络链路一端发送的报文时,则确定该链路出现问题并将信息传递给上层协议,由其做出保护决策。以中间系统到中间系统(Intermediate System-to-Intermediate System,ISIS)路由协议与BFD联动为例:一是建立对话流程,ISIS具备邻居发现机制,发现邻居后建立连接,同时将信息传递给BFD,然后BFD与ISIS形成对话连接;二是检测故障处理流程,当BFD检测到故障后,会话由Up转换成Down,将链路故障信息传递给ISIS,由ISIS进行处理决策。
1.2 工作模式
BFD协议在移动通信核心网中的应用模式包括两种,分别是异步模式与查询模式。异步模式在网络中的应用较为广泛,当系统一端超过规定时间没有接收到报文时,会话变为Down。查询模式中,系统与BFD建立对话后自身便具有链路检测能力,当该系统查询链路时,会向另一个系统发送查询报文,两个系统也可同时查询报文。如果网络中建立了数量较多的BFD会话,查询模式会检测各个系统的链路情况,其中检测链路由其他应用决定。此外,回声报文可以配合异步模式或查询模式运行,将系统端的报文反馈给对端。如果对端没有及时接收报文,则会话变为Down[2]。采用回声检测链路会影响到BFD的报文传输,其直接原路径返回报文,缩短了BFD报文发送时间,检测也更加细致,能够发现隐藏深处的故障问题。
1.3 报文格式
BFD控制报文主要由两部分组成:一是可选部分,主要作用是安全认证;二是必选部分,主要用于会话状态的控制。BFD控制报文必选部分的具体结构如图1所示。
图1 BFD控制报文必选部分具体结构
其中Vers默认值为1,表示协议的版本号。Diag表示会话状态发生变化的原因,属于诊断码。例如,Diag为0表示会话状态没有变化,Diag为1表示报文检测时间过长,Diag为2表示回声功能失效,Diag为3表示对端会话为Down等。Sta是会话状态,Sta为 0表 示 Admin Down,Sta为 1表 示 Down,Sta为2表示Init,Sta为3表示Up。此外,P与F是报文协商,C出现说明控制平面故障,A是认证功能使能,D是查询模式,M是网络为点对多模式。Detect Mult主要用于确定检测时间,Length主要显示报文长度[3]。My Discriminator为鉴别器,可以区分不同会话,两个对话端各自拥有自身的My Discriminator。Your Discriminator与My Discriminator相对应,当接收到对端的报文后,填写至Your Discriminator,建立双方的对话。Desired Min TX Interval是最小发送间隔,而Required Min RX Interval是最小接收间隔。Required Min Echo RX Interval支持对端发送的回声报文,并给出最大速率。
2 BFD协议在移动通信核心网可靠性提升中的应用方案
核心网组网采用IP技术,通过IP骨干网承载业务,连接核心网所有的业务网元,构建扁平化网络结构,网络拓展能力良好。移动通信核心网在实际运行过程中可靠性面临着考验,例如链路故障导致会话中断,信息在设备、端口延迟时间过长影响到业务处理的速率等[4]。核心网需要借助BFD协议快速双向故障检测机制加快故障修复速度,提高移动通信核心网维护管理的质量和效果。
2.1 应用设计思路
将BFD协议应用于移动通信核心网,通过发送BFD报文双向检测核心网端对端链路通信故障,可以在第一时间发现故障并及时修复通信网络,将故障链路切换至备用链路,维持核心网的永久持续运行,将链路通信故障影响范围控制在最小,提升核心网的可靠性。将BFD协议毫秒级故障检测能力与核心网其他控制协议功能进行整合,当BFD检测到故障后,核心网中其他控制协议自动处理,实现毫米级的故障处理。此外,以BFD作为辅助机制,为核心网提供故障检测服务功能。其接口简单,不直接与其他网络协议进行连接,但充分利用了其他网络协议会话机制进行核心网链路的状态检测,获取链路的运行状况后将信息反馈给其他网络协议,由其他网络协议进行故障的处理与恢复工作,从而提高了核心网的可靠性[5]。
2.2 BFD协议在核心网边缘的应用
移动通信核心网主要负责数据处理,是移动通信网络的最顶层,可以理解为一个由很多网络设备组成的超级路由器。为了控制访问与组网成本,核心网的网络设备以局域网的形式连接,借助交换机及路由器接入网络,并在相应设备上使用了虚拟路由器冗余协议(Virtual Router Redundancy Protocol,VRRP)。VRRP协议为备用机制,当核心网中的路由器出现故障后,立即由虚拟路由器接替工作,以避免核心网业务的中断。在实际应用中,备份路由接替故障路由需要大约3 s,而将虚拟路由器冗余协议与BFD协议配合应用,可将接替时间降至1 s以下[6]。核心网先接入多个路由器,然后与多个交换机连接。在交换机之间使用VRRP协议,同时在交换机与路由器之间采用BFD协议,BFD检测到的故障信息传递至VRRP,VRRP根据检测结果确定是否需要进行备用虚拟路由的切换,加快了核心网故障处理的速度。
2.3 BFD协议在核心网节点间的应用
2.3.1 BFD和内部网关协议联用
移动通信核心网中,路由器之间使用的是内部网关协议,比较常用的有开放式最短路径优先(Open Shortest Path First,OSPF)与ISIS。其中,OSPF协议为分布式链路状态协议,ISIS是链路状态路由协议。两者都使用“Hello”协议发现邻居,采用一个传播协议发送链接信息来完成链路的故障检测。BFD检测时间为毫秒级,一般小于30 ms,OSPF协议通常为2 s,ISIS协议为1 s。在核心网络中,使用BFD辅助OSPF或ISIS协议可以缩短核心网链路故障检测时间,确保核心网的可靠性[7]。BFD与内部网关协议联用实现较为容易,内部网关协议使用的是“Hello”协议进行链路状态检测,在获取检测结果后促使两个邻居之间的BFD建立会话,从而进行两个邻居之间的链路检测。一旦BFD没有启动,说明该条链路存在问题,内部网关协议获取反馈信息后做出故障处理反应。
OSPF与ISIS协议本身存在不同,在故障处理表现上有一定的差异。OSPF处于IP层上,使用的是IPv4或IPv6协议。在应用BFD协议时,只能检测IP协议的链路。在IP层发生故障后,BFD协议失效,OSPF会取消连接并重新发现邻居,建立新的路由连接。ISIS处于数据链路层,支持多种传送协议且共享路由拓扑。ISIS在核心网中通常为多拓扑结构,当ISIS与BFD协议会话建立失败后,ISIS协议启动保护机制。在多拓扑结构数据传送过程中,每个拓扑传递不同的数据类型,即每个拓扑都会启动一个BFD会话,当其中一个拓扑链路检测到故障时,ISIS接收故障信息后取消该链路并删除该路由上的数据协议,其他无故障链路不间断数据传送,同时维持拓扑中的BFD会话。ISIS多拓扑链路故障处理如图2所示。核心网中同时运行数据传送协议1、2、3,当R1与R2之间传送协议3的链路出现故障后,ISIS取消数据传送协议3,数据传送协议1与2则正常传送,其他拓扑不受影响[8]。
图2 ISIS多拓扑链路故障处理
2.3.2 BFD与快速重路由联用
快速重路由本质是路由备份技术,适用于核心网丢包、延时等业务。在传统的IP网络中,当转发链路层出现故障时,链路连接处于Down状态,快速重路由检测到故障后将信息反馈至上一层路由,同时重新计算路由,这一过程需要花费大约几秒钟[9]。移动通信核心网的规模大,局域网络中包含着大量的路由器,如果路由收敛时间过长造成故障处理反应不及时,将影响到核心网的可靠性。基于此,核心网中的快速重路由与BFD联用,可以有效解决快速重路由收敛时间过长的问题,使网络中断时间缩减至毫秒级,进一步提升核心网的可靠性[10]。快速重路由在核心网中设有一个主用接口与一个备用接口,主用接口设置BFD协议,当BFD检测到主用接口链路出现故障后,快速重路由根据BFD反馈的信息自动启用备用接口,借助该接口连接的路由接入核心网络,降低快速重路由在切换过程中花费的时间。在核心网业务容忍网络中断的时间范围内,进一步提高核心网业务的安全可靠性。
3 结 论
核心网传统的网络控制协议在故障检测及路由收敛过程中所需要的时间为秒级,导致移动通信网经常出现中断,降低了核心网的可靠性。基于此,借助BFD协议毫秒级的双向故障检测能力,将其部署在核心网的节点间或网络边缘,辅助核心网中的其他网络控制协议检测故障,加快故障检测及故障恢复的速度,从而提高移动通信核心网的可靠性。