1.本发明涉及二层转发表老化控制技术领域,尤其涉及一种实现以太网二层转发表精确老化的方法及系统。
背景技术:2.以太网交换机的主要功能是在数据链路层对报文进行转发,也就是根据报文的目的mac地址将报文输出到相应的端口,其中,二层转发(l2forwarding)功能负责以太网报文的地址学习和报文转发。该功能由二层转发表(mac地址表)和地址学习,查找,老化等相应逻辑功能实现。
3.mac地址表是一张包含了mac地址与转发端口对应的关系的二层转发表,是以太网交换机实现二层报文快速转发的基础。以太网交换机的二层转发表是有容量限制的,为了最大限度利用二层转发表资源,以太网交换机利用老化机制更新二层转发表,即系统在动态创建某表项的同时,开启老化定时器,如果老化时间内没有再次收到来自该表项中的mac地址的报文,以太网交换机就会把该mac地址表项删除。
4.现有技术中,采用有效位v和老化位a定义了表项的三个工作状态,即起始状态(v=1,a=0)、待老化状态(v=1,a=1)和空白状态(v=0,a=0),当学习到一个新地址时,学习功能将源mac地址和接收端口号存储到二层转发表中,该表项成为起始状态。老化计时器在后台启动老化进程,将起始状态的表项一律改为待老化,这时表项依然有效;待老化表项在老化进程中被转换为空白状态,即删除该表项。如果发生了刷新事件,则待老化状态返回起始状态。基于此,如图1所示,如果一个老化周期设置为t,可以看出,一个表项的最长老化时间为2t,最短老化时间为t。刷新事件也就是报文的到达时间是随机的,平均值在一个老化周期的一半。如图1所示可以明显看出,如果一个老化周期设置为t,则平均的老化时间为1.5t,误差为50%,即现有的老化机制存在较大的误差。
技术实现要素:5.针对现有技术中存在的问题,本发明提供一种实现以太网二层转发表精确老化的方法,用于对一以太网交换机中预先配置的一二层转发表进行精确老化控制,所述实现以太网二层转发表精确老化的方法包括:
6.步骤s1,于所述以太网交换机中配置所述二层转发表的一老化周期以及工作状态,所述工作状态包括起始状态、空白状态以及至少两个待老化状态,所述起始状态、所述空白状态以及各所述待老化状态将所述老化周期对应划分为多个分段周期;
7.步骤s2,所述以太网交换机根据所述工作状态以及对应的各所述分段周期对所述二层转发表进行精确老化控制。
8.优选的,所述工作状态采用所述二层转发表中的状态位进行编码表征。
9.优选的,所述状态位包括有效位、老化位和静态位。
10.优选的,所述步骤s2包括:
11.步骤s21,所述以太网交换机针对每个所述老化周期,判断任意一所述分段周期内是否接收到一以太网地址表项:
12.若是,则转向步骤s22;
13.若否,则所述以太网交换机按照所述起始状态、各所述老化状态、所述空白状态的状态转换顺序对所述以太网地址表项的所述工作状态进行刷新,并将所述空白状态对应的所述以太网地址表项由所述二层转发表中删除,以对所述二层转发表进行精确老化控制,随后退出;
14.步骤s22,所述以太网交换机判断所述二层转发表中是否存在所述以太网地址表项:
15.若是,则所述以太网交换机将所述二层转发表中对应的所述以太网地址表项的所述工作状态刷新为所述起始状态,随后返回所述步骤s21;
16.若否,则所述以太网交换机将所述以太网地址表项加入所述二层转发表中,并将所述以太网地址表项的所述工作状态配置为所述起始状态,随后返回所述步骤s21。
17.本技术还提供一种实现以太网二层转发表精确老化的系统,应用上述的实现以太网二层转发表精确老化的方法,所述实现以太网二层转发表精确老化的系统包括:
18.状态配置模块,用于在所述以太网交换机中配置所述二层转发表的一老化周期以及工作状态,所述工作状态包括起始状态、空白状态以及至少两个待老化状态,所述起始状态、所述空白状态以及各所述待老化状态将所述老化周期对应划分为多个分段周期;
19.老化控制模块,连接所述状态配置模块,用于根据所述工作状态以及对应的各所述分段周期对所述二层转发表进行精确老化控制。
20.优选的,所述工作状态采用所述二层转发表中的状态位进行编码表征。
21.优选的,所述状态位包括有效位、老化位和静态位。
22.优选的,所述老化控制模块包括:
23.第一判断单元,用于针对每个所述老化周期,在任意一所述分段周期内未接收到一以太网地址表项时生成一第一判断信号,以及在判断任意一所述分段周期内接收到一以太网地址表项时生成一第二判断信号;
24.第一老化单元,连接所述第一判断单元,用于根据所述第一判断信号按照所述起始状态、各所述老化状态以及所述空白状态的状态转换顺序对所述以太网地址表项的所述工作状态进行刷新,并将所述空白状态对应的所述以太网地址表项由所述二层转发表中删除,以对所述二层转发表进行精确老化控制;
25.第二判断单元,连接所述第一判断单元,用于根据所述第二判断信号判断所述二层转发表中存在所述以太网地址表项时生成一第三判断信号,以及判断所述二层转发表中不存在所述以太网地址表项时生成一第四判断信号;
26.第二老化单元,连接所述第二判断单元,用于根据所述第三判断信号将所述二层转发表中对应的所述以太网地址表项的所述工作状态刷新为所述起始状态,以进入一个新的所述老化周期;
27.第三老化单元,连接所述第二判断单元,用于根据所述第四判断信号将所述以太网地址表项加入所述二层转发表中,并将所述以太网地址表项的所述工作状态配置为所述起始状态,以进入一个新的所述老化周期。
28.上述技术方案具有如下优点或有益效果:借助传统二层转发表中的状态位,通过新的编码方式,提高刷新时间的颗粒度,提供了更加精准的刷新时间,实现在不增加原有成本的情况下,提高老化的时间精度,从而让老化更加公平和准确。
附图说明
29.图1为二层转发表的现有老化机制中,老化周期与对应的表项状态的示意图;
30.图2为本发明的较佳的实施例中,一种实现以太网二层转发表精确老化的方法的流程示意图;
31.图3为本发明的较佳的实施例中,对二层转发表进行精确老化控制的流程示意图;
32.图4为本发明的较佳的实施例中,5个老化状态对应的二层转发表的老化进程的原理示意图;
33.图5为本发明的较佳的实施例中,3个老化状态对应的二层转发表的老化进程的原理示意图;
34.图6为本发明的较佳的实施例中,老化周期与对应的表项状态的示意图;
35.图7为本发明的较佳的实施例中,一种实现以太网二层转发表精确老化的系统的结构示意图。
具体实施方式
36.下面结合附图和具体实施例对本发明进行详细说明。本发明并不限定于该实施方式,只要符合本发明的主旨,则其他实施方式也可以属于本发明的范畴。
37.本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种实现以太网二层转发表精确老化的方法,用于对一以太网交换机中预先配置的一二层转发表进行精确老化控制,如图2所示,实现以太网二层转发表精确老化的方法包括:
38.步骤s1,于以太网交换机中配置二层转发表的一老化周期以及工作状态,工作状态包括起始状态、空白状态以及至少两个待老化状态,起始状态、空白状态以及各待老化状态将老化周期对应划分为多个分段周期;
39.步骤s2,以太网交换机根据工作状态以及对应的各分段周期对二层转发表进行精确老化控制。
40.具体地,本实施例中,工作状态采用二层转发表中的状态位进行编码表征,状态位包括有效位v(valid,有效)、老化位(aging,老化)和静态位s(static,静态)。传统二层转发表中,静态位s(static,静态)由用户配置,表示该表项为静态表项,静态表项不参与老化。优选的,上述各状态位的定义和代表的状态如下表所示:
41.vsa表项状态0xx空白表项11x有效,静态100有效,动态,起始状态101有效,动态,待老化状态
42.由上表中可以看出,有效位v、老化位a和静态位s可用表征8个工作状态,但传统的二层转发表只用到了其中的4个状态。本方案优选使用其余的四个状态中的至少一个,通过
重新编码的方式,增加4个新的待老化状态。其中,其余的四个状态均参与老化时,各工作状态的编码和代表的状态如下表所示:
[0043][0044][0045]
可以理解的是,上述编码方式仅作为本技术方案的一个实施例,并不以此对本技术方案进行限定。在实际使用中,上述待老化状态1至待老化状态5中的其中部分状态的编码方式可能被其他目的占用,为避免冲突,在进行工作状态配置时,考虑被其他目的占用的因素存在。在上述各状态均未被其他目的占用时,优选配置5个待老化状态,以尽可能提升老化的时间精度,也可以配置两个及以上的待老化状态,具体可以根据需求进行配置。
[0046]
进一步具体地,若上述表征待老化状态1的001以及表征待老化状态4的111被其他目的占用,在配置工作状态时,可以将待老化状态1的001以及表征待老化状态4的111剔除,仅保留待老化状态2、待老化状态3和待老化状态5中的至少两个待老化状态。待老化状态的个数决定了分段周期的个数,以原有的一个完整的老化周期t为例,每个分段周期的时长可以是t/n,其中n用于表示待老化状态的个数。每个分段周期也可以配置为不同的时长,各分段周期的总时长为t即可。
[0047]
在配置完成工作状态及分段周期后,随后以太网交换机根据工作状态以及对应的各分段周期对二层转发表进行精确老化控制,如图3所示,步骤s2包括:
[0048]
步骤s21,以太网交换机针对每个老化周期,判断任意一分段周期内是否接收到一以太网地址表项:
[0049]
若是,则转向步骤s22;
[0050]
若否,则以太网交换机按照起始状态、各老化状态、空白状态的状态转换顺序对以太网地址表项的工作状态进行刷新,并将空白状态对应的以太网地址表项由二层转发表中删除,以对二层转发表进行精确老化控制,随后退出;
[0051]
步骤s22,以太网交换机判断二层转发表中是否存在以太网地址表项:
[0052]
若是,则以太网交换机将二层转发表中对应的以太网地址表项的工作状态刷新为起始状态,随后返回步骤s21;
[0053]
若否,则以太网交换机将以太网地址表项加入二层转发表中,并将以太网地址表项的工作状态配置为起始状态,随后返回步骤s21。
[0054]
具体地,本实施例中,以老化状态为5个为例,二层转发表的老化进程如图4所示,其中,学习到新地址用于表示以太网交换机接收到以太网地址表项,且该以太网地址表项不存在于当前的二层转发表中,说明该以太网地址表项为学习到的新地址;无刷新事件用于表示以太网交换机在该分段周期内未接收到以太网地址表项,发生刷新用于表示以太网交换机在该分段周期内接收到以太网地址表项,且该以太网地址表项存在于当前的二层转发表中。老化计时器在后台启动老化进程,插入4个新的待老化状态,将起始状态的表项依次改为待老化1、2、3、4和最终的待老化状态5,这几个状态下表项依然有效;最终待老化表项在老化进程中被转换为空白状态,即删除该表项。
[0055]
进一步地,以老化状态为5个为例,如图5所示,可以明显看出,如果一个完整的老化周期为t(每个分段老化周期为t/5),则平均的老化时间为(0.5+5)*5=1.1t。因此误差为10%,将原有的时间误差由50%减小到10%,即精度提高了5倍。
[0056]
作为一个优选的实施方式,若上述表征待老化状态1的001以及表征待老化状态4的111被其他目的占用,在配置工作状态时,可以将待老化状态1的001以及表征待老化状态4的111剔除,仅保留待老化状态2、待老化状态3和待老化状态5中的至少两个待老化状态。此时对应的二层转发表的老化进程如图6所示,其中,待老化状态1、待老化状态2和待老化状态3分别为图4中原有的待老化状态2、待老化状态3和待老化状态5。其他占用场景以此类推,此处不再赘述。
[0057]
本技术还提供一种实现以太网二层转发表精确老化的系统,应用上述的实现以太网二层转发表精确老化的方法,如图7所示,实现以太网二层转发表精确老化的系统包括:
[0058]
状态配置模块1,用于在以太网交换机中配置二层转发表的一老化周期以及工作状态,工作状态包括起始状态、空白状态以及至少两个待老化状态,起始状态、空白状态以及各待老化状态将老化周期对应划分为多个分段周期;
[0059]
老化控制模块2,连接状态配置模块1,用于根据工作状态以及对应的各分段周期对二层转发表进行精确老化控制。
[0060]
本发明的较佳的实施例中,工作状态采用二层转发表中的状态位进行编码表征。
[0061]
本发明的较佳的实施例中,状态位包括有效位、老化位和静态位。
[0062]
本发明的较佳的实施例中,老化控制模块2包括:
[0063]
第一判断单元21,用于针对每个老化周期,在任意一分段周期内未接收到一以太网地址表项时生成一第一判断信号,以及在判断任意一分段周期内接收到一以太网地址表项时生成一第二判断信号;
[0064]
第一老化单元22,连接第一判断单元21,用于根据第一判断信号按照起始状态、各
老化状态以及空白状态的状态转换顺序对以太网地址表项的工作状态进行刷新,并将空白状态对应的以太网地址表项由二层转发表中删除,以对二层转发表进行精确老化控制;
[0065]
第二判断单元23,连接第一判断单元21,用于根据第二判断信号判断二层转发表中存在以太网地址表项时生成一第三判断信号,以及判断二层转发表中不存在以太网地址表项时生成一第四判断信号;
[0066]
第二老化单元24,连接第二判断单元23,用于根据第三判断信号将二层转发表中对应的以太网地址表项的工作状态刷新为起始状态,以进入一个新的老化周期;
[0067]
第三老化单元25,连接第二判断单元23,用于根据第四判断信号将以太网地址表项加入二层转发表中,并将以太网地址表项的工作状态配置为起始状态,以进入一个新的老化周期。
[0068]
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。