CN101800677A - 一种双向转发检测报文的处理装置及方法 - Google Patents
一种双向转发检测报文的处理装置及方法 Download PDFInfo
- Publication number
- CN101800677A CN101800677A CN201010119149A CN201010119149A CN101800677A CN 101800677 A CN101800677 A CN 101800677A CN 201010119149 A CN201010119149 A CN 201010119149A CN 201010119149 A CN201010119149 A CN 201010119149A CN 101800677 A CN101800677 A CN 101800677A
- Authority
- CN
- China
- Prior art keywords
- session
- message
- unit
- tocpu
- subclauses
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种双向转发检测BFD报文的处理装置,会话协商单元,用于分配本地连接标识符LD、发送或接收报文;会话状态设置单元,用于设置本地会话信息表中会话协商单元分配的LD对应的toCpu的值;网络处理器NP,用于根据toCpu的值确定报文类型。本发明还提供了一种双向转发检测BFD报文的处理方法,采用本装置及方法,可以有效的避免BFD报文冲击CPU,提高系统的稳定性及安全性。
Description
技术领域
本发明涉及数据通信领域,特别是指一种双向转发检测(BFD)报文的处理装置及方法。
背景技术
随着通信技术的发展,传统话音交换网络向IP网络转变在网络建设中逐渐成为现实,运营商已经基本停止新建传统话音交换网络,逐渐向IP承载方向发展。但是,目前传统的IP网络是一种尽力而为的服务模型,即IP网络关注的是报文发送是否成功,而不考虑是否接收,服务质量、可靠性等都无法达到传统话音交换网络的水平。传统话音交换网络对网络链路的可靠性更敏感,在网络链路出现故障时,可以在50ms内实现主用链路与备用链路的倒换,这样,在IP网络中就需要一种技术可以快速的检测链路故障,BFD协议就是其中的一种。
目前,BFD协议有V0和V1两个版本,较早接入的网络设备只支持V0版本,新入网设备在支持V1版本基础上向下兼容V0版本。BFD V0协议中,会话主动端发送H=0的协商报文,会话被动端收到协商报文后,回复H=1的响应报文,会话主动端收到H=1的响应报文后再发送H=1的协商报文,经过3次握手后建立会话链路,双方开始发送H=1的检测报文,如果会话中的一方在足够长的时间内没有收到对方发送的检测报文,则说明链路出现故障。可以看出,当会话一端收到一个H=1的报文后,无法只根据报文内容区分出该报文是协商报文,还是检测报文,而必须参考该报文对应的会话状态机,所述会话状态机用于确定会话状态。
由于BFD需要支持快速检测,其检测报文的发送速率为毫秒级别,因此一般由网络处理器(NP)实现检测报文的发送和检测,CPU只用来处理会话协商过程。由于V0版本的缺陷,要区别出检测报文和协商报文,需要在NP上维护一个会话状态机,由于会话状态机运作复杂,对大部分NP而言是很难实现的,因此一般会话状态机只在CPU上维护,CPU通过会话状态机判断会话建立后,将会话信息整合下发到NP,所述会话信息包括根据会话协议规定的双方约定信息、收发报文频率以及本地连接标识符(LD)等,此后NP开始发送检测报文。对于收到的H=1的报文,NP可以根据报文中的Your Discriminator(YD)索引会话信息,如果索引到,即认为是检测报文,所述YD为报文发送方携带的报文接收方的LD,如果索引不到会话信息,即认为是协商报文,上送给CPU处理。
但是,这种处理方式存在一定的问题,对于H=0的报文,NP可直接发送给CPU,但是当会话双方的链路断开后,会话一端的CPU会删除会话信息,对于H=1的报文,NP无法区分是属于检测报文还是协商报文,这时,另一端的会话信息如果尚未删除,则正常发送检测报文,已经删除会话信息的会话端NP收到检测报文后,查找不到会话信息,便无法区分是检测报文还是协商报文,只能发送给CPU,检测报文以ms为单位发送,这样会对CPU造成冲击,如果是人为构造会话信息不存在的检测报文攻击,对网络系统的影响将更为严重。
发明内容
有鉴于此,本发明的主要目的在于提供一种BFD报文的处理装置及方法,可以有效的避免BFD报文对CPU的冲击,保持网络系统的稳定性及安全性。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种双向转发检测BFD报文的处理装置,包括:
会话协商单元,用于分配本地连接标识符LD,发送或接收报文;
会话状态设置单元,用于设置本地会话信息表中会话协商单元分配的LD对应的toCpu的值;
网络处理器NP,用于根据toCpu的值确定报文类型。
上述方案中,还包括:会话初始化单元,用于初始化本地会话信息表,将条目中toCpu的值初始化。
上述方案中,所述会话协商单元位于会话主动端时,具体用于:建立会话时,为会话分配LD,发送H=0的报文,将分配LD消息发送给会话状态设置单元,接收会话被动端发送的响应报文,回复H=1的协商报文;所述NP具体用于:收到H=1的报文后,根据报文中携带的YD查找本地会话信息表中的条目,根据条目toCpu的值确定报文处于协商阶段,将报文发送给CPU;所述会话协商单元位于会话被动端时,具体用于:接收H=0的报文后,给该会话分配LD,将分配LD的消息发送给会话状态设置单元,发送H=1的响应报文;所述会话状态设置单元,用于接收分配LD消息后,将LD对应的本地会话信息表条目中toCpu设置为处于协商阶段。
上述方案中,所述会话协商单元具体用于:确定建立会话链路,将建立会话链路的消息发送给会话状态设置单元;相应的,会话状态设置单元具体用于:将本地会话信息表中会话对应条目的toCpu设置为处于检测阶段。
上述方案中,还包括:会话拆除单元,用于会话链路断开时,清除会话信息。
本发明还提供了一种BFD报文的处理方法,包括:
会话协商单元分配LD、发送或接收报文,会话状态设置单元设置会话LD对应条目中toCpu的值,NP根据接收报文索引到的toCpu的值确定报文类型。
上述方案中,所述会话协商单元分配LD、发送或接收报文之前,进一步包括:会话初始化单元以LD为索引初始化本地会话信息表,所述本地会话信息表的条目包含toCpu字段,会话初始化单元将条目中toCpu设置为处于检测阶段。
上述方案中,所述会话协商单元分配LD、发送或接收报文,包括:建立会话,会话主动端的会话协商单元分配LD并发送H=0的报文,会话主动端的会话状态设置单元将本地会话信息表中LD对应条目的toCpu设置为处于协商阶段;会话被动端的会话协商单元收到H=0的报文并给会话分配LD,发送H=1的响应报文,会话被动端的会话状态设置单元将本地会话信息表中LD对应条目的toCpu设置为处于协商阶段。
上述方案中,所述设置发送报文携带的LD对应条目中toCpu的值,包括:会话协商单元确定会话链路建立后,将会话链路建立的消息发送给会话状态设置单元,会话状态设置单元将本地会话信息表中该会话LD对应条目的toCpu设置为处于检测阶段。
上述方案中,进一步包括:会话链路断开时,会话拆除单元清除会话信息。
由此可见,采用本发明提供的BFD报文的处理装置及方法,通过本地会话信息表中toCpu的值确定报文类型,从而有效的避免了检测报文对CPU的冲击。
附图说明
图1为本发明实现BFD报文的处理装置组成示意图;
图2为本发明实现BFD报文的处理方法流程示意图。
具体实施方式
本发明的基本思想是:开始建立会话时,会话协商单元为会话分配LD,发送或接收协商报文,会话状态设置单元设置LD对应条目中toCpu的值,NP根据toCpu的值确定报文类型;
其中,发送报文的过程即为一个会话。
下面通过一个优选实施例来对本发明进行详细说明,如图1所示:
本发明提供了一种防止BFD报文冲击CPU的装置,该装置包括:会话协商单元102、会话状态设置单元103和NP 105。会话协商单元102用于给会话分配本地连接标识符(LD),发送或接收协商报文;会话状态设置单元103用于设置本地会话信息表(bfdTable)中会话协商单元102分配的LD对应的toCpu的值;NP 105,用于根据toCpu的值确定报文的类型;
其中,所述bfdTable大小为本地可分配的LD的范围,其条目包含协议规定的BFD会话信息和toCpu字段,所述LD相当于bfdTable条目的索引号,所述toCpu的值为1时,表示处于协商阶段,接收的报文为协商报文,toCpu的值为0时,表示处于检测阶段,接收的报文为检测报文。
会话协商单元102、会话状态设置单元103和NP 105可以位于会话主动端,也可以位于会话被动端;
具体地,会话主动端的会话协商单元102,具体用于:建立会话时,为会话分配LD,发送H=0的报文,将分配LD消息发送给会话状态设置单元103,接收会话被动端发送的H=1的响应报文,回复H=1的协商报文,所述协商报文中包含会话主动端LD以及YD,YD即会话被动端的LD;
会话被动端的会话协商单元102,具体用于:接收H=0的报文后,给该会话分配LD并保存到本地会话信息表,将分配LD的消息发送给会话状态设置单元103,发送H=1的响应报文,所述响应报文中包含YD、即会话主动端LD,以及会话被动端LD;
相应的,会话状态设置单元103,用于接收分配LD消息后,将LD对应的本地会话信息表条目中toCpu置1;
NP 105,用于接收H=0的报文后,直接将报文发送给CPU;接收H=1的报文后,根据报文中携带的YD查找bfdTable中的条目,如果YD对应条目中toCpu的值为1,则将报文发送给CPU,如果YD对应条目中toCpu的值为0,则将报文丢弃。
具体地,会话协商单元102,用于在建立会话时,为会话分配LD,发送或接收报文,同时将分配LD的消息发送给会话状态设置单元103,所述分配是将任意未使用的LD分配给会话;确定会话可以建立后,建立会话链路并将会话链路建立的消息发送给会话状态设置单元103;
会话状态设置单元103,用于在建立会话时,将bfdTable表中会话协商单元102分配给会话的LD对应条目的toCpu的值置1;在会话链路建立后,将bfdTable表中LD对应条目的toCpu的值置0;
其中,会话协商单元102具体用于,确定会话链路建立,并将会话链路建立的消息发送给会话状态设置单元103;
相应的,会话状态设置单元103,用于收到会话链路建立的消息后将bfdTable表中会话号LD对应条目的toCpu设置为0。
该装置还包括:会话初始化单元101,用于初始化时,在NP上建立bfdTable,将bfdTable条目中的toCpu的值初始化,即将toCpu字段设置为0,其他字段值均为无效值,同时初始化条目中的会话信息。
该装置进一步包括:会话拆除单元104,用于会话断开后,清除会话信息。
本发明还提供了一种防止BFD报文冲击CPU的方法,如图2所示:
步骤201,初始化bfdTable,将各条目中toCpu的值置0;
初始化的具体过程为会话初始化单元以LD为索引,将bfdTable表中各LD对应条目的toCpu的值均置0,所述LD为bfdTable条目的索引号;
步骤202,建立会话,设置条目中报文携带的LD对应的toCpu的值。
开始建立会话,首先由会话主动端的会话协商单元任意分配一个未使用的LD,发送报文并将给会话分配LD的消息发送给会话状态设置单元,所述报文中H=0,会话状态设置单元将bfdTable表中会话协商单元分配的LD对应条目的toCpu的值置1;
会话被动端的NP收到H=0的报文后,发送给CPU,会话协商单元给该会话分配一个LD,将分配LD的消息发送给会话状态设置单元,会话状态设置单元将bfdTable表中LD对应条目的toCpu的值置1;至此,会话主动端及会话被动端的LD均已被确定。
会话被动端的会话协商单元发送响应报文并携带会话被动端的LD以及会话主动端的LD,所述响应报文中H=1;
会话主动端的NP收到H=1的响应报文后,根据响应报文中YD,即会话主动端的LD,索引bfdTable表,若表中LD对应条目的toCpu的值为1,说明此响应报文为协商报文,将响应报文发送给CPU,若表中LD条目对应的toCpu的值为0,说明此响应报文为检测报文,将报文丢弃。会话被动端的NP收到H=1的响应报文后,根据响应报文中YD,即会话被动端的LD,索引bfdTable表,若LD对应条目的toCpu的值为1,说明此响应报文为协商报文,将响应报文发送给CPU,若LD对应条目的toCpu的值为0,说明此响应报文为检测报文,将报文丢弃。
会话协商单元确定建立会话链路后,将建立会话链路的消息发送给会话状态设置单元,会话状态设置单元将bfdTable表中会话LD对应的toCpu置0,这样后续H=1的报文将不会再发送给CPU。
步骤203,会话链路断开,根据toCpu的值确定报文类型。
会话链路断开后,会话一端的会话拆除单元将会话信息清除,如果会话另一端的会话信息仍然存在,会话信息清除的一端的NP接收报文后,根据报文携带的YD,索引bfdTable条目中YD对应的toCpu的值,确定接收的报文的类型,若toCpu为0,则接收的报文为检测报文,若toCpu为1,则接收的报文为协商报文,发送给CPU。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种双向转发检测BFD报文的处理装置,其特征在于,该装置包括:
会话协商单元,用于分配本地连接标识符LD,发送或接收报文;
会话状态设置单元,用于设置本地会话信息表中会话协商单元分配的LD对应的toCpu的值;
网络处理器NP,用于根据toCpu的值确定报文类型。
2.根据权利要求1所述的装置,其特征在于,该装置还包括:
会话初始化单元,用于初始化本地会话信息表,将条目中toCpu的值初始化。
3.根据权利要求1所述的装置,其特征在于,
所述会话协商单元位于会话主动端时,具体用于:建立会话时,为会话分配LD,发送H=0的报文,将分配LD消息发送给会话状态设置单元,接收会话被动端发送的响应报文,回复H=1的协商报文;
所述NP具体用于:收到H=1的报文后,根据报文中携带的YD查找本地会话信息表中的条目,根据条目toCpu的值确定报文处于协商阶段,将报文发送给CPU;
所述会话协商单元位于会话被动端时,具体用于:接收H=0的报文后,给该会话分配LD,将分配LD的消息发送给会话状态设置单元,发送H=1的响应报文;
所述会话状态设置单元,用于接收分配LD消息后,将LD对应的本地会话信息表条目中toCpu设置为处于协商阶段。
4.根据权利要求3所述的装置,其特征在于,
所述会话协商单元具体用于:确定建立会话链路,将建立会话链路的消息发送给会话状态设置单元;
相应的,会话状态设置单元具体用于:将本地会话信息表中会话对应条目的toCpu设置为处于检测阶段。
5.根据权利要求1至4任一所述的装置,其特征在于,该装置还包括:
会话拆除单元,用于会话链路断开时,清除会话信息。
6.一种BFD报文的处理方法,其特征在于,该方法包括:
会话协商单元分配LD、发送或接收报文,会话状态设置单元设置会话LD对应条目中toCpu的值,NP根据接收报文索引到的toCpu的值确定报文类型。
7.根据权利要求6所述的方法,其特征在于,所述会话协商单元分配LD、发送或接收报文之前,进一步包括:
会话初始化单元以LD为索引初始化本地会话信息表,所述本地会话信息表的条目包含toCpu字段,会话初始化单元将条目中toCpu设置为处于检测阶段。
8.根据权利要求7所述的方法,其特征在于,所述会话协商单元分配LD、发送或接收报文,包括:
建立会话,会话主动端的会话协商单元分配LD并发送H=0的报文,会话主动端的会话状态设置单元将本地会话信息表中LD对应条目的toCpu设置为处于协商阶段;会话被动端的会话协商单元收到H=0的报文并给会话分配LD,发送H=1的响应报文,会话被动端的会话状态设置单元将本地会话信息表中LD对应条目的toCpu设置为处于协商阶段。
9.根据权利要求7所述的方法,其特征在于,所述设置发送报文携带的LD对应条目中toCpu的值,包括:
会话协商单元确定会话链路建立后,将会话链路建立的消息发送给会话状态设置单元,会话状态设置单元将本地会话信息表中该会话LD对应条目的toCpu设置为处于检测阶段。
10.根据权利要求6至9任一所述的方法,其特征在于,该方法进一步包括:
会话链路断开时,会话拆除单元清除会话信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010119149.3A CN101800677B (zh) | 2010-02-24 | 2010-02-24 | 一种双向转发检测报文的处理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010119149.3A CN101800677B (zh) | 2010-02-24 | 2010-02-24 | 一种双向转发检测报文的处理装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101800677A true CN101800677A (zh) | 2010-08-11 |
CN101800677B CN101800677B (zh) | 2015-01-28 |
Family
ID=42596181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010119149.3A Expired - Fee Related CN101800677B (zh) | 2010-02-24 | 2010-02-24 | 一种双向转发检测报文的处理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101800677B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438232A (zh) * | 2011-12-29 | 2012-05-02 | 华为终端有限公司 | 一种网络协商方法及终端 |
CN103746881B (zh) * | 2014-01-13 | 2017-03-15 | 杭州华三通信技术有限公司 | Evi网络中的邻居状态检测方法及装置 |
CN107547619A (zh) * | 2017-06-19 | 2018-01-05 | 新华三技术有限公司 | 一种定时器参数协商方法和装置 |
CN112367255A (zh) * | 2020-09-25 | 2021-02-12 | 新华三信息安全技术有限公司 | 一种bfd会话处理方法、装置、存储介质及路由设备 |
CN114513433A (zh) * | 2022-01-06 | 2022-05-17 | 新华三技术有限公司 | 一种报文处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913457A (zh) * | 2005-08-10 | 2007-02-14 | 华为技术有限公司 | 对双向转发链路进行故障检测的方法 |
CN101247270A (zh) * | 2008-03-19 | 2008-08-20 | 中兴通讯股份有限公司 | 一种实现双向转发检测的系统及方法 |
-
2010
- 2010-02-24 CN CN201010119149.3A patent/CN101800677B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913457A (zh) * | 2005-08-10 | 2007-02-14 | 华为技术有限公司 | 对双向转发链路进行故障检测的方法 |
CN101247270A (zh) * | 2008-03-19 | 2008-08-20 | 中兴通讯股份有限公司 | 一种实现双向转发检测的系统及方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438232A (zh) * | 2011-12-29 | 2012-05-02 | 华为终端有限公司 | 一种网络协商方法及终端 |
CN102438232B (zh) * | 2011-12-29 | 2014-03-12 | 华为终端有限公司 | 一种网络协商方法及终端 |
CN103746881B (zh) * | 2014-01-13 | 2017-03-15 | 杭州华三通信技术有限公司 | Evi网络中的邻居状态检测方法及装置 |
CN107547619A (zh) * | 2017-06-19 | 2018-01-05 | 新华三技术有限公司 | 一种定时器参数协商方法和装置 |
CN107547619B (zh) * | 2017-06-19 | 2020-11-06 | 新华三技术有限公司 | 一种定时器参数协商方法和装置 |
CN112367255A (zh) * | 2020-09-25 | 2021-02-12 | 新华三信息安全技术有限公司 | 一种bfd会话处理方法、装置、存储介质及路由设备 |
CN114513433A (zh) * | 2022-01-06 | 2022-05-17 | 新华三技术有限公司 | 一种报文处理方法及装置 |
CN114513433B (zh) * | 2022-01-06 | 2023-10-24 | 新华三技术有限公司 | 一种报文处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101800677B (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2448206A1 (en) | Method, system and device for transmitting video data | |
CN103297470B (zh) | 永远在线业务的处理方法、应用服务器、用户终端和系统 | |
CN101800677B (zh) | 一种双向转发检测报文的处理装置及方法 | |
CN103532822A (zh) | 消息投递的管理方法、服务器和系统 | |
CN102209039A (zh) | 一种文件传输方法及设备 | |
CN105591720A (zh) | 一种大容量高速度的北斗数据传输的方法及系统 | |
CN103905579A (zh) | 平台与终端间的通信方法、通信系统、平台及相关设备 | |
CN107645517A (zh) | 数据推送方法及装置 | |
CN101977358A (zh) | 一种数据短信的传输方法、装置及设备 | |
CN102780593A (zh) | 基于bfd协议检测链路的方法、装置和网络处理器 | |
CN104580346B (zh) | 数据传输方法及装置 | |
CN101977396B (zh) | 多媒体消息业务中实现网元业务切换的系统及方法 | |
CN106534331B (zh) | 一种基于动态端口切换的数据传输方法和系统 | |
CN103297449B (zh) | 一种文件传输方法、即时通信终端及系统 | |
CN102413191A (zh) | 一种基于浏览器的web即时通讯方法 | |
CN101778101A (zh) | 一种消息传送方法和消息传送系统 | |
CN112887312B (zh) | 一种慢协议报文处理方法及相关装置 | |
CN101548514B (zh) | 在一个移动无线电系统中交换消息的方法和设备 | |
CN107995199A (zh) | 网络设备的端口限速方法及装置 | |
CN101800682A (zh) | 一种双向转发检测方法及装置 | |
CN102263808B (zh) | 一种会话控制服务方法、装置和系统 | |
CN101795216B (zh) | 多跳双向转发检测中复位看门狗的方法及设备 | |
CN105426118B (zh) | 一种双控系统中利用串口备份心跳通道的方法 | |
CN101778055B (zh) | 一种消息处理方法和网络实体 | |
EP2757756B1 (en) | Apparatus and method for reducing transmission delay of HTTP protocol and processing load of HTTP server in wireless communications network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150128 Termination date: 20200224 |
|
CF01 | Termination of patent right due to non-payment of annual fee |