CN117811989A - 一种以太网二层转发表的同步方法及装置 - Google Patents
一种以太网二层转发表的同步方法及装置 Download PDFInfo
- Publication number
- CN117811989A CN117811989A CN202311848559.5A CN202311848559A CN117811989A CN 117811989 A CN117811989 A CN 117811989A CN 202311848559 A CN202311848559 A CN 202311848559A CN 117811989 A CN117811989 A CN 117811989A
- Authority
- CN
- China
- Prior art keywords
- hardware
- forwarding table
- software
- item
- updated
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000001360 synchronised effect Effects 0.000 abstract description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 230000032683 aging Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种以太网二层转发表的同步方法及装置,涉及以太网通信技术领域。该方法包括:访问硬件转发表,并判断硬件转发表是否存在更新;当确定硬件转发表存在更新时,逐条获取硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项;每获取一条硬件表项以及一条对应的软件表项时,基于硬件表项,对该对应的软件表项进行更新,直到硬件转发表的所有硬件表项对应的软件表项更新完成,以完成所述软件转发表与所述硬件转发表同步。本申请定时访问并判断硬件转发表是否存在更新,当硬件转发表存在更新时,才执行软件转发表与硬件转发表的同步流程,避免无效操作,一定程度下减少了不必要的网络开销。
Description
技术领域
本申请涉及以太网通信技术领域,特别是涉及一种以太网二层转发表的同步方法及装置。
背景技术
以太网是一种高带宽、拓扑结构灵活、标准化和广泛应用的计算机局域网技术,具有高带宽、可靠性强、容错性高、易于扩展等特点,适用于各种场景。以太网交换网络包括用户终端(例如:计算机)和交换设备(例如:交换机)两部分组成。
在日常使用中,以太网交换网络错综复杂,以太网二层转发表在以太网交换网络中有着重要作用,其中以太网二层转发表包括:硬件转发表与软件表。交换设备接收到用户终端发送的数据帧,会在以太网二层转发表中确定与目的MAC地址对应的端口,以实现数据帧的传输等,故以太网二层转发表的同步在日常使用中非常重要。
当前技术中,常用的以太网二层转发表同步方式为定时轮询方式,周期性的将软件转发表与硬件转发表进行同步,这种方式存在一定概率的无效操作,会产生大量不必要的网络开销。
发明内容
基于上述问题,本申请提供了一种以太网二层转发表的同步方法及装置,能够有效减少以太网交换网络不必要的网络开销。
本申请实施例公开了如下技术方案:
第一方面,本申请提供了一种以太网二层转发表的同步方法,包括:
以预设时间为周期,定时访问硬件转发表,并判断所述硬件转发表是否存在更新;
当确定所述硬件转发表存在更新时,逐条获取所述硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项;所述硬件转发表与所述软件转发表大小相同;
每获取一条硬件表项以及一条对应的软件表项时,基于所述硬件表项,对所述对应的软件表项进行更新,直到所述硬件转发表的所有硬件表项对应的软件表项更新完成,以完成所述软件转发表与所述硬件转发表同步。
可选的,所述以预设时间为周期,定时访问硬件转发表,并判断所述硬件转发表是否存在更新,包括:
以预设时间为周期,定时访问硬件转发表的硬件学习标志位;所述硬件学习标志位是预先设定的用于记录硬件转发表是否存在更新的标志位;
基于所述硬件学习标志位,判断所述硬件转发表是否更新;
当所述硬件学习标志位为1时,则确定所述硬件转发表存在更新;
当所述硬件学习标志位为0时,则确定所述硬件转发表不存在更新。
可选的,当所述硬件学习标志位为1,确定所述硬件转发表存在更新时,在所述逐条获取所述硬件转发表的硬件表项之前,所述方法还包括:
将所述硬件学习标志位清零。
可选的,所述逐条获取所述硬件转发表的硬件表项,包括:
通过PCIe总线逐条获取所述硬件转发表的硬件表项。
可选的,所述基于所述硬件表项,对所述对应的软件表项进行更新,包括:
判断所述硬件表项和所述对应的软件表项是否相同;
当所述硬件表项和所述对应的软件表项不相同时,基于所述硬件表项,对所述对应的软件表项进行更新。
可选的,所述基于所述硬件表项,对所述对应的软件表项进行更新,包括:
当所述硬件表项有效,所述对应的软件表项无效时,则将所述硬件表项所记载的数据增加到所述对应的软件表项中;
当所述硬件表项无效,所述对应的软件表项有效时,则将所述对应的软件表项所记载的数据删除;
当所述硬件表项所述记载的数据与对应的软件表项所述记载的数据不同时,则将所述硬件表项所记载的数据重新写入所述对应的软件表项中。
可选的,所述方法还包括:
当确定所述硬件转发表不存在更新时,等待所述预设时间,再次访问所述硬件转发表,并判断所述硬件转发表是否存在更新。
第二方面,本申请提供了一种以太网二层转发表的同步装置,包括:
定时判断模块,用于以预设时间为周期,定时访问硬件转发表,并判断所述硬件转发表是否存在更新;
表项获取模块,用于当确定所述硬件转发表存在更新时,逐条获取所述硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项;所述硬件转发表与所述软件转发表大小相同;
表项更新模块,用于每获取一条硬件表项以及一条对应的软件表项时,基于所述硬件表项,对所述对应的软件表项进行更新,直到所述硬件转发表的所有硬件表项对应的软件表项更新完成,以完成所述软件转发表与所述硬件转发表同步。
可选的,所述定时判断模块具体用于:
以预设时间为周期,定时访问硬件转发表的硬件学习标志位;所述硬件学习标志位是预先设定的用于记录硬件转发表是否存在更新的标志位;
基于所述硬件学习标志位,判断所述硬件转发表是否更新;
当所述硬件学习标志位为1时,则确定所述硬件转发表存在更新;
当所述硬件学习标志位为0时,则确定所述硬件转发表不存在更新。
可选的,所述装置还包括:标志位清零模块;
所述标志位清零模块,用于当所述硬件学习标志位为1,确定所述硬件转发表存在更新时,在所述逐条获取所述硬件转发表的硬件表项之前,将所述硬件学习标志位清零。
可选的,表项获取模块,具体用于通过PCIe总线逐条获取硬件转发表的硬件表项。
可选的,表项更新模块,具体用于判断硬件表项和对应的软件表项是否相同;当硬件表项和对应的软件表项不相同时,基于硬件表项,对对应的软件表项进行更新。
可选的,表项更新模块,具体用于当硬件表项有效,对应的软件表项无效时,则将硬件表项所记载的数据增加到对应的软件表项中;当硬件表项无效,对应的软件表项有效时,则将对应的软件表项所记载的数据删除;当硬件表项记载的数据与对应的软件表项记载的数据不同时,则将硬件表项所记载的数据重新写入对应的软件表项中。
可选的,当定时判断模块确定硬件转发表不存在更新时,继续等待预设时间后,再次访问硬件转发表,并判断硬件转发表是否存在更新。
相较于现有技术,本申请具有以下有益效果:定时访问并判断硬件转发表是否存在更新时,当硬件转发表存在更新时才执行软件转发表与硬件转发表的同步流程,避免无效操作,一定程度下减少了不必要的网络开销。进一步,当硬件转发表有更新时,定时将硬件转发表的所有更新与软件转发表同步,避免了同时出现多个硬件表项的更新导致的频繁中断,从而提高了网络的传输速度和响应速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种以太网二层转发表的同步方法的流程示意图;
图2为本申请实施例提供的又一种以太网二层转发表的同步方法的流程示意图;
图3为本申请实施例提供的一种以太网交换网络的结构示意图;
图4为本申请实施例提供的一种以太网二层转发表的同步装置的结构示意图。
具体实施方式
当前技术中,常用的以太网二层转发表同步方式中,存在一种现有技术是当交换设备学习到新的MAC地址与端口的映射关系(即硬件转发表更新后),会发出中断请求,通过中断调用将软件转发表与硬件转发表进行同步。但是由于中断处理时间存在限制,可能会导致其他任务无法得到及时调度或其他中断响应存在延迟,例如:当交换设备收到大量未知源MAC地址后,会学习上述大量未知源MAC地址和对应的端口,并存储到硬件转发表中,此时会频繁触发中断,从而影响以太网交换网络的其他任务。
进一步,当前技术中还存在一种现有技术为定时轮询方式,即周期性的对以太网二层转发表进行同步更新,这种方式不会频繁发生中断影响以太网交换网络的其他任务,但是这种方式存在一定概率的无效操作,会产生大量不必要的网络开销。例如:在硬件转发表中的硬件表项更新较慢的场景下,可能多个周期中的硬件转发表并没有更新,会造成大量不必要的网络开销。
本申请提供了一种以太网二层转发表的同步方法,包括:访问硬件转发表,并判断硬件转发表是否存在更新;当确定硬件转发表存在更新时,逐条获取硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项;每获取一条硬件表项以及一条对应的软件表项时,基于硬件表项,对该对应的软件表项进行更新,直到硬件转发表的所有硬件表项对应的软件表项更新完成,以完成所述软件转发表与所述硬件转发表同步。本申请定时访问并判断硬件转发表是否存在更新,当硬件转发表存在更新时,才执行软件转发表与硬件转发表的同步流程,避免无效操作,一定程度下减少了不必要的网络开销。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一:
下面结合图1-图3,详细介绍一下本申请实施例提供的一种以太网二层转发表的同步方法。
S101、以预设时间为周期,定时访问硬件转发表,并判断硬件转发表是否存在更新。
其中,预设时间是预先设定的,需要根据实际情况进行设定,预设时间的设定不能过短或过长,一般在一个预设区间中根据实际情况确定预设时间。当预设时间过短会导致一次访问还未结束就可能到达下一次访问的时间,导致一直执行硬件转发表的访问任务,无法完成其他任务;当预设时间过长会导致一次访问结束后,很长一段时间无法确定硬件转发表的更新,导致用户体验感差。
在一种可能的实现方式中,预先配置一个以预设时间为周期的定时轮询的线程,在交换设备初始化时启动该定时轮询的线程用于以太网二层转发表的同步。该定时轮询的线程,每隔预设周期访问硬件转发表,并判断硬件转发表是否存在更新。
进一步,访问硬件转发表的硬件学习标志位;基于硬件学习标志位,判断硬件转发表是否存在更新。
其中,硬件学习标志位是预先设定的用于记录硬件转发表是否存在更新的标志位。当硬件学习标志位为1(即硬件学习标志位被置位)时,则确定硬件转发表存在更新;当硬件学习标志位为0(即硬件学习标志位未被置位)时,则确定硬件转发表不存在更新。
通过访问硬件转发表的硬件学习标志位,来判断硬件转发表是否存在更新,若不存在更新,由于硬件转发表不存在更新,即硬件转发表未出现变化,则不需要对软件转发表和硬件转发表进行同步。减少了无效操作,对于硬件转发表更新较慢的场景下,避免了不必要的网络资源开销。
当硬件转发表不存在更新,则继续进行S101,即等待预设时间,再次访问硬件转发表,判断是否存在更新。
S102、逐条获取硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项。
其中,硬件转发表与软件转发表的大小相同,即硬件转发表的硬件表项和软件转发表的软件表项数量相同、并且对于同一个MAC地址以及对应的端口的对应关系存储的表项位置相同,以便于实现硬件转发表与软件转发表的表项的同步增加、删除以及修改等更新操作。
具体的,逐条获取硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项,其实就是获取硬件转发表的第一条硬件表项,与此同时获取软件转发表的第一条软件表项;然后顺序获取硬件转发表的第二条硬件表项,与此同时获取软件转发表的第二条软件表项。
在一种可能的实现方式中,通过PCIe总线逐条读取硬件转发表的硬件表项。其中,PCIe(PCI-Express,peripheral component interconnect express)是一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输,PCIe总线具有高传输速率低延时的优点,故通过PCIe总线逐条读取硬件转发表的硬件表,能够显著提升硬件转发表的读取速率,减少以太网二层转发表同步的延迟时间。
需要说明的是,在初始化过程中,为软件转发表分配对应的存储空间,并且在初始化过程中,需要将软件转发表中的历史软件表项清空,避免在硬件转发表与软件转发表同步过程中的无效表项的对比。
在一种可能的实现方式中,当确定硬件转发表存在更新时,对应的硬件学习标志位为1(被置位),则在逐条获取硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项之前,需要将硬件学习标志位改为0(清除),以便于后续当硬件转发表存在更新时,能够置位该硬件学习标记位。
S103、每获取一条硬件表项以及一条对应的软件表项时,基于硬件表项,对该对应的软件表项进行更新,直到硬件转发表的所有硬件表项对应的软件表项更新完成。
具体的,每获取一条硬件表项以及一条对应的软件表项时,就基于硬件表项对该对应的软件表项进行更新,当该对应的软件表项更新完成/该对应的软件表项不需要更新时,则继续逐条获取硬件转发表的下一条硬件表项以及对应的下一条软件表项,再对该对应的下一条软件表项进行更新。例如:获取硬件转发表的第一条硬件表项以及软件转发表的第一条软件表项时,基于第一条硬件表项对第一条软件表项进行更新,当第一条软件表项更新完成/不需要更新时,继续获取硬件转发表的第二条硬件表项以及软件转发表的第二条软件表项,基于第二条硬件表项对第二条软件表项进行更新等,以此类推直到硬件转发表所有硬件表项对应的软件表项更新完成,以完成软件转发表与硬件转发表同步。
在一种可能的实现方式中,基于硬件表项,对该硬件表项对应的软件表项进行更新,包括:判断硬件表项和对应的软件表项是否相同;当硬件表项和对应的软件表项不相同,基于硬件表项对该对应的软件表项进行更新;当硬件表项和对应的软件表项相同时,则说明对应的软件表项不需要更新(也可以理解为软件表项已经基于硬件表项更新完成),则继续逐条获取硬件转发表的硬件表项和软件转发表中的对应的软件表项,继续判断硬件表项和对应的软件表项是否相同。
具体的,当硬件表项和对应的软件表项不相同时,基于硬件表项,对该硬件表项对应的软件表项进行更新时包括如下情况:
当硬件表项有效,对应的软件表项无效时,则说明硬件表项存储有数据(例如:MAC地址和对应的端口的映射关系),而软件表项为空(即未存储有任何信息),则将硬件表项所记载的数据增加到该对应的软件表项中。
当硬件表项无效,对应的软件表项有效时,则说明硬件表项未存储有数据,而软件表项存储有数据,则将该对应的软件表项所记载的数据的删除,使得对应的软件表项为无效。
当硬件表项所记载的数据与对应的软件表项所记载的数据不同时,则将硬件表项所记载的数据重新写入该对应的软件表项中,即将对应的软件表项中所记载的数据更换为硬件表项所加载的数据。
进一步,为了方便理解以太网二层转发表的同步方法中的逐步获取转发表的表项,并对表项进行更新的过程,下面结合图2进行详细说明。
S201、以预设时间为周期,定时访问硬件转发表,并判断硬件转发表是否存在更新。
当硬件转发表不存在更新时,等待预设时间,再次进行S201。
当硬件转发表存在更新时,则进行S202。
S202、判断是否已获取硬件转发表中的所有硬件表项。
此时第一次获取硬件转发表的硬件表项,则肯定是未获取硬件转发表中的所有硬件表项,则进行S203。
当已获取硬件转发表中的所有硬件表项,则等待预设时间,再次进行S201。
S203、获取硬件转发表中的下一条硬件表项。
当第一次获取硬件转发表的硬件表项,则获取第0条的下一条硬件表象,即第一条硬件表项。
S204、随之获取软件转发表中的该硬件表项对应的软件表项。
具体的,获取软件转发表中的与S203中获取的硬件表项对应的软件表项。
S205、判断该硬件表项与对应的软件表项是否相同。
当硬件表项与对应的软件表项相同时,则进行S202。
当硬件表项与对应的软件表项不相同时,则进行S206。
S206、基于硬件表项,对该对应的软件表项进行更新。
当该对应的软件表项更新完成后,则进行S202。
进一步,为了方便理解本申请实施例提供的一种以太网二层转发表的同步方法,下面结合图3所示的场景进行举例说明。其中,以太网交换网络包括:交换机、主机A、主机B、主机C以及主机D。其中,主机A与交换机的端口1连接、主机B与交换机的端口2连接、主机C与交换机的端口3连接以及主机D与交换机的端口4连接。主机A的MAC地址为0001-0203-0401、主机B的MAC地址为0001-0203-0402、主机C的MAC地址为0001-0203-0403以及主机D的MAC地址为0001-0203-0404。其中,硬件转发表和软件转发表用于存储MAC地址和端口的对应关系。
当交换机完成初始化时,硬件转发表与软件转发表此时为清空状态,对应的硬件学习标志位清空,此时以预设时间为周期,第一次访问硬件转发表时,确定硬件转发表不存在更新,故不获取硬件转发表的硬件表项。
在一种可能的情况下,主机A发送源MAC地址为0001-0203-0401,目的MAC地址为0001-0203-0404的数据报文,此时交换机的端口1收到该数据报文,查询硬件转发表时,确定该硬件转发表中并未存储源MAC地址0001-0203-0401和端口1的对应的关系,即未存储该源MAC地址的数据,则将MAC地址0001-0203-0401与端口1的对应关系学习到硬件转发表中,并将硬件学习标志位置位为1。当以预设时间为周期,再次访问硬件转发表时,确定硬件转发表存在更新,则将硬件学习标志位清零后,逐步获取硬件转发表中的硬件表项并逐步获取软件转发表中的对应的软件表项,将硬件转发表中增加的MAC地址0001-0203-0401与端口1的对应关系,更新到对应的软件表项中,即将MAC地址0001-0203-0401与端口1的对应关系增加到对应的软件表项中。
主机B发送源MAC地址为0001-0203-0402,目的MAC地址为0001-0203-0403的数据报文,此时交换机的端口2收到该数据报文,查询硬件转发表时,确定该硬件转发表中并未存储源MAC地址0001-0203-0402和端口2的对应的关系,即未存储该源MAC地址的数据,,则将MAC地址0001-0203-0402与端口2的对应关系学习到硬件转发表中,并将硬件学习标志位置位为1。当以预设时间为周期,再次访问硬件转发表时,确定硬件转发表存在更新,则将硬件学习标志位清零后,逐步获取硬件转发表中的硬件表项并逐步获取软件转发表中的对应的软件表项,将硬件转发表中增加的MAC地址0001-0203-0402与端口2的对应关系,更新到对应的软件表项中,即将MAC地址0001-0203-0402与端口2的对应关系增加到对应的软件表项中。主机C的MAC地址0001-0203-0403与端口3的对应关系、主机D的MAC地址0001-0203-0404与端口4的对应关系学习到硬件转发表,并更新到软件转发表中的过程与上述过程相似,在此不再赘述。
在一种可能的情况下,当硬件转发表学习到MAC地址与端口的对应关系后,会启动老化定时器,主机在老化定时器的定时时间内未发送数据报文时,当老化时间到达后,会将硬件转发表中的存储的MAC地址与端口的对应关系清除。以主机A在老化定时器的定时时间内未发送数据报文为例,当老化时间到达后,会将硬件转发表中的存储的MAC地址0001-0203-0401与端口1的对应关系清除,同时硬件学习标志位置位为1。当以预设时间为周期,再次访问硬件转发表时,确定硬件转发表存在更新,则将硬件学习标志位清零后,逐步获取硬件转发表中的硬件表项并逐步获取软件转发表中的对应的软件表项,基于硬件转发表的硬件表项,将对应的软件表项中记载MAC地址0001-0203-0401与端口1的对应关系删除。
在一种可能的情况下,主机C与端口3的连接出现故障,假设交换机端口3损坏,更换主机C连接交换机的端口5,此时交换机接收到主机C发出的数据报文时,发现对应端口3与收到数据报文的端口5不相同,则将硬件转发表中MAC地址0001-0203-0403与端口3的对应关系,更新为MAC地址0001-0203-0403与端口5的对应关系,同时置位硬件学习标志位置位为1。当以预设时间为周期,再次访问硬件转发表时,确定硬件转发表存在更新,则将硬件学习标志位清零后,逐步获取硬件转发表中的硬件表项并逐步获取软件转发表中的对应的软件表项,基于硬件转发表的硬件表项,将对应的软件表项中记载MAC地址0001-0203-0403与端口3的对应关系,更改为MAC地址0001-0203-0403与端口5的对应关系。
本申请实施例提供的一种以太网二层转发表的同步方法,包括:访问硬件转发表,并判断硬件转发表是否存在更新;当确定硬件转发表存在更新时,逐条获取硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项;每获取一条硬件表项以及一条对应的软件表项时,基于硬件表项,对该对应的软件表项进行更新,直到硬件转发表的所有硬件表项对应的软件表项更新完成,以完成所述软件转发表与所述硬件转发表同步。本申请定时访问并判断硬件转发表是否存在更新时,当硬件转发表存在更新时才执行软件转发表与硬件转发表的同步流程,避免无效操作,一定程度下减少了不必要的网络开销。
进一步,当硬件转发表有更新时,定时将硬件转发表的所有更新与软件转发表同步,避免了同时出现多个硬件表项的更新导致的频繁中断,从而提高了网络的传输速度和响应速度。
进一步,预先设置硬件学习标志位用来标记硬件转发表是否存在更新,简化了判断硬件转发表是否存在更新的步骤,进一步,提高了网络的传输速度和响应速度。
实施例二:
下面结合图4,详细介绍一下本申请实施例提供的一种以太网二层转发表同步装置。
定时判断模块401,用于以预设时间为周期,定时访问硬件转发表,并判断硬件转发表是否存在更新;
表项获取模块402,用于当确定硬件转发表存在更新时,逐条获取硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项;
表项更新模块403,用于每获取一条硬件表项以及一条对应的软件表项时,基于硬件表项,对该对应的软件表项进行更新,直到硬件转发表的所有硬件表项对应的软件表项更新完成,以完成软件转发表与硬件转发表同步。
进一步,定时判断模块401,具体用于以预设时间为周期,定时访问硬件转发表的硬件学习标志位;硬件学习标志位是预先设定的用于记录硬件转发表是否存在更新的标志位;基于硬件学习标志位,判断硬件转发表是否更新;当硬件学习标志位为1时,则确定硬件转发表存在更新;当硬件学习标志位为0时,则确定硬件转发表不存在更新。
进一步,该装置还包括:标志位清零模块,用于当硬件学习标志位为1,确定硬件转发表存在更新时,在逐条获取硬件转发表的硬件表项之前,将硬件学习标志位清零。
进一步,表项获取模块402,具体用于通过PCIe总线逐条获取硬件转发表的硬件表项。
进一步,表项更新模块403,具体用于判断硬件表项和对应的软件表项是否相同;当硬件表项和对应的软件表项不相同时,基于硬件表项,对对应的软件表项进行更新。
进一步,表项更新模块403,具体用于当硬件表项有效,对应的软件表项无效时,则将硬件表项所记载的数据增加到对应的软件表项中;当硬件表项无效,对应的软件表项有效时,则将对应的软件表项所记载的数据删除;当硬件表项记载的数据与对应的软件表项记载的数据不同时,则将硬件表项所记载的数据重新写入对应的软件表项中。
进一步,定时判断模块401确定硬件转发表不存在更新时,定时判断模块401,具体用于等待预设时间,再次访问硬件转发表,并判断硬件转发表是否存在更新。
本申请实施例提供了一种以太网二层转发表的同步装置,包括:定时判断模块401,用于以预设时间为周期,定时访问硬件转发表,并判断硬件转发表是否存在更新;表项获取模块402,用于当确定硬件转发表存在更新时,逐条获取硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项;表项更新模块403,用于每获取一条硬件表项以及一条对应的软件表项时,基于硬件表项,对该对应的软件表项进行更新,直到硬件转发表的所有硬件表项对应的软件表项更新完成,以完成软件转发表与硬件转发表同步。本申请定时访问并判断硬件转发表是否存在更新,当硬件转发表存在更新时才执行软件转发表与硬件转发表的同步流程,避免无效操作,一定程度下减少了不必要的网络开销。
进一步,当硬件转发表有更新时,定时将硬件转发表的所有更新与软件转发表同步,避免了同时出现多个硬件表项的更新导致的频繁中断,从而提高了网络的传输速度和响应速度。
进一步,预先设置硬件学习标志位用来标记硬件转发表是否存在更新,简化了判断硬件转发表是否存在更新的步骤,进一步,提高了网络的传输速度和响应速度。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法及装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种以太网二层转发表的同步方法,其特征在于,包括:
以预设时间为周期,定时访问硬件转发表,并判断所述硬件转发表是否存在更新;
当确定所述硬件转发表存在更新时,逐条获取所述硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项;所述硬件转发表与所述软件转发表大小相同;
每获取一条硬件表项以及一条对应的软件表项时,基于所述硬件表项,对所述对应的软件表项进行更新,直到所述硬件转发表的所有硬件表项对应的软件表项更新完成,以完成所述软件转发表与所述硬件转发表同步。
2.根据权利要求1所述的方法,其特征在于,所述以预设时间为周期,定时访问硬件转发表,并判断所述硬件转发表是否存在更新,包括:
以预设时间为周期,定时访问硬件转发表的硬件学习标志位;所述硬件学习标志位是预先设定的用于记录硬件转发表是否存在更新的标志位;
基于所述硬件学习标志位,判断所述硬件转发表是否更新;
当所述硬件学习标志位为1时,则确定所述硬件转发表存在更新;
当所述硬件学习标志位为0时,则确定所述硬件转发表不存在更新。
3.根据权利要求2所述的方法,其特征在于,当所述硬件学习标志位为1,确定所述硬件转发表存在更新时,在所述逐条获取所述硬件转发表的硬件表项之前,所述方法还包括:
将所述硬件学习标志位清零。
4.根据权利要求1所述的方法,其特征在于,所述逐条获取所述硬件转发表的硬件表项,包括:
通过PCIe总线逐条获取所述硬件转发表的硬件表项。
5.根据权利要求1所述的方法,其特征在于,所述基于所述硬件表项,对所述对应的软件表项进行更新,包括:
判断所述硬件表项和所述对应的软件表项是否相同;
当所述硬件表项和所述对应的软件表项不相同时,基于所述硬件表项,对所述对应的软件表项进行更新。
6.根据权利要求5所述的方法,其特征在于,所述基于所述硬件表项,对所述对应的软件表项进行更新,包括:
当所述硬件表项有效,所述对应的软件表项无效时,则将所述硬件表项所记载的数据增加到所述对应的软件表项中;
当所述硬件表项无效,所述对应的软件表项有效时,则将所述对应的软件表项所记载的数据删除;
当所述硬件表项所述记载的数据与对应的软件表项所述记载的数据不同时,则将所述硬件表项所记载的数据重新写入所述对应的软件表项中。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当确定所述硬件转发表不存在更新时,等待所述预设时间,再次访问所述硬件转发表,并判断所述硬件转发表是否存在更新。
8.一种以太网二层转发表的同步装置,其特征在于,包括:
定时判断模块,用于以预设时间为周期,定时访问硬件转发表,并判断所述硬件转发表是否存在更新;
表项获取模块,用于当确定所述硬件转发表存在更新时,逐条获取所述硬件转发表的硬件表项,并逐条获取软件转发表对应的软件表项;所述硬件转发表与所述软件转发表大小相同;
表项更新模块,用于每获取一条硬件表项以及一条对应的软件表项时,基于所述硬件表项,对所述对应的软件表项进行更新,直到所述硬件转发表的所有硬件表项对应的软件表项更新完成,以完成所述软件转发表与所述硬件转发表同步。
9.根据权利要求8所述的装置,其特征在于,所述定时判断模块具体用于:
以预设时间为周期,定时访问硬件转发表的硬件学习标志位;所述硬件学习标志位是预先设定的用于记录硬件转发表是否存在更新的标志位;
基于所述硬件学习标志位,判断所述硬件转发表是否更新;
当所述硬件学习标志位为1时,则确定所述硬件转发表存在更新;
当所述硬件学习标志位为0时,则确定所述硬件转发表不存在更新。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:标志位清零模块;
所述标志位清零模块,用于当所述硬件学习标志位为1,确定所述硬件转发表存在更新时,在所述逐条获取所述硬件转发表的硬件表项之前,将所述硬件学习标志位清零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311848559.5A CN117811989A (zh) | 2023-12-29 | 2023-12-29 | 一种以太网二层转发表的同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311848559.5A CN117811989A (zh) | 2023-12-29 | 2023-12-29 | 一种以太网二层转发表的同步方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117811989A true CN117811989A (zh) | 2024-04-02 |
Family
ID=90431307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311848559.5A Pending CN117811989A (zh) | 2023-12-29 | 2023-12-29 | 一种以太网二层转发表的同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117811989A (zh) |
-
2023
- 2023-12-29 CN CN202311848559.5A patent/CN117811989A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426439B (zh) | 一种元数据的处理方法和装置 | |
RU2401452C2 (ru) | Способ передачи данных в сообщениях по линии связи системы связи, а также коммуникационный модуль, абонентское устройство системы связи и система связи для осуществления этого способа | |
US10831612B2 (en) | Primary node-standby node data transmission method, control node, and database system | |
US20150293712A1 (en) | Data synchronization method, apparatus and system | |
KR101663215B1 (ko) | 데이터 저장 방법 및 장치 | |
CN109981493B (zh) | 一种用于配置虚拟机网络的方法和装置 | |
EP3131246B1 (en) | Method, device and storage medium for rapidly synchronizing medium access control address table | |
CN212486527U (zh) | 一种基于modbus协议的从站转换装置 | |
EP2549690A1 (en) | Media access control address keep-alive device and method for convergence port | |
CN102710774B (zh) | 数据传输方法及系统 | |
US5479642A (en) | Method for maintaining low-overhead and non-coherent cache refresh mechanism with valid status monitoring on time period basis | |
CN117811989A (zh) | 一种以太网二层转发表的同步方法及装置 | |
CN105930100A (zh) | 一种优化usim卡文件读写速度及频率的实现方法 | |
CN114024844B (zh) | 数据调度方法、数据调度装置及电子设备 | |
JP2007128385A (ja) | 伝送装置、伝送システムおよび更新データの排他制御方法 | |
CN112015807B (zh) | 数据同步的处理方法、装置、电子设备及计算机存储介质 | |
US6961837B2 (en) | Method and apparatus for address translation pre-fetch | |
JPH06274463A (ja) | データ通信システム | |
CN114448869A (zh) | 数据表同步方法及其装置、数据交换设备、存储介质 | |
CN107665092B (zh) | 一种存储方法及装置 | |
EP2590085A1 (en) | Controller host interface for a FlexRay communication controller | |
US9479622B2 (en) | Out-of-order message filtering with aging | |
CN114900456B (zh) | 一种mac地址管理装置及方法 | |
US7103709B2 (en) | Retrieving device and method, recording medium, and program for enabling a plurality of associative memories for retrieval and auto-storing | |
CN115017064A (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 |