CN109391548B - 表项迁移方法、装置及网络通信系统 - Google Patents
表项迁移方法、装置及网络通信系统 Download PDFInfo
- Publication number
- CN109391548B CN109391548B CN201811310754.1A CN201811310754A CN109391548B CN 109391548 B CN109391548 B CN 109391548B CN 201811310754 A CN201811310754 A CN 201811310754A CN 109391548 B CN109391548 B CN 109391548B
- Authority
- CN
- China
- Prior art keywords
- fdb
- aging
- chip
- table entry
- address
- 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
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/54—Organization of routing tables
-
- 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
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种表项迁移方法、装置及网络通信系统,涉及通信技术领域。该方法通过在将第一交换芯片主动学习得到的FDB表项以动态地址下发至第二交换芯片时,设置第二交换芯片上的FDB表项为不老化状态;在接收到第二交换芯片根据接收的报文需要对FDB表项进行迁移的通知时,对FDB表项进行迁移,从而避免了在表项迁移过程中占用系统的处理器带宽,有助于提高表项迁移的效率。另外,因为设置了终端地址的老化状态不老化的状态,使得终端地址不会被老化,从而避免了终端地址因老化失效而需要重新对FDB表项迁移所造成的处理效率低的问题。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种表项迁移方法、装置及网络通信系统。
背景技术
在需要进行数据交互的网络环境中,转发数据库(Forwarding DataBase,FDB)表项学习采用软件实现学习功能。随着FDB表项规格的增加,设备中存在大量的被动学习的FDB表项,同时也存在大量被动学习的FDB表项迁移操作。目前处理方式是:针对被动学习的FDB表项下发静态FDB表项,通过芯片把需要迁移地址的报文上送处理器解析后才能进行FDB表项迁移。当交换设备上存在大量被动学习的FDB表项,这些被动学习的FDB表项存在大量迁移的需求,会大量的占用上送处理器通道的带宽及处理器的利用率,使得FDB表项迁移效率低。
发明内容
本申请在于提供一种表项迁移方法、装置及网络通信系统,能够在不使用系统中的处理器带宽的情况下完成表项迁移,以提高表项迁移效率,从而解决现有技术中因表项迁移需要占用处理器带宽而使得表项迁移效率低的技术问题。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种表项迁移方法,应用于网络通信系统,所述网络通信系统至少包括相互通信连接的第一交换芯片和第二交换芯片,所述方法包括:
在将所述第一交换芯片主动学习得到的FDB表项以动态地址下发至所述第二交换芯片时,设置所述第二交换芯片上的所述FDB表项为不老化状态;
在接收到所述第二交换芯片根据接收的报文需要对所述FDB表项进行迁移的通知时,对所述FDB表项进行迁移。
可选地,在将所述第一交换芯片主动学习得到的FDB表项以动态地址下发至所述第二交换芯片之前,所述方法还包括:
判断所述第二交换芯片是否支持单条地址老化的操作。
可选地,设置所述第二交换芯片上的所述FDB表项为不老化状态,包括:
在确定出所述第二交换芯片支持所述操作时,所述第二交换芯片将FDB表项中的终端地址的老化周期更改为表示不老化的预设周期,以使所述终端地址的老化状态为不老化的状态;或
在确定出所述第二交换芯片不支持所述操作时,所述第二交换芯片根据标记规则给所述FDB表项中的终端地址标记上用于表征不老化的标识,以使所述终端地址的老化状态为不老化的状态。
可选地,上述第二交换芯片将FDB表项中的终端地址的老化周期更改为表示不老化的预设周期,包括:
所述第二交换芯片将FDB表项中的终端地址的老化周期的时长设置为表示不老化的0。
可选地,上述第二交换芯片根据标记规则给所述FDB表项中的终端地址标记上用于表征不老化的标识,包括:
所述第二交换芯片根据标记规则给所述FDB表项中的终端地址的命中位标记上用于表征不老化的标识。
第二方面,本申请实施例还提供一种表项迁移装置,应用于网络通信系统,所述网络通信系统至少包括相互通信连接的第一交换芯片和第二交换芯片,所述装置包括:
发送配置单元,用于在将所述第一交换芯片主动学习得到的FDB表项以动态地址下发至所述第二交换芯片时,并设置所述第二交换芯片上的所述FDB表项为不老化状态;
表项迁移单元,用于在接收到所述第二交换芯片根据接收的报文需要对所述FDB表项进行迁移的通知时,对所述FDB表项进行迁移。
可选地,上述装置还包括判断单元,在所述发送配置单元将所述第一交换芯片主动学习得到的FDB表项以动态地址下发至所述第二交换芯片之前,所述判断单元用于判断所述第二交换芯片是否支持单条地址老化的操作。
可选地,上述发送配置单元还用于:
在确定出所述第二交换芯片支持所述操作时,控制所述第二交换芯片将FDB表项中的终端地址的老化周期更改为表示不老化的预设周期,以使所述终端地址的老化状态为不老化的状态;或
在确定出所述第二交换芯片不支持所述操作时,控制所述第二交换芯片根据标记规则给所述FDB表项中的终端地址标记上用于表征不老化的标识,以使所述终端地址的老化状态为不老化的状态。
第三方面,本申请实施例还提供一种网络通信系统,所述网络通信系统至少包括相互通信连接的第一交换芯片和第二交换芯片,所述第一交换芯片用于将自身主动学习得到的FDB表项以动态地址下发至所述第二交换芯片,所述第二交换芯片用于设置从所述第一交换芯片接收的所述FDB表项为不老化状态;所述第二交换芯片还用于在根据接收的报文需要对所述FDB表项进行迁移的通知时,对所述FDB表项进行迁移。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-5中任意一项所述的表项迁移方法。
相对于现有技术而言,本申请提供的表项迁移方法、装置及网络通信系统至少具有以下有益效果:该方法通过在将第一交换芯片主动学习得到的FDB表项以动态地址下发至第二交换芯片时,设置第二交换芯片上的FDB表项为不老化状态;在接收到第二交换芯片根据接收的报文需要对FDB表项进行迁移的通知时,对FDB表项进行迁移,从而避免了在表项迁移过程中占用系统的处理器带宽,有助于提高表项迁移的效率。另外,因为设置了终端地址的老化状态不老化的状态,使得终端地址不会被老化,从而避免了终端地址因老化失效而需要重新对FDB表项迁移所造成的处理效率低的问题。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举本申请实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的网络通信系统的方框示意图之一。
图2为本申请实施例提供的网络通信系统的方框示意图之二。
图3为本申请实施例提供的表项迁移方法的流程示意图。
图4为本申请实施例提供的表项迁移装置的方框示意图。
图标:10-网络通信系统;11-第一交换芯片;12-第二交换芯片;13-处理器;14-存储器;100-表项迁移装置;110-发送配置单元;120-表项迁移单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在现有技术中,转发数据库(Forwarding DataBase,简称FDB)表项的迁移通常基于静态地址,交换芯片需要把待迁移地址的报文上送至处理器,并由处理器解析后才能进行FDB表项迁移。交换设备上存在大量被动学习的FDB表项时,这些被动学习的FDB表项存在大量迁移的需求,会大量的占用上送处理器通道的带宽及处理器的利用率,使得FDB表项迁移效率低。
其中,FDB表项也称为MAC地址表项,主要由MAC地址、VLAN编号、端口编号、以及其它标志字段组成。MAC地址为设备在网络中唯一的标识和区别自己的标记,字节为48bits,其中前面24bits由设备厂商向IEEE申请的厂商地址,不能随意更改,后面24bits由设备厂商自行定义。
被动学习的FDB表项可理解为:在某个交换芯片学习形成FDB表项,若将该FDB表项写入其他交换芯片,该FDB表项对其他交换芯片来说便为被动学习的FDB表项。
FDB表项迁移可理解为:当交换机收到的数据帧中的源MAC和VLAN编号与在二层地址表中的FDB表项的源MAC和VLAN编号相同,但是数据帧的源端口编号与这条表项中的源端口编号不同时,需要将二层地址表中的FDB表项中的源端口编号更改为数据帧对应的源端口编号,该过程便可以称为FDB表项迁移。
鉴于上述问题,本申请申请人经过长期研究探索,提出以下实施例以解决上述问题。下面结合附图,对本申请实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1和图2,其中,图1为本申请实施例提供的网络通信系统10的方框示意图之一,图2为本申请实施例提供的网络通信系统10的方框示意图之二。本申请实施例提供的网络通信系统10至少包括两个通信连接的交换芯片。其中,两交换芯片的功能作用可以相互替换,可以并行对接收报文进行转发。
例如,若网络通信系统10仅包括一个交换机,网络通信系统10的组成硬件结构可以参照图1,该交换机可以包括第一交换芯片11及第二交换芯片12。若网络通信系统10包括两个交换机,每个交换机可以仅包括一个交换芯片,也可以包括多个交换芯片。网络通信系统10的组成硬件结构可以参照图2,在图2中,网络通信系统10包括两个交换机,其中一个交换机包括一个第一交换芯片11,另一交换机可以包括一个第二交换芯片12。
若第一交换芯片11的接收端口上收到数据帧(或报文),首先根据会数据帧中的源MAC地址和VLAN编号在该第一交换芯片11预先存储的二层地址表中查找是否存在匹配的FDB表项,如果不存在,就会进入FDB表项学习过程。FDB表项学习的结果是将源MAC地址、VLAN编号以及源端口编号的组合关系形成一条地址表项,并且添加在二层地址表(下文简称地址表)中。然后在将学习得到的FDB表项同步至第二交换芯片12,以完成表项的迁移。其中,二层地址表可以包括多条预先学习或录入的FDB表项,每条FDB表项可以包括但不限于源MAC地址、VLAN编号以及源端口编号。
其中,第一交换芯片11接收到的数据帧可以是其他交换机发送过来的,也可以是其他终端设备发送过来的,其他终端设备可以是,但不限于智能手机、个人电脑(personalcomputer,简称PC)、平板电脑、个人数字助理(personal digital assistant,简称PDA)、移动上网设备(mobile Internet device,简称MID)等这里对发送数据帧的对象不作具体限定。
当然,在其他实施例中,网络通信系统10中交换机的数量、交换机包括的交换芯片的数量以及交换芯片之间的连接架构均可以根据实际情况进行设置,只要满足网络通信系统10包括至少两个相互通信连接的交换芯片即可,这里对交换机的数量、交换芯片的数量不作具体限定。
请参照图3,为本申请实施例提供的表项迁移方法的流程示意图。本申请实施例提供的表项迁移方法可以应用于上述的网络通信系统10,可以由该网络通信系统10执行或实现表项迁移方法的各步骤。当存在大量的FDB表项需要迁移时,通过该方法能够提高被动学习的FDB表项的迁移效率。因为该方法能够在表项迁移过程中不占用系统中处理器13的通道带宽,也就使得系统不会因占用处理器13带宽过高使得处理器13不能接收到协议报文。其中,若处理器13无法接收到协议报文,那么将影响协议交互功能,从而降低FDB表项的迁移效率。具体地,该方法可以包括以下步骤:
步骤S210,在将第一交换芯片11主动学习得到的FDB表项以动态地址下发至第二交换芯片12时,设置第二交换芯片12上的FDB表项为不老化状态;
步骤S220,在接收到第二交换芯片12根据接收的报文需要对FDB表项进行迁移的通知时,对FDB表项进行迁移。
下面将对图3所示的表项迁移方法的各步骤进行详细阐述:
步骤S210,在将第一交换芯片11主动学习得到的FDB表项以动态地址下发至第二交换芯片12时,设置第二交换芯片12上的FDB表项为不老化状态。
在本实施例中,第一交换芯片11主动学习得到FDB表项的过程可以在步骤S210之前实现的。例如,在步骤S210之前,方法还可以包括:第一交换芯片11根据接收的报文确定第一交换芯片11是否存在与报文相匹配的FDB表项,在为否时,第一交换芯片11根据报文携带的终端地址、VLAN标识以及端口标识形成FDB表项。其中,终端地址主要是指发送报文的终端的MAC地址,VLAN标识以及端口标识可以为VLAN编号以及源端口编号。
可理解地,若报文携带的终端地址、VLAN标识以及端口标识与第一交换芯片11预先存储的地址表中的FDB表项中的终端地址、VLAN标识以及端口标识对应相同,则确定第一交换芯片11中存在与报文对应匹配的FDB表项,否则,认为第一交换芯片11中不存在与报文对应匹配的FDB表项。若第一交换芯片11中存在与报文对应匹配的FDB表项,则第一交换芯片11无需对报文所对应的FDB表项进行学习,因为第一交换芯片11自身已经存储了与报文对应的FDB表项。若第一交换芯片11中不存在与报文对应匹配的FDB表项,则进行学习以得到与报文对应匹配的FDB表项。其学习的过程可以为:将报文携带的终端地址、VLAN标识以及端口标识之间的组合关系形成一条地址表项(FDB表项),并将该地址表项添加在第一交换芯片11的地址表中,这个过程便可以称为FDB表项学习。
在步骤S210之前,方法还可以包括:判断第二交换芯片12是否支持单条地址老化的操作。基于该步骤,使得交互系统可以根据第二交换芯片12的是否支持的操作确定配置策略,然后利用确定的配置策略将FDB表项中的终端地址的老化状态更改为表示不老化的状态。
其中,判断第二交换芯片12是否支持单条地址老化的操作的原理可以包括:第二交换芯片12预先已经设置有表示支持或不支持该操作的标识,也就可以通过第二交换芯片12中的该标识确定出第二交换芯片12是否支持单条地址老化的操作。或者,使用第二交换芯片12对单条地址老化,若能执行该操作,便确定第二交换芯片12支持单条地址老化的操作。
可选地,在判断第二交换芯片12支持操作时,将第二交换芯片12中的FDB表项中的终端地址的老化周期更改为表示不老化的预设周期,以使终端地址的老化状态为不老化的状态。或者,在判断第二交换芯片12不支持操作时,根据标记规则给第二交换芯片12中的FDB表项中的终端地址标记上用于表征不老化的标识,以使终端地址的老化状态为不老化的状态。
其中,该步骤中,将FDB表项中的终端地址标记为不老化的地址,可以使得FDB表项在第二交换芯片12中不会被老化,从而使得FDB表项不会因老化而失效,以避免再次出现与报文相对应的FDB表项时,需要重新学习以及进行表项迁移。另外,老化可理解为:交换芯片首次录入一FDB表项时,会记录该FDB表项的存在时长,若该时长超过预设时长(或称老化周期),便删除该FDB表项,使得该FDB表项,这个过程便为FDB表项的老化过程。
例如,在判断第二交换芯片12出自身支持单条地址老化的操作时,可以将第二交换芯片12的FDB表项中的终端地址的老化周期的时长设置为表示不老化的0,也就是将老化周期的时长设置为0,老化周期为0通常也就该表项不会被老化。或者,在判断出第二交换芯片12不支持单条地址老化的操作时,根据标记规则给第二交换芯片12中的FDB表项中的终端地址的命中位标记上用于表征不老化的标识,比如,可以对第二交换芯片12中的FDB表项中的hit位(命中位)的配置用于表示不老化的标识,该标识可以根据实际情况进行设置,这里不作具体限定。
步骤S220,在接收到第二交换芯片12根据接收的报文需要对FDB表项进行迁移的通知时,对FDB表项进行迁移。
其中,是否需要对第二交换芯片12中的FDB表项进行迁移的原理可以为:第二交换芯片12在报文携带的终端地址、VLAN标识与第二交换芯片12预存的FDB表项中的终端地址、VLAN标识相同,且报文携带的端口标识与FDB表项中的端口标识不同时,确定需要对FDB表项进行迁移。
进一步地,判断第二交换芯片12的地址表中是否存在与当前FDB表项对应的历史FDB表项(即旧的FDB表项),若存在该历史FDB表项,则将该历史FDB表项删除,以实现对第二交换芯片12中地址表的更新与同步,实现无用的FDB表项的删除,有助于减小对第二交换芯片12存储空间的占用,以及有助于提高第二交换芯片12的处理效率。其中,与当前FDB表项对应的历史FDB表项可以理解为,历史表项与FDB表项中存在相同的终端地址、VLAN标识,但端口标识不同,第二交换芯片12中地址表项中的这类FDB表项便为与当前FDB表项对应的历史FDB表项。
在本实施例中,FDB表项迁移的整体流程可以为:通过网络通信系统10中相应软件实现的FDB表项学习,并针对被动学习的FDB表项下发动态FDB表项,通过第二交换芯片12配置地址老化时间0或者在动态FDB表项中的源MAC地址中标记表征达到第二交换芯片12不被老化的标记,最终通过第二交换芯片12动态FDB迁移上报pending-FDB表项信息的行为完成FDB表项迁移。其中,Pending-FDB表项表示:带Pengding标记的FDB表项,即该表项不能作为报文转发查找出口的依据。下面将举例对交换芯片支持配置单条地址老化的操作以及不支持该操作的两种情况进行举例,此处以交换机上包括两个芯片,分别是芯片A(可以代指第一交换芯片11)和芯片B(可以代指第二交换芯片12)为例进行示例说明:
若第二交换芯片12支持配置单条地址老化的操作,也就意味着第二交换芯片12可以对FDB表项中的终端地址的老化周期进行配置。若将老化周期为表示不会被老化的预设周期时,该FDB表项中的终端地址也就不会被第二交换芯片12老化。例如,预设周期可以为0或负数。可理解地,若老化周期为0或负数,则该终端地址也就不会被老化。其中,支持这操作时,表项迁移的步骤可以如下:
第一步:交换机在开启软件实现FDB表项学习时,默认配置了动态FDB表项迁移上送pending-FDB表项信息的行为。
例如:在芯片A(第一交换芯片11)上配置动态FDB表项迁移上报迁移FDB表项信息(MAC地址、VLAN编号、源端口编号)的行为;
在芯片B(第二交换芯片12)上配置动态FDB表项迁移上报迁移FDB表项信息的行为;
第二步:将芯片A学习到的FDB表项,采用动态地址下发到芯片B上,并且获取芯片B内部HASH的表项索引,配置地址对应的老化周期为0,即表示该地址不会被老化;
例如:源MAC为00:01:00:01:00:01,VLAN为1的二层报文从芯片A的端口1通过,芯片A学习到FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1),并以动态地址方式下发芯片B。
交换机把芯片A上学习到的FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1)同步到芯片B上,以动态地址下发到芯片B上,并且获取该表项在老化表现的HASH到的表项索引。根据该地址的HASH到的表项索引,在芯片B上修改对应索引表项的老化周期为0;
第三步:软件学习业务记录把该被动学习的FDB表项记录下来,并且标记该地址为被动学习的不老化地址,如果该地址被上报老化通知了,可以通过该标记检查来避免芯片误报老化消息;
例如:软件学习业务记录芯片A上FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1)为需要老化地址,芯片B的FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1)为不需要老化地址;当芯片B上报FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1)需要老化时,检查软件历史的学习记录,便可以确认需要老化为误报的消息,因为该地址为不老化地址,交换芯片也就对该消息不做相应处理,即,设置老化周期为0可以在交换芯片误报老化消息时,自动对误报操作进行更正。
第四步:源MAC地址和VLAN编号匹配芯片B上被动学习的FDB表项的报文从芯片B通过,就会收到芯片B通知的pending-FDB表项信息。
例如:当芯片B上有源MAC为00:01:00:01:00:01、VLAN为1的报文从端口2通过时,芯片B自动识别该地址需要迁移,就发“FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1)需要被迁移到FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为2)上”的消息。
第五步:根据源MAC、VLAN编号查到匹配的FDB表项,然后删除旧的FDB表项,添加新学习的FDB表项,完成地址迁移。
例如:软件学习业务收到该通知消息,查询软件FDB表项记录发现存在FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1),下发芯片删除FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1),添加FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为2),完成了地址迁移。
若第二交换芯片12不支持配置单条地址老化的操作,也就意味着第二交换芯片12不能对FDB表项中的终端地址的老化周期进行配置,其表项迁移的过程可以如下:
第一步:设备在开启软件实现FDB表项学习时,默认配置了动态FDB表项迁移上报pending-FDB表项信息的行为;
例如:在芯片A上配置动态FDB表项迁移上报迁移FDB表项信息(MAC地址、VLAN编号、源端口编号)的行为;在芯片B上配置动态FDB表项迁移上报迁移FDB表项信息的行为。
第二步:芯片A内部下发能够匹配被动学习的地址标记来批量修改被动学习的FDB地址的hit位的配置;
例如:在芯片A上配置匹配被动学习的地址标记的匹配项和相关掩码,以及动作修改源mac的命中标记;在芯片B上也配置相同的匹配项、掩码、动作。
第三步:芯片A学习到的地址,下发到芯片B上采用动态地址下发;
例如:源MAC为00:01:00:01:00:01,VLAN为1的二层报文从芯片A的端口1通过,芯片A学习到FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1),并以动态地址方式下发芯片B;交换机把芯片A上学习到的FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1)同步到芯片B上,以动态地址下发到芯片B上,并可以要求在下发到芯片B的该地址的同时下发一个被动学习的标记;
第四步:软件学习业务记录把该被动学习的FDB表项记录下来,并且标记该地址为被动学习的不老化地址,如果芯片B上报老化地址消息,检查该消息的FDB地址是被动学习的地址,就使能批量修改FDB地址hit位的配置,这样在老化周期内,所有的被动学习的地址在老化周期范围内不会被老化;
例如:软件学习业务记录芯片A上FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1)为需要老化地址,芯片B中FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1)为不需要老化地址;当芯片B上报FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1)需要老化时,检查软件学习记录,确认该地址为不老化地址,这时执行第二步上配置的相应的规则动作,更新FDB表项的源MAC命中标记,这样在老化时间周期内所有的被动学习的地址都不会再上报老化消息;
第五步:源MAC地址和VLAN编号匹配芯片B上被动学习的FDB表项的报文从芯片B通过,就会收到交换芯片的通知的pending-FDB表项信息;
例如:当芯片B上有源MAC为00:01:00:01:00:01、VLAN为1的报文从端口2通过时,芯片自动识别该地址需要迁移,就发“FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1)需要被迁移到FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为2)上”的消息;
第六步:根据源MAC、VLAN编号查到匹配的FDB表项,然后删除旧的FDB表项,添加新学习的FDB表项,完成地址迁移;
例如:软件学习业务收到该通知消息,查询软件FDB表项记录发现存在FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1),下发芯片删除FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为1),添加FDB表项(源MAC为00:01:00:01:00:01、VLAN为1、端口为2),完成了地址迁移。
基于上述设计,对于被动学习的FDB表项的迁移,该方法只需要把上报的迁移地址消息交付给软件学习业务即可完成FDB表项迁移。另外,被动学习的FDB表项迁移避免了使用处理器13通道带宽,降低了处理器13的利用率,提高了地址迁移的效率。当需要处理的大量被动学习的FDB表项进行迁移时,该方法可以有效避免使用处理器13带宽,降低对处理器13的依赖,进而有助于提高迁移效率。
请参照图4,为本申请实施例提供的表项迁移装置100的方框示意图。该表项迁移装置100可以应用于上述的网络通信系统10,能够实现或执行表项迁移方法的各步骤。该表项迁移装置100可以包括发送配置单元110及表项迁移单元120。
发送配置单元110,用于在将第一交换芯片11主动学习得到的FDB表项以动态地址下发至第二交换芯片12时,设置第二交换芯片12上的FDB表项为不老化状态。
发送配置单元110还可以用于:在第二交换芯片12判断自身支持操作时,第二交换芯片12将FDB表项中的终端地址的老化周期更改为表示不老化的预设周期,以使终端地址的老化状态为不老化的状态;或在第二交换芯片12判断自身不支持操作时,第二交换芯片12根据标记规则给FDB表项中的终端地址标记上用于表征不老化的标识,以使终端地址的老化状态为不老化的状态。
表项迁移单元120,在接收到第二交换芯片12根据接收的报文需要对FDB表项进行迁移的通知时,对FDB表项进行迁移。
可选地,表项迁移装置100还包括判断单元,在发送配置单元110将第一交换芯片11得到的FDB表项以动态地址发送至第二交换芯片12之前,判断单元用于判断第二交换芯片12是否支持单条地址老化的操作。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的网络通信系统10的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
请再次参照图1,在本实施例中,网络通信系统10可以包括第一交换芯片11、第二交换芯片12、处理器13、存储器14以及表项迁移装置100,第一交换芯片11、第二交换芯片12、处理器13、存储器14以及表项迁移装置100各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。其中,该网络通信系统10可以执行如图3所示的表项迁移方法的各步骤。比如,可以用于实现步骤S210、步骤S220,其实现的详细过程及功能作用可以参照上述方法中对各步骤的描述,这里不再赘述。
第一交换芯片11与第二交换芯片12的功能作用相同或类似,可以对FDB表项进行管理,能够对报文进行转发。
处理器13可以是一种集成电路芯片,具有信号的处理能力。上述处理器13可以是通用处理器。例如,该处理器13可以是中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
存储器14可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储器14可以用于存储配置策略、地址表等。当然,存储器14还可以用于存储程序,处理器13在接收到执行指令后,执行该程序。
进一步地,表项迁移装置100包括至少一个可以软件或固件(firmware)的形式存储于存储器14中或固化在网络通信系统10操作系统(operating system,简称OS)中的软件功能模块。处理器13用于执行存储器14中存储的可执行模块,例如表项迁移装置100所包括的软件功能模块及计算机程序等。
可以理解的是,图1所示的结构仅为网络通信系统10的一种结构示意图,网络通信系统10还可以包括比图1所示更多或更少的组件。图1中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种计算机可读存储介质。可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例的表项迁移方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,本申请提供一种表项迁移方法、装置及网络通信系统。该方法通过在将第一交换芯片主动学习得到的FDB表项以动态地址下发至第二交换芯片时,设置第二交换芯片上的FDB表项为不老化状态;在接收到第二交换芯片根据接收的报文需要对FDB表项进行迁移的通知时,对FDB表项进行迁移,从而避免了在表项迁移过程中占用系统的处理器带宽,有助于提高表项迁移的效率。另外,因为设置了终端地址的老化状态不老化的状态,使得终端地址不会被老化,从而避免了终端地址因老化失效而需要重新对FDB表项迁移所造成的处理效率低的问题。
在本申请所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种表项迁移方法,其特征在于,应用于网络通信系统,所述网络通信系统至少包括相互通信连接的第一交换芯片和第二交换芯片,所述方法包括:
在将所述第一交换芯片主动学习得到的FDB表项以动态地址下发至所述第二交换芯片时,设置所述第二交换芯片上的所述FDB表项为不老化状态,其中,设置所述第二交换芯片上的所述FDB表项为不老化状态,包括:在确定出所述第二交换芯片支持单条地址老化的操作时,所述第二交换芯片将FDB表项中的终端地址的老化周期更改为表示不老化的预设周期,以使所述终端地址的老化状态为不老化的状态;或在确定出所述第二交换芯片不支持单条地址老化的操作时,所述第二交换芯片根据标记规则给所述FDB表项中的终端地址标记上用于表征不老化的标识,以使所述终端地址的老化状态为不老化的状态;
在接收到所述第二交换芯片根据接收的报文需要对所述FDB表项进行迁移的通知时,对所述FDB表项进行迁移。
2.根据权利要求1所述的方法,其特征在于,在将所述第一交换芯片主动学习得到的FDB表项以动态地址下发至所述第二交换芯片之前,所述方法还包括:
判断所述第二交换芯片是否支持单条地址老化的操作。
3.根据权利要求1所述的方法,其特征在于,所述第二交换芯片将FDB表项中的终端地址的老化周期更改为表示不老化的预设周期,包括:
所述第二交换芯片将FDB表项中的终端地址的老化周期的时长设置为表示不老化的0。
4.根据权利要求1所述的方法,其特征在于,所述第二交换芯片根据标记规则给所述FDB表项中的终端地址标记上用于表征不老化的标识,包括:
所述第二交换芯片根据标记规则给所述FDB表项中的终端地址的命中位标记上用于表征不老化的标识。
5.一种表项迁移装置,其特征在于,应用于网络通信系统,所述网络通信系统至少包括相互通信连接的第一交换芯片和第二交换芯片,所述装置包括:
发送配置单元,用于在将所述第一交换芯片主动学习得到的FDB表项以动态地址下发至所述第二交换芯片时,并设置所述第二交换芯片上的所述FDB表项为不老化状态;在确定出所述第二交换芯片支持单条地址老化的操作时,所述第二交换芯片将FDB表项中的终端地址的老化周期更改为表示不老化的预设周期,以使所述终端地址的老化状态为不老化的状态;或在确定出所述第二交换芯片不支持单条地址老化的操作时,所述第二交换芯片根据标记规则给所述FDB表项中的终端地址标记上用于表征不老化的标识,以使所述终端地址的老化状态为不老化的状态;
表项迁移单元,用于在接收到所述第二交换芯片根据接收的报文需要对所述FDB表项进行迁移的通知时,对所述FDB表项进行迁移。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括判断单元,在所述发送配置单元将所述第一交换芯片主动学习得到的FDB表项以动态地址下发至所述第二交换芯片之前,所述判断单元用于判断所述第二交换芯片是否支持单条地址老化的操作。
7.一种网络通信系统,其特征在于,所述网络通信系统至少包括相互通信连接的第一交换芯片和第二交换芯片,所述第一交换芯片用于将自身主动学习得到的FDB表项以动态地址下发至所述第二交换芯片;
所述第二交换芯片用于设置从所述第一交换芯片接收的所述FDB表项为不老化状态;在确定出所述第二交换芯片支持单条地址老化的操作时,所述第二交换芯片将FDB表项中的终端地址的老化周期更改为表示不老化的预设周期,以使所述终端地址的老化状态为不老化的状态;或在确定出所述第二交换芯片不支持单条地址老化的操作时,所述第二交换芯片根据标记规则给所述FDB表项中的终端地址标记上用于表征不老化的标识,以使所述终端地址的老化状态为不老化的状态;
所述第二交换芯片还用于在根据接收的报文需要对所述FDB表项进行迁移的通知时,对所述FDB表项进行迁移。
8.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-4中任意一项所述的表项迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811310754.1A CN109391548B (zh) | 2018-11-06 | 2018-11-06 | 表项迁移方法、装置及网络通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811310754.1A CN109391548B (zh) | 2018-11-06 | 2018-11-06 | 表项迁移方法、装置及网络通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109391548A CN109391548A (zh) | 2019-02-26 |
CN109391548B true CN109391548B (zh) | 2021-12-17 |
Family
ID=65428446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811310754.1A Active CN109391548B (zh) | 2018-11-06 | 2018-11-06 | 表项迁移方法、装置及网络通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109391548B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111970201A (zh) * | 2020-08-28 | 2020-11-20 | 迈普通信技术股份有限公司 | 一种多芯片级联的转发系统及转发控制方法 |
CN114390023A (zh) * | 2021-12-27 | 2022-04-22 | 锐捷网络股份有限公司 | 一种动态地址不老化方法、装置、电子设备及存储介质 |
CN115118681B (zh) * | 2022-06-22 | 2023-05-30 | 烽火通信科技股份有限公司 | 一种软硬件相结合配置mac地址条目的方法、系统和装置 |
CN114884878A (zh) * | 2022-07-12 | 2022-08-09 | 常州楠菲微电子有限公司 | 一种硬件学习模式下多交换芯片堆叠的mac地址同步方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8160080B1 (en) * | 2006-05-08 | 2012-04-17 | Marvell Israel (M.I.S.L.) Ltd. | Implementation of reliable synchronization of distributed databases |
US8590033B2 (en) * | 2008-09-25 | 2013-11-19 | Fisher-Rosemount Systems, Inc. | One button security lockdown of a process control network |
CN102025734B (zh) * | 2010-12-07 | 2015-06-03 | 中兴通讯股份有限公司 | 一种防止mac地址欺骗的方法、系统及交换机 |
CN104253756B (zh) * | 2013-06-27 | 2018-10-26 | 新华三技术有限公司 | 一种lav切换方法和ed |
CN103929461B (zh) * | 2013-08-12 | 2018-03-20 | 新华三技术有限公司 | 堆叠系统中的mac地址信息同步方法及装置 |
CN104009999B (zh) * | 2014-06-10 | 2017-06-23 | 北京星网锐捷网络技术有限公司 | 防止arp欺骗的方法、装置及网络接入服务器 |
CN105991783A (zh) * | 2015-02-06 | 2016-10-05 | 中兴通讯股份有限公司 | 一种媒体接入控制地址学习方法、设备和系统 |
CN106059810B (zh) * | 2016-05-31 | 2020-10-20 | 新华三技术有限公司 | 一种消息通知方法及系统 |
CN106507228B (zh) * | 2016-11-25 | 2019-08-16 | 成都广达新网科技股份有限公司 | 一种olt pon业务卡实现fdb软表更新的方法 |
CN107707690B (zh) * | 2017-11-28 | 2021-07-16 | 锐捷网络股份有限公司 | 一种动态地址不老化的方法、装置和介质 |
-
2018
- 2018-11-06 CN CN201811310754.1A patent/CN109391548B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109391548A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391548B (zh) | 表项迁移方法、装置及网络通信系统 | |
JP7097894B2 (ja) | 負荷再配置方法、装置、およびシステム | |
CN109842694B (zh) | 一种同步mac地址的方法、网络设备和计算机可读存储介质 | |
KR101871383B1 (ko) | 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템 | |
KR20200035143A (ko) | Pdu 유형 설정 방법, ue 정책 설정 방법 및 관련 엔티티 | |
US9965213B2 (en) | IP hard disk and storage system, and data operation methods therefor | |
US20190181901A1 (en) | Local profile assistant and application programming interface | |
EP3160084B1 (en) | Fibre channel storage area network configuration method and apparatus | |
US11044729B2 (en) | Function scheduling method, device, and system | |
CN112805980B (zh) | 用于移动设备管理的基于无查询设备配置确定的技术 | |
WO2021197253A1 (zh) | 业务报文传输方法及相关设备 | |
ES2354331A1 (es) | Procedimiento y sistema para migrar perfiles en dispositivos de telecomunicaciones. | |
CN113141405A (zh) | 服务访问方法、中间件系统、电子设备和存储介质 | |
CN111147274B (zh) | 为集群解决方案创建高度可用的仲裁集的系统和方法 | |
US20220107752A1 (en) | Data access method and apparatus | |
CN115004734A (zh) | 存储在sim简档中的即时连接配置 | |
CN108628864B (zh) | 一种数据访问方法及数据管理装置 | |
CN111629054B (zh) | 消息处理方法、装置、系统、电子设备及可读存储介质 | |
CN113918504A (zh) | 一种隔离组的实现方法及装置 | |
CN110083509B (zh) | 一种日志数据的规整方法及装置 | |
CN116431566B (zh) | 数据迁移方法、装置、电子设备及介质 | |
US20170185618A1 (en) | Management unit existence determination system and management unit existence determination program | |
EP4185002A1 (en) | Network slicing management method and system, and computer readable storage medium | |
WO2021203444A1 (zh) | 数据传输方法及相关设备 | |
CN111182014B (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 |