基于网络处理器实现快速报文双向转发检测的方法和装置的制作方法

文档序号:7750069阅读:117来源:国知局
专利名称:基于网络处理器实现快速报文双向转发检测的方法和装置的制作方法
技术领域
本发明涉及数据传输通讯领域,特别涉及一种基于网络处理器实现快速报文双向 转发检测的方法和装置。
背景技术
问候(Hello)协议是一种网络层协议,它使得网络设备能够互相标识自己的身 份,并表明自己仍然处于工作状态。网络设备在接收到Hello请求后返回Hello应答。网 络设备按照指定的时间间隔发送Hello数据包,以表明自己仍处于工作状态。双向转发检测(Bidirectional Forwarding Detection, BFD)是一套用来实现快 速检测的国际标准协议,提供一种轻负荷、持续时间短的检测。与以往的其他“Hello”检测 机制相比,具有许多独到的优势。BFD协议是一个简单的“Hello”协议,在很多方面,它与那些著名的路由协议的邻 居检测部分相似。一对系统在它们之间所建立的会话的通道上周期性的发送检测报文,如 果某个系统在足够长的时间内没有收到对端的检测报文,则认为在这条到相邻系统的双向 通道的某个部分发生了故障。系统之间的发送和接收速率需要协商。在BFD协议的实现过程中,需要相应的状态机来存储本地会话的状态,然而,在当 前的路由器和交换机的系统实现中,与状态相关的操作均由上层软件,即平台来实现。这种 做法的好处是能够很容易地实现BFD的状态切换,实现简单的BFD功能。但是有一个致命 的缺陷就是由于BFD是快速检测报文,可能每隔10ms就要发送一个数据报文,而平台使 用通用的CPU来处理,由于CPU资源的限制,每台设备上最多只能同时支持5个BFD的会话 (Session),否则过高CPU占用率会导致其它的功能进程无法及时地得到足够的CPU资源。

发明内容
本发明所要解决的技术问题是提供一种基于网络处理器来实现的快速报文双向 转发监测的方法,简化平台的工作量,技术方案如下一种基于网络处理器实现快速报文双向转发检测的方法,包括在网络处理器设置环回计时器;所述网络处理器接收中央处理器发送的使能标识、发送模板报文、发送检测信息 表和统计学习表;所述网络处理器根据所述使能标识启动检测报文发送功能,根据发送模板报文启 动所述环回计时器,根据发送模板报文查询所述发送检测信息表和统计学习表得到环回计 数值;比较所述环回计数值和所述发送检测信息表的周期值是否相等,如果相等,则到 达环回计时器的发送周期,并将所述发送模板报文复制一份,将其中一份发送模板报文进 行环回,根据另一份发送模板报文和所述发送检测信息表生成检测报文,并输出。进一步地,如果环回计数值和所述发送检测信息表的周期不相等,则将所述环回计数值变化一个数值后重新写入统计学习表。进一步地,所述在网络处理器设置环回计时器,包括在网络处理器的环回口上启 用流量管理的整形功能,通过设置整形参数,使得从环回口出去的报文速率可控,以实现环 回计时器。进一步地,根据发送模板报文的索引查询所述发送检测信息表和统计学习表得到 环回计数值,包括所述网络处理器根据发送报文中的索引查找发送检测信息表,获得发送报文的相 关信息,并根据从发送检测信息表查到的关键字查找统计学习表,获取环回计数值。其中,所述模板报文包括环回模板报文的份数、定时器环回标识、用以区别使用 该环回计时器的是发送模板报文还是定时检测模板报文的内部类型值、会话队列的索引和 环回报文的流标识;或所述发送检测信息表包括查找成功或失败标识、设定的定时发送的检测周期值、 发送报文的相关信息以及用以索引统计学习表的关键字;或所述统计学习表包括对应于当前会话的环回次数和对应于当前会话的收包计数值。一种基于网络处理器实现快速报文双向转发检测的方法,包括在网络处理器设置环回计时器;所述网络处理器接收中央处理器发送的使能标识、定时检测模板报文、发送检测 信息表和统计学习表;所述网络处理器根据所述使能标识启动定时检测报文功能,根据定时检测模板报 文启动所述环回计时器,根据发送模板报文查询所述发送检测信息表和统计学习表得到环 回计数值;比较所述环回计数值和所述发送检测信息表的周期值是否相等;如果相等,则达到环回计时器的检测周期,根据统计学习表的收包计数结果进行 判断,如果收包计数结果为预设值,则将所述定时检测模板报文复制一份,其中一份用于向 所述中央处理器报告检测失败信息,其中另一份进行环回。进一步地,如果收包计数值不为所述预设值,则将所述统计学习表中的收包计数 值恢复到所述预设值,并进入下一个检测周期。一种网络处理器,包括设置模块,用于在网络处理器设置环回计时器;接收模块,用于接收中央处理器发送的使能标识、发送模板报文、发送检测信息表 和统计学习表;启动和获取模块,用于根据所述使能标识启动检测报文发送功能,根据发送模板 报文启动所述环回计时器,根据发送模板报文查询所述发送检测信息表和统计学习表得到 环回计数值;比较和输出模块,用于比较所述环回计数值和所述发送检测信息表的周期值是否 相等,如果相等,则到达环回计时器的发送周期,并将所述发送模板报文复制一份,将其中 一份发送模板报文进行环回,根据另一份发送模板报文和所述发送检测信息表生成检测报 文,并输出。
进一步地,所述比较和输出模块,还用于如果环回计数值和所述发送检测信息表 的周期不相等,则将所述环回计数值变化一个数值后重新写入统计学习表;或所述设置模块,具体用于在网络处理器的环回口上启用流量管理的整形功能,通 过设置整形参数,使得从环回口出去的报文速率可控,以实现环回计时器;或所述启动和获取模块,用于根据发送报文中的索引查找发送检测信息表,获得发 送报文的相关信息,并根据从发送检测信息表查到的关键字查找统计学习表,获取环回计 数值。一种网络处理器,包括设置模块,用于设置环回计时器;接收模块,用于接收中央处理器发送的使能标识、定时检测模板报文、发送检测信 息表和统计学习表;启动和获取模块,用于根据所述使能标识启动定时检测报文功能,根据定时检测 模板报文启动所述环回计时器,根据发送模板报文查询所述发送检测信息表和统计学习表 得到环回计数值;比较和输出模块,用于比较所述环回计数值和所述发送检测信息表的周期值是否 相等;如果相等,则达到环回计时器的检测周期,根据统计学习表的收包计数结果进行判 断,如果收包计数结果为预设值,则将所述定时检测模板报文复制一份,其中一份用于向所 述中央处理器报告检测失败信息,其中另一份进行环回。进一步地,所述比较和输出模块,还用于如果收包计数值不为所述预设值,则将所 述统计学习表中的收包计数值恢复到所述预设值,并进入下一个检测周期。本发明通过将BFD的发送和检测功能交由网络处理器实现,从而大大减轻了平台 的负担,有利于支持更多的BFD会话,大大提高了系统的性能。


图1是本发明实施例提供的一种于网络处理器实现快速报文双向转发检测的方 法的报文发送流程图;图2本发明实施例提供的另一种于网络处理器实现快速报文双向转发检测的方 法的报文检测流程图;图3是本发明实施例实现BFD快速检测报文发送与检测的详细流程图。图4是本发明实施例提供的一种网络处理器的结构示意图。图5是本发明在整个交换机体系中与各个模块之间的关系图。
具体实施例方式以下结合附图对本发明实施例进行详细的描述。本发明第一实施例提供了一种基于网络处理器实现快速报文双向转发检测的方 法,如图1所示,包括101,在网络处理器设置环回计时器;102,网络处理器接收中央处理器发送的使能标识、发送模板报文、发送检测信息 表和统计学习表;
103,网络处理器根据该使能标识启动检测报文发送功能,根据发送模板报文启动 该环回计时器,根据发送模板报文查询该发送检测信息表和统计学习表得到环回计数值; 104,比较该环回计数值和该发送检测信息表的周期值是否相等,如果相等,则判 断到达环回计时器的发送周期,并将该发送模板报文复制一份,将其中一份发送模板报文 进行环回,根据另一份发送模板报文和该发送检测信息表生成检测报文,并输出。进一步地,如果环回计数值和该发送检测信息表的周期不相等,则将该环回计数 值变化一个数值后重新写入统计学习表。进一步地,该在网络处理器设置环回计时器,包括在网络处理器的环回口上启用 流量管理的整形(shaper)功能,通过设置shaper参数,使得从环回口出去的报文速率可 控,以实现环回计时器。进一步地,根据发送模板报文的索引查询该发送检测信息表和统计学习表得到环 回计数值,包括该网络处理器根据发送报文中的索引查找发送检测信息表,获得发送报文的相关 信息,并根据从发送检测信息表查到的关键字查找统计学习表,获取环回计数值。进一步地,该模板报文包括环回模板报文的份数、环回定时器标识、用以区别使 用该环回计时器的是发送模板报文还是定时检测模板报文的内部类型值和会话队列的索 引和环回报文的流标识。进一步地,该发送检测信息表包括查找成功或失败标识、设定的定时发送的检测周期值、发送报文的相关信息以及 用以索引统计学习表的关键字。进一步地,该统计学习表包括对应于当前会话的环回次数和对应于当前会话的收包计数值。本发明第二实施例还提供了一种基于网络处理器实现快速报文双向转发检测的 方法,如图2所示,包括201,在网络处理器设置环回计时器;其中,如何设置环回计时器可以参见第一实施例的相应内容。202,该网络处理器接收中央处理器发送的使能标识、定时检测模板报文、发送检 测信息表和统计学习表;其中,定时检测模板报文、发送检测信息表和统计学习表的内容参见第一实施例 的相关内容。203,该网络处理器根据该使能标识启动定时检测报文功能,根据定时检测模板报 文启动该环回计时器,根据发送模板报文查询该发送检测信息表和统计学习表得到环回计 数值;204,比较该环回计数值和该发送检测信息表的周期值是否相等;如果相等,则判 断达到环回计时器的检测周期,根据统计学习表的收包计数结果进行判断,如果收包计数 结果为预设值,则将该定时检测模板报文复制一份,其中一份用于向该中央处理器报告检 测失败信息,其中另一份进行环回。进一步地,该方法还包括如果收包计数值不为该预设值,则将该统计学习表中的 收包计数值恢复到该预设值,并进入下一个检测周期。
其中,网络处理器可以适用于交换机、路由器或其它网络转发设备。下面以当前国内设备制造厂商的主流网络处理器芯片为例,本发明实施例的具体实施方案如下为了在网络处理器中实现环回计时器的功能,需要对网络处理器做相应的配置, 具体配置可以如下在网络处理器的环回(Ioopback) 口上启用流量管理(Traffic Manager, TM)的 shaper功能,通过设置shaper参数,使得从环回口出去的报文速率可控。CPU向网络处理器发送模板报文,网络处理器中的微码将模板报文发往设置的环 回口,此后模板报文不断地在网络处理器内部环回。由于环回口启了 shaper功能,报文将 定时地在网络处理器内部环回。Shaper功能只能配置在L0,Li,L2,L3等4个层次上。物 理的环回口有3个,相当于对应的L2级别上可以有3个环回口。L3级别的shaper参数可 以配置256个特征(profile)。shaper参数就配置在L3层上,每一层配置shaper参数时需 要配置一个基准速率(base rate)。基准速率是LX这个级别所有的shaper参数共用的,是 层级别的全局参数。在本实施例中配置的base rate = 5150。由上面的参数配置可得每 次报文的环回间隔为10/1536ms,这样就实现了每一个定时器的时间单位(IOms)整个1536 个BFD会话的队列均被扫描一次。需要说明的是,本示例中,网络处理器可以支持1536个会 话,但在实际应用中,网络处理器可以支持的会话数可以基于网络处理器自身的能力而定, 可以多于1536个,也可以少于1536个。为了在网络处理器中实现定时发送BFD检测报文,需要预先设计好模板报文、发 送检测信息表和统计学习表。通常情况下,网络处理器只是对于接收到的数据报文进行处理,然后根据查找到 的相应表项做转发处理。为了实现定时发送BFD检测报文,就需要一个内容为空白的模板 报文来模拟网络处理器的收包过程,然后根据查得发送检测信息表的相关内容将数据填入 模板报文发送出去,同时,将模板报文复制一份继续环回,以维持定时器的功能。其中,模板 报文的结构如下 1)环回模板报文的份数,在本示例中可以用2个字节表示,其数值可以是1。2)定时器头部标识,用来识别该报文为环回后的模板报文,而不是从网络收到的 报文。3)内部的类型值(Packetjype),主要是为了区别使用该环回计时器的是发送模 板报文还是定时检测模板报文,例如,当内部类型值为1时,表示使用该环回计时器的是发 送模板报文;当内部类型值为O时,表示使用该环回计时器的是定时检测模板报文。4)会话队列的索引(Index),用来直接查找会话的信息。5)环回时需要使用的流标识(FLOW ID),该标识确定的该数据流在环回过程中按 照事先的配置信息以约定的速率进行传输,进而实现定时。6)报文的内容。为了更有效地定时发送BFD检测报文,主要的内容有用于交换网 络处理器的Higig头部,目的媒体访问控制(DMAC, Destination Media Access Control) 和源媒体访问控制(Source Media AccessControl,SMAC)等报文的二层和三层的内容,需 要支持的是,报文的四层协议是用户数据包协议(User Datagram Protocol,UDP),而UDP协 议的后面是BFD报文的控制内容,这部分内容是需要严格按照BFD协议来实现的。对于BFD协议中定时发送检测报文和定时检测接收报文的功能,主要需要2个表 项,一个是发送检测信息表,该表存储的是发送报文的信息;另一个是统计学习表,该表存 储的是环回次数的信息,在每次环回扫描队列时,如果环回计数值与发送或者检测周期相等则进入发送或者检测流程,环回计数值清O ;如果不等,就把环回计数值加1。需要说明的 是,环回计数值只是为了举例需要,实际应用中,环回计数值的初始值也可以不是0,而是其 他数值,环回计数值的变化可以不仅仅限于加1,也可以是加2、加3,并且并不限于是加法, 可以是减法等其他算法,最终只要能够实现对于整个队列的遍历即可。对于发送检测信息表,它的查找关键字就是存放在模板报文中的会话队列的索弓丨,用该索引来查找会话的对应信息。该表内容主要包括以下部分键值定时环回发送/检测模版报文中的Current BFD entry Index。

字节位偏说明 偏移 移 1)查找成功或失败标识,如果标识置位表示查找后得到有效结果,否则,表示没找 到相关信息。2)定时发送检测报文和定时检测接收报文的区别标识,可以用该标识的O和1来 表示查找结果为定时发送检测报文要使用的结果还是定时检测接收报文要使用的结果,具 体可以根据实际情况设定。3)周期值,表示对于某个固定的会话用户配置或者设定的发送和检测间隔,即需 要的环回计数的次数。例如发送的周期值是3,则需要报文环回3圈之后再发送。4)发送报文的相关信息。这部分信息主要是为了发送报文时使用的,包括报文的 Higig相关信息,如mod,端口(port)等,二三层相关信息,介质访问控制(Media Access Control,MAC)和IP等,以及相关的UDP和BFD数据部分的信息,这些信息是用平台在建立 会话之后传递下来的。5)必要的进一步查找的关键字,在有些情况下,还需要使用表项的关键字进行一 次查统计学习表,该关键字的内容也要存在该发送检测信息表中。对于统计学习表而言,该表是为了记录每个会话当前以及经过了几个时间点,通 过与发送检测信息表中的周期值相比较,得出是否需要进行发送或者检测操作,它的查找 关键字主要是会话的两个标识以及一个用来区分是定时发送还是检测定时的字段。它主要 包括以下内容键值BFD 会话对应的 Your Discreaminator 和 My Discreaminator 以及类型 (type) 1)对应于当前会话的环回次数,即当前经历时间的记录;2)对应于当前会话的收包计数值,记录该会话共收到多少检测数据包。在完成以上设置后,以下将在网络处理器上实现BFD报文的发送,接收与检测,如 图4所示,具体的实现过程有如下CPU下发BFD功能的使能标识,模板报文和相关的BFD会话的表项。其中,BFD的 使能标识表示BFD检测功能的启用,下发模板报文为启动定时器同时开始扫描整个队列, 如果没有下发表项,那么队列为空,无论怎么检查都不会发送报文。当下发表项后可以根据 表项的内容实现报文发送检测等功能。处理器检测是否为BFD发送模板报文/定时检测模板报文(301),如果是不是,进入其他流程(302),因与本发明无关,在此不再赘述。然后判断BFD标识使能(303),如果 否,则丢弃模板报文(304),如果是,则使用模板报文中的索引查找发送检测信息表(305), 并判断发送检测信息表是否有效(306),如果有效,则根据发送检测信息表的关键字查找统 计学习表(307),如果无效,则对模板报文进行环回(318)。具体地,通常当网络处理器收到 模板报文时,通常为2个模板报文,一个用于定时发送检测报文,另一个用于定时接收检测 报文,其中,该2个模板报文可以共用一个环回计时器通道,还可以使用不同的环回计时器 通道。当网络处理器接收到发送模板报文时,会根据报文中的索引查找发送检测信息表,获 得发送报文的相关信息。同时,根据查到的关键字查找统计学习表;如果没有查到发送检测 信息表,则表示没有该BFD会话,直接环回模板报文即可。如果查到发送检测信息表,要先 比较统计学习表中的环回计数值是否与发送检测信息表中的周期值相等(308),如果相等, 则表示到达发送或者检测周期,环回计数值清0 (310),否则,则表示还没有到达发送或者检 测周期,此时,将环回计数值加1(309)后重新写入统计学习表中去(317),然后环回模板报 文即可(318)。网络处理器需要判断模板报文是否为定时检测模板报文(311),如果不是,则对于 到达发送周期的发送模板报文,先将模板报文复制一份,这样就有了两份模板报文。其中一 份根据查发送检测信息表所得的结果信息(准确吗?)封装成不同的BFD报文发送出去 (312和316),另一份模板报文则进入环回队列。需要说明的是,所有环回的报文都需要在 模板报文的索引加1,这样网络处理器再次接收到的模板报文的索引与上一次不同,查得的 表项结果也就不同,即代表了不同的BFD会话。由于系统最多支持1536个会话,当索引的值 达到1536时就自动清0,这样就形成了循环队列,根据环回计时器的设置可知,在每个IOms 内,网络处理器均对整个队列的1536项扫描一次,实现了定时机制。对于到达检测周期的定时检测模板报文,要根据统计学习表的收包计数值是否为 0进行判断(313),如果收包计数值为0,表示在一定的时间内没有收到检测报文,则需要 向CPU报告,此时,需要复制一份模板报文,一份用以进行环回,另一份用以报告检测失败 消息(314)。如果收包计数结果不为0,则表示检测成功,便将统计学习表中的收包计数清 0(315),然后更新统计学习表(317),即将统计学习表中的环回计数清0,继续下一个检测 周期。由于在BFD协议中,BFD会话的建立是由三次握手的协商过程完成的,而在会话的 协商过程中,有一部分报文需要上送给CPU进行会话状态的处理。此外,在BFD的会话建立 之后,还会有一些关于参数变化的报文也需要上送处理。这样接收BFD报文的处理流程主 要就分为对于已经建立会话的普通BFD报文,计数后丢弃;对于为建立会话或者会话状态 不是up的报文直接上送;而对于会话建立后的一些参数变化的报文,则计数后上送。基于与方法相同的发明构思,本发明实施例提供了一种网络处理器,该网络处理 器可以适用于交换机、路由器或其它网络转发设备,如图5所示,该网络处理器包括设置模块,用于在网络处理器设置环回计时器;接收模块,用于接收中央处理器发送的使能标识、发送模板报文、发送检测信息表 和统计学习表;启动和获取模块,用于根据该使能标识 启动检测报文发送功能,根据发送模板报 文启动该环回计时器,根据发送模板报文查询该发送检测信息表和统计学习表得到环回计数值;比较和输出模块,用于比较该环回计数值和该发送检测信息表的周期值是否相 等,如果相等,则到达环回计时器的发送周期,并将该发送模板报文复制一份,将其中一份 发送模板报文进行环回,根据另一份发送模板报文和该发送检测信息表生成检测报文,并 输出。进一步地,该比较和输出模块,还用于如果环回计数值和该发送检测信息表的周 期不相等,则将该环回计数值变化一个数值后重新写入统计学习表。进一步地,该设置模块,具体用于在网络处理器的环回口上启用流量管理的 shaper功能,通过设置shaper参数,使得从环回口出去的报文速率可控,以实现环回计时器。进一步地,启动和获取模块,用于根据发送模板报文的索引查询该发送检测信息 表和统计学习表得到环回计数值,包括该启动和获取模块根据发送报文中的索引查找发送检测信息表,获得发送报文的 相关信息,并根据从发送检测信息表查到的关键字查找统计学习表,获取环回计数值。基于与方法相同的发明构思,本发明实施例还提供了另一种网络处理器,该网络 处理器可以适用于交换机、路由器或其它网络转发设备,如图4所示,该网络处理器包括设置模块,用于设置环回计时器;接收模块,用于接收中央处理器发送的使能标识、定时检测模板报文、发送检测信 息表和统计学习表;启动和获取模块,用于根据该使能标识启动定时检测报文功能,根据定时检测模 板报文启动该环回计时器,根据发送模板报文查询该发送检测信息表和统计学习表得到环 回计数值;比较和输出模块,用于比较该环回计数值和该发送检测信息表的周期值是否相 等;如果相等,则达到环回计时器的检测周期,根据统计学习表的收包计数结果进行判断, 如果收包计数结果为预设值,则将该定时检测模板报文复制一份,其中一份用于向该中央 处理器报告检测失败信息,其中另一份进行环回。进一步地,该比较和输出模块,还用于如果收包计数值不为该预设值,则将该统计 学习表中的收包计数值恢复到该预设值,并进入下一个检测周期。如图5所示,本发明与现有技术之间的不同在于,现有技术只是在上层控制层和 交换芯片之间实现BFD功能,而本发明将BFD的发送和检测功能交由网络处理器实现,从而 大大减轻了平台的负担,有利于支持更多的BFD会话,大大提高了系统的性能。
权利要求
一种基于网络处理器实现快速报文双向转发检测的方法,其特征在于,包括在网络处理器设置环回计时器;所述网络处理器接收中央处理器发送的使能标识、发送模板报文、发送检测信息表和统计学习表;所述网络处理器根据所述使能标识启动检测报文发送功能,根据发送模板报文启动所述环回计时器,根据发送模板报文查询所述发送检测信息表和统计学习表得到环回计数值;比较所述环回计数值和所述发送检测信息表的周期值是否相等,如果相等,则到达环回计时器的发送周期,并将所述发送模板报文复制一份,将其中一份发送模板报文进行环回,根据另一份发送模板报文和所述发送检测信息表生成检测报文,并输出。
2.如权利要求1所述的方法,其特征在于,如果环回计数值和所述发送检测信息表的 周期不相等,则将所述环回计数值变化一个数值后重新写入统计学习表。
3.如权利要求1所述的方法,其特征在于,所述在网络处理器设置环回计时器,包括 在网络处理器的环回口上启用流量管理的整形功能,通过设置整形参数,使得从环回口出 去的报文速率可控,以实现环回计时器。
4.如权利要求1所述的方法,其特征在于,根据发送模板报文的索引查询所述发送检 测信息表和统计学习表得到环回计数值,包括所述网络处理器根据发送报文中的索引查找发送检测信息表,获得发送报文的相关信 息,并根据从发送检测信息表查到的关键字查找统计学习表,获取环回计数值。
5.如权利要求1-4任意一项所述的方法,其特征在于,所述模板报文包括环回模板报文的份数、定时器环回标识、用以区别使用该环回计时 器的是发送模板报文还是定时检测模板报文的内部类型值、会话队列的索引和环回报文的 流标识;或所述发送检测信息表包括查找成功或失败标识、设定的定时发送的检测周期值、发送 报文的相关信息以及用以索引统计学习表的关键字;或所述统计学习表包括对应于当前会话的环回次数和对应于当前会话的收包计数值。
6.一种基于网络处理器实现快速报文双向转发检测的方法,其特征在于,包括在网络处理器设置环回计时器;所述网络处理器接收中央处理器发送的使能标识、定时检测模板报文、发送检测信息 表和统计学习表;所述网络处理器根据所述使能标识启动定时检测报文功能,根据定时检测模板报文启 动所述环回计时器,根据发送模板报文查询所述发送检测信息表和统计学习表得到环回计 数值;比较所述环回计数值和所述发送检测信息表的周期值是否相等;如果相等,则达到环回计时器的检测周期,根据统计学习表的收包计数结果进行判断, 如果收包计数结果为预设值,则将所述定时检测模板报文复制一份,其中一份用于向所述 中央处理器报告检测失败信息,其中另一份进行环回。
7.如权利要求6所述的方法,其特征在于,还包括如果收包计数值不为所述预设值, 则将所述统计学习表中的收包计数值恢复到所述预设值,并进入下一个检测周期。
8.一种网络处理器,其特征在于,包括设置模块,用于在网络处理器设置环回计时器;接收模块,用于接收中央处理器发送的使能标识、发送模板报文、发送检测信息表和统 计学习表;启动和获取模块,用于根据所述使能标识启动检测报文发送功能,根据发送模板报文 启动所述环回计时器,根据发送模板报文查询所述发送检测信息表和统计学习表得到环回 计数值;比较和输出模块,用于比较所述环回计数值和所述发送检测信息表的周期值是否相 等,如果相等,则到达环回计时器的发送周期,并将所述发送模板报文复制一份,将其中一 份发送模板报文进行环回,根据另一份发送模板报文和所述发送检测信息表生成检测报 文,并输出。
9.如权利要求8所述的网络处理器,其特征在于,所述比较和输出模块,还用于如果环 回计数值和所述发送检测信息表的周期不相等,则将所述环回计数值变化一个数值后重新 写入统计学习表;或所述设置模块,具体用于在网络处理器的环回口上启用流量管理的整形功能,通过设 置整形参数,使得从环回口出去的报文速率可控,以实现环回计时器;或所述启动和获取模块,用于根据发送报文中的索引查找发送检测信息表,获得发送报 文的相关信息,并根据从发送检测信息表查到的关键字查找统计学习表,获取环回计数值。
10.一种网络处理器,其特征在于,包括设置模块,用于设置环回计时器;接收模块,用于接收中央处理器发送的使能标识、定时检测模板报文、发送检测信息表 和统计学习表;启动和获取模块,用于根据所述使能标识启动定时检测报文功能,根据定时检测模板 报文启动所述环回计时器,根据发送模板报文查询所述发送检测信息表和统计学习表得到 环回计数值;比较和输出模块,用于比较所述环回计数值和所述发送检测信息表的周期值是否相 等;如果相等,则达到环回计时器的检测周期,根据统计学习表的收包计数结果进行判断, 如果收包计数结果为预设值,则将所述定时检测模板报文复制一份,其中一份用于向所述 中央处理器报告检测失败信息,其中另一份进行环回。
11.如权利要求10所述的网络处理器,其特征在于,所述比较和输出模块,还用于如果 收包计数值不为所述预设值,则将所述统计学习表中的收包计数值恢复到所述预设值,并 进入下一个检测周期。
全文摘要
本发明公开了一种基于网络处理器实现快速报文双向转发检测的方法和装置,属于数据传输通讯领域。该方法包括在网络处理器设置环回计时器;网络处理器接收中央处理器发送的使能标识、发送模板报文、发送检测信息表和统计学习表;根据使能标识启动检测报文发送功能,根据发送模板报文启动所述环回计时器,根据发送模板报文查询发送检测信息表和统计学习表得到环回计数值;比较环回计数值和所述发送检测信息表的周期值是否相等,如果相等,则到达环回计时器的发送周期,并将发送模板报文复制一份,将其中一份发送模板报文进行环回,根据另一份发送模板报文和所述发送检测信息表生成检测报文,并输出。本发明的技术方案提高了系统的性能。
文档编号H04L12/56GK101848223SQ20101018677
公开日2010年9月29日 申请日期2010年5月25日 优先权日2010年5月25日
发明者商志彪 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1