CN100349424C - 一种链路状态的检测方法 - Google Patents
一种链路状态的检测方法 Download PDFInfo
- Publication number
- CN100349424C CN100349424C CNB031499104A CN03149910A CN100349424C CN 100349424 C CN100349424 C CN 100349424C CN B031499104 A CNB031499104 A CN B031499104A CN 03149910 A CN03149910 A CN 03149910A CN 100349424 C CN100349424 C CN 100349424C
- Authority
- CN
- China
- Prior art keywords
- user
- message
- link
- state
- response
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 8
- 238000001514 detection method Methods 0.000 claims abstract description 41
- 230000000737 periodic effect Effects 0.000 claims description 4
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种链路状态的检测方法,设置一个独立于控制模块所处硬件的加速模块,包括A)加速模块接收来自用户的链路检测报文;B)记录该用户链路检测报文接收状态,判断链路检测报文是用户请求回应报文还是用户回应应答报文,如果是用户请求回应报文,则向该用户返回回应报文,执行步骤C,如果是用户回应应答报文,则直接执行步骤C;C)控制模块读取所述记录的用户链路检测报文接收状态,根据读取的用户链路检测报文接收状态确定对应链路的状态。本发明可以有效降低接入服务器进行链路检测时CPU的负荷,从而提高系统的性能,增强系统的健壮性。
Description
技术领域
本发明涉及接入技术,具体地说,涉及对等实体间链路状态的检测方法。
背景技术
在Internet的接入服务中,接入服务器和每一个接入用户之间按照接入协议维护每一条链路的链路状态。接入协议可以是点到点(PPP)协议或各种承载协议,例如,承载于异步传输模式点到点(PPP over ATM)协议,承载于以太网点到点(PPP over Ethernet)协议。
当用户通过接入服务器接入到网络时,在用户和接入服务器之间建立链路。当链路建立好之后,根据接入协议按如下方法检测链路的状态:服务器和用户以一定的时间间隔互发请求回应报文,并在接收到对方的请求回应报文后,回送一个回应应答报文。如果链路的一方长时间接收不到对方的请求回应报文,或者当对方响应的回应应答报文有错,或者没有响应,则认为链路发生了故障。链路的任何一方认为链路发生故障时都会导致链路的拆除。
上述检测链路的状态的方法的实现原理如图1所示。接入服务器包括控制模块和数据转发处理模块,控制模块通常由软件实现,用以完成对设备的控制以及控制报文的处理,负责各种用户信息、转发路由表、链路状态等信息的转发和维护,因此来自用户报文中的所有控制报文、链路检测报文即上述检测链路状态的请求回应报文、以及回应应答报文都交给控制模块处理。数据转发处理模块通常由硬件实现,利用上述信息完成用户数据报文的转发。
随着需求的增加,接入服务器所接入的用户数量越来越多,并发的用户数可能高达数千。接入服务器的控制模块需要同时检测数千个链路,收发大量的报文,极大地增加了CPU的负荷。一旦CPU由于负荷过大,不能及时发出请求回应报文,也不能及时响应用户的请求回应报文时,将会导致大量用户链路被拆除,从而导致用户上网中断。
发明内容
本发明的目的在于提供一种链路状态的检测方法,以在维护链路时降低接入服务器CPU的负荷。
本发明通过以下技术方案实现:
一种链路状态的检测方法,设置一个独立于控制模块所处硬件的加速模块,该方法包括以下步骤:
A)加速模块接收来自用户的用户请求回应报文和用户回应应答报文;
B)记录该用户对应的表示是否长时间没有接收到用户请求回应报文或用户回应应答报文的接收状态,如果接收到的是用户请求回应报文,则向该用户返回回应应答报文,执行步骤C,如果接收到的是用户回应应答报文,则直接执行步骤C;
C)控制模块读取所述记录的接收状态,根据读取的接收状态确定对应链路的状态。
所述步骤C进一步包括,由加速模块定时刷新每个用户对应的所述接收状态,控制模块判断是否长时间未接收到来自用户的用户请求回应报文或用户回应应答报文,如果是,判定链路工作不正常,否则,判定链路正常。
较佳地,步骤A进一步包括,接收到用户请求回应报文或用户回应应答报文后,从用户请求回应报文或用户回应应答报文中提取用户信息,根据用户信息检查用户的链路是否处于打开状态,如果是则执行步骤B,否则丢弃所接收的报文。
较佳地,步骤A和B之间进一步包括,判断接收的报文是否符合接入协议要求,如果是,则执行步骤B,否则丢弃所接收的报文。
所述记录接收状态包括,设置所述接收状态为一计数值。
所述定时刷新接收状态包括,定时地将计数值递减,所述判断是否长时间未接收到来自用户的用户请求回应报文或用户回应应答报文包括,判断计数值是否到达预定的阈值。
所述步骤C进一步包括,由控制模块向用户发送请求回应报文。
所述接收状态存储于用户状态表。
本发明与现有技术相比较,具有以下特点:现有技术收发链路检测报文都是由运行在控制模块CPU上的软件完成的,每接收一个数据报文,CPU就需要从外部设备读取一个完整的数据报文,这个过程需占用数百个指令周期;而本发明由独立的加速模块收发链路检测报文,控制模块的CPU只需从报文接收状态获知链路是否正常,不必读取整个数据报文,对每个数据报文的处理只需占用CPU几个指令周期。因此,本发明可以有效降低接入服务器进行链路检测时CPU的负荷,从而提高系统的性能,增强系统的健壮性。
附图说明
图1为现有技术链路检测原理图。
图2为本发明链路检测原理图。
图3为加速模块处理报文的流程图。
具体实施方式
由于现有技术中,接入服务器中控制模块不仅处理来自用户的控制报文,而且处理接入服务器和用户之间的链路检测报文。为了降低接入服务器中控制模块的CPU负担,本发明通过一加速模块来处理链路检测报文,控制模块通过记录的链路检测报文接收状态判定链路是否正常。以下以PPP链路状态检测为例详细说明本发明。
参见图2所示,图2为本发明原理图。加速模块接收来自用户的请求回应报文,即LCP-Echo-Request报文,同时对LCP-Echo-Request报文,可以返回回应应答报文,即LCP-Echo-Reply报文,进一步地,还可以接收用户的LCP-Echo-Reply报文,加速模块接收到上述报文后进行记录。该加速模块可用硬件实现,也可用软件实现,较佳地,为降低CPU的负担,采用硬件实现。控制模块只处理控制报文,也可根据应用的需要向用户发送接入服务器的LCP-Echo-Request报文,例如,按PPP协议定期地发送,也可在控制模块的CPU负荷较轻的时候发送。
为便于记录和查询链路检测报文的接收状态,建立一用户状态表,该表中记录的个数与接入的用户数一致,每个记录对应一个用户,表项内容包括:用于指示用户对应的PPP链路当前是否处于打开(opened)状态的链路状态项,用于指示最近是否接收到对应用户的LCP-Echo-Request或LCP-Echo-Reply报文的链路检测报文接收状态项。例如,表项中的“链路状态”使用一个比特,‘1’表示链路处于opened状态,‘0’表示链路处于closed状态;“链路检测报文接收状态”用两个比特,“00”表示最近没有接收过用户的LCP-Echo-Request或LCP-Echo-Reply报文,其他值表示接收过。在系统复位初始化的时候表项的所有内容都要被清0。
参见图3所示,图3为加速模块处理报文的流程图。其具体步骤如下:
步骤301,为了保证用户状态表实时地反映所记录的信息,对用户状态表进行刷新,当刷新时间到时,执行步骤302,检查用户状态表中各个用户的“链路检测报文接收状态”是否为“00”,如果某个用户的不是“00”,则将用户状态表中该用户的“链路检测报文接收状态”减1;对“链路检测报文接收状态”已经是“00”的不做任何修改,如此循环,直至用户状态表中所有记录被刷新。当刷新时间未到时,则执行步骤303;
步骤303,由加速模块判断所收到的报文是否是链路检测报文,如果是,则执行步骤304,否则结束处理;
步骤304,从链路检测报文提取用户信息,并根据用户信息查找用户状态表;
步骤305,根据用户状态表的链路状态项判断用户链路是否处于打开状态,如果是则执行步骤306,否则丢弃该报文;
步骤306,判断链路检测报文是否符合PPP接入协议要求,如果是则执行步骤307,否则丢弃该报文;
步骤307,将用户状态表中该用户的链路检测报文接收状态设置一计数值,以通过计数值的变化判断是否长时间未收到链路检测报文,例如,设置链路检测报文接收状态为11,每进行一次刷新时,链路检测报文接收状态减1,当链路检测报文接收状态为00时,则表明在从11减至00的3个刷新周期内没有接收过用户的链路检测报文;
步骤308,判断收到的链路检测报文是否为用户的LCP-Echo-Request报文,如果是,则代理控制模块向用户发送LCP-Echo-Reply报文,否则结束处理。
由于PPP链路的建立和维护是通过状态机实现的,按照RFC1661协议,一个状态机包含10个状态,控制模块为每个用户(对应一条用户PPP链路)分配一个状态机,当用户对应的状态机处于Opened状态时,将链路状态项设置为‘1’,否则设置为‘0’,上述用户状态表的链路状态项就是控制摸根据用户PPP链路对应的状态机处理结果记录的。
控制模块定时地读取用户状态表中链路检测报文接收状态,判断对应的用户是否长时间没有向接入服务器发送LCP-Echo-Request和LCP-Echo-Reply报文,如果是,则判定链路不正常,并确定是否需要向用户发送LCP-Echo-Request报文,或者是否需要拆除用户PPP链路,否则判定链路正常。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,本发明也可应用于其他检测。例如,利用ARP包(或PING包)来检测一个用户是否在线;Portal认证方式下,服务器对用户的检测;MPLS协议草案中检测数据在线(Detecting Data Plane Liveliness in MPLS),原理和这个PPP链路检测是相同。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1、一种链路状态的检测方法,其特征在于,设置一个独立于控制模块所处硬件的加速模块,该方法包括以下步骤:
A)加速模块接收来自用户的用户请求回应报文和用户回应应答报文;
B)记录该用户对应的表示是否长时间没有接收到用户请求回应报文或用户回应应答报文的接收状态,如果接收到的是用户请求回应报文,则向该用户返回回应应答报文,执行步骤C,如果接收到的是用户回应应答报文,则直接执行步骤C;
C)控制模块读取所述记录的接收状态,根据读取的接收状态确定对应链路的状态。
2、如权利要求1所述的检测方法,其特征在于,所述步骤C进一步包括,由加速模块定时刷新每个用户对应的所述接收状态,控制模块根据所述接收状态判断是否长时间未接收到来自用户的用户请求回应报文或用户回应应答报文,如果是,判定链路工作不正常,否则,判定链路正常。
3、如权利要求1或2所述的检测方法,其特征在于,步骤A进一步包括,接收到用户请求回应报文或用户回应应答报文后,从用户请求回应报文或用户回应应答报文中提取用户信息,根据用户信息检查用户的链路是否处于打开状态,如果是则执行步骤B,否则丢弃所接收的报文。
4、如权利要求1或2所述的检测方法,其特征在于,步骤A和B之间进一步包括,判断接收的报文是否符合接入协议要求,如果是,则执行步骤B,否则丢弃所接收的报文。
5、如权利要求2所述的检测方法,其特征在于,所述记录接收状态包括,设置所述接收状态为一计数值。
6、如权利要求5所述的检测方法,其特征在于,
所述定时刷新接收状态包括,定时地将计数值递减,
所述判断是否长时间未接收到来自用户的用户请求回应报文或用户回应应答报文包括,判断计数值是否到达预定的阈值。
7、如权利要求1所述的检测方法,其特征在于,所述步骤C进一步包括,根据需要由控制模块向用户发送请求回应报文。
8、如权利要求1所述的检测方法,其特征在于,所述接收状态存储于用户状态表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031499104A CN100349424C (zh) | 2003-07-29 | 2003-07-29 | 一种链路状态的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031499104A CN100349424C (zh) | 2003-07-29 | 2003-07-29 | 一种链路状态的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1578234A CN1578234A (zh) | 2005-02-09 |
CN100349424C true CN100349424C (zh) | 2007-11-14 |
Family
ID=34579701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031499104A Expired - Fee Related CN100349424C (zh) | 2003-07-29 | 2003-07-29 | 一种链路状态的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100349424C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1909472B (zh) * | 2005-08-05 | 2010-05-05 | 华为技术有限公司 | 一种基于主、备pos接口的状态检测方法 |
CN100558051C (zh) | 2005-08-10 | 2009-11-04 | 华为技术有限公司 | 对双向转发链路进行故障检测的方法 |
CN100446470C (zh) * | 2006-01-19 | 2008-12-24 | 华为技术有限公司 | 宽带以太网操作与维护实现方法 |
CN101052037B (zh) * | 2006-05-10 | 2010-08-18 | 华为技术有限公司 | 一种ip承载网的会话管理控制方法 |
CN101325793B (zh) * | 2007-06-13 | 2012-07-04 | 中兴通讯股份有限公司 | 一种无线通信系统中探测受限链路的方法 |
CN101166081B (zh) * | 2007-08-30 | 2010-08-18 | 杭州华三通信技术有限公司 | 一种探测链路极性的方法、系统及设备 |
CN104683189B (zh) * | 2015-03-25 | 2018-04-20 | 新华三技术有限公司 | 一种点对点协议会话的保活检测方法和装置 |
CN106412968B (zh) * | 2015-07-31 | 2020-03-17 | 中国移动通信集团公司 | 一种无线链路信息的收集方法、装置及终端 |
CN109104338B (zh) * | 2018-11-12 | 2020-10-16 | 北京天融信网络安全技术有限公司 | 链路智能探测方法、存储介质及计算机设备 |
CN117596184B (zh) * | 2023-11-20 | 2024-05-28 | 江苏新质信息科技有限公司 | 一种通信连接检测方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1148921A (zh) * | 1994-05-25 | 1997-04-30 | 诺基亚电信公司 | 监控互连网络状态的方法 |
US20020006114A1 (en) * | 2000-07-12 | 2002-01-17 | Frode Bjelland | Communication management in networks having split control planes and user planes |
-
2003
- 2003-07-29 CN CNB031499104A patent/CN100349424C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1148921A (zh) * | 1994-05-25 | 1997-04-30 | 诺基亚电信公司 | 监控互连网络状态的方法 |
US20020006114A1 (en) * | 2000-07-12 | 2002-01-17 | Frode Bjelland | Communication management in networks having split control planes and user planes |
Also Published As
Publication number | Publication date |
---|---|
CN1578234A (zh) | 2005-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100349424C (zh) | 一种链路状态的检测方法 | |
US7254632B2 (en) | Apparatus and method for pattern matching in text based protocol | |
CN100476779C (zh) | 总线转换装置、系统和方法 | |
US4787083A (en) | Bus-method communication network system capable of seizing transmission right by using timer means at each station | |
CN101505276A (zh) | 网络应用流量识别方法和装置及网络应用流量管理设备 | |
CN112822167A (zh) | 异常tls加密流量检测方法与系统 | |
CN101325554B (zh) | 一种路由创建方法、转发芯片及三层交换机 | |
US20050165885A1 (en) | Method and apparatus for forwarding data packets addressed to a cluster servers | |
CN102521356B (zh) | 基于确定有限状态自动机的正则表达式匹配设备和方法 | |
CN108647043A (zh) | 一种命令行输入的实现方法及系统 | |
US8654643B2 (en) | Wide field indexing for packet tracking | |
CN101599857B (zh) | 检测共享接入主机数目的方法、装置及网络检测系统 | |
CN102045247A (zh) | 基于Snort规则集的报文处理方法和装置 | |
JP2002374251A (ja) | ネットワーク監視システム及びそれに用いるデータ量カウント方法並びにそのプログラム | |
US6553421B1 (en) | Method and system for broadcast management in a data communication network that permits namesharing | |
CN102143151B (zh) | 一种基于深度包检测的协议跨包检测方法和装置 | |
CN1866951B (zh) | 在网络中检测共享接入主机的方法及系统 | |
CN113709186B (zh) | 一种高效蜜罐代理转发的方法与装置 | |
CN102281263A (zh) | 一种建立iSCSI会话的方法和iSCSI发起方 | |
CN101753456B (zh) | 一种对等网络流量检测方法及其系统 | |
CN1996898B (zh) | 一种对数据通道状态进行实时检测的系统和方法 | |
CN101588297A (zh) | 业务消息包处理方法、业务消息包处理设备和网络系统 | |
CN101707535B (zh) | 检测仿冒网络设备的方法和装置 | |
CN100409645C (zh) | 一种宽带接入用户管理方法 | |
CN101997704A (zh) | 一种实现网元链路状态轮询的方法、装置及网管服务器 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071114 Termination date: 20190729 |