基于芯片查找表的bfd实现方法及装置的制作方法

文档序号:7750418阅读:163来源:国知局
专利名称:基于芯片查找表的bfd实现方法及装置的制作方法
技术领域
本发明涉及网络通信领域,特别涉及一种基于芯片查找表的BFD实现方法及装置。
背景技术
双向转发检测(BidirectionalForwarding Detection, BFD)协议是互联网协 议(Internet Protocol, IP)层的快速检测协议,可以检测网络各层的链路故障。而且,由 于BFD进行故障检测的简单、单一性,使得BFD能够专注于故障的快速检测,帮助网络以良 好的服务质量(Quality of Service, QoS)实现语音、视频及其它点播业务的传输,从而帮 助服务提供商为客户提供所需的高可靠性、高适用性模拟声音讯号网络电话(Voice over Internet Protocol,VoIP)及其它实时业务。因此,BFD的检测时延就成为衡量网络设备的 重要指标参数。现有的BFD数据包都是先依靠CPU软件查找转发数据表并获取发送端口,再将该 BFD数据包通过该发送端口发送,其三层转发的数据表查找流程如图1所示。首先,查找路 由表,得出数据包的下一跳的互联网协议(InternetProtocol,IP)地址;其次,根据下一跳 的IP地址查找地址解析协议(AddressResolution Protocol, ARP)表,得出下一跳的媒体 访问控制(Media AccessControl,MAC)地址;再次,根据下一跳的MAC地址查找MAC表,得 出BFD数据包的发送端口,从而将该BFD数据包由该发送端口发送出去。上述通过CPU软件查找转发数据表的方法,使得发送数据包的时间间隔较长,影 响BFD数据包转发的速度。

发明内容
本发明的主要目的是提供一种基于芯片查找表的BFD实现方法及装置,旨在加快 了 BFD数据包的转发速度。本发明提供了一种基于芯片查找表的BFD实现方法,包括以下步骤接收中央处理单元CPU发送的数据包;当数据包为双向转发检测BFD数据包时,根据BFD数据包的包头及芯片的预置使 能,获取预置的预存表中的BFD数据包发送端口 ;通过发送端口发送BFD数据包。优选地,上述接收CPU发送的数据包的步骤之前包括获取控制指令,并根据控制指令设置芯片的预置使能,芯片的预置使能包括二层 转发使能、三层转发使能。优选地,当预置使能为二层转发使能时,根据数据包的包头中目的媒体访问控制 MAC地址查找预存表中的MAC表,获取BFD数据包的发送端口。优选地,当预置使能为三层转发使能时,根据数据包的包头中目的互联网协议IP 地址查找路由表,获取下一跳的IP地址;
3
根据下一跳的IP地址查找地址解析协议ARP表,获取下一跳的MAC地址;根据该下一跳的MAC地址查找MAC表,获取BFD数据包的发送端口。优选地,上述接收CPU发送的数据包的步骤之后还包括当数据包不是BFD数据包时,丢弃数据包。本发明还提供了一种基于芯片查找表的BFD实现装置,包括接收模块,用于接收中央处理单元CPU发送的数据包;处理模块,用于当数据包为双向转发检测BFD数据包时,根据BFD数据包的包头及 芯片的预置使能,获取预置的预存表中的BFD数据包发送端口 ; 发送模块,用于通过发送端口发送BFD数据包。优选地,上述装置还包括设置模块,用于获取控制指令,并根据控制指令设置芯片的预置使能,芯片的预置 使能包括二层转发使能、三层转发使能。优选地,上述处理模块具体用于当预置使能为二层转发使能时,根据数据包的包 头中目的媒体访问控制MAC地址查找预存表中的MAC表,获取BFD数据包的发送端口。优选地,上述处理模块还具体用于当预置使能为三层转发使能时,根据数据包的 包头中目的互联网协议IP地址查找路由表,获取下一跳的IP地址;根据下一跳的IP地址查找地址解析协议ARP表,获取下一跳的MAC地址;根据该下一跳的MAC地址查找MAC表,获取BFD数据包的发送端口。优选地,上述处理模块还具体用于当数据包不是BFD数据包时,丢弃数据包。本发明基于芯片查找表的BFD实现方法及装置,通过芯片接收BFD数据包,并对其 进行查找表,实现BFD数据包的转发,不但加快了 BFD数据包的转发速度,而且减轻了现有 技术中CPU软件查表的负担。


图1是现有技术中通过CPU软件查表实现BFD的流程示意图;图2是本发明基于芯片查找表的BFD实现方法的一实施例的流程示意图;图3是本发明基于芯片查找表的BFD实现装置的一实施例的流程示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图2是本发明一种基于芯片查找表的BFD实现方法一实施例的流程示意图。本实施例一种基于芯片查找表的BFD实现方法,包括以下步骤步骤S11、接收CPU发送的数据包;交换芯片接收中央处理单元(Central Processing Unit,CPU)发送的组装好的数 据包。当该数据包为BFD数据包时,其组装流程为步骤A、组装数据包的UDP部分;通过请求评议(Request for Comments, RFC)文档对BFD检测报文进行用户数据 包协议(User Datagram Protocol, UDP)封装。该RFC文档为传输控制协议/互联网协议(Transmission Control Protocol/Internet Protocol, TCP/IP)的标准文档。步骤B、组装数据包的IP部分;将经过UDP封装的数据包进行互联网协议(Internet Protocol, IP)封装,添加目 的IP地址、源IP地址。步骤C、组装数据包的二层包头。二层包头包括BFD标识符、媒体访问控制(Media Access Control,MAC)地址及虚 拟局域网(Virtual Local Area Network, VLAN)部分。在此,可设置VLAN ID为默认的状 态,即VLAN 1。MAC地址中包括目的MAC地址、源MAC地址。步骤S12、判断该数据包是否为BFD数据包;当二层包头中存在BFD标识符,则判断该数据包为BFD数据包,转步骤S13 ;否则 判断该数据包不是BFD数据包,转步骤S15。步骤S13、根据BFD数据包的包头及芯片的预置使能,获取预置的预存表中的BFD 数据包发送端口;步骤S14、通过发送端口发送该BFD数据包;步骤S15、丢弃该数据包。上述步骤S11之前还包括步骤S10、获取控制指令,并根据该控制指令设置芯片的预置使能;该芯片的预置使能包括二层转发使能或三层转发使能。根据寄存器手册,通过获 取控制指令,并根据该控制指令设置芯片相应的寄存器值,即设置芯片的预置使能。具体的 预置使能设置要根据具体的芯片进行相应的设置,例如,某芯片的寄存器值将设置为IPMC_D0_VLAN = 0 ;V6IPMC_ENABLE = 1 ;V6L3_ENABLE = 0 ;V4L3_ENABLE = 1 ;由上述寄存器的设置,可知该芯片的预置使能为IPV4的三层转发使能。因此,当 接收到BFD数据包时,该芯片根据BFD数据包包头中的目的IP地址,依次查找路由表、ARP 表、MAC表,以获得BFD数据转发的发送端口。并通过该发送端口发送BFD数据包。上述步骤S13具体为A、当预置使能为二层转发使能时,根据数据包的包头中目的MAC地址查找预存表 中的MAC表,获取BFD数据包的发送端口 ;B、当预置使能为三层转发使能时,根据数据包的包头中目的IP地址查找路由表, 获取下一跳的IP地址;根据下一跳的IP地址查找地址解析协议ARP表,获取下一跳的MAC 地址;根据该下一跳的MAC地址查找MAC表,获取BFD数据包的发送端口。 本实施例基于芯片查找表的BFD实现方法,通过芯片接收BFD数据包,并对其进行 查找表,实现BFD数据包的转发,不但减轻了现有技术中通过CPU软件查表的负担,而且加 快了 BFD数据包的转发速度。图3是本发明基于芯片查找表的BFD实现装置一实施例的结构示意图。本实施例基于芯片查找表的BFD实现装置包括接收模块10,用于接收中央处理单元CPU发送的数据包;
5
判断模块20,用于判断该数据包是否为BFD数据包;处理模块30,用于当该数据包是BFD数据包时,根据BFD数据包的包头及芯片的预 置使能,获取预置的预存表中的BFD数据包发送端口 ;发送模块40,用于通过发送端口发送BFD数据包。上述基于芯片查找表的BFD实现装置还包括设置模块50,用于获取控制指令,并根据控制指令设置芯片的预置使能,芯片的预 置使能包括二层转发使能或三层转发使能。根据寄存器手册,通过获取控制指令,并根据该控制指令设置芯片相应的寄存器 值,即设置芯片的预置使能。例如,某芯片的寄存器值将设置为IPMC_D0_VLAN = 0 ;V6IPMC_ENABLE = 1 ;V6L3_ENABLE = 0 ;V4L3_ENABLE = 1 ;由上述寄存器的设置,可知该芯片的预置使能为IPV4的三层转发使能。因此,当 接收到BFD数据包时,该芯片根据BFD数据包包头中的目的IP地址,依次查找路由表、ARP 表、MAC表,以获得BFD数据转发的发送端口。并通过该发送端口发送BFD数据包。上述处理模块30具体用于当预置使能为二层转发使能时,根据数据包的包头中 目的媒体访问控制MAC地址查找预存表中的MAC表,获取BFD数据包的发送端口 ;当预置使能为三层转发使能时,根据数据包的包头中目的互联网协议IP地址查 找路由表,获取下一跳的IP地址;根据下一跳的IP地址查找地址解析协议ARP表,获取下 一跳的MAC地址;根据该下一跳的MAC地址查找MAC表,获取BFD数据包的发送端口。上述处理模块30还具体用于当该数据包不是BFD数据包时,丢弃该数据包。本实施例基于芯片查找表的BFD实现装置,通过芯片接收BFD数据包,并对其进行 查找表,实现BFD数据包的转发,不但减轻了现有技术中通过CPU软件查表的负担,而且加 快了 BFD数据包的转发速度。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用 本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关 的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
一种基于芯片查找表的BFD实现方法,其特征在于,包括以下步骤接收中央处理单元CPU发送的数据包;当所述数据包为双向转发检测BFD数据包时,根据BFD数据包的包头及芯片的预置使能,获取预置的预存表中的BFD数据包发送端口;通过所述发送端口发送所述BFD数据包。
2.如权利要求1所述的基于芯片查找表的BFD实现方法,其特征在于,所述接收CPU发 送的数据包的步骤之前包括获取控制指令,并根据所述控制指令设置芯片的预置使能,所述芯片的预置使能包括 二层转发使能或三层转发使能。
3.如权利要求2所述的基于芯片查找表的BFD实现方法,其特征在于,当预置使能为二 层转发使能时,根据数据包的包头中目的媒体访问控制MAC地址查找预存表中的MAC表,获 取BFD数据包的发送端口。
4.如权利要求2所述的基于芯片查找表的BFD实现方法,其特征在于,当预置使能为三 层转发使能时,根据数据包的包头中目的互联网协议IP地址查找路由表,获取下一跳的IP 地址;根据下一跳的IP地址查找地址解析协议ARP表,获取下一跳的MAC地址;根据该下一跳的MAC地址查找MAC表,获取BFD数据包的发送端口。
5.如权利要求1所述的基于芯片查找表的BFD实现方法,其特征在于,所述接收CPU发 送的数据包的步骤之后还包括当所述数据包不是BFD数据包时,丢弃所述数据包。
6.一种基于芯片查找表的BFD实现装置,其特征在于,包括接收模块,用于接收中央处理单元CPU发送的数据包;处理模块,用于当所述数据包为双向转发检测BFD数据包时,根据BFD数据包的包头及 芯片的预置使能,获取预置的预存表中的BFD数据包发送端口 ;发送模块,用于通过所述发送端口发送所述BFD数据包。
7.如权利要求6所述的基于芯片查找表的BFD实现装置,其特征在于,所述装置还包括设置模块,用于获取控制指令,并根据所述控制指令设置芯片的预置使能,所述芯片的 预置使能包括二层转发使能或三层转发使能。
8.如权利要求7所述的基于芯片查找表的BFD实现装置,其特征在于,所述处理模块具 体用于当预置使能为二层转发使能时,根据数据包的包头中目的媒体访问控制MAC地址 查找预存表中的MAC表,获取BFD数据包的发送端口。
9.如权利要求7所述的基于芯片查找表的BFD实现装置,其特征在于,所述处理模块还 具体用于当预置使能为三层转发使能时,根据数据包的包头中目的互联网协议IP地址查 找路由表,获取下一跳的IP地址;根据下一跳的IP地址查找地址解析协议ARP表,获取下一跳的MAC地址;根据该下一跳的MAC地址查找MAC表,获取BFD数据包的发送端口。
10.如权利要求6所述的基于芯片查找表的BFD实现装置,其特征在于,所述处理模块 还具体用于当所述数据包不是BFD数据包时,丢弃所述数据包。
全文摘要
本发明涉及一种基于芯片查找表的BFD实现方法,包括接收中央处理单元CPU发送的数据包;当数据包为双向转发检测BFD数据包时,根据BFD数据包的包头及芯片的预置使能,获取预置的预存表中的BFD数据包发送端口;通过发送端口发送BFD数据包。本发明对应地提出了基于芯片查找表的BFD实现装置。本发明基于芯片查找表的BFD实现方法及装置,通过芯片接收BFD数据包,并对其进行查找表,实现BFD数据包的转发,不但加快了BFD数据包的转发速度,而且减轻了现有技术中CPU软件查表的负担。
文档编号H04L12/56GK101860483SQ20101018924
公开日2010年10月13日 申请日期2010年6月1日 优先权日2010年6月1日
发明者韩辉 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1