CN114301865B - 表项管理方法、装置、网络设备及计算机可读存储介质 - Google Patents
表项管理方法、装置、网络设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114301865B CN114301865B CN202111641713.2A CN202111641713A CN114301865B CN 114301865 B CN114301865 B CN 114301865B CN 202111641713 A CN202111641713 A CN 202111641713A CN 114301865 B CN114301865 B CN 114301865B
- Authority
- CN
- China
- Prior art keywords
- arp
- entry
- table entry
- arp table
- lpu
- 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
本申请提供一种表项管理方法、装置、网络设备及计算机可读存储介质。方法包括:当接收到分布式系统中的第一LPU发送的第一ARP报文,以及接收到分布式系统中的第二LPU发送的第二ARP报文时,对第一ARP报文中的第一ARP表项和第二ARP报文中的第二ARP表项进行冲突检测;当第一ARP表项和第二ARP表项存在冲突时,通过MPU基于预设仲裁策略,从第一ARP表项和第二ARP表项中确定其中一个ARP表项为目标ARP表项,用于表项同步。如此,有利于确保分布式系统中的ARP表项具有一致性,从而能提高系统运行和流量传输的稳定性与可靠性。
Description
技术领域
本申请涉及数据通信技术领域,具体而言,涉及一种表项管理方法、装置、网络设备及计算机可读存储介质。
背景技术
ARP(Address Resolution Protocol,地址解析协议)是一种根据IP地址获取物理地址(通常为以太网的MAC地址)的地址解析协议。网络设备中的ARP缓存表,包含有IP地址与物理地址的映射关系。例如,当三层设备想要向下一跳邻居设备发送报文时,则根据下一跳邻居设备的IP地址,查询ARP缓存表获得MAC地址,填充到报文以太头部目的MAC即可。
在由单台机架式设备或堆叠系统或MLAG(Multi-chassis Link AggregationGroup,跨设备链路聚合组)系统组成的分布式系统中,为实现业务隔离、提升网络可靠性等,需要在系统中各设备的主控处理单元(Main Processing Unit,MPU)和线路处理单元(Line Processing Unit,LPU)上进行ARP表项的同步,以及不同设备的MPU与LPU进行ARP表项的同步。正常情况下,同一个主机的ARP报文只会被分布式系统的一个设备节点的一个LPU接收并学习。当网络环境震荡(比如,主机迁移)时,存在同一个主机IP的ARP报文被一个设备节点的多个LPU或者多个设备节点的LPU同时接收学习并向其他设备节点和LPU同步的场景,在这类场景下,会影响系统运行和流量传输的稳定性与可靠性。
发明内容
本申请实施例的目的在于提供一种表项管理方法、装置、网络设备及计算机可读存储介质,能够确保分布式系统中的ARP表项具有一致性,有利于提高系统运行和流量传输的稳定性与可靠性。
为了实现上述目的,本申请的实施例通过如下方式实现:
第一方面,本申请实施例提供一种表项管理方法,应用于分布式系统中具有主控处理单元MPU的网络设备,所述方法包括:
当接收到所述分布式系统中的第一线路处理单元LPU发送的第一ARP报文,以及接收到所述分布式系统中的第二LPU发送的第二ARP报文时,对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测;当所述第一ARP表项和所述第二ARP表项存在冲突时,通过所述MPU基于预设仲裁策略,从所述第一ARP表项和所述第二ARP表项中确定其中一个ARP表项为目标ARP表项,其中,所述目标ARP表项为所述第一ARP表项和所述第二ARP表项中时间最新的ARP表项,用于表项同步。
在上述的实施方式中,当分布式系统中的MPU检测到有任意两个LPU学习到存在冲突的ARP表项时,可以通过预设仲裁策略确定出其中一个ARP表项为目标ARP表项,以进行表项同步,如此,可以确保分布式系统中的ARP表项具有一致性,从而能提高系统运行和流量传输的稳定性与可靠性。
结合第一方面,在一些可选的实施方式中,在对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测之前,所述方法还包括:
根据所述分布式系统中的所有LPU及所述MPU在同一时刻下各自记录的运行时长,对所述所有LPU及所述MPU进行时间同步,其中,每个LPU用于在学习到ARP表项时记录当前的时间戳,所述时间戳为经过时间同步后的时间,用于在存在表项冲突时判断当前的ARP表项是否为时间最新的。
在上述的实施方式中,通过对各LPU进行时间同步,有利于MPU基于同步后各LPU学习到的ARP表项的时间戳,进行时间先后的有效比对,避免因时间不同步,而无法准确比对学习到的ARP表项先后顺序。
结合第一方面,在一些可选的实施方式中,所述第一ARP报文包括所述第一LPU在学习到所述第一ARP表项时的第一时间戳,所述第二ARP报文包括所述第二LPU在学习到所述第二ARP表项时的第二时间戳;
通过所述MPU基于预设仲裁策略,从所述第一ARP表项和所述第二ARP表项中确定其中一个ARP表项为目标ARP表项,包括:
根据所述第一时间戳和所述第二时间戳,通过所述MPU将所述第一ARP表项和所述第二ARP表项中为最近学习到的ARP表项,确定为所述目标ARP表项;
或者,当所述第一时间戳和所述第二时间戳相同时,通过所述MPU将所述第一ARP表项和所述第二ARP表项中MAC地址优先级最高的ARP表项,确定为所述目标ARP表项。
结合第一方面,在一些可选的实施方式中,对所述第一ARP表项和所述第二ARP表项进行冲突检测,包括:
对所述第一ARP表项中的IP地址及MAC地址,分别与所述第二ARP表项中的IP地址和MAC地址进行比对;
当所述第一ARP表项和所述第二ARP表项中的IP地址相同,且MAC地址不同时,确定所述第一ARP表项和所述第二ARP表项存在冲突。
结合第一方面,在一些可选的实施方式中,所述方法还包括:
将所述目标ARP表项发送至所述分布式系统中的其他LPU以进行表项同步,其中,所述其他LPU为所述分布式系统中除去所述目标ARP表项所在的LPU之外的LPU。
结合第一方面,在一些可选的实施方式中,所述第一LPU和所述第二LPU为所述分布式系统中同一个设备中的LPU;
或者,所述第一LPU和所述第二LPU为所述分布式系统中不同设备中的LPU。
第二方面,本申请还提供一种表项管理装置,应用于分布式系统中具有MPU的网络设备,所述装置包括:
冲突检测单元,用于当接收到所述分布式系统中的第一LPU发送的第一ARP报文,以及接收到所述分布式系统中的第二LPU发送的第二ARP报文时,对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测;
仲裁单元,用于当所述第一ARP表项和所述第二ARP表项存在冲突时,通过所述MPU基于预设仲裁策略,从所述第一ARP表项和所述第二ARP表项中确定其中一个ARP表项为目标ARP表项,其中,所述目标ARP表项为所述第一ARP表项和所述第二ARP表项中时间最新的ARP表项,用于表项同步。
结合第二方面,在一些可选的实施方式中,所述装置还包括时间同步单元,在冲突检测单元对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测之前,所述时间同步单元用于:
根据所述分布式系统中的所有LPU及所述MPU在同一时刻下各自记录的运行时长,对所述所有LPU及所述MPU进行时间同步,其中,每个LPU用于在学习到ARP表项时记录当前的时间戳,所述时间戳为经过时间同步后的时间,用于在存在表项冲突时判断当前的ARP表项是否为时间最新的。
第三方面,本申请还提供一种网络设备,所述网络设备包括相互耦合的处理器及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述网络设备执行上述的方法。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的网络设备的框图。
图2为本申请实施例提供的分布式系统的通信连接示意图。
图3为本申请实施例提供的表项管理方法的流程示意图。
图4为本申请实施例提供的表项管理装置的框图。
图标:10-分布式系统;20-网络设备;21-MPU;22-LPU;23-LPU;30-网络设备;31-MPU;32-LPU;33-LPU;200-表项管理装置;210-冲突检测单元;220-仲裁单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请结合参照图1和图2,本申请提供一种应用于分布式系统中的网络设备,可以用于数据转发及网络的管理控制。在网络设备中,可以包括MPU及多个LPU。MPU用于进行系统管理和控制。比如,MPU用于接收每个LPU学习到的ARP表项,并将ARP表项同步至网络设备上的其他LPU。其中,ARP表项中的内容可以根据实际情况进行灵活确定,可以为ARP host(主机)表项,记录有本地主机的MAC地址和IP地址的映射关系。
在本实施例中,网络设备还可以包括处理模块及存储模块。存储模块内存储计算机程序,当计算机程序被所述处理模块执行时,使得网络设备能够执行下述表项管理方法中的各步骤。其中,处理模块及存储模块可以集成在MPU、LPU中,也可以独立存在,这里不作具体限定。
请再次参照图2,本申请还提供一种用于转发数据的分布式系统10,在分布式系统10中,包括两台网络设备,其中一台为主设备。在本实施例中,网络设备为具数据转发功能的交换设备。在各网络设备中,MPU和每个LPU均可以独立计时。例如,每个LPU包括转发芯片及计时模块(比如,计时模块为晶振)。LPU在启动时,LPU可以通过晶振自动记录自身的运行时长。
请再次参照图2,示例性地,在分布式系统10中,包括网络设备20及网络设备30。网络设备20接收流量数据并转发出去。
网络设备20可以包括MPU21、LPU22及LPU23。
网络设备30可以包括MPU31、LPU32及LPU33。
当然,网络设备20及网络设备30均还可以包括更多数量的LPU。
其中,网络设备20和网络设备30可以通过Peerlink链路连接,以形成MLAG(Multi-Chassis Link Aggregation Group,跨设备链路汇聚组)网络系统。网络设备20和网络设备30可以基于本领域技术人员熟知的MLAG协议进行协同工作,以将两台网络设备虚拟为一台设备,共同承担数据转发任务,以提升网络的可靠性。
在本实施例中,网络设备20和网络设备30可以根据实际情况协商出其中一台作为主设备,另一台设备为从设备。例如,网络设备20为主设备,网络设备30为从设备。
需要说明的是,网络设备还可以包括其他模块,例如,网络设备还可以包括通信模块,用于建立与其他设备的通信连接。另外,处理模块和存储模块可以集成于网络设备中的MPU中。
请参照图3,本申请还提供一种表项管理方法,可以应用于上述的网络设备中,由网络设备执行或实现方法中的各步骤,方法可以包括如下步骤:
步骤S110,当接收到分布式系统中的第一线路处理单元LPU发送的第一ARP报文,以及接收到所述分布式系统中的第二LPU发送的第二ARP报文时,对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测;
步骤S120,当所述第一ARP表项和所述第二ARP表项存在冲突时,通过所述MPU基于预设仲裁策略,从所述第一ARP表项和所述第二ARP表项中确定其中一个ARP表项为目标ARP表项,其中,所述目标ARP表项为所述第一ARP表项和所述第二ARP表项中时间最新的ARP表项,用于表项同步。
在上述的实施方式中,当分布式系统中的MPU检测到有任意两个LPU学习到存在冲突的ARP表项时,可以通过预设仲裁策略确定出其中一个ARP表项为目标ARP表项,以进行表项同步,如此,可以确保分布式系统中的ARP表项具有一致性,从而能提高系统运行和流量传输的稳定性与可靠性。
需要说明的是,第一LPU和第二LPU可以为分布式系统10中同一个网络设备(比如为网络设备20或网络设备30)中的LPU,或者为不同网络设备中的LPU,可以根据实际情况进行灵活确定。
下面将对方法中的各步骤进行详细阐述,如下:
在步骤S110之前,方法包括对分布式系统中的MPU及LPU进行时间同步的步骤。例如,在步骤S110之前,方法可以包括:
步骤S101,根据所述分布式系统中的所有LPU及所述MPU在同一时刻下各自记录的运行时长,对所述所有LPU及所述MPU进行时间同步,其中,每个LPU用于在学习到ARP表项时记录当前的时间戳,所述时间戳为经过时间同步后的时间,用于在存在表项冲突时判断当前的ARP表项是否为时间最新的。
可理解地,分布式系统中的网络设备在启动后,网络设备中的MPU及LPU可以自动计时。由于MPU、LPU之间是独立计时的,因此,所记录的时间存在差异,需要周期性的进行时间同步。其中,时间同步的周期可以根据实际情况进行灵活确定。
例如,请再次参照图2,假设网络设备20为主控设备,MPU21可以以指定周期,向分布式系统中的其他单元(例如,MPU31及各个LPU)下发时间同步请求,并基于该时间同步请求将其他单元的时间同步为MPU21的时间。其中,在外界的同一时刻(比如同一世界时间)下,MPU21可以根据其他单元各自记录的时间戳与MPU21自身的时间戳的差值,对其他单元进行时间同步。
示例性地,请再次参照图2,假设在同一时刻下,在网络设备20中,MPU21所记录的时间(记为T0)为888350ms(毫秒),网络设备30中的LPU32所记录的时间(记为T1)为888150ms,LPU33所记录的时间(记为T2)为888100ms。MPU21基于时间同步请求,在自身时间T0为888350ms时,可以获取到LPU32所记录的时间T1为888150ms,以及LPU33所记录的时间T2为888100ms。然后,针对LPU32,MPU21可以基于T0和T1的差值(该差值为888350-888150=200ms),对任意时刻的T1时间进行同步,同步后的时间记为T1’,T1’=T1+200ms。
类似的,针对LPU33,MPU21可以基于T0和T2的差值(该差值为888350-888100=250ms),对任意时刻的T2时间进行同步,同步后的时间记为T2’,T2’=T2+250ms。
可理解地,通过上述的计算方式,MPU21可以将分布式系统中的各单元自身记录的时间戳进行同步,以便于对各单元同步后的时间戳进行比对,以确定各LPU在学习到相应ARP表项时的时间先后顺序。
在其他实施方式中,可以通过部署时间服务器的方式,对分布式系统中的各个MPU及LPU进行时间同步,只要能确保各单元所记录的时间戳是在同一时间参考下的时间,同步后的时间戳能有效用于时间先后的比对即可。
当对分布式系统中的各LPU进行了时间同步之后,任一LPU在学习到新的ARP表项时,可以基于同步后的时间来记录学习到新ARP表项时的时间戳。另外,LPU在学习到新的ARP表项时,可以自动生成ARP请求报文,并上送至相应的MPU,由MPU基于ARP请求报文进行表项同步。其中,在ARP请求报文中,携带有ARP表项和LPU在学习到该ARP表项时且经过时间同步后的时间戳。
在步骤S110中,若分布式系统中仅存在如图1所示的一个网络设备,则MPU可以接收到该网络设备中所有LPU发送的ARP请求报文,并进行ARP表项的冲突检测。
若分布式系统中存在如图2所示两个网络设备。假设网络设备20为主设备,网络设备30为从设备,则从设备中的MPU31可以将接收到的ARP请求发送至主设备的MPU21,由MPU21进行所有ARP表项的冲突检测。
可理解地,需要进行冲突检测的表项为MPU在同一时间收到的两个或多个LPU发送的ARP表项。该同一时间可以根据实际情况进行确定,比如,在同一毫秒内接收到第一LPU和第二LPU各自发送的ARP表项,则认为是同一时间收到第一LPU和第二LPU发送的ARP表项。
在本实施例中,步骤S110可以包括:
对所述第一ARP表项中的IP地址及MAC地址,分别与所述第二ARP表项中的IP地址和MAC地址进行比对;
当所述第一ARP表项和所述第二ARP表项中的IP地址相同,且MAC地址不同时,确定所述第一ARP表项和所述第二ARP表项存在冲突。
可理解地,MPU在同时接收到第一LPU发送的第一ARP报文,以及第二LPU发送的第二ARP报文时,可以将第一ARP报文携带的第一ARP表项中的IP地址,与第二ARP报文携带的第二ARP表项中的IP地址进行比对。若两个IP地址不同,则表示第一ARP表项和第二ARP表项不冲突。
若两个IP地址相同,则进一步对第一ARP报文携带的第一ARP表项中的MAC地址,与第二ARP报文携带的第二ARP表项中的MAC地址进行比对,若两个MAC地址相同,则表示第一ARP表项和第二ARP表项不冲突。若两个MAC地址不同,则表示第一ARP表项和第二ARP表项相冲突。
在步骤S120中,预设仲裁策略可以根据实际情况进行灵活确定。例如,当第一ARP表项和第二ARP表项存在冲突时,MPU可以从第一ARP表项和第二ARP表项中,选择时间最新的一个ARP表项为目标ARP表项,以进行表项同步。其中,“时间最新”为基于ARP表项在LPU上被学习到时的时间戳所确定的,且该时间戳为经过时间同步后的时间。
例如,所述第一ARP报文包括所述第一LPU在学习到所述第一ARP表项时的第一时间戳,所述第二ARP报文包括所述第二LPU在学习到所述第二ARP表项时的第二时间戳。第一时间戳和第二时间戳均为经过时间同步后的时间。步骤S120可以包括:根据所述第一时间戳和所述第二时间戳,通过所述MPU将所述第一ARP表项和所述第二ARP表项中为最近学习到的ARP表项,确定为所述目标ARP表项。
可理解地,记录的时间戳越大,通常离当前时刻越近。例如,若第一时间戳大于第二时间戳,则相对第二ARP表项而言,第一ARP表项为距当前时间更近的ARP表项,也就是最近学习到的ARP表项,即,第一ARP表为目标ARP表项。
示例性地,假设第一LPU学习到的第一ARP表项为:
IP地址 | MAC地址 | 端口 | 第一时间戳(单位:ms) |
1.0.0.1 | 0001.001.0002 | link-agg10 | 888555 |
假设第二LPU学习到的第二ARP表项为:
IP地址 | MAC地址 | 端口 | 第二时间戳(单位:ms) |
1.0.0.1 | 0001.001.0003 | link-agg10 | 888540 |
在上述的示例中,第一ARP表项和第二ARP表项的IP地址相同,MAC地址不同,为存在冲突的表项。另外,由于第一时间戳大于第二时间戳,因此,MPU可以确定第一ARP表项为目标ARP表项,并控制第二LPU删除第二ARP表项。
作为一种可选的实施方式,步骤S120可以包括:当所述第一时间戳和所述第二时间戳相同时,通过所述MPU将所述第一ARP表项和所述第二ARP表项中MAC地址优先级最高的ARP表项,确定为所述目标ARP表项。
在本实施例中,MAC地址优先级可以根据实际情况进行灵活确定。例如,MAC地址越小,优先级越高。若第一ARP表项和第二ARP表项存在冲突,且两表项是同时分别被第一LPU和第二LPU学习到。当MPU获取到第一ARP表项和第二ARP表项时,可以比对第一ARP表项和第二ARP表项中的MAC地址的大小,并将MAC地址最小的ARP表项作为目标ARP表项,如此,可以确保分布式系统中各ARP表项的一致性。
当存在多个相冲突的ARP表项时,MPU可以将时间戳(指LPU学习到ARP表项时且经过时间同步后的时间戳)最新的ARP表项作为目标ARP表项。若时间戳相同,则可以将MAC地址最小的ARP表项作为目标ARP表项。
在本实施例中,方法还可以包括:将所述目标ARP表项发送至所述分布式系统中的其他LPU以进行表项同步,其中,所述其他LPU可以为所述分布式系统中除去所述目标ARP表项所在的LPU之外的LPU。
可理解地,MPU通过将目标ARP表项同步至其他的LPU,并控制相应LPU删除与目标ARP表项冲突的表项,如此,可以确保分布式系统中各LPU的ARP表项互不冲突,具有一致性,从而确保分布式系统可以基于相应的ARP表项稳定转发数据,有利于提高数据转发的稳定性与可靠性。
请参照图4,本申请实施例还提供一种表项管理装置200,可以应用于上述的网络设备中,用于执行方法中的各步骤。表项管理装置200包括至少一个可以软件或固件(Firmware)的形式存储于存储模块中或固化在网络设备操作系统(Operating System,OS)中的软件功能模块。处理模块用于执行存储模块中存储的可执行模块,例如表项管理装置200所包括的软件功能模块及计算机程序等。
表项管理装置200可以包括冲突检测单元210及仲裁单元220,各单元具有的功能作用可以如下:
冲突检测单元210,用于当接收到所述分布式系统中的第一LPU发送的第一ARP报文,以及接收到所述分布式系统中的第二LPU发送的第二ARP报文时,对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测;
仲裁单元220,用于当所述第一ARP表项和所述第二ARP表项存在冲突时,通过所述MPU基于预设仲裁策略,从所述第一ARP表项和所述第二ARP表项中确定其中一个ARP表项为目标ARP表项,其中,所述目标ARP表项为所述第一ARP表项和所述第二ARP表项中时间最新的ARP表项,用于表项同步。
可选地,表项管理装置200还可以包括时间同步单元。在冲突检测单元210对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测之前,时间同步单元用于:根据所述分布式系统中的所有LPU及所述MPU在同一时刻下各自记录的运行时长,对所述所有LPU及所述MPU进行时间同步,其中,每个LPU用于在学习到ARP表项时记录当前的时间戳,所述时间戳为经过时间同步后的时间,用于在存在表项冲突时判断当前的ARP表项是否为时间最新的。
可选地,所述第一ARP报文包括所述第一LPU在学习到所述第一ARP表项时的第一时间戳,所述第二ARP报文包括所述第二LPU在学习到所述第二ARP表项时的第二时间戳。仲裁单元220还可以用于:
通过所述MPU基于预设仲裁策略,从所述第一ARP表项和所述第二ARP表项中确定其中一个ARP表项为目标ARP表项,包括:
根据所述第一时间戳和所述第二时间戳,通过所述MPU将所述第一ARP表项和所述第二ARP表项中为最近学习到的ARP表项,确定为所述目标ARP表项;
或者,当所述第一时间戳和所述第二时间戳相同时,通过所述MPU将所述第一ARP表项和所述第二ARP表项中MAC地址优先级最高的ARP表项,确定为所述目标ARP表项。
冲突检测单元210还可以用于:对所述第一ARP表项中的IP地址及MAC地址,分别与所述第二ARP表项中的IP地址和MAC地址进行比对;当所述第一ARP表项和所述第二ARP表项中的IP地址相同,且MAC地址不同时,确定所述第一ARP表项和所述第二ARP表项存在冲突。
可选地,表项管理装置200还可以包括表项同步单元,用于将所述目标ARP表项发送至所述分布式系统中的其他LPU以进行表项同步,其中,所述其他LPU为所述分布式系统中除去所述目标ARP表项所在的LPU之外的LPU。
在本实施例中,处理模块可以是一种集成电路芯片,具有信号的处理能力。上述处理模块可以是通用处理器。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
存储模块可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块可以用于存储ARP表项、预设仲裁策略等。当然,存储模块还可以用于存储程序,处理模块在接收到执行指令后,执行该程序。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的网络设备的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
本申请实施例还提供一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的表项管理方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,在本方案中,当分布式系统中的MPU检测到有任意两个LPU学习到存在冲突的ARP表项时,可以通过预设仲裁策略确定出其中一个ARP表项为目标ARP表项,以进行表项同步,如此,可以确保分布式系统中的ARP表项具有一致性,从而能提高系统运行和流量传输的稳定性与可靠性。
在本申请所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种表项管理方法,其特征在于,应用于分布式系统中具有主控处理单元MPU的网络设备,所述方法包括:
当接收到所述分布式系统中的第一线路处理单元LPU发送的第一ARP报文,以及接收到所述分布式系统中的第二LPU发送的第二ARP报文时,对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测;
当所述第一ARP表项和所述第二ARP表项存在冲突时,通过所述MPU基于预设仲裁策略,从所述第一ARP表项和所述第二ARP表项中确定其中一个ARP表项为目标ARP表项,其中,所述目标ARP表项为所述第一ARP表项和所述第二ARP表项中时间最新的ARP表项,用于表项同步。
2.根据权利要求1所述的方法,其特征在于,在对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测之前,所述方法还包括:
根据所述分布式系统中的所有LPU及所述MPU在同一时刻下各自记录的运行时长,对所述所有LPU及所述MPU进行时间同步,其中,每个LPU用于在学习到ARP表项时记录当前的时间戳,所述时间戳为经过时间同步后的时间,用于在存在表项冲突时判断当前的ARP表项是否为时间最新的。
3.根据权利要求1所述的方法,其特征在于,所述第一ARP报文包括第一LPU在学习到所述第一ARP表项时的第一时间戳,所述第二ARP报文包括所述第二LPU在学习到所述第二ARP表项时的第二时间戳;
通过所述MPU基于预设仲裁策略,从所述第一ARP表项和所述第二ARP表项中确定其中一个ARP表项为目标ARP表项,包括:
根据所述第一时间戳和所述第二时间戳,通过所述MPU将所述第一ARP表项和所述第二ARP表项中为最近学习到的ARP表项,确定为所述目标ARP表项;
或者,当所述第一时间戳和所述第二时间戳相同时,通过所述MPU将所述第一ARP表项和所述第二ARP表项中MAC地址优先级最高的ARP表项,确定为所述目标ARP表项。
4.根据权利要求1所述的方法,其特征在于,对所述第一ARP表项和所述第二ARP表项进行冲突检测,包括:
对所述第一ARP表项中的IP地址及MAC地址,分别与所述第二ARP表项中的IP地址和MAC地址进行比对;
当所述第一ARP表项和所述第二ARP表项中的IP地址相同,且MAC地址不同时,确定所述第一ARP表项和所述第二ARP表项存在冲突。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述目标ARP表项发送至所述分布式系统中的其他LPU以进行表项同步,其中,所述其他LPU为所述分布式系统中除去所述目标ARP表项所在的LPU之外的LPU。
6.根据权利要求1-5中任一项所述的方法,其特征在于,第一LPU和所述第二LPU为所述分布式系统中同一个设备中的LPU;
或者,第一LPU和所述第二LPU为所述分布式系统中不同设备中的LPU。
7.一种表项管理装置,其特征在于,应用于分布式系统中具有MPU的网络设备,所述装置包括:
冲突检测单元,用于当接收到所述分布式系统中的第一LPU发送的第一ARP报文,以及接收到所述分布式系统中的第二LPU发送的第二ARP报文时,对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测;
仲裁单元,用于当所述第一ARP表项和所述第二ARP表项存在冲突时,通过所述MPU基于预设仲裁策略,从所述第一ARP表项和所述第二ARP表项中确定其中一个ARP表项为目标ARP表项,其中,所述目标ARP表项为所述第一ARP表项和所述第二ARP表项中时间最新的ARP表项,用于表项同步。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括时间同步单元,在冲突检测单元对所述第一ARP报文中的第一ARP表项和所述第二ARP报文中的第二ARP表项进行冲突检测之前,所述时间同步单元用于:
根据所述分布式系统中的所有LPU及所述MPU在同一时刻下各自记录的运行时长,对所述所有LPU及所述MPU进行时间同步,其中,每个LPU用于在学习到ARP表项时记录当前的时间戳,所述时间戳为经过时间同步后的时间,用于在存在表项冲突时判断当前的ARP表项是否为时间最新的。
9.一种网络设备,其特征在于,所述网络设备包括相互耦合的处理器及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述网络设备执行如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111641713.2A CN114301865B (zh) | 2021-12-29 | 2021-12-29 | 表项管理方法、装置、网络设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111641713.2A CN114301865B (zh) | 2021-12-29 | 2021-12-29 | 表项管理方法、装置、网络设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114301865A CN114301865A (zh) | 2022-04-08 |
CN114301865B true CN114301865B (zh) | 2023-07-21 |
Family
ID=80970743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111641713.2A Active CN114301865B (zh) | 2021-12-29 | 2021-12-29 | 表项管理方法、装置、网络设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301865B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1812376A (zh) * | 2006-02-20 | 2006-08-02 | 杭州华为三康技术有限公司 | 一种表项的存储方法、装置及查询方法 |
US7289964B1 (en) * | 1999-08-31 | 2007-10-30 | Accenture Llp | System and method for transaction services patterns in a netcentric environment |
JP2014230216A (ja) * | 2013-05-24 | 2014-12-08 | 日本電信電話株式会社 | ネットワーク装置、中継管理方法、中継管理プログラムおよび通信システム |
CN105306284A (zh) * | 2014-05-27 | 2016-02-03 | 中兴通讯股份有限公司 | 检测虚拟专用网络的用户网络侧接口连通性的方法及装置 |
CN108810183A (zh) * | 2018-05-04 | 2018-11-13 | 新华三技术有限公司 | 冲突mac地址的处理方法、装置和机器可读存储介质 |
CN111130981A (zh) * | 2019-12-24 | 2020-05-08 | 锐捷网络股份有限公司 | 一种mac地址的代理应答方法及装置 |
CN113193947A (zh) * | 2021-04-23 | 2021-07-30 | 北京百度网讯科技有限公司 | 实现分布式全局序的方法、设备、介质及程序产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6917626B1 (en) * | 1999-11-30 | 2005-07-12 | Cisco Technology, Inc. | Apparatus and method for automatic cluster network device address assignment |
-
2021
- 2021-12-29 CN CN202111641713.2A patent/CN114301865B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7289964B1 (en) * | 1999-08-31 | 2007-10-30 | Accenture Llp | System and method for transaction services patterns in a netcentric environment |
CN1812376A (zh) * | 2006-02-20 | 2006-08-02 | 杭州华为三康技术有限公司 | 一种表项的存储方法、装置及查询方法 |
JP2014230216A (ja) * | 2013-05-24 | 2014-12-08 | 日本電信電話株式会社 | ネットワーク装置、中継管理方法、中継管理プログラムおよび通信システム |
CN105306284A (zh) * | 2014-05-27 | 2016-02-03 | 中兴通讯股份有限公司 | 检测虚拟专用网络的用户网络侧接口连通性的方法及装置 |
CN108810183A (zh) * | 2018-05-04 | 2018-11-13 | 新华三技术有限公司 | 冲突mac地址的处理方法、装置和机器可读存储介质 |
CN111130981A (zh) * | 2019-12-24 | 2020-05-08 | 锐捷网络股份有限公司 | 一种mac地址的代理应答方法及装置 |
CN113193947A (zh) * | 2021-04-23 | 2021-07-30 | 北京百度网讯科技有限公司 | 实现分布式全局序的方法、设备、介质及程序产品 |
Non-Patent Citations (2)
Title |
---|
"基于SDN的异构网络通信机制研究";毛琳;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;全文 * |
Song Guangjia ; Ji Zhenzhou."Review of Address Resolution Process Attacks and Prevention Research".《2013 Third International Conference on Instrumentation, Measurement, Computer, Communication and Control》.2014,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114301865A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10979286B2 (en) | Method, device and computer program product for managing distributed system | |
CN111259072B (zh) | 数据同步方法、装置、电子设备和计算机可读存储介质 | |
US10447652B2 (en) | High availability bridging between layer 2 networks | |
CN108718282B (zh) | 报文序列号的确定方法及装置 | |
CN110932876B (zh) | 一种通信系统、方法及装置 | |
CN113746733A (zh) | 表项同步方法、网关设备、组网系统及存储介质 | |
CN111083049B (zh) | 一种用户表项恢复方法、装置、电子设备及存储介质 | |
JP6555445B1 (ja) | 時刻同期システム、タイムマスタ、管理マスタおよび時刻同期方法 | |
CN107547374B (zh) | 一种聚合路由处理方法和装置 | |
CN114301865B (zh) | 表项管理方法、装置、网络设备及计算机可读存储介质 | |
US20230126682A1 (en) | Fault tolerance method and apparatus of network device system, computer device, and storage medium | |
US11212220B2 (en) | Optimized reconciliation in a controller-switch network | |
CN114422396B (zh) | 一种dns服务器管理方法、装置、电子设备及存储介质 | |
CN114401324B (zh) | 一种报文转发方法、网络设备及系统 | |
CN114124803B (zh) | 设备管理方法、装置、电子设备及存储介质 | |
CN112019653B (zh) | 接入交换机、ip地址部署方法、装置及可读存储介质 | |
CN110572290B (zh) | 主设备确定方法、装置、电子设备、存储介质及网络系统 | |
CN110995502B (zh) | 网络配置管理方法、装置、交换设备及可读存储介质 | |
CN111064622B (zh) | 网络设备、同步装置及信息传输方法 | |
CN115514698A (zh) | 协议计算方法、交换机、跨设备链路聚合系统及存储介质 | |
CN113709273B (zh) | 地址迁移方法、通信设备及双活系统 | |
US10122588B2 (en) | Ring network uplink designation | |
WO2022083503A1 (zh) | 数据处理方法及装置 | |
US20220337384A1 (en) | Clock Port Attribute Recovery Method, Device, and System | |
CN116367202A (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 |