CN105991449B - 一种保活优化方法及装置 - Google Patents
一种保活优化方法及装置 Download PDFInfo
- Publication number
- CN105991449B CN105991449B CN201510280388.XA CN201510280388A CN105991449B CN 105991449 B CN105991449 B CN 105991449B CN 201510280388 A CN201510280388 A CN 201510280388A CN 105991449 B CN105991449 B CN 105991449B
- Authority
- CN
- China
- Prior art keywords
- keep alive
- socket
- alive packet
- keep
- processing
- 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.)
- Active
Links
Abstract
本发明提供一种保活优化方法及装置,所述方法应用于路由器,所述方法包括:从收到的协议报文中选取保活报文;将所述保活报文转发到第一套接口;处理所述第一套接口中的保活报文;当所述第一套接口中的所有保活报文处理完成后,进行定时器超时判断。本发明可以通过将筛选出的保活报文转发到指定的套接口,并设置在处理定时器超时之前优先处理该套接口中的所有保活报文,从而可以避免因未及时处理保活报文而导致的邻居关系中断,实现保活优化,提高网络稳定性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种保活优化方法及装置。
背景技术
目前,大多数的动态路由协议都会通过周期性的发送和接收保活报文,来协助路由器发现和维护邻居关系。这就要求路由器不仅能及时的发送保活报文,也应能及时处理邻居发来的保活报文。
现有技术中,路由器为了确保邻居关系的维持,可根据动态路由协议建立邻居关系后会为其添加老化定时器,如果在定时器超时时间内没有处理到保活报文,则邻居关系断裂。为了及时响应网络变化,通常定时器的处理优先级高于报文的处理优先级。但随着网络规模和复杂度的不断增大,路由器需要处理的非保活报文越来越多,所占用的处理时间相应增加,当处理非保活报文的时间超过定时器的超时时间时,即使路由器能够收到邻居路由器的保活报文,但还是会因为不能及时处理而导致邻居关系中断,造成网络震荡。
发明内容
有鉴于此,本发明提供一种保活优化方法及装置来解决路由器因不能及时处理保活报文而导致邻居关系中断的问题。
具体地,本发明是通过如下技术方案实现的:
一种保活优化方法,所述方法应用于路由器,所述方法包括:
从收到的协议报文中选取保活报文;
将所述保活报文转发到第一套接口;
处理所述第一套接口中的保活报文;
当所述第一套接口中的所有保活报文处理完成后,进行定时器超时判断。
进一步的,所述从收到的协议报文中选取保活报文,包括:
根据协议报文中的指定字段选取保活报文。
进一步的,所述方法还包括:
预先设置处理优先级,其中所述第一套接口的处理优先级为一级,定时器超时的处理优先级为二级;
所述处理所述第一套接口中的保活报文,包括:
根据处理优先级优先处理所述第一套接口中的保活报文。
进一步的,所述处理所述第一套接口中的保活报文,包括:
获取保活报文中路由器的身份标识;
查找该身份标识对应的邻居表项;
更新该邻居表项对应的定时器。
进一步的,所述方法还包括:
从收到的协议报文中选取非保活报文;
将所述非保活报文转发到第二套接口;
当定时器超时判断完成后,处理所述第二套接口中的非保活报文。
基于相同的构思,本发明还提供一种保活优化装置,所述装置应用于路由器,所述装置包括:
报文选取单元,用于从收到的协议报文中选取保活报文;
报文转发单元,用于将所述保活报文转发到第一套接口;
报文处理单元,用于处理所述第一套接口中的保活报文;
超时判断单元,用于在所述第一套接口中的所有保活报文处理完成后,进行定时器超时判断。
进一步的,所述报文选取单元,具体用于根据协议报文中的指定字段选取保活报文。
进一步的,所述装置还包括:
优先级设置单元,用于预先设置处理优先级,其中所述第一套接口的处理优先级为一级,定时器超时的处理优先级为二级;
所述报文处理单元,具体用于根据处理优先级优先处理所述第一套接口中的保活报文。
进一步的,所述报文处理单元,包括:
标识获取子单元,用于获取保活报文中路由器的身份标识;
表项查找子单元,用于查找该身份标识对应的邻居表项;
定时更新子单元,用于更新该邻居表项对应的定时器。
进一步的,所述报文选取单元,还用于从收到的协议报文中选取非保活报文;
所述报文转发单元,还用于将所述非保活报文转发到第二套接口;
所述报文处理单元,还用于在定时器超时判断完成后,处理所述第二套接口中的非保活报文。
由此可见,本发明可以通过将筛选出的保活报文转发到指定的套接口,并设置在处理定时器超时之前优先处理该套接口中的所有保活报文,从而可以避免因未及时处理保活报文而导致的邻居关系中断,实现保活优化,提高网络稳定性。
附图说明
图1是本发明一种示例性实施方式中的一种保活优化方法的处理流程图;
图2是本发明一种示例性实施方式中的一种保活优化处理示意图;
图3a是本发明一种示例性实施方式中的hello报文格式的示意图;
图3b是本发明一种示例性实施方式中的LSA报文格式的示意图
图4是本发明一种示例性实施方式中的保活优化装置所在的路由器的硬件结构图;
图5是本发明一种示例性实施方式中的一种保活优化装置的逻辑结构图。
具体实施方式
为了解决上述问题,本发明提供一种保活优化方法及装置,可以通过将筛选出的保活报文转发到指定的套接口,并设置在处理定时器超时之前优先处理该套接口中的所有保活报文,从而可以避免因未及时处理保活报文而导致的邻居关系中断,实现保活优化,提高网络稳定性。
请参考图1,是本发明一种示例性实施方式中的一种保活优化方法的处理流程图,所述方法应用于路由器,所述方法包括:
步骤101、从收到的协议报文中选取保活报文;
在本实施例中,路由器可以在收到的多种协议报文中选取保活报文。具体的方法,可以根据协议报文中的指定字段来进行选取。例如,根据协议报文中代表报文类型的字段,通过对报文类型的判断,来区分保活报文和非保活报文。
步骤102、将所述保活报文转发到第一套接口;
在本实施例中,路由器可以预先对第一套接口的接口属性进行设置,以使该第一套接口只接收保活报文。在路由器选取保活报文后,则可以将保活报文转发到预先设置的第一套接口。
步骤103、处理所述第一套接口中的保活报文;
在本实施例中,路由器可以处理该第一套接口中的保活报文。在本发明可选的实施例中,路由器可以预先为事件的执行顺序设置处理优先级,其中将所述第一套接口的处理优先级设置为一级,将定时器超时的处理优先级设置为二级,一级高于二级。因此,路由器在处理过程中,可以根据事件的处理优先级,来优先所述优先级为一级的第一套接口中的保活报文进行处理。
在本发明可选的实施例中,路由器在处理保活报文时,可以先获取保活报文中路由器的身份标识,并在本地查找该身份标识对应的邻居表项,找到后更新该邻居表项对应的定时器。路由器的身份标识可以有很多种,常用的如IP地址、MAC地址等。
步骤104、当所述第一套接口中的所有保活报文处理完成后,进行定时器超时判断。
在本实施例中,路由器可以在处理完第一套接口中的所有保活报文后,再进行定时器的超时判断。由于以往都是在处理报文之前进行定时器超时判断的,这样一来如果有些协议报文处理时间比较久,就可能导致路由器由于不能及时处理收到的保活报文,而使邻居关系中断。相对于现有技术,本发明可以在处理定时器超时判断前,优先处理保活报文,从而确保在定时器超时判断前,已根据收到的保活报文将定时器的状态更新完成。
由此可见,本发明可以通过将筛选出的保活报文转发到指定的套接口,并设置在处理定时器超时之前优先处理该套接口中的所有保活报文,从而可以避免因未及时处理保活报文而导致的邻居关系中断,实现保活优化,提高网络稳定性。
另外,由于路由器可以选取收到的所有保活报文,那么剩下的报文可以统称为非保活报文。在本发明可选的实施例中,路由器可以预先设置第二套接口,主要用于接收非保活报文。当路由器获取非保活报文后,可以将这些非保活报文转发到预设的第二套接口。当路由器上完成定时器超时判断后,可以再去处理所述第二套接口中的非保活报文。这样一来,由于非保活报文的处理顺序比较滞后,因此即使非保活报文的处理速度很慢,也不会影响定时器的更新,从而实现保活优化。
为使本发明的目的、技术方案及优点更加清楚明白,以下以OSPF(Open ShortestPath First,开放最短路径优先)的组网环境为例,基于图2的保活优化处理示意图,对本发明所述方案作进一步地详细说明。
OSPF中的IGP(Interior Gateway Protocol,内部网关协议)通常利用Hello报文来发现及维持邻居关系,例如路由器按照默认的发送周期Hello Interval(10秒)向邻居路由器发送邻居Hello报文,如果在邻居失效周期Dead Interval(40秒)内未处理到新的Hello报文则认为邻居连接失效。实际应用中,协议报文除了Hello报文外,还包括DD(Database Description,数据库描述)报文、LSR(Link State Request,链路状态请求)报文、LSU(Link State Update,链路状态更新)报文及LSAck(Link State Acknowledgment,链路状态应答)报文等LSA(Link-State Advertisement,链路状态广播)报文。根据报文功能判断,Hello报文为保活报文,其他报文为非保活报文。
路由器接收上述协议报文时,首先根据协议报文中代表报文类型的字段筛选保活报文和非保活报文。其中Hello报文的格式如图3a所示,LSA报文的格式如图3b所示。由于报文类型Message Type字段中“1”代表Hello报文,其他值则代表非保活报文。因此路由器可以通过检查Hello报文和LSA报文的Message Type字段来筛选保活报文。实际应用中,路由器可以通过设置套接口属性(setsockopt)来标识该套接口所接收的报文类型,例如属性标识为Hello的第一套接口,用于接收标识Hello报文;第二套接口用于接收非Hello报文。因此根据图3a和图3b可知,路由器可将Hello报文转发至第一套接口,将LSA报文转发至第二套接口。
假设将处理第一套接口的报文称为“事件1”,其处理优先级设置为一级,处理第二套接口的报文称为“事件3”,其处理优先级设置为三级。定时器超时判断称为“事件二”,其处理优先级设置为二级。
那么当路由器开始处理事件时,会根据预先为每个事件设置的处理优先级进行排序。因此路由器会先处理事件1,也就是处理第一套接口中的所有保活报文,并将该保活报文对应的定时器更新;之后处理事件2,也就是执行定时器超时判断,这时由于保活报文已经处理完成,可认为定时器当前的状态是最新状态,因此相对实际反映出邻居连接状态;最后再处理事件3,也就是处理第二套接口中的非保活报文,这样一来即使事件3及它触发事件耗时较多,只要Hello报文发送正常,可将事件2中即将超时的Dead Interval往后延迟,保证邻居表项中的定时器不会因处理保活报文不及时而出现超时的情况。
由此可见,本发明可以通过将筛选出的保活报文转发到指定的套接口,并设置在处理定时器超时之前优先处理该套接口中的所有保活报文,从而可以避免因未及时处理保活报文而导致的邻居关系中断,实现保活优化,提高网络稳定性。
基于相同的构思,本发明还提供一种保活优化装置,所述装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的保活优化装置作为一个逻辑意义上的装置,是通过其所在路由器的CPU将存储器中对应的计算机程序指令读取后运行而成。
请参考图4及图5,是本发明一种示例性实施方式中的一种保活优化装置500,所述装置应用于路由器,所述装置基本运行环境包括CPU,存储器以及其他硬件,从逻辑层面上来看,所述装置500包括:
报文选取单元501,用于从收到的协议报文中选取保活报文;
报文转发单元502,用于将所述保活报文转发到第一套接口;
报文处理单元503,用于处理所述第一套接口中的保活报文;
超时判断单元504,用于在所述第一套接口中的所有保活报文处理完成后,进行定时器超时判断。
可选的,所述报文选取单元501,具体用于根据协议报文中的指定字段选取保活报文。
可选的,所述装置还包括:
优先级设置单元505,用于预先设置处理优先级,其中所述第一套接口的处理优先级为一级,定时器超时的处理优先级为二级;
所述报文处理单元503,具体用于根据处理优先级优先处理所述第一套接口中的保活报文。
可选的,所述报文处理单元503,包括:
标识获取子单元5031,用于获取保活报文中路由器的身份标识;
表项查找子单元5032,用于查找该身份标识对应的邻居表项;
定时更新子单元5033,用于更新该邻居表项对应的定时器。
可选的,所述报文选取单元501,还用于从收到的协议报文中选取非保活报文;
所述报文转发单元502,还用于将所述非保活报文转发到第二套接口;
所述报文处理单元503,还用于在定时器超时判断完成后,处理所述第二套接口中的非保活报文。
综上所述,本发明可以通过将筛选出的保活报文转发到指定的套接口,并设置在处理定时器超时之前优先处理该套接口中的所有保活报文,从而可以避免因未及时处理保活报文而导致的邻居关系中断,实现保活优化,提高网络稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种保活优化方法,其特征在于,所述方法应用于路由器,所述方法包括:
从收到的协议报文中选取保活报文;
将所述保活报文转发到第一套接口;
处理所述第一套接口中的保活报文;
当所述第一套接口中的所有保活报文处理完成后,进行定时器超时判断;
其中,所述处理所述第一套接口中的保活报文包括:
获取保活报文中路由器的身份标识;
查找该身份标识对应的邻居表项;
更新该邻居表项对应的定时器。
2.根据权利要求1所述的方法,其特征在于,所述从收到的协议报文中选取保活报文,包括:
根据协议报文中的指定字段选取保活报文。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预先设置处理优先级,其中所述第一套接口的处理优先级为一级,定时器超时的处理优先级为二级;
所述处理所述第一套接口中的保活报文,包括:
根据处理优先级优先处理所述第一套接口中的保活报文。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从收到的协议报文中选取非保活报文;
将所述非保活报文转发到第二套接口;
当定时器超时判断完成后,处理所述第二套接口中的非保活报文。
5.一种保活优化装置,其特征在于,所述装置应用于路由器,所述装置包括:
报文选取单元,用于从收到的协议报文中选取保活报文;
报文转发单元,用于将所述保活报文转发到第一套接口;
报文处理单元,用于处理所述第一套接口中的保活报文;
超时判断单元,用于在所述第一套接口中的所有保活报文处理完成后,进行定时器超时判断;
其中,所述报文处理单元包括:
标识获取子单元,用于获取保活报文中路由器的身份标识;
表项查找子单元,用于查找该身份标识对应的邻居表项;
定时更新子单元,用于更新该邻居表项对应的定时器。
6.根据权利要求5所述的装置,其特征在于,
所述报文选取单元,具体用于根据协议报文中的指定字段选取保活报文。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
优先级设置单元,用于预先设置处理优先级,其中所述第一套接口的处理优先级为一级,定时器超时的处理优先级为二级;
所述报文处理单元,具体用于根据处理优先级优先处理所述第一套接口中的保活报文。
8.根据权利要求5所述的装置,其特征在于,
所述报文选取单元,还用于从收到的协议报文中选取非保活报文;
所述报文转发单元,还用于将所述非保活报文转发到第二套接口;
所述报文处理单元,还用于在定时器超时判断完成后,处理所述第二套接口中的非保活报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510280388.XA CN105991449B (zh) | 2015-05-27 | 2015-05-27 | 一种保活优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510280388.XA CN105991449B (zh) | 2015-05-27 | 2015-05-27 | 一种保活优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105991449A CN105991449A (zh) | 2016-10-05 |
CN105991449B true CN105991449B (zh) | 2019-09-06 |
Family
ID=57040196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510280388.XA Active CN105991449B (zh) | 2015-05-27 | 2015-05-27 | 一种保活优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105991449B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222443A (zh) * | 2008-01-30 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种处理报文的方法和网络设备 |
CN101262430A (zh) * | 2008-04-25 | 2008-09-10 | 中兴通讯股份有限公司 | 一种分布式保活的路由设备和方法 |
CN101610272A (zh) * | 2009-07-30 | 2009-12-23 | 迈普通信技术股份有限公司 | 一种避免邻居关系振荡的方法 |
CN103281257A (zh) * | 2013-06-05 | 2013-09-04 | 杭州华三通信技术有限公司 | 一种协议报文处理方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9338066B2 (en) * | 2013-09-05 | 2016-05-10 | Avaya Inc. | Tunnel keep-alive timeout mechanism based on quality of service (QoS) value of received keep-alive messages |
-
2015
- 2015-05-27 CN CN201510280388.XA patent/CN105991449B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222443A (zh) * | 2008-01-30 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种处理报文的方法和网络设备 |
CN101262430A (zh) * | 2008-04-25 | 2008-09-10 | 中兴通讯股份有限公司 | 一种分布式保活的路由设备和方法 |
CN101610272A (zh) * | 2009-07-30 | 2009-12-23 | 迈普通信技术股份有限公司 | 一种避免邻居关系振荡的方法 |
CN103281257A (zh) * | 2013-06-05 | 2013-09-04 | 杭州华三通信技术有限公司 | 一种协议报文处理方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105991449A (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106375231B (zh) | 一种流量切换方法、设备及系统 | |
US8934490B2 (en) | Accelerated MAC address resolution for IPv6 traffic with IS-IS protocol | |
CN107547510B (zh) | 一种邻居发现协议安全表项处理方法和装置 | |
CN108282376B (zh) | 一种基于轻量级虚拟化的LDDoS仿真方法 | |
EP3488568B1 (en) | Efficient vpn route refresh mechanism for bgp based vpn technologies | |
CN1889579B (zh) | 提高路由信息协议路由收敛速度的方法及装置 | |
US10979340B2 (en) | Link state addition and deletion based on reception of a single message in link state vector routing | |
CN105471725B (zh) | 穿越自治系统的路由方法和装置 | |
CN104378249B (zh) | 数据链路的检测方法、装置、系统、控制器及网关 | |
WO2018121257A1 (zh) | 报文发送方法、装置、系统以及存储介质 | |
US11711281B2 (en) | Methods and network devices for detecting and resolving abnormal routes | |
CN112039769A (zh) | 一种处理路由的方法及网络设备 | |
US20230231795A1 (en) | Method for Synchronizing Topology Information in SFC Network, and Routing Network Element | |
WO2016044990A1 (zh) | 网络拓扑确定方法和装置、集中式网络状态信息存储设备 | |
WO2017036165A1 (zh) | 链路故障检测方法及装置 | |
WO2017140238A1 (zh) | 一种报文传输方法及装置 | |
WO2017219868A1 (zh) | Arp条目的处理方法及装置 | |
CN105991449B (zh) | 一种保活优化方法及装置 | |
US10419386B2 (en) | Endpoint identifiers registration | |
US10958554B2 (en) | Monitoring flow activity on a network device | |
US8699376B2 (en) | Method and system for de-synchronizing link state message refreshes | |
WO2015137977A1 (en) | A switching fabric including a virtual switch | |
CN105591938B (zh) | 保活报文处理方法及装置 | |
US20210243125A1 (en) | System and method for avoiding congestion in a computer network | |
WO2016082609A1 (zh) | 一种介质访问控制mac地址选举的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |