一种基于UTN隧道的主备上联口保护切换方法及装置与流程

文档序号:14656193发布日期:2018-06-12 04:29阅读:301来源:国知局

本发明涉及通信技术领域,尤其是一种基于UTN隧道的主备上联口保护切换方法及装置。



背景技术:

网络设备一个重要的特征就是能够对相邻系统间通信故障的快速检测,以便方便快捷的建立起替代通道或其他的链路。在目前的网络一般采用慢“HELLO”机制,检测时间太长。例如:OSPF需要2s的检测时间,ISIS需要1s的检测时间。检测时间过长就意味着当通信链路出现故障时大量的信息被丢失,并且对于不允许路由协议的节点无法对链路检测。



技术实现要素:

本发明的目的是提供一种基于UTN隧道的主备上联口保护切换方法及装置,稳定高效的实现了主备上联口的保护切换,实现快速稳定的电信级保护。

为实现上述目的,本发明采用下述技术方案:

本发明第一发明提供了一种基于UTN隧道的主备上联口保护切换方法,包括以下步骤:

BFD报文发送步骤:CPU开启BFD报文发送后,CPU根据当前上联口BFD状态向FPGA内部BFD报文发送缓存区中存入相应的值,FPGA将BFD报文重组后添加标签,然后送入上联接口数据发送缓冲区,发送BFD报文到对端上联接口;

BFD报文接收步骤:CPU开启BFD报文接收后,FPGA接收到BFD报文后进行逻辑处理后向CPU发送中断,CPU接收到中断后改变BFD发送报文中BFD状态寄存器的值,FPGA根据BFD状态寄存器的数值判断是否进行主备上联口业务切换。

结合第一方面,在第一方面第一种可能的实现方式中,还包括初始化步骤:创建保护组,设定保护组绑定UTN隧道主备PW,设定保护组发送BFD报文定时器周期时间和接收BFD报文定时器周期时间,使能保护组。

结合第一方面,在第一方面第二种可能的实现方式中,所述BFD报文接收步骤具体包括,

CPU开启BFD报文接收后,FPGA开启接收BFD报文定时器,如果FPGA在接收BFD报文定时器周期内接收BFD报文,首先会检查BFD报文的标签头是否正确,如果不正确,则将此报文丢弃;

如果正确,FPGA将BFD报文的标签去掉,向CPU产生中断,CPU接收到中断后,将此设备的BFD状态由DOWN变为INIT,经过相同的过程,设备的BFD状态由INIT变为UP;

如果FPGA在接收BFD报文定时器周期内没有接收BFD报文,FPGA判断主备上联口BFD对话链路存在故障,CPU将设备的BFD状态标记为DOWN,写入FPGA内的保护转发表中,FPGA直接从表中取值,快速的进行主备上联口业务切换。

本发明第二方面提供了一种基于UTN隧道的主备上联口保护切换装置,包括分别位于主备上联口的传输侧接口、客户侧接口、分组交换单元、控制管理单元和数据处理单元;所述传输侧接口用来发送BFD报文;所述客户侧接口用来接收BFD报文;所述分组交换单元接收到客户侧接口传递的BFD报文进行逻辑处理后向CPU发送中断请求以及发送BFD报文到传输侧接口;所述控制管理单元控制BFD发送、接收功能的开启及配置BFD状态寄存器的数值,协助FPGA实现主备上联口的保护切换;所述数据处理单元接收到分组交换单元发送的数据处理中断请求后改变BFD报文状态寄存器数值。

结合第一方面,在第一方面第一种可能的实现方式中,所述分组交换单元包括BFD发送模块、BFD接收模块和保护转发表模块;

所述BFD发送模块在控制管理单元开启BFD报文发送后,启动发送BFD报文定时器,根据发送BFD报文定时器周期发送BFD报文到FPGA内部的BFD报文发送缓冲区,将BFD报文重组后添加标签发送到传输侧接口;

所述BFD接收模块在控制管理单元开启BFD报文接收后,启动接收BFD报文定时器,在接收BFD报文定时器周期内从客户侧接口接收BFD报文;

所述保护转发表模块在控制管理单元判断主备上联口的BFD对话链路存在故障后,将BFD状态修改为DOWN,并写入保护装发表中。

本发明第二方面的所述一种基于UTN隧道的主备上联口保护切换装置能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。

本发明的有益效果是,

本发明是基于UTN隧道的主备上联口保护方法,以FPGA为核心,运用FPGA作为主备上联口切换处理单元,优势在于能快速稳定的检测系统之间的链路状态,同步系统的BFD状态,保证了35ms内完成主备端口切换。

附图说明

图1是BFD控制报文格式;

图2是基于UTN隧道的主备上联口保护切换方法流程图;

图3是基于UTN隧道的主备上联口保护切换装置的结构示意图;

图4是分组交换单元的保护模块结构示意图;

图5是BFD的状态转移图。

具体实施方式

在描述技术方案之前先简单介绍BFD协议:BFD协议由IETF(国际互联网任务组)讨论修订,它作为一个新的协议标准已经被整个业界所接受和认可,在众多厂商的支持下,已经成为了一种国际标准技术。

BFD是一种简单且快速的“hello”协议,一对系统在他们之间所建立会话的通道上周期性的发送检测报文,如果某个系统在足够长的时间内没有收到对端的检测报文,则认为在这条相邻系统的双向通道的某个部分发生了故障。

BFD发送的检测报文是UDP报文,该报文定义了两种类型,分别是控制报文和回声报文(ECHO),本发明中用到的是控制报文,控制报文的格式如图1所示。

BFD检测有两种模式,分别是异步模式和查询模式,此外还有一种辅助功能的回声功能,回声功能可以和前面两个功能结合使用,本发明中用到的是异步模式。在该模式下,系统之间相互周期性的发送BFD控制报文,如果某个系统在检测时间内没有收到对端发来的BFD控制报文,就宣布会话为DOWN。

BFD通道建立分为会话初始化和会话建立两部分,会话初始化有两种模式,一种是两端都为主动方,另一种是一端为主动方,另一端为被动方,本发明中用的是两端都是主动方,会话建立是一个三次握手的过程,此后两端的状态都为Up状态,此后的状态变化根据BFD检测的状态变化而变化。

如图2所示,一种基于UTN隧道的主备上联口保护切换方法,包括以下步骤:

S1、CPU开启BFD报文发送后,CPU根据当前上联口BFD状态向FPGA内部BFD报文发送缓存区中存入相应的值,FPGA将BFD报文重组后添加标签,然后送入上联接口数据发送缓冲区,发送BFD报文到对端上联接口;

S2、CPU开启BFD报文接收后,FPGA接收到BFD报文后进行逻辑处理后向CPU发送中断,CPU接收到中断后改变BFD发送报文中BFD状态寄存器的值,FPGA根据BFD状态寄存器的数值判断是否进行主备上联口业务切换。

在保护切换方法步骤之前还包括初始化步骤:创建保护组,设定保护组绑定UTN隧道主备PW,设定保护组发送BFD报文定时器周期时间和接收BFD报文定时器周期时间,使能保护组。在本实施例中,首先A/D总线接口配置FPGA,进行BFD的基本配置。本发明实施例中可以建立32组保护组,下面以建立一组保护组的配置脚本来说明。

配置脚本命令:

#creat propw grp<pro_grp_name>

creat propw grpgrp1

#progrpbind<pro_name><m_pw><b_pw>

progrpbind grp1pw1pw1_b

#set progrpwtr<pro_name><wtr>

set progrpwtr grp110

#l2vpn pwbfd<pw_name><enable/disable>

l2vpn pwbfdpw1enable

步骤S2中,CPU开启BFD报文接收后,FPGA开启接收BFD报文定时器,如果FPGA在接收BFD报文定时器周期内接收BFD报文,首先会检查BFD报文的标签头是否正确,如果不正确,则将此报文丢弃;

如果正确,FPGA将BFD报文的标签去掉,向CPU产生中断,CPU接收到中断后,将此设备的BFD状态由DOWN变为INIT,经过相同的过程,设备的BFD状态由INIT变为UP;

如果FPGA在接收BFD报文定时器周期内没有接收BFD报文,FPGA判断主备上联口BFD对话链路存在故障,CPU将设备的BFD状态标记为DOWN,写入FPGA内的保护转发表中,FPGA直接从表中取值,快速的进行主备上联口业务切换。

如图3所示,一种基于UTN隧道的主备上联口保护切换装置,包括分别位于主备上联口的传输侧接口、客户侧接口、分组交换单元、控制管理单元和数据处理单元;所述传输侧接口用来发送BFD报文;所述客户侧接口用来接收BFD报文;所述分组交换单元接收到客户侧接口传递的BFD报文进行逻辑处理后向CPU发送中断请求以及发送BFD报文到传输侧接口;所述控制管理单元控制BFD发送、接收功能的开启及配置BFD状态寄存器的数值,协助FPGA实现主备上联口的保护切换;所述数据处理单元接收到分组交换单元发送的数据处理中断请求后改变BFD报文状态寄存器数值。

如图4所示,所述分组交换单元包括BFD发送模块、BFD接收模块和保护转发表模块;

所述BFD发送模块在控制管理单元开启BFD报文发送后,启动发送BFD报文定时器,根据发送BFD报文定时器周期发送BFD报文到FPGA内部的BFD报文发送缓冲区,将BFD报文重组后添加标签发送到传输侧接口;

所述BFD接收模块在控制管理单元开启BFD报文接收后,启动接收BFD报文定时器,在接收BFD报文定时器周期内从客户侧接口接收BFD报文;

所述保护转发表模块在控制管理单元判断主备上联口的BFD对话链路存在故障后,将BFD状态修改为DOWN,并写入保护装发表中。

如图5所示,主备上联口采用异步模式周期性互相发送BFD控制报文,当该上联口接收到DOWN报文后,该上联口BFD状态由DOWN变为INIT,并发送INIT报文到另一上联口,当该上联口接收到INIT报文后,该上联口BFD状态由INIT变为UP,主备上联口BFD状态由DOWN状态变为INIT状态后,周期性互相发送BFD报文,如果在三倍的周期时间内主上联口没有接收到BFD报文,主上联口BFD状态由UP变为DOWN状态,主上联口业务切换到备上联口;反之,如果在三倍周期内接收到BFD报文,不进行主备上联口业务切换。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1