CN114124812A - 维护表项一致性的方法、装置及电子设备 - Google Patents
维护表项一致性的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114124812A CN114124812A CN202111387521.3A CN202111387521A CN114124812A CN 114124812 A CN114124812 A CN 114124812A CN 202111387521 A CN202111387521 A CN 202111387521A CN 114124812 A CN114124812 A CN 114124812A
- Authority
- CN
- China
- Prior art keywords
- entry
- network device
- dhcp
- table entry
- key information
- 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.)
- Pending
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/74—Address processing for 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供一种维护表项一致性的方法、装置及电子设备,方法包括:第一网络设备接收第二网络设备上报的同步请求报文;同步请求报文由第二网络设备通过与MLAG‑Lite系统中各第一网络设备相连的所有汇聚组成员端口发出;同步请求报文中携带有需同步的表项关键信息;检测本地表项中是否已记录表项关键信息;若本地表项中未记录表项关键信息,则根据表项关键信息在本地表项中新增表项条目。这样就通过第二网络设备的作用,就使得MLAG‑Lite系统内未记录相关信息的各第一网络设备得以自主生成相应的表项条目,从而维护了各第一网络设备间表项的一致性。
Description
技术领域
本申请涉及MLAG-Lite技术领域,具体而言,涉及一种维护表项一致性的方法、装置及电子设备。
背景技术
MLAG(Multichassis Link Aggregation Group,跨设备链路聚合组)是一种实现跨设备链路聚合的机制,可以将一台设备或者服务器(诸如存储服务器、计算服务器等类型服务器)与另外两台设备进行跨设备链路聚合,从而把链路可靠性从单板级提高到了设备级,组成双活系统。MLAG属于横向虚拟化技术的一种,在数据中心使用场景中被广泛采用。
MLAG-Lite是一种轻量级的MLAG,相对于现有MLAG来说具有可扩展性更高,配置更为简单的优点,在数据中心场景中越发受使用者青睐。现有MLAG需要专门链路进行报文交互,选举设备角色,并通过专门链路同步设备间表项信息,且各厂商实现方式不一致,导致不同厂商间设备无法兼容。而MLAG-Lite相比较于现有MLAG,其实现方式更为简单,不采用专门链路,也不维护MLAG协议,节约了端口资源,减轻了设备处理系统压力。MLAG-Lite仅需通过为系统内的网络设备配置相同的MAC(Media Access Control,媒体访问控制)地址、扩展端口编号,即可使得系统内的多台网络设备对MLAG-Lite系统外的其他设备的LACP(LinkAggregation Control Protocol,链路汇聚控制协议)端口呈现为同一设备,进而实现跨设备链路聚合,不存在厂商兼容问题。但由于MLAG-Lite并没有专门的协议、专门的链路进行表项间的同步,因此导致网MLAG-Lite系统内的各网络设备间无法实现表项的一致性。
比如,在DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)场景中,MLAG-Lite系统内的网络设备可以作为DHCP服务器,也可以用于开启DHCP Snooping功能(DHCP Snooping是DHCP的一种安全特性,用于保证DHCP客户端从合法的DHCP服务器获取IP地址,并记录DHCP客户端IP地址与MAC地址等参数的对应关系,防止网络上针对DHCP攻击)。但由于MLAG-Lite并没有专门的协议、专门的链路进行表项间的同步,所以系统内网络设备间无法对DHCP表项、DHCP Snooping表项同步进行处理。而在MLAG-Lite环境中,网络设备作为DHCP服务器时,若网络设备对DHCP表项没有进行同步,那么将很有可能导致出现地址分配紊乱(诸如不同DHCP服务器将相同地址分配给不同设备、某一DHCP服务器已经释放某IP地址,但是对端设备无法释放等情况)的问题。而DHCP Snooping表项在某些网络设备存在,在某些网络设备不存在时,那么当攻击报文被负载到不存在DHCP Snooping表项的一端时,设备将无法抑制攻击。
发明内容
本申请实施例的目的在于提供一种维护表项一致性的方法、装置及电子设备,用以实现第一网络设备间表项的一致性。
本申请实施例提供了一种维护表项一致性的方法,应用于第一网络设备,所述第一网络设备为MLAG-Lite系统内的网络设备,包括:接收第二网络设备上报的同步请求报文;所述第二网络设备为接入所述MLAG-Lite系统的外部网络设备;所述同步请求报文由所述第二网络设备通过与所述MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口发出;所述同步请求报文中携带有需同步的表项关键信息;检测本地表项中是否已记录所述表项关键信息;若所述本地表项中未记录所述表项关键信息,则根据所述表项关键信息在所述本地表项中新增表项条目。
在上述实现过程中,在存在需要MLAG-Lite系统内的各第一网络设备保持一致性的表项关键信息时,第二网络设备通过与该MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口发送携带该表项关键信息的同步请求报文,而MLAG-Lite系统内的各第一网络设备即可以通过检测自身的本地表项中是否已记录该表项关键信息,进而在未记录时,根据该表项关键信息在本地表项中新增表项条目。这样通过第二网络设备的作用,就使得MLAG-Lite系统内未记录相关信息的各第一网络设备得以自主生成相应的表项条目,从而维护了各第一网络设备间表项的一致性。
进一步地,所述本地表项为DHCP表项,或为DHCP Snooping表项。
通过本申请实施例的方案,可以通过第二网络设备的作用,实现各第一网络设备间DHCP表项的一致性,从而可以避免出现地址分配紊乱的问题。或者,通过本申请实施例的方案,可以通过第二网络设备的作用,实现各第一网络设备间DHCP Snooping表项的一致性,从而使得各第一网络设备具有相同的DHCP攻击抑制能力。
进一步地,所述同步请求报文为DHCP请求报文;所述表项关键信息携带于所述DHCP请求报文的option字段中。
应理解,DHCP请求报文中的option字段可以用来存放普通协议中没有定义的控制信息和参数。因此,在上述实现过程中,通过option字段来携带表项关键信息,可以不改变常规的DHCP请求报文的协议定义,从而便于在工业实际中进行推广与应用。
进一步地,所述方法还包括:在接收到所述第二网络设备的DHCP释放报文时,清除所述本地表项中的表项条目;所述DHCP释放报文被所述第二网络设备通过与所述MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口分别进行发送;所述表项条目为所述DHCP释放报文所请求释放的表项条目。
在上述实现过程中,同样通过第二网络设备的作用,可以有效使得MLAG-Lite系统中各第一网络设备都针对相同的表项条目进行清除,从而维护了MLAG-Lite系统中各第一网络设备间表项的一致性。
本申请实施例还提供了一种维护表项一致性的方法,应用于第二网络设备,所述第二网络设备为接入所述MLAG-Lite系统的外部网络设备;包括:通过与MLAG-Lite系统中的各第一网络设备相连的所有汇聚组成员端口,分别向所述各第一网络设备发送携带有需同步的表项关键信息的同步请求报文,以使各所述第一网络设备各自检测本地表项中是否已记录所述表项关键信息,并在所述本地表项中未记录所述表项关键信息时,根据所述表项关键信息在所述本地表项中新增表项条目。
在上述实现过程中,通过第二网络设备在所有汇聚组成员端口上发送携带有需同步的表项关键信息的同步请求报文,就使得MLAG-Lite系统内未记录相关信息的各第一网络设备得以自主生成相应的表项条目,从而维护了各第一网络设备间表项的一致性。
进一步地,所述本地表项为DHCP表项,或为DHCP Snooping表项。
进一步地,所述方法还包括:在监测到DHCP服务器分配的IP地址使用结束时,通过所有的所述汇聚组成员端口发送DHCP释放报文,以使各所述第一网络设备清除所述本地表项中所述DHCP释放报文所请求释放的表项条目。
在DHCP场景中,当第二网络设备对DHCP服务器分配的IP地址使用结束(比如业务执行结束、IP地址达到租约时间等情况)时,此时该IP地址对应的DHCP表项和DHCPSnooping表项应被释放。而上述实现过程中,第二网络设备通过在监测到DHCP服务器分配的IP地址使用结束时,通过所有的所述汇聚组成员端口发送DHCP释放报文,即可以使得MLAG-Lite系统中的所有第一网络设备均清除相应的表项条目,从而维护了表项清除过程中,各第一网络设备间表项的一致性。
本申请实施例还提供了一种维护表项一致性的装置,应用于第一网络设备,所述第一网络设备为MLAG-Lite系统内的网络设备;所述装置包括:接收模块,用于接收第二网络设备上报的同步请求报文;所述第二网络设备为接入所述MLAG-Lite系统的外部网络设备;所述同步请求报文由所述第二网络设备通过与所述MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口发送;所述同步请求报文中携带有需同步的表项关键信息;检测模块,用于检测本地表项中是否已记录所述表项关键信息;表项控制模块,用于在所述本地表项中未记录所述表项关键信息时,根据所述表项关键信息在所述本地表项中新增表项条目。
本申请实施例还提供了一种维护表项一致性的装置,应用于第二网络设备,所述第二网络设备为接入MLAG-Lite系统的外部网络设备;所述装置包括:发送模块,用于通过与所述MLAG-Lite系统中的各第一网络设备相连的所有汇聚组成员端口,分别向所述各第一网络设备发送携带有需同步的表项关键信息的同步请求报文,以使各所述第一网络设备各自检测本地表项中是否已记录所述表项关键信息,并在所述本地表项中未记录所述表项关键信息时,根据所述表项关键信息在所述本地表项中新增表项条目;其中,所述MLAG-Lite系统为针对所述表项关键信息具有表项一致性需求的MLAG-Lite系统。
本申请实施例还提供了一种电子设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的维护表项一致性的方法。
本申请实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的维护表项一致性的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种维护表项一致性的方法的双端交互示意图;
图2为本申请实施例提供的一种第一网络设备作为DHCP服务器时的系统结构示意图;
图3为本申请实施例提供的一种第一网络设备用于维护DHCP Snooping表项时的系统结构示意图;
图4为本申请实施例提供的一种应用于第一网络设备的维护表项一致性的装置的结构示意图;
图5为本申请实施例提供的一种应用于第二网络设备的维护表项一致性的装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
为了实现MLAG-Lite系统内的各第一网络设备间表项的一致性,本申请实施例中提供了一种维护表项一致性的方法。其中,第一网络设备是指MLAG-Lite系统内的各个网络设备。可以参见图1所示,图1为本申请实施例中提供的维护表项一致性的方法的双端交互示意图,包括:
S101:第二网络设备通过与MLAG-Lite系统中的各第一网络设备相连的所有汇聚组成员端口,分别向所述各第一网络设备发送同步请求报文。
在本申请实施例中,第二网络设备是指接入MLAG-Lite系统的外部网络设备。
在本申请实施例中,同步请求报文中会携带有需同步的表项关键信息。
需同步的表项关键信息可以是第二网络设备根据当前完成的任务所确定的。比如,在DHCP场景中,假设第一网络设备作为DHCP服务器,第二设备作为DHCP客户端,当第二网络设备成功从第一网络设备处获取到了本次使用的IP地址后,即可将用于生成DHCP表项的IP地址、第二网络设备的MAC地址等关键信息作为表项关键信息,从而上报给各第一网络设备。
还需要说明的是,本申请实施例中所述的MLAG-Lite系统,是指按照MLAG-Lite技术实现跨设备链路聚合的多个第一网络设备的集合,这些设备对于第二网络设备的LACP端口呈现为同一设备,但是第二网络设备根据各汇聚组成员端口可以分别接入MLAG-Lite系统的不同第一网络设备。
在本申请实施例中,携带有需同步的表项关键信息的同步请求报文会在该第二网络设备的与MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口上进行发送,从而使得MLAG-Lite系统中的每一个第一网络设备均可获取到该同步请求报文。
应理解,在DHCP场景中,同步请求报文可以为DHCP请求报文。DHCP请求报文中的option字段可以用来存放普通协议中没有定义的控制信息和参数。为此,在本申请实施例中,在DHCP场景中,可以将表项关键信息携带于DHCP请求报文的option字段中,以在不改变DHCP请求报文的协议定义的基础上,便于在工业实际中对本申请实施例的方案进行推广与应用。
在本申请实施例中,为了实现option字段可以携带表项关键信息,一种可行的方式是,可以采用多个现有option结构构成。示例性的,本申请实施例中的option字段结构形式可以如下表一所示:
表一
Type | Length | Value | Type | Length | Value | Type | Length | Value | Type | Length | Value |
61 | X | Value | 12 | X | Value | 50 | X | Value | 51 | X | Value |
其中,Type表征类型,Length表征数据长度,Value表征信息内容值,X为变量,可以是任意大于0的常值。而在option字段中,Type值为61时(即option61),表征该option字段的作用为设置客户端标识选项;Type值为12时(即option12),表征该option字段的作用为设置DHCP客户端的主机名选项;Type值为50时(即option50),表征该option字段的作用为设置请求IP地址选项;Type值为51时(即option51),表征该option字段的作用为设置IP地址租约时间选项。
应理解,在不同的场景中,上述表一中各Type的值、各Type对应的Length的值和Value的值应根据所需携带的表项关键信息的不同而进行不同设置。
此外,为了实现option字段可以携带表项关键信息,另一种可行的方式是,可以将需要的信息定义为option的不同子项,并在子项中填充其值。示例性的,可以参见表二所示option字段结构形式:
表二
其中,Type表征类型,Length表征option字段的数据长度,Agent InformationField表征补充信息字段,i1表征第一个子项,in表征第n个子项,SubOpt表征子项下需填充的信息类型(比如IP地址、MAC地址、租约时间、Syn标记、VLAN(Virtual Local AreaNetwork,即虚拟局域网)ID(Identity document,身份证标识号)、接口ID等),Len表征该子项的数据长度,Sub-option Value表征该子项的信息内容值。
此外,为了实现option字段可以携带表项关键信息,还有一种可行的方式是,可以构造一种特定option结构,如表三所示,该option结构中的Value字段记录了所需要的各表项关键信息(如IP地址、MAC地址、租约时间、Syn标记、VLAN(Virtual Local Area Network,即虚拟局域网)ID(Identity document,身份证标识号)、接口ID等信息的内容值):
表三
其中,Type表征类型,Length表征option字段的数据长度,各option Value表征不同类型的表项关键信息的内容值。
应理解,以上三种option字段结构仅为本申请实施例中示例出的几种可选的实现方式,但不作为对本申请实施例的限制。
S102:第一网络设备在接收到第二网络设备上报的同步请求报文后,检测本地表项中是否已记录该表项关键信息。若未记录,则转至步骤S103;若已记录,则结束流程。
S103:根据该表项关键信息在本地表项中新增表项条目。
可选的,在本申请实施例中,在本地表项中未记录该表项关键信息时,可按照该本地表项的数据记录格式和规则,生成一个新的表项条目,并在该表项条目中分别写入各表项关键信息,从而实现对于表项条目的新增。
在本申请实施例中,各第一网络设备分别通过检测自身的本地表项中是否已记录该表项关键信息,进而在未记录时新增相应的表项条目,这样就使得MLAG-Lite系统内的所有第一网络设备均实现了对于该表项关键信息对应的表项条目的记录,从而维护了各第一网络设备间表项的一致性。
需要注意的是,在本申请实施例中,第一网络设备内维护的本地表项可以但不限于是DHCP表项、DHCP Snooping表项等。
应理解,不同的本地表项,其对应的表项关键信息可能是不同的。在本申请实施例中,可以预先设定本地表项对应所需的表项关键信息。
示例性的,当本地表项为DHCP表项时,表项关键信息可以包括:第二网络设备的MAC地址、分配给第二网络设备的IP地址、租约时间等信息中的至少一种。当本地表项为DHCP Snooping表项时,表项关键信息可以包括:第二网络设备的MAC地址、第二网络设备的VLAN信息、第二网络设备的接口信息、分配给第二网络设备的IP地址、租约时间等信息中的至少一种。
应理解,以上过程可以保证表项条目新增过程中,各第一网络设备间的表项一致性。但是在实际应用过程中,还可能存在需要删除表项中的某一或某些表项条目的情况。
为此,在本申请实施例中,同样可以通过第二网络设备来保证各第一网络设备间的表项一致性。
第二网络设备可以在监测到相应的表项释放触发条件被触发时,即通过与该表项释放触发条件所对应连接的MLAG-Lite系统中各网络设备的所有汇聚组成员端口,分别向所述MLAG-Lite系统中的各第一网络设备发送DHCP释放报文。
在本申请实施例中,DHCP释放报文中可以携带有相应的清除指示信息,以使得第一网络设备得以根据清除指示信息所指示的表项条目,清除该表项条目。
在本申请实施例中,清除指示信息可以是各表项条目的标识信息,或者也可以是表项条目中的内容,或者可以与其他表项条目相区别的关键信息的内容。示例性的,对于DHCP表项和DHCP Snooping表项,清除指示信息可以是IP地址。
在本申请实施例中,表项释放触发条件可以由工程师根据实际业务的不同场景需求进行设定。示例性的,对于DHCP场景中,如果维护的本地表项为DHCP表项或DHCPSnooping表项,那么表项释放触发条件则可以设置为DHCP服务器分配的IP地址使用结束。即,第二网络设备可以在监测到DHCP服务器分配的IP地址使用结束时,通过所有的汇聚组成员端口发送DHCP释放报文,以使各第一网络设备清除本地表项中DHCP释放报文所请求释放的表项条目。
本申请实施例所提供的维护表项一致性的方法,在存在需要MLAG-Lite系统内的各第一网络设备保持一致性的表项关键信息时,第二网络设备通过与该MLAG-Lite系统中的各第一网络设备相连的所有汇聚组成员端口分别对携带该表项关键信息的同步请求报文进行发送,而MLAG-Lite系统内的各第一网络设备即可以通过检测自身的本地表项中是否已记录该表项关键信息,进而在未记录时,根据该表项关键信息在本地表项中新增表项条目。这样就通过第二网络设备的作用,就使得MLAG-Lite系统内未记录相关信息的各第一网络设备得以自主生成相应的表项条目,从而维护了各第一网络设备间表项的一致性。
此外,在需要进行表项条目清除时,同样可以通过第二网络设备,使得各第一网络设备均针对相同的表项条目进行清除,从而维护各第一网络设备间表项的一致性。
实施例二:
本实施例在实施例一的基础上,分别以针对DHCP表项实现表项一致性维护的过程,和针对DHCP Snooping表项实现表项一致性维护的过程为例,为本申请做进一步示例说明。
示例1:
参见图2所示,MLAG-Lite系统由第一网络设备1和第一网络设备2构成,第二网络设备通过一个汇聚组成员端口与第一网络设备1连接,通过另一个汇聚组成员端口与第一网络设备2连接。第二网络设备作为DHCP客户端,而第一网络设备1和第一网络设备2均作为DHCP服务器。第二网络设备通过汇聚组任一成员端口,均可保证发送的Discover报文会被DHCP服务器接收。
各第一网络设备作为DHCP服务器,维护DHCP表项。
DHCP表项一致性维护的过程包括:
S10、DHCP客户端(第二网络设备)启动,并通过汇聚组任一成员端口(通常采用根端口)发送Discover(探索)报文,该报文携带了DHCP客户端的MAC地址、需要请求的参数列表选项、广播标志位等信息。
需要注意的是,S10中只通过汇聚组任一成员端口发送该报文,并非所有的第一网络设备均能接收到该Discover报文。
S11、第一网络设备收到Discover报文后,服务器通过地址池来管理可供分配的IP地址等网络参数。
作为DHCP服务器的第一网络设备接收到Discover报文后,选择跟接收该Discover报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP Offer(供给)报文发送给DHCP客户端。DHCP Offer报文里面携带了希望分配给指定MAC地址的DHCP客户端的IP地址(携带于DHCP Offer报文中的yiaddr(被分配的DHCP客户端IP地址)字段)及其租约时间等配置参数。
S12、DHCP客户端接收第一个收到的DHCP Offer报文,然后以广播方式发送DHCPRequest(请求)报文。该DHCP Request报文中包含DHCP客户端想选择的DHCP服务器标识符(即option54)和客户端IP地址(即option50,填充了接收的DHCP Offer报文中yiaddr字段的IP地址)。
S13、DHCP服务器(即第一网络设备1或第一网络设备2)收到DHCP客户端发送的DHCP Request报文后,DHCP服务器回应DHCP ACK(Acknowledgement,确认)报文,表示DHCPRequest报文中请求的IP地址(option50填充的)分配给DHCP客户端使用。
S14、DHCP客户端收到DHCP ACK报文后,会广播发送免费ARP(Address ResolutionProtocol,地址解析协议)报文,探测本网段是否有其他终端使用该DHCP服务器分配的IP地址。如果在指定时间内没有收到回应,表示该DHCP客户端可以使用此地址。
S15、S14中如果收到了回应,说明有其他DHCP客户端使用了此IP地址。此时DHCP客户端可以基于汇聚组所有成员端口(即同一报文对所有的汇聚组成员端口均发送)向所有DHCP服务器(即第一网络设备1和第一网络设备2)发送Decline报文(包含特定字段,主要字段为IP地址),告知该IP地址被占用。
此时DHCP客户端会基于汇聚组任一成员端口(通常为根端口)再次重新请求IP地址。该汇聚组成员端口对应的DHCP服务器收到S15中的Decline报文后,将该地址列为冲突地址。DHCP服务器在没有空闲地址分配时,才会选择冲突地址进行分配。
S16、S14中若在指定时间没有收到回应,则使用该IP地址,并基于汇聚组所有成员端口(即同一报文对所有的汇聚组成员端口均发送)向所有DHCP服务器(即第一网络设备1和第一网络设备2)发送包含特定option字段(option字段构成的方式本实施例中不做特别要求,可以采用表一至表三任一种方式实现)的DHCP Request报文。
该DHCP Request报文的option字段中需包含目前使用的IP地址、MAC地址、租约时间等信息。
对第一网络设备1和第一网络设备2而言,在收到包含特定option字段的DHCPRequest报文后,可以检查该DHCP Request报文中的option值。如果syn标记为1,则表明该DHCP Request报文为同步请求报文,而不是请求IP地址的过程中,步骤S12中的Request报文。
S17、对第一网络设备1和第一网络设备2而言,在S16中特定option字段的option中的syn标记为1,则可以进一步判断该DHCP Request报文的option字段中携带的IP地址是否已经在DHCP表项中处于已分配状态,如果处于已分配状态,则不进行处理。如果处于未分配状态,则添加该IP地址到DHCP表项中,表明该地址已处于分配状态。
此时,如图2所示的网络架构,对于该新分配的IP地址来说,多个DHCP服务器之间(即第一网络设备1和第一网络设备2之间)分配了IP地址,并完成了DHCP表项一致性的维护。
当续约周期达到T1(续约T1时间,一般指租约时间的50%)、T2(续约T2时间,一般指租约时间的87.5%)时,发送的续约报文同样基于汇聚组所有成员端口发送,DHCP服务器端收到该续约报文后,对该IP地址进行续约操作。
S18、当DHCP客户端不再需要使用该IP地址时,DHCP客户端基于所有汇聚组所有成员端口向第一网络设备1和第一网络设备2发送包含特定option字段的DHCP Release(释放)报文(即DHCP释放报文)。
Release报文的option字段中,至少携带有该IP地址。
S19、对每一个第一网络设备(第一网络设备1、第一网络设备2)而言,在收到包含特定option字段的DHCP Release报文后,可以将该IP地址释放。即在DHCP表项中清除包含该IP地址的表项条目。
示例2:
参见图3所示,第二网络设备为DHCP客户端(DHCP客户端可以是交换机,也可以是具有类似功能的其他设备),DHCP客户端采用汇聚组方式接入到多台第一网络设备(第一网络设备1和第一网络设备2)上。各第一网络设备连接到DHCP服务器。各第一网络设备维护DHCP Snooping表项。
应理解,对于DHCP Snooping表项而言,在图2所示的网络架构中,各第一网络设备作为DHCP服务器时,各第一网络设备同样可以维护DHCP Snooping表项,同样可以适用图3所示网络架构的实现DHCP Snooping表项一致的方法。
DHCP Snooping表项一致性维护的过程包括:
S20、DHCP客户端(第二网络设备)启动,并通过汇聚组任一成员端口(通常采用根端口)发送Discover报文,该报文携带了DHCP客户端的MAC地址、需要请求的参数列表选项、广播标志位等信息。
需要注意的是,S20中第二网络设备只通过汇聚组任一成员端口发送该Discover报文到第一网络设备1或第一网络设备2中,进而由第一网络设备1或第一网络设备2将该Discover报文上送至DHCP服务器。应理解,该过程中,只需向一个第一网络设备发送该Discover报文即可,无需向所有的第一网络设备均发送该Discover报文。
S21、DHCP服务器收到该Discover报文后,通过地址池来管理可供分配的IP地址等网络参数。
DHCP服务器接收到Discover报文后,选择跟接收该Discover报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP Offer报文发送给DHCP客户端。DHCP Offer报文里面携带了希望分配给指定MAC地址的DHCP客户端的IP地址(携带于DHCP Offer报文中的yiaddr字段)及其租约时间等配置参数。
S22、DHCP客户端接收第一个收到的DHCP Offer报文,然后以广播方式发送DHCPRequest报文。该DHCP Request报文中包含DHCP客户端想选择的DHCP服务器标识符(即option54)和客户端IP地址(即option50,填充了接收的DHCP Offer报文中yiaddr字段的IP地址)。
S23、DHCP服务器收到DHCP客户端发送的DHCP Request报文后,DHCP服务器回应DHCP ACK报文,表示DHCP Request报文中请求的IP地址(option50填充的)分配给DHCP客户端使用。
S24、DHCP客户端收到DHCP ACK报文后,会广播发送免费ARP报文,探测本网段是否有其他终端使用该DHCP服务器分配的IP地址。如果在指定时间内没有收到回应,表示该DHCP客户端可以使用此地址。
S25、S24中如果收到了回应,说明有其他DHCP客户端使用了此IP地址。此时DHCP客户端可以向DHCP服务器发送Decline报文(包含特定字段,主要字段为IP地址),告知该IP地址被占用。
此时DHCP客户端会基于汇聚组任一成员端口(通常为根端口)再次重新请求IP地址。DHCP服务器收到S25中的Decline报文后,将该地址列为冲突地址。DHCP服务器在没有空闲地址分配时,才会选择冲突地址进行分配。
S26、S24中若在指定时间没有收到回应,则使用该IP地址,并基于汇聚组所有成员端口(即同一报文对所有的汇聚组成员端口均发送)向所有第一网络设备(即第一网络设备1和第一网络设备2)发送包含特定option字段(option字段构成的方式本实施例中不做特别要求,可以采用表一至表三任一种方式实现)的DHCP Request报文。
该DHCP Request报文的option字段中需包含目前使用的IP地址、MAC地址、VLANID、接口ID、租约时间等信息。
S27、对每一个第一网络设备(第一网络设备1、第一网络设备2)而言,在收到包含特定option字段的DHCP Request报文后,如果该第一网络设备使能DHCP Snooping功能,该第一网络设备即可以根据收到的DHCP Request报文,检查自身的DHCP Snooping表项。如果存在对应的表项条目,则不处理,如果不存在对应的表项条目,则根据DHCP Request报文中的option携带的信息,如IP地址、MAC地址、VLAN ID、接口ID、租约时间等生成DHCPSnooping表项。
S28、当DHCP客户端不再需要使用该IP地址时,DHCP客户端基于所有汇聚组所有成员端口向所有第一网络设备(即第一网络设备1和第一网络设备2)发送包含特定option字段的DHCP Release报文(即DHCP释放报文)。
Release报文的option字段中,至少携带有该IP地址。
S29、对每一个第一网络设备(包括第一网络设备1和第一网络设备2)而言,在收到包含特定option字段的DHCP Release报文后,可将该IP地址对应的DHCP Snooping表项条目老化。即在DHCP Snooping表项中清除包含该IP地址的表项条目。
通过上述方案,使得MLAG-Lite场景下,第一网络设备作为DHCP服务器,或使能DHCP Snoopin功能时,能够在各第一网络设备间维持DHCP表项、DHCP Snooping表项的一致性,从而解决因为表项不一致带来的地址紊乱、设备安全功能失效等问题,有利于MLAG-Lite技术的推广使用。
实施例三:
基于同一发明构思,本申请实施例中还提供维护表项一致性的装置400和维护表项一致性的装置500。应理解,装置400和装置500具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置400和装置500包括至少一个能以软件或固件的形式存储于存储器中或固化在装置400、装置500的操作系统中的软件功能模块。具体地:
参见图4所示,装置400应用于第一网络设备,所述第一网络设备为MLAG-Lite系统内的网络设备。装置400包括:接收模块401,检测模块402和表项控制模块403。其中:
接收模块401,用于接收第二网络设备上报的同步请求报文;所述第二网络设备为接入所述MLAG-Lite系统的外部网络设备;所述同步请求报文由所述第二网络设备通过与所述MLAG-Lite系统中各第一网络设备相连的的所有汇聚组成员端口发送;所述同步请求报文中携带有需同步的表项关键信息;
检测模块402,用于检测本地表项中是否已记录所述表项关键信息;
表项控制模块403,用于在所述本地表项中未记录所述表项关键信息时,根据所述表项关键信息在所述本地表项中新增表项条目。
在本申请实施例中,所述本地表项为DHCP表项,或为DHCP Snooping表项。
在本申请实施例中,所述同步请求报文为DHCP请求报文;所述表项关键信息携带于所述DHCP请求报文的option字段中。
在本申请实施例中,所示表项控制模块403还用于,在接收到所述第二网络设备的DHCP释放报文时,清除所述本地表项中的表项条目;所述DHCP释放报文被所述第二网络设备通过与与所述MLAG-Lite系统中各第一网络设备相连的网络设备相连的所有汇聚组成员端口分别进行发送;所述表项条目为所述DHCP释放报文所请求释放的表项条目。
参见图5所示,装置500应用于第二网络设备,所述第二网络设备为接入MLAG-Lite系统的外部网络设备;装置500包括:
发送模块501,用于通过与所述MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口,分别向所述第一网络设备发送携带有需同步的表项关键信息的同步请求报文,以使各所述第一网络设备各自检测本地表项中是否已记录所述表项关键信息,并在所述本地表项中未记录所述表项关键信息时,根据所述表项关键信息在所述本地表项中新增表项条目。
在本申请实施例的一种可行实施方式中,所述本地表项为DHCP表项,或为DHCPSnooping表项。
在上述可行实施方式中,所述发送模块501还用于,在监测到DHCP服务器分配的IP地址使用结束时,通过所有的所述汇聚组成员端口发送DHCP释放报文,以使各所述第一网络设备清除所述本地表项中所述DHCP释放报文所请求释放的表项条目。
需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。
实施例四:
本实施例提供了一种电子设备,参见图6所示,其包括处理器601、存储器602、通信总线603、外部通信接口604。其中:
通信总线603用于实现处理器601、存储器602和外部通信接口604之间的连接通信。
外部通信接口604用于与外部设备进行通信连接。
处理器601用于执行存储器602中存储的一个或多个程序,以实现上述实施例一和/或实施例二中所描述的维护表项一致性的方法中,第一网络设备或第二网络设备所执行的各步骤。
可以理解,图6所示的结构仅为示意,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(Secure Digital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二所描述的维护表项一致性的方法中,第一网络设备或第二网络设备所执行的各步骤。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种维护表项一致性的方法,其特征在于,应用于第一网络设备,所述第一网络设备为MLAG-Lite系统内的网络设备;所述方法包括:
接收第二网络设备上报的同步请求报文;所述第二网络设备为接入所述MLAG-Lite系统的外部网络设备;所述同步请求报文由所述第二网络设备通过与所述MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口发出;所述同步请求报文中携带有需同步的表项关键信息;
检测本地表项中是否已记录所述表项关键信息;
若所述本地表项中未记录所述表项关键信息,则根据所述表项关键信息在所述本地表项中新增表项条目。
2.如权利要求1所述的方法,其特征在于,所述本地表项为DHCP表项,或为DHCPSnooping表项。
3.如权利要求2所述的方法,其特征在于,所述同步请求报文为DHCP请求报文;所述表项关键信息携带于所述DHCP请求报文的option字段中。
4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
在接收到所述第二网络设备的DHCP释放报文时,清除所述本地表项中的对应表项条目;所述DHCP释放报文被所述第二网络设备通过与所述MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口分别进行发送;所述对应表项条目为所述DHCP释放报文所请求释放的表项条目。
5.一种维护表项一致性的方法,其特征在于,应用于第二网络设备,所述第二网络设备为接入MLAG-Lite系统的外部网络设备;所述方法包括:
通过与所述MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口,分别向所述各第一网络设备发送携带有需同步的表项关键信息的同步请求报文,以使各所述第一网络设备各自检测本地表项中是否已记录所述表项关键信息,并在所述本地表项中未记录所述表项关键信息时,根据所述表项关键信息在所述本地表项中新增表项条目。
6.如权利要求5所述的方法,其特征在于,所述本地表项为DHCP表项,或为DHCPSnooping表项。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
在监测到DHCP服务器分配的IP地址使用结束时,通过所有的所述汇聚组成员端口发送DHCP释放报文,以使各所述第一网络设备清除所述本地表项中所述DHCP释放报文所请求释放的表项条目。
8.一种维护表项一致性的装置,其特征在于,应用于第一网络设备,所述第一网络设备为MLAG-Lite系统内的网络设备;所述装置包括:
接收模块,用于接收第二网络设备上报的同步请求报文;所述第二网络设备为接入所述MLAG-Lite系统的外部网络设备;所述同步请求报文由所述第二网络设备通过与所述MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口发送;所述同步请求报文中携带有需同步的表项关键信息;
检测模块,用于检测本地表项中是否已记录所述表项关键信息;
表项控制模块,用于在所述本地表项中未记录所述表项关键信息时,根据所述表项关键信息在所述本地表项中新增表项条目。
9.一种维护表项一致性的装置,其特征在于,应用于第二网络设备,所述第二网络设备为接入MLAG-Lite系统的外部网络设备;所述装置包括:
发送模块,用于通过与所述MLAG-Lite系统中各第一网络设备相连的所有汇聚组成员端口,分别向所述各第一网络设备发送携带有需同步的表项关键信息的同步请求报文,以使各所述第一网络设备各自检测本地表项中是否已记录所述表项关键信息,并在所述本地表项中未记录所述表项关键信息时,根据所述表项关键信息在所述本地表项中新增表项条目。
10.一种电子设备,其特征在于,包括:处理器、存储器、内部通信总线、外部通信接口;
所述通信总线用于实现所述处理器、存储器和外部通信接口之间的连接通信;
所述外部通信接口用于与外部设备进行通信连接;
所述处理器用于执行所述存储器中存储的程序,以实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111387521.3A CN114124812A (zh) | 2021-11-22 | 2021-11-22 | 维护表项一致性的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111387521.3A CN114124812A (zh) | 2021-11-22 | 2021-11-22 | 维护表项一致性的方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114124812A true CN114124812A (zh) | 2022-03-01 |
Family
ID=80439167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111387521.3A Pending CN114124812A (zh) | 2021-11-22 | 2021-11-22 | 维护表项一致性的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124812A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567486A (zh) * | 2022-09-20 | 2023-01-03 | 浪潮思科网络科技有限公司 | 一种mlag环境下的租约同步方法、装置、设备及介质 |
CN116233072A (zh) * | 2023-01-09 | 2023-06-06 | 浪潮思科网络科技有限公司 | 动态主机配置协议服务器的管理方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516821A (zh) * | 2012-06-25 | 2014-01-15 | 中国移动通信集团公司 | 地址解析方法及相应的系统、交换机和服务器 |
CN106559506A (zh) * | 2015-09-28 | 2017-04-05 | 中兴通讯股份有限公司 | Arp条目生成方法和装置 |
CN113497752A (zh) * | 2020-03-19 | 2021-10-12 | 华为技术有限公司 | 一种报文发送方法、第一网络设备及网络系统 |
-
2021
- 2021-11-22 CN CN202111387521.3A patent/CN114124812A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516821A (zh) * | 2012-06-25 | 2014-01-15 | 中国移动通信集团公司 | 地址解析方法及相应的系统、交换机和服务器 |
CN106559506A (zh) * | 2015-09-28 | 2017-04-05 | 中兴通讯股份有限公司 | Arp条目生成方法和装置 |
CN113497752A (zh) * | 2020-03-19 | 2021-10-12 | 华为技术有限公司 | 一种报文发送方法、第一网络设备及网络系统 |
Non-Patent Citations (1)
Title |
---|
科技问题新制造: "互联网技术详解|数据中心接入双归属方案剖析", 《HTTP://WWW.SOHU.COM/A/472613500_121124365》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567486A (zh) * | 2022-09-20 | 2023-01-03 | 浪潮思科网络科技有限公司 | 一种mlag环境下的租约同步方法、装置、设备及介质 |
CN116233072A (zh) * | 2023-01-09 | 2023-06-06 | 浪潮思科网络科技有限公司 | 动态主机配置协议服务器的管理方法、装置、设备及介质 |
CN116233072B (zh) * | 2023-01-09 | 2024-03-22 | 浪潮思科网络科技有限公司 | 动态主机配置协议服务器的管理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768871B (zh) | 配置多个虚拟网卡的方法、宿主机和存储介质 | |
CN109101341B (zh) | 分布式锁的分配方法及设备 | |
US9479611B2 (en) | Method, device, and system for implementing communication after virtual machine migration | |
CN102355369B (zh) | 虚拟化集群系统及其处理方法和设备 | |
CN114124812A (zh) | 维护表项一致性的方法、装置及电子设备 | |
US20080184340A1 (en) | Application Execution System, Computer, Application Execution Device, And Control Method And Program For An Application Execution System | |
US20030177218A1 (en) | Distributed computer system enhancing a protocol service to a highly available service | |
US9952947B2 (en) | Method and system for processing fault of lock server in distributed system | |
CN102726025B (zh) | 一种业务包的安装方法和相关装置 | |
CN101827138A (zh) | 一种优化的ipv6过滤规则处理方法和设备 | |
CN111385296A (zh) | 一种业务进程重启方法、装置、存储介质以及系统 | |
CN104506654A (zh) | 云计算系统及动态主机配置协议服务器备份方法 | |
CN112954088A (zh) | 一种can网络的设备地址分配方法、设备及电子设备 | |
EP4369181A1 (en) | Node for running container group, and management system and method of container group | |
CN111585887A (zh) | 基于多个网络的通信方法、装置、电子设备及存储介质 | |
CN111435341A (zh) | 虚拟环境中的存储库可用性的增强管理 | |
EP3495939B1 (en) | Method and device for storing data in distributed block storage system, and computer readable storage medium | |
CN100505614C (zh) | 系统备份及恢复方法和备份及恢复服务器 | |
CN108352995B (zh) | 一种smb业务故障处理方法和存储设备 | |
US20220107752A1 (en) | Data access method and apparatus | |
US20240089352A1 (en) | Udp message distribution method, udp message distribution apparatus, electronic device and computer readable storage medium | |
US11675510B2 (en) | Systems and methods for scalable shared memory among networked devices comprising IP addressable memory blocks | |
CN108614873B (zh) | 一种数据处理方法及装置 | |
CN110839068B (zh) | 业务请求处理方法、装置、电子设备及可读存储介质 | |
CN109710183B (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 |