CN111740914A - 一种ospf协议报文分布式处理方法、系统及相关设备 - Google Patents
一种ospf协议报文分布式处理方法、系统及相关设备 Download PDFInfo
- Publication number
- CN111740914A CN111740914A CN202010558789.8A CN202010558789A CN111740914A CN 111740914 A CN111740914 A CN 111740914A CN 202010558789 A CN202010558789 A CN 202010558789A CN 111740914 A CN111740914 A CN 111740914A
- Authority
- CN
- China
- Prior art keywords
- ospf protocol
- message
- host device
- lsa
- host
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/583—Stackable routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种OSPF协议报文分布式处理方法、系统及相关设备,用于提高路由器堆叠系统中OSPF协议报文处理效率,提高数据处理资源利用率。本发明实施例方法包括:对接收的数据包进行过滤,筛选出开放最短路径优先OSPF协议报文;各个所述非主机设备采用自身的数据处理资源,按照OSPF协议处理所述OSPF协议报文生成对应的链路状态广播LSA;各个所述非主机设备将各自的LSA发送给所述路由器堆叠系统中的主机设备,以使得所述主机设备根据所有非主机设备的LSA生成网络路由信息。
Description
技术领域
本发明涉及OSPF协议报文分布式处理技术领域,尤其涉及一种OSPF协议报文分布式处理方法、系统及相关设备。
背景技术
路由器堆叠,是指将一台以上的路由器组合起来共同工作,以便在有限的空间内提供尽可能多的端口,多台路由器经过堆叠形成一个堆叠系统。
目前的路由器堆叠系统中,对于OSPF(Open Short Path First)协议报文是集中式处理。即非主机设备收到OSPF协议报文之后,将OSPF协议报文重新封装通过帧通道转发给主机设备,主机处理完所有OSPF协议报文后生成路由表项后同步给非主机设备。
现有方案中,路由器堆叠系统中OSPF协议报文经过多个设备转换串行处理,而且OSPF协议报文处理都由主机设备中的OSPFD(Open Short Path First Defend)进程处理,效率低下。
发明内容
本发明实施例提供了一种OSPF协议报文分布式处理方法、系统及相关设备,用于提高路由器堆叠系统中OSPF协议报文处理效率,提高数据处理资源利用率。
本发明实施例第一方面提供了一种OSPF协议报文分布式处理方法,应用于路由器堆叠系统中的非主机设备,所述方法可包括:
对接收的数据包进行过滤,筛选出内部网关协议OSPF协议报文;
各个所述非主机设备采用自身的数据处理资源,按照OSPF协议处理所述OSPF协议报文生成对应的链路状态广播LSA;
各个所述非主机设备将各自的LSA发送给所述路由器堆叠系统中的主机设备,以使得所述主机设备根据所有非主机设备的LSA生成网络路由信息。
可选的,作为一种可能的实施方式,本发明实施例中的OSPF协议报文分布式处理方法中,在各个所述非主机设备采用自身的数据处理资源,按照OSPF协议处理所述OSPF协议报文之前,所述方法还可以包括:
当所述OSPF协议报文符合预设条件时,按照OSPF协议处理所述OSPF协议报文生成对应的链路状态广播,当不符合预设条件时,丢弃所述OSPF协议报文。
可选的,作为一种可能的实施方式,本发明实施例中的OSPF协议报文分布式处理方法中,对所述OSPF协议报文符合预设条件进行校验,可包括:
校验所述OSPF协议报文中的预设字段的字段值是否符合预设条件,所述预设字段包括目的地址、源地址、OSPF协议号、OSPF协议版本号、数据报文内容、认证类型与认证字中的一项或多项。
可选的,作为一种可能的实施方式,本发明实施例中的OSPF协议报文分布式处理方法,还可以包括:
向主机设备发送全量LSA同步请求,所述全量LSA同步请求中包含第一序列号;
接收所述主机设备发送的回复消息,并校验所述回复消息中是否包含所述第一序列号,若包含,则根据所述回复消息中的全量LSA更新本地数据;
向所述主机设备发送更新确认消息,所述更新确认消息包含所述第一序列号。
可选的,作为一种可能的实施方式,本发明实施例中的OSPF协议报文分布式处理方法,还可以包括:
接收主机设备发送的更新消息,所述更新消息中包含第二序列号;
根据所述更新消息更新本地数据,并向所述主机设备返回确认消息,所述确认消息中包含所述第二序列号。
可选的,作为一种可能的实施方式,本发明实施例中的OSPF协议报文分布式处理方法,还可以包括:
接收主机设备发送的校验消息,所述校验消息中包含第三序列号;
根据所述校验消息校验本地数据,并向所述主机设备返回校验结果消息,所述校验结果消息中包含所述第三序列号。
可选的,作为一种可能的实施方式,本发明实施例中的OSPF协议报文分布式处理方法,还可以包括:
周期性向主机设备发送心跳请求;
接收所述主机设备发送的心跳回复消息,并校验所述心跳回复消息中的序列号是否与本地存储的最后一次存储的序列号一致,若不一致,则向所述主机设备发送全量LSA同步请求。
本发明实施例第二方面提供了一种OSPF协议报文分布式处理系统,应用于路由器堆叠系统中的非主机设备,系统可包括:
筛选模块,用于对接收的数据包进行过滤,筛选出内部网关协议OSPF协议报文;
处理模块,采用自身的数据处理资源,按照OSPF协议处理所述OSPF协议报文生成对应的链路状态广播LSA;
第一发送模块,将自身的LSA发送给所述路由器堆叠系统中的主机设备,以使得所述主机设备根据所有非主机设备的LSA生成网络路由信息。
可选的,作为一种可能的实施方式,本申请实施例中的OSPF协议报文分布式处理系统,还可以包括:
校验模块,当所述OSPF协议报文符合预设条件时,按照OSPF协议处理所述OSPF协议报文生成对应的链路状态广播,当不符合预设条件时,丢弃所述OSPF协议报文。
可选的,作为一种可能的实施方式,本申请实施例中,所述校验模块可包括:
校验单元,校验所述OSPF协议报文中的预设字段的字段值是否符合预设条件,所述预设字段包括目的地址、源地址、OSPF协议号、OSPF协议版本号、数据报文内容、认证类型与认证字中的一项或多项。
可选的,作为一种可能的实施方式,本申请实施例中的OSPF协议报文分布式处理系统,还可以包括:
第二发送模块,用于向主机设备发送全量LSA同步请求,所述全量LSA同步请求中包含第一序列号;
第一接收模块,用于接收所述主机设备发送的回复消息,并校验所述回复消息中是否包含所述第一序列号,若包含,则根据所述回复消息中的全量LSA更新本地数据;
第三发送模块,用于向所述主机设备发送更新确认消息,所述更新确认消息包含所述第一序列号。
可选的,作为一种可能的实施方式,本申请实施例中的OSPF协议报文分布式处理系统,还可以包括:
第二接收模块,用于接收主机设备发送的更新消息,所述更新消息中包含第二序列号;
第四发送模块,根据所述更新消息更新本地数据,并向所述主机设备返回确认消息,所述确认消息中包含所述第二序列号。
可选的,作为一种可能的实施方式,本申请实施例中的OSPF协议报文分布式处理系统,还可以包括:
第三接收模块,用于接收主机设备发送的校验消息,所述校验消息中包含第三序列号;
第五发送模块,根据所述校验消息校验本地数据,并向所述主机设备返回校验结果消息,所述校验结果消息中包含所述第三序列号。
可选的,作为一种可能的实施方式,本申请实施例中的OSPF协议报文分布式处理系统,还可以包括:
第六发送模块,用于周期性向主机设备发送心跳请求;
第四接收模块,用于接收所述主机设备发送的心跳回复消息,并校验所述心跳回复消息中的序列号是否与本地存储的最后一次存储的序列号一致,若不一致,则向所述主机设备发送全量LSA同步请求。
本发明实施例第三方面提供了一种路由器设备,所述路由器设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本申请实施例中,路由器堆叠系统中的非主机设备,可以对接收的数据包进行过滤,筛选出OSPF协议报文,各个非主机设备采用自身的数据处理资源,按照OSPF协议处理筛选出的OSPF协议报文生成对应的LSA,并发送给路由器堆叠系统中的主机设备,使得主机设备根据所有非主机设备的LSA,进而计算出最终的网络路由信息。相对于相关技术,本申请实施例中的路由器堆叠系统中的非主机设备可以分别使用自身的数据处理资源处理各自接收到的OSPF协议报文,实现了OSPF协议报文分布式处理,提高了路由器堆叠系统中的数据处理资源使用率,节省了OSPF协议报文处理的时间,提高了报文处理效率。
附图说明
图1为本发明实施例中一种OSPF协议报文分布式处理方法的一个实施例示意图;
图2为本发明实施例中一种OSPF协议报文分布式处理方法的另一个实施例示意图;
图3为本发明实施例中一个具体应用实施例中OSPF协议报文处理流程示意图;
图4为本发明实施例中一个具体应用实施例中LSA信息同步流程示意图;
图5为本发明实施例中一个具体应用实施例中LSA信息重发流程示意图;
图6为本发明实施例中一种OSPF协议报文分布式处理系统的一个实施例示意图;
图7为本发明实施例中一种路由器设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种OSPF协议报文分布式处理方法、系统及相关设备,提高路由器堆叠系统中OSPF协议报文处理效率,提高数据处理资源利用率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有的堆叠系统中,OSPF协议只是在主机设备上集中处理,那么仅仅只是用了单一主机设备的CPU(central processing unit)资源,其他非主机设备的CPU资源得不到充分利用。有鉴于此,本申请提出了OSPF协议报文分布式的处理方法,用于提高堆叠系统中路由器设备CPU资源利用率,提高OSPF协议报文处理效率。
为了便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中一种OSPF协议报文分布式处理方法的一个实施例可包括:
101、对接收的数据包进行过滤,筛选出内部网关协议OSPF协议报文;
堆叠系统中包含主机设备及非主机设备,本申请中的OSPF协议报文分布式处理方法应用于路由器堆叠系统中的非主机设备。当非主机设备接收到数据包之后,可以对接收的数据包进行过滤,筛选出OSPF协议报文。
示例性的,可以采用访问控制列表(ACL)技术对接收的数据包进行过滤,筛选出OSPF协议报文。
102、各个非主机设备采用自身的数据处理资源,按照OSPF协议处理OSPF协议报文生成对应的链路状态广播LSA;
为了提高路由器设备CPU资源利用率,本申请中可以在路由器堆叠系统中的非主机设备上配置OSPF协议处理功能。在筛选出OSPF协议报文之后,路由器堆叠系统中的各个非主机设备可以分别采用自身的数据处理资源,调用处理OSPF协议报文的进程,按照现有的OSPF协议对应的逻辑规则,处理筛选出的OSPF协议报文生成对应的LSA(Link-StateAdvertisement,链路状态广播)。
103、各个非主机设备将各自的LSA发送给路由器堆叠系统中的主机设备,以使得主机设备根据所有非主机设备的LSA生成网络路由信息。
支持OSPF协议的路由器之间交换的并不是路由表,而是链路状态广播(LSA),主机设备通过获得网络中所有的链路状态信息,从而计算出到达每个目标精确的网络路径,生成网络路由信息。
堆叠系统中的非主机设备对接收到OSPF协议报文进行处理之后,可以将生成的LSA都发送给路由器堆叠系统中的主机设备,主机设备可以获得全网络的路由器的链路状态信息。主机设备采用OSPF协议中的数据处理逻辑,综合所有非主机设备的链路状态信息及自身接收到的OSPF协议报文对应的链路状态信息,可以确定最终的网络路由信息。
本申请实施例中,路由器堆叠系统中的非主机设备,可以对接收的数据包进行过滤,筛选出OSPF协议报文,各个非主机设备采用自身的数据处理资源,按照OSPF协议处理筛选出的OSPF协议报文生成对应的LSA,并发送给路由器堆叠系统中的主机设备,使得主机设备根据所有非主机设备的LSA,进而计算出最终的网络路由信息。相对于相关技术,本申请实施例中的路由器堆叠系统中的非主机设备可以分别使用自身的数据处理资源处理各自接收到的OSPF协议报文,实现了OSPF协议报文分布式处理,提高了路由器堆叠系统中的数据处理资源使用率,节省了OSPF协议报文处理的时间,提高了报文处理效率。
在实际应用中,为了防止伪造OSPF报文攻击从而引起网络设备路由信息错误,需要对筛选出的OSPF协议报文进行校验。请参阅图2,本申请实施例中的一种OSPF协议报文分布式处理方法的另一个实施例可包括:
201、对接收的数据包进行过滤,筛选出内部网关协议OSPF协议报文;
202、校验OSPF协议报文是否符合预设条件;
在筛选出OSPF协议报文之后,为了防止伪造OSPF报文攻击从而引起网络设备路由信息错误,非主机设备可以校验OSPF协议报文是否符合预设条件。若符合,则继续执行步骤203,按照OSPF协议处理OSPF协议报文生成对应的链路状态广播。若不符合预设条件,则可以丢弃OSPF协议报文。
可选的,作为一种可能的实施方式,校验OSPF协议报文是否符合预设条件,可以包括:
校验OSPF协议报文中的预设字段的字段值是否符合预设条件,预设字段包括目的地址、源地址、OSPF协议号、OSPF协议版本号、数据报文内容、认证类型与认证字中的一项或多项。其中,OSPF为网络层协议,协议号89。
其中,校验目的地址、源地址、OSPF协议号、OSPF协议版本号、认证类型与认证字等字段的字段值是否能与预设的字段值匹配成功,若匹配成功,则校验成功,反之则校验失败。校验数据报文内容,是指按照预设的算法计算数据报文内容的Checksum值(例如md5值)是否与接收到的Checksum值一致,若一致,则校验成功。
203、各个非主机设备采用自身的数据处理资源,按照OSPF协议处理OSPF协议报文生成对应的链路状态广播LSA;
204、各个非主机设备将各自的LSA发送给路由器堆叠系统中的主机设备,以使得主机设备根据所有非主机设备的LSA生成网络路由信息。
本实施例中的步骤201、203、204中描述的内容与图1所示的实施例中的步骤101至103中描述的内容类似,具体请参阅步骤101至103,此处不再赘述。
在上述图1及图2所示的实施例的基础上,堆叠系统中的主机设备及非主机设备中的LSA是变化的,为了实时获得更加准确的网络路由信息,当主机设备中的LSA信息发生了添加、老化、更新时需要对堆叠系统中的非主机设备中的LSA进行更新。
可选的,作为一种可能的实施方式,在本发明实施例中一种OSPF协议报文分布式处理方法的另一个实施例中,非主机设备还可以实施如下步骤:
向主机设备发送全量LSA同步请求,全量LSA同步请求中包含第一序列号;接收主机设备发送的回复消息,并校验回复消息中是否包含第一序列号,若包含,则根据回复消息中的全量LSA更新本地数据;向主机设备发送更新确认消息,更新确认消息包含第一序列号。
在非主机设备启动的时候,或者非主机设备发现从主ospfd接收到的消息中的序列号不正确的时候,或者是非主机设备发送心跳请求之后收到序列号不正确的序列值的时候,会立刻向主机设备发送全量LSA同步请求,进行一次全量同步。全量LSA同步请求中包含采用预设算法生成的第一序列号(例如生成一个随机的序列值X作为第一序列号)。主机设备收到同步请求之后,会记录下第一序列号,返回全量的LSA信息给对应的非主机设备。
相对于相关技术,采用上述序列号验证之后,如果全量LSA同步过程中发生丢包,可以基于序列号验证机制及时发现丢包并重新进行全量LSA同步,有效确保全量LSA信息的一致性。
可选的,作为一种可能的实施方式,在本发明实施例中一种OSPF协议报文分布式处理方法的另一个实施例中,非主机设备还可以实施如下步骤:
接收主机设备发送的更新消息,更新消息中包含第二序列号;根据更新消息更新本地数据,并向主机设备返回确认消息,确认消息中包含第二序列号。
在堆叠系统运行过程中,如果发现LSA信息发生了更改,主机设备会主动向飞主机设备发送更新消息,将LSA信息同步给非主机设备。每一次发送一个更新消息,会占用一个新的序列号。
可选的,作为一种可能的实施方式,在本发明实施例中一种OSPF协议报文分布式处理方法的另一个实施例中,非主机设备还可以实施如下步骤:
接收主机设备发送的校验消息,校验消息中包含第三序列号;
根据校验消息校验本地数据,并向主机设备返回校验结果消息,校验结果消息中包含第三序列号。
LSA信息同步可能会出错,需要定时检测LSA信息是否一致。主机设备可以周期性的发送校验消息,非主机设备接收到校验消息之后会检查自己的本地数据,如果发现不一致,可以向主机设备返回校验结果消息,主机设备会将不一致的LSA信息同步过来。每一个校验结果消息中包含新的序列号,即第三序列号。
可选的,作为一种可能的实施方式,在本发明实施例中一种OSPF协议报文分布式处理方法的另一个实施例中,非主机设备还可以实施如下步骤:
周期性向主机设备发送心跳请求;接收主机设备发送的心跳回复消息,并校验心跳回复消息中的序列号是否与本地存储的最后一次存储的序列号一致,若不一致,则向主机设备发送全量LSA同步请求。
实际运行中,主机设备中处理OSPF协议报文的进程可能会挂掉,主机设备挂掉之后默认不会发送更新消息,这有可能导致堆叠系统中的LSA信息不再同步。为了避免这一问题,非主机设备可以定时发送心跳请求,确认主机设备中的进程是否仍然存活。主ospfd收到消息后,会回复一个确认消息,附带一个序列号,非主机设备检测到序列号不对,会发送全量LSA同步请求。
在上述实施例的基础上,当LSA消息太大,或者网络中断的时候,主备机间消息可能会出现丢包的现象,并不完全可靠。我们需要一套机制来尽可能保证可靠,为此,在上述四种场景中,当主机设备向备机发送包含LSA信息的消息之后,在预设实际之内未收到确认消息,该主机设备重新向备机发送包含LSA信息。
为了便于理解,下面将结合具体应用实施例对本申请中的OSPF协议报文分布式处理方法进行描述。具体包括如下步骤:
一、OSPF协议报文处理
如图3所示,非主机设备筛选OSPF协议报文,校验OSPF协议报文是否符合预设条件。具体可以校验OSPF协议报文中的预设字段的字段值是否符合预设条件。该预设字段包括目的地址、源地址、OSPF协议号、OSPF协议版本号、checksum(数据报文内容)、AllSPFRouters的目的IP、认证类型与认证字中的一项或多项。其中,校验目的地址、源地址、OSPF协议号、OSPF协议版本号、认证类型与认证字等字段的字段值是否能与预设的字段值匹配成功,若匹配成功,则校验成功,反之则校验失败。例如,AllSPFRouters的目的IP字段值智能是DR(指定路由器)、BDR(备用指定路由器)。校验数据报文内容,是指按照预设的算法计算数据报文内容的Checksum值(例如md5值)是否与接收到的Checksum值一致,若一致,则校验成功。
若OSPF协议报文符合,无需送到主机设备的CPU处理按照OSPF协议处理OSPF协议报文生成对应的链路状态广播LSA。
二、主机设备与非主机设备的LSA信息同步
如图4所示,主机设备与非主机设备的LSA信息同步可以分为如下四种场景:
全量同步,备ospfd(非主机设备的OSPF协议报文处理进程)起来的时候,或者备ospfd发现从主ospfd(主机设备的OSPF协议报文处理进程)接收到的消息,序列号不正确的时候(可能是由于备ospfd重启,在发送全量请求),或者是被ospfd发送心跳请求,收到序列号不正确的序列值的时候(主ospfd可能已经重启),会立刻向主ospfd全量请求LSA,进行一次全量同步,使用一个随机的序列值X。主ospfd收到全量同步请求之后,会记录下X,清空待发送给备ospfd的消息,返回全量的lsdb(存储LSA信息的数据库)消息。
增量同步,运行过程中,如果发现LSA发生了更改,主ospfd会将LSA同步给备ospfd;每一次发送一个LSA更新消息,会占用一个序列号;
定时检测机制,同步可能会出错,需要定时检测LSA是否一致,主ospfd会定时1h左右,发送一个lsdb检查消息,备ospfd会检查自己的lsdb,发现不一致,会回复一个消息,之后,主ospfd会将不一致的lsdb同步过来。
心跳机制,有可能主ospfd会挂掉,主ospfd挂掉之后默认不会发送更新消息,这有可能导致主备ospfd不再同步,因此设计了一套心跳,备ospfd定时发送心跳,确认主ospfd是否仍然存活,主ospfd收到消息后,会回复一个ack(确认消息),附带一个序列号,备ospfd检测到序列号不对,会进行全量同步。
如图5所示,实际应用中,当LSA消息太大,或者网络中断的时候,主备机间消息可能会出现丢包的现象,并不完全可靠。我们需要一套消息重发机制来尽可能保证可靠,为此,在上述四种场景中,当主机设备向备机发送包含LSA信息的消息之后,在预设实际之内未收到确认消息,该主机设备重新向备机发送包含LSA信息。
请参阅图6,本申请实施例还提供了一种OSPF协议报文分布式处理系统,应用于路由器堆叠系统中的非主机设备,系统可包括:
筛选模块601,用于对接收的数据包进行过滤,筛选出内部网关协议OSPF协议报文;
处理模块602,采用自身的数据处理资源,按照OSPF协议处理OSPF协议报文生成对应的链路状态广播LSA;
第一发送模块603,将自身的LSA发送给路由器堆叠系统中的主机设备,以使得主机设备根据所有非主机设备的LSA生成网络路由信息。
可选的,作为一种可能的实施方式,本申请实施例中的OSPF协议报文分布式处理系统,还可以包括:
校验模块,当OSPF协议报文符合预设条件时,按照OSPF协议处理OSPF协议报文生成对应的链路状态广播,当不符合预设条件时,丢弃OSPF协议报文。
可选的,作为一种可能的实施方式,本申请实施例中,校验模块可包括:
校验单元,校验OSPF协议报文中的预设字段的字段值是否符合预设条件,预设字段包括目的地址、源地址、OSPF协议号、OSPF协议版本号、数据报文内容、认证类型与认证字中的一项或多项。
可选的,作为一种可能的实施方式,本申请实施例中的OSPF协议报文分布式处理系统,还可以包括:
第二发送模块,用于向主机设备发送全量LSA同步请求,全量LSA同步请求中包含第一序列号;
第一接收模块,用于接收主机设备发送的回复消息,并校验回复消息中是否包含第一序列号,若包含,则根据回复消息中的全量LSA更新本地数据;
第三发送模块,用于向主机设备发送更新确认消息,更新确认消息包含第一序列号。
可选的,作为一种可能的实施方式,本申请实施例中的OSPF协议报文分布式处理系统,还可以包括:
第二接收模块,用于接收主机设备发送的更新消息,更新消息中包含第二序列号;
第四发送模块,根据更新消息更新本地数据,并向主机设备返回确认消息,确认消息中包含第二序列号。
可选的,作为一种可能的实施方式,本申请实施例中的OSPF协议报文分布式处理系统,还可以包括:
第三接收模块,用于接收主机设备发送的校验消息,校验消息中包含第三序列号;
第五发送模块,根据校验消息校验本地数据,并向主机设备返回校验结果消息,校验结果消息中包含第三序列号。
可选的,作为一种可能的实施方式,本申请实施例中的OSPF协议报文分布式处理系统,还可以包括:
第六发送模块,用于周期性向主机设备发送心跳请求;
第四接收模块,用于接收主机设备发送的心跳回复消息,并校验心跳回复消息中的序列号是否与本地存储的最后一次存储的序列号一致,若不一致,则向主机设备发送全量LSA同步请求。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面从模块化功能实体的角度对本发明实施例中的OSPF协议报文分布式处理系统进行了描述,请参阅图7,下面从硬件处理的角度对本发明实施例中的路由器设备进行描述:
该路由器设备1可以包括存储器11、处理器12和输入输出总线13。处理器11执行计算机程序时实现上述图1所示的OSPF协议报文分布式处理方法实施例中的步骤,例如图1所示的步骤101至103。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本发明的一些实施例中,处理器具体用于实现如下步骤:
对接收的数据包进行过滤,筛选出内部网关协议OSPF协议报文;
各个非主机设备采用自身的数据处理资源,按照OSPF协议处理OSPF协议报文生成对应的链路状态广播LSA;
各个非主机设备将各自的LSA发送给路由器堆叠系统中的主机设备,以使得主机设备根据所有非主机设备的LSA生成网络路由信息。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
当OSPF协议报文符合预设条件时,按照OSPF协议处理OSPF协议报文生成对应的链路状态广播,当不符合预设条件时,丢弃OSPF协议报文。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
校验OSPF协议报文中的预设字段的字段值是否符合预设条件,预设字段包括目的地址、源地址、OSPF协议号、OSPF协议版本号、数据报文内容、认证类型与认证字中的一项或多项。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
向主机设备发送全量LSA同步请求,全量LSA同步请求中包含第一序列号;
接收主机设备发送的回复消息,并校验回复消息中是否包含第一序列号,若包含,则根据回复消息中的全量LSA更新本地数据;
向主机设备发送更新确认消息,更新确认消息包含第一序列号。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
接收主机设备发送的更新消息,更新消息中包含第二序列号;
根据更新消息更新本地数据,并向主机设备返回确认消息,确认消息中包含第二序列号。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
接收主机设备发送的校验消息,校验消息中包含第三序列号;
根据校验消息校验本地数据,并向主机设备返回校验结果消息,校验结果消息中包含第三序列号。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
周期性向主机设备发送心跳请求;
接收主机设备发送的心跳回复消息,并校验心跳回复消息中的序列号是否与本地存储的最后一次存储的序列号一致,若不一致,则向主机设备发送全量LSA同步请求。
其中,存储器11至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是路由器设备1的内部存储单元,例如该路由器设备1的硬盘。存储器11在另一些实施例中也可以是路由器设备1的外部存储设备,例如路由器设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括路由器设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于路由器设备1的应用软件及各类数据,例如计算机程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行计算机程序01等。
该输入输出总线13可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
进一步地,路由器设备还可以包括有线或无线网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该路由器设备1与其他电子设备之间建立通信连接。
可选地,该路由器设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在路由器设备1中处理的信息以及用于显示可视化的用户界面。
图7仅示出了具有组件11-14以及计算机程序01的路由器设备1,本领域技术人员可以理解的是,图7示出的结构并不构成对路由器设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
对接收的数据包进行过滤,筛选出内部网关协议OSPF协议报文;
各个非主机设备采用自身的数据处理资源,按照OSPF协议处理OSPF协议报文生成对应的链路状态广播LSA;
各个非主机设备将各自的LSA发送给路由器堆叠系统中的主机设备,以使得主机设备根据所有非主机设备的LSA生成网络路由信息。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
当OSPF协议报文符合预设条件时,按照OSPF协议处理OSPF协议报文生成对应的链路状态广播,当不符合预设条件时,则丢弃OSPF协议报文。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
校验OSPF协议报文中的预设字段的字段值是否符合预设条件,预设字段包括目的地址、源地址、OSPF协议号、OSPF协议版本号、数据报文内容、认证类型与认证字中的一项或多项。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
向主机设备发送全量LSA同步请求,全量LSA同步请求中包含第一序列号;
接收主机设备发送的回复消息,并校验回复消息中是否包含第一序列号,若包含,则根据回复消息中的全量LSA更新本地数据;
向主机设备发送更新确认消息,更新确认消息包含第一序列号。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
接收主机设备发送的更新消息,更新消息中包含第二序列号;
根据更新消息更新本地数据,并向主机设备返回确认消息,确认消息中包含第二序列号。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
接收主机设备发送的校验消息,校验消息中包含第三序列号;
根据校验消息校验本地数据,并向主机设备返回校验结果消息,校验结果消息中包含第三序列号。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
周期性向主机设备发送心跳请求;
接收主机设备发送的心跳回复消息,并校验心跳回复消息中的序列号是否与本地存储的最后一次存储的序列号一致,若不一致,则向主机设备发送全量LSA同步请求。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种OSPF协议报文分布式处理方法,其特征在于,应用于路由器堆叠系统中的非主机设备,所述方法包括:
对接收的数据包进行过滤,筛选出内部网关协议OSPF协议报文;
各个所述非主机设备采用自身的数据处理资源,按照OSPF协议处理所述OSPF协议报文生成对应的链路状态广播LSA;
各个所述非主机设备将各自的LSA发送给所述路由器堆叠系统中的主机设备,以使得所述主机设备根据所有非主机设备的LSA生成网络路由信息。
2.根据权利要求1所述的方法,其特征在于,在各个所述非主机设备采用自身的数据处理资源,按照OSPF协议处理所述OSPF协议报文之前,所述方法还包括:
当所述OSPF协议报文符合预设条件时,按照OSPF协议处理所述OSPF协议报文生成对应的链路状态广播,当不符合预设条件时,丢弃所述OSPF协议报文。
3.根据权利要求2所述的方法,其特征在于,对所述OSPF协议报文是否符合预设条件进行校验,包括:
校验所述OSPF协议报文中的预设字段的字段值是否符合预设条件,所述预设字段包括目的地址、源地址、OSPF协议号、OSPF协议版本号、数据报文内容、认证类型与认证字中的一项或多项。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
向主机设备发送全量LSA同步请求,所述全量LSA同步请求中包含第一序列号;
接收所述主机设备发送的回复消息,并校验所述回复消息中是否包含所述第一序列号,若包含,则根据所述回复消息中的全量LSA更新本地数据;
向所述主机设备发送更新确认消息,所述更新确认消息包含所述第一序列号。
5.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
接收主机设备发送的更新消息,所述更新消息中包含第二序列号;
根据所述更新消息更新本地数据,并向所述主机设备返回确认消息,所述确认消息中包含所述第二序列号。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
接收主机设备发送的校验消息,所述校验消息中包含第三序列号;
根据所述校验消息校验本地数据,并向所述主机设备返回校验结果消息,所述校验结果消息中包含所述第三序列号。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
周期性向主机设备发送心跳请求;
接收所述主机设备发送的心跳回复消息,并校验所述心跳回复消息中的序列号是否与本地存储的最后一次存储的序列号一致,若不一致,则向所述主机设备发送全量LSA同步请求。
8.一种OSPF协议报文分布式处理系统,其特征在于,应用于路由器堆叠系统中的非主机设备,所述系统包括:
筛选模块,用于对接收的数据包进行过滤,筛选出开放最短路径优先OSPF协议报文;
处理模块,采用自身的数据处理资源,按照OSPF协议处理所述OSPF协议报文生成对应的链路状态广播LSA;
第一发送模块,将自身的LSA发送给所述路由器堆叠系统中的主机设备,以使得所述主机设备根据所有非主机设备的LSA生成网络路由信息。
9.根据权利要求8所述的系统,其特征在于,还包括:
校验模块,当所述OSPF协议报文符合预设条件时,按照OSPF协议处理所述OSPF协议报文生成对应的链路状态广播,当不符合预设条件时,丢弃所述OSPF协议报文。
10.一种路由器设备,其特征在于,所述路由器设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010558789.8A CN111740914B (zh) | 2020-06-18 | 2020-06-18 | 一种ospf协议报文分布式处理方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010558789.8A CN111740914B (zh) | 2020-06-18 | 2020-06-18 | 一种ospf协议报文分布式处理方法、系统及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111740914A true CN111740914A (zh) | 2020-10-02 |
CN111740914B CN111740914B (zh) | 2022-11-22 |
Family
ID=72649655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010558789.8A Active CN111740914B (zh) | 2020-06-18 | 2020-06-18 | 一种ospf协议报文分布式处理方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111740914B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889464A (zh) * | 2006-07-26 | 2007-01-03 | 华为技术有限公司 | 一种实现通信接管的方法及装置 |
WO2011021145A1 (en) * | 2009-08-20 | 2011-02-24 | Telefonaktiebolaget L M Ericsson (Publ) | Link state identifier collision handling |
CN102882730A (zh) * | 2012-10-11 | 2013-01-16 | 杭州华三通信技术有限公司 | 一种链路状态通告的备份方法和设备 |
CN103200109A (zh) * | 2013-03-22 | 2013-07-10 | 杭州华三通信技术有限公司 | 一种ospf邻居关系管理方法和设备 |
WO2014079006A1 (zh) * | 2012-11-21 | 2014-05-30 | 华为技术有限公司 | 一种ospf报文的流量控制方法及装置 |
CN103947164A (zh) * | 2011-10-14 | 2014-07-23 | 谷歌公司 | 半集中式路由 |
US20140351371A1 (en) * | 2013-05-24 | 2014-11-27 | Red Hat, Inc. | Overlay network over a messaging network |
CN108881315A (zh) * | 2018-08-29 | 2018-11-23 | 南京航空航天大学 | 一种基于nfv的检测和恢复双lsa攻击ospf协议的方法及系统 |
CN109104363A (zh) * | 2018-09-26 | 2018-12-28 | 迈普通信技术股份有限公司 | 一种报文转发方法及设备 |
US20190068487A1 (en) * | 2016-09-07 | 2019-02-28 | T-Mobile Usa, Inc. | Network address translation in networks using multiple nat devices |
CN111083074A (zh) * | 2019-12-20 | 2020-04-28 | 盛科网络(苏州)有限公司 | 主备双ospf状态机的高可用性方法和系统 |
US20200186468A1 (en) * | 2018-12-05 | 2020-06-11 | Vmware, Inc. | Route server for distributed routers using hierarchical routing protocol |
-
2020
- 2020-06-18 CN CN202010558789.8A patent/CN111740914B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889464A (zh) * | 2006-07-26 | 2007-01-03 | 华为技术有限公司 | 一种实现通信接管的方法及装置 |
WO2011021145A1 (en) * | 2009-08-20 | 2011-02-24 | Telefonaktiebolaget L M Ericsson (Publ) | Link state identifier collision handling |
CN103947164A (zh) * | 2011-10-14 | 2014-07-23 | 谷歌公司 | 半集中式路由 |
CN102882730A (zh) * | 2012-10-11 | 2013-01-16 | 杭州华三通信技术有限公司 | 一种链路状态通告的备份方法和设备 |
WO2014079006A1 (zh) * | 2012-11-21 | 2014-05-30 | 华为技术有限公司 | 一种ospf报文的流量控制方法及装置 |
CN103200109A (zh) * | 2013-03-22 | 2013-07-10 | 杭州华三通信技术有限公司 | 一种ospf邻居关系管理方法和设备 |
US20140351371A1 (en) * | 2013-05-24 | 2014-11-27 | Red Hat, Inc. | Overlay network over a messaging network |
US20190068487A1 (en) * | 2016-09-07 | 2019-02-28 | T-Mobile Usa, Inc. | Network address translation in networks using multiple nat devices |
CN108881315A (zh) * | 2018-08-29 | 2018-11-23 | 南京航空航天大学 | 一种基于nfv的检测和恢复双lsa攻击ospf协议的方法及系统 |
CN109104363A (zh) * | 2018-09-26 | 2018-12-28 | 迈普通信技术股份有限公司 | 一种报文转发方法及设备 |
US20200186468A1 (en) * | 2018-12-05 | 2020-06-11 | Vmware, Inc. | Route server for distributed routers using hierarchical routing protocol |
CN111083074A (zh) * | 2019-12-20 | 2020-04-28 | 盛科网络(苏州)有限公司 | 主备双ospf状态机的高可用性方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111740914B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106416132B (zh) | 使用控制器处的交换机建模接口控制网络交换机的系统和方法 | |
JP5842933B2 (ja) | ネットワークシステム、及び経路情報同期方法 | |
CN103201982A (zh) | 利用安全端口组来管理mac移动 | |
CN106059791B (zh) | 一种存储系统中业务的链路切换方法和存储设备 | |
EP2667553A1 (en) | Packet processing method, device and system | |
CN110011941B (zh) | 一种报文转发方法及设备 | |
EP2961112A1 (en) | Message forwarding system, method and device | |
CN105553844B (zh) | 一种链路状态通告的传输方法及网络设备 | |
CN109274592B (zh) | Mac地址表项处理方法、装置以及计算机可读介质 | |
US20130067488A1 (en) | Method and system for efficient inter- process communication in a high availability system | |
CN109194525A (zh) | 一种网络节点配置方法及管理节点 | |
CN103631652A (zh) | 虚拟机迁移的实现方法及系统 | |
CN110708275B (zh) | 一种协议报文的处理方法和装置 | |
EP3253030B1 (en) | Method and device for reporting openflow switch capability | |
US10680930B2 (en) | Method and apparatus for communication in virtual network | |
CN104022896B (zh) | 一种配置管理方法、装置及网络设备 | |
EP2899922A1 (en) | Information processing system, management device, management program, and management method | |
CN111740914B (zh) | 一种ospf协议报文分布式处理方法、系统及相关设备 | |
CN103200092A (zh) | 一种基于虚拟网络设备的路由进程管理方法和设备 | |
CN109005203B (zh) | 数据同步方法及装置、存储介质、处理器、终端 | |
CN110830477B (zh) | 一种业务的识别方法、装置、网关、系统及存储介质 | |
US11409700B2 (en) | Method, electronic device and computer program product for snapshot replication | |
CN105933352A (zh) | 基于客户端的服务器之间数据同步方法、客户端及系统 | |
CN113765783B (zh) | 通信方法及装置 | |
CN104539442B (zh) | 用于提高可靠性的方法、网络设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |