CN109617779B - 基于vtep的路由表维护方法及装置 - Google Patents

基于vtep的路由表维护方法及装置 Download PDF

Info

Publication number
CN109617779B
CN109617779B CN201811551853.9A CN201811551853A CN109617779B CN 109617779 B CN109617779 B CN 109617779B CN 201811551853 A CN201811551853 A CN 201811551853A CN 109617779 B CN109617779 B CN 109617779B
Authority
CN
China
Prior art keywords
routing table
software
hardware
table entry
hit
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
Application number
CN201811551853.9A
Other languages
English (en)
Other versions
CN109617779A (zh
Inventor
陈小龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN201811551853.9A priority Critical patent/CN109617779B/zh
Publication of CN109617779A publication Critical patent/CN109617779A/zh
Application granted granted Critical
Publication of CN109617779B publication Critical patent/CN109617779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Abstract

本发明公开了一种基于VTEP的路由表维护方法及装置,该方法包括:监控硬件路由表包括的硬件路由表项的第一数量是否达到最大容量,若未达到最大容量,则从软件路由表中选取软件路由表项添加到硬件路由表中;监控各个硬件路由表项在老化周期内是否被命中,更新各个硬件路由表项的连续未被命中周期和第一命中标识,删除在硬件路由表中连续未被命中周期超过第一设定阈值的硬件路由表项及其在软件路由表中对应的软件路由表项;监控各个软件路由表项在老化周期内是否被命中,更新各个软件路由表项的连续未被命中周期和第二命中标识,删除在软件路由表中连续未被命中周期超过第二设定阈值的软件路由表项。该方案可以更好地维护硬件路由表和软件路由表。

Description

基于VTEP的路由表维护方法及装置
技术领域
本发明涉及通信技术领域,尤指一种基于虚拟可扩展局域网隧道终端(VirtualeXtensible Local Area Network Tunnel End Point,VTEP)的路由表维护方法及装置。
背景技术
虚拟可扩展局域网(Virtual eXtensible Local Area Network,VXLAN)是一种建立在互联网协议(Internet Protocol,IP)网络之上的叠加(Overlay)网络技术,其使用媒体介入控制(Media Access Control,MAC)在(in)用户数据报协议(User DatagramProtocol,UDP)的方法进行封装,即将普通以太网报文封装在UDP报文里,普通以太网报文当作UDP数据传输。VXLAN网络由VXLAN网络标识(VXLAN Network Identifier,VNI)作为唯一标识,不同VNI的VXLAN网络的终端不能直接通信,需要VXLAN网关路由。
如图1所示为VXLAN网络的架构图,包括终端(如虚拟机、服务器等)、域内本地网络设备(如站点(Site)A内部的网络设备)、VTEP和IP网络。其中,VTEP是VXLAN网络的边缘设备,与物理网络相连,分配有物理网络的IP地址,该地址用于VXLAN报文的封装和解封装,VTEP之间在IP网络上建立隧道,这些隧道实现了VXLAN报文穿越IP网络的传输服务。
随着网络技术的飞速发展,虚拟机或者服务器等等数量不断增加,VTEP保存的路由表项也快速增加,以万兆互联网数据中心(Internet Data Center,IDC)为例,假设有500台VTEP,每台VTEP下连40台服务器,服务器以1:25创建虚拟机,整个IDC最大需要支持500K的软件路由数量,通常一台VTEP上支持的硬件路由表为12K,大量通信之后,VTEP可能有机会学习到整个VXLAN网络的路由表,这些记录在软件路由表中,这大大超出了VTEP支持的硬件路由表,如何维护软件路由表和硬件路由表以确保VXLAN网络正常通信,是目前亟需解决的问题。
发明内容
本发明实施例提供一种基于VTEP的路由表维护方法及装置,用以解决现有技术中存在的如何维护这些软件路由表和硬件路由表以确保VXLAN网络正常通信的问题。
根据本发明实施例,提供一种基于VTEP的路由表维护方法,应用在虚拟可扩展局域网VXLAN网络包括的每个VTEP中,所述VTEP包括硬件路由表和软件路由表,所述方法包括:
监控所述硬件路由表包括的硬件路由表项的第一数量是否达到所述硬件路由表的最大容量,若所述第一数量未达到所述最大容量,则从所述软件路由表中选取未存在于所述硬件路由表的软件路由表项添加到所述硬件路由表中;以及,
监控所述硬件路由表包括的各个硬件路由表项在老化周期内是否被命中,更新所述硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,删除在所述硬件路由表中连续未被命中周期超过第一设定阈值的硬件路由表项及其在所述软件路由表中对应的软件路由表项;以及,
监控所述软件路由表包括的各个软件路由表项在老化周期内是否被命中,更新所述软件路由表包括的各个软件路由表项的连续未被命中周期和第二命中标识,删除在所述软件路由表中连续未被命中周期超过第二设定阈值的软件路由表项。
具体的,从所述软件路由表中选取未存在于所述硬件路由表的软件路由表项添加到所述硬件路由表中,具体包括:
确定所述第一数量与所述最大容量的差值;
从所述软件路由表中获取不携带选中标识的软件路由表项,得到候选软件路由表项;
从所述候选软件路由表项中选取不超过所述差值的软件路由表项,得到选定软件路由表项;
在所述选定软件路由表项中添加所述选中标识;以及,
将所述选定软件路由表项添加到所述硬件路由表中。
具体的,从所述候选软件路由表项中选取不超过所述差值的软件路由表项,得到选定软件路由表项,具体包括:
确定所述候选软件路由表项的第二数量;
比较所述第二数量与所述差值的大小;
若所述第二数量大于所述差值,则根据所述候选软件路由表项的第二命中标识从所述候选软件路由表项中选取所述差值的软件路由表项,得到所述选定软件路由表项;若所述第二数量小于或等于所述差值,则获取所述第二数量的候选软件路由表项,得到所述选定软件路由表项。
具体的,更新所述硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,具体包括:
若在所述老化周期内被命中的硬件路由表项之前携带的连续未被命中周期不为0,则将在所述老化周期内被命中的硬件路由表项之前携带的连续未被命中周期清0,并添加所述第一命中标识;
若在所述老化周期内被命中的硬件路由表项之前携带的是所述第一命中标识,则保留所述第一命中标识;
若在所述老化周期内未被命中的硬件路由表项之前携带的是所述第一命中标识,则删除在所述老化周期内未被命中的硬件路由表项之前携带的所述第一命中标识,将在所述老化周期内未被命中的硬件路由表项的连续未被命中周期加1;
若在所述老化周期内未被命中的硬件路由表项之前携带的连续未被命中周期大于0,将在所述老化周期内未被命中的硬件路由表项的连续未被命中周期加1。
具体的,更新在所述老化周期内未被命中的软件路由表项的连续未被命中次数和第二命中标识,具体包括:
若在所述老化周期内被命中的软件路由表项之前携带的连续未被命中周期不为0,则将在所述老化周期内被命中的软件路由表项之前携带的连续未被命中周期清0,并添加所述第二命中标识;
若在所述老化周期内被命中的软件路由表项之前携带的是所述第二命中标识,则保留所述第二命中标识;
若在所述老化周期内未被命中的软件路由表项之前携带的是所述第二命中标识,则删除在所述老化周期内未被命中的软件路由表项之前携带的所述第二命中标识,将在所述老化周期内未被命中的软件路由表项的连续未被命中周期加1;
若在所述老化周期内未被命中的软件路由表项之前携带的连续未被命中周期大于0,将在所述老化周期内未被命中的软件路由表项的连续未被命中周期加1。
根据本发明实施例,还提供一种基于VTEP的路由表维护装置,应用在VXLAN网络包括的每个VTEP中,所述VTEP包括硬件路由表和软件路由表,所述装置包括:
添加模块,用于监控所述硬件路由表包括的硬件路由表项的第一数量是否达到所述硬件路由表的最大容量,若所述第一数量未达到所述最大容量,则从所述软件路由表中选取未存在于所述硬件路由表的软件路由表项添加到所述硬件路由表中;以及,
第一更新删除模块,用于监控所述硬件路由表包括的各个硬件路由表项在老化周期内是否被命中,更新所述硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,删除在所述硬件路由表中连续未被命中周期超过第一设定阈值的硬件路由表项及其在所述软件路由表中对应的软件路由表项;以及,
第二更新删除模块,用于监控所述软件路由表包括的各个软件路由表项在老化周期内是否被命中,更新所述软件路由表包括的各个软件路由表项的连续未被命中周期和第二命中标识,删除在所述软件路由表中连续未被命中周期超过第二设定阈值的软件路由表项。
具体的,所述添加模块,用于从所述软件路由表中选取未存在于所述硬件路由表的软件路由表项添加到所述硬件路由表中,具体用于:
确定所述第一数量与所述最大容量的差值;
从所述软件路由表中获取不携带选中标识的软件路由表项,得到候选软件路由表项;
从所述候选软件路由表项中选取不超过所述差值的软件路由表项,得到选定软件路由表项;
在所述选定软件路由表项中添加所述选中标识;以及,
将所述选定软件路由表项添加到所述硬件路由表中。
具体的,所述添加模块,用于从所述候选软件路由表项中选取不超过所述差值的软件路由表项,得到选定软件路由表项,具体用于:
确定所述候选软件路由表项的第二数量;
比较所述第二数量与所述差值的大小;
若所述第二数量大于所述差值,则根据所述候选软件路由表项的第二命中标识从所述候选软件路由表项中选取所述差值的软件路由表项,得到所述选定软件路由表项;若所述第二数量小于或等于所述差值,则获取所述第二数量的候选软件路由表项,得到所述选定软件路由表项。
具体的,所述第一更新删除模块,用于更新所述硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,具体用于:
若在所述老化周期内被命中的硬件路由表项之前携带的连续未被命中周期不为0,则将在所述老化周期内被命中的硬件路由表项之前携带的连续未被命中周期清0,并添加所述第一命中标识;
若在所述老化周期内被命中的硬件路由表项之前携带的是所述第一命中标识,则保留所述第一命中标识;
若在所述老化周期内未被命中的硬件路由表项之前携带的是所述第一命中标识,则删除在所述老化周期内未被命中的硬件路由表项之前携带的所述第一命中标识,将在所述老化周期内未被命中的硬件路由表项的连续未被命中周期加1;
若在所述老化周期内未被命中的硬件路由表项之前携带的连续未被命中周期大于0,将在所述老化周期内未被命中的硬件路由表项的连续未被命中周期加1。
具体的,所述第二更新删除模块,用于更新在所述老化周期内未被命中的软件路由表项的连续未被命中次数和第二命中标识,具体用于:
若在所述老化周期内被命中的软件路由表项之前携带的连续未被命中周期不为0,则将在所述老化周期内被命中的软件路由表项之前携带的连续未被命中周期清0,并添加所述第二命中标识;
若在所述老化周期内被命中的软件路由表项之前携带的是所述第二命中标识,则保留所述第二命中标识;
若在所述老化周期内未被命中的软件路由表项之前携带的是所述第二命中标识,则删除在所述老化周期内未被命中的软件路由表项之前携带的所述第二命中标识,将在所述老化周期内未被命中的软件路由表项的连续未被命中周期加1;
若在所述老化周期内未被命中的软件路由表项之前携带的连续未被命中周期大于0,将在所述老化周期内未被命中的软件路由表项的连续未被命中周期加1。
本发明有益效果如下:
本发明实施例提供一种基于VTEP的路由表维护方法及装置,通过监控所述硬件路由表包括的硬件路由表项的第一数量是否达到所述硬件路由表的最大容量,若所述第一数量未达到所述最大容量,则从所述软件路由表中选取未存在于所述硬件路由表的软件路由表项添加到所述硬件路由表中;以及,监控所述硬件路由表包括的各个硬件路由表项在老化周期内是否被命中,更新所述硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,删除在所述硬件路由表中连续未被命中周期超过第一设定阈值的硬件路由表项及其在所述软件路由表中对应的软件路由表项;以及,监控所述软件路由表包括的各个软件路由表项在老化周期内是否被命中,更新所述软件路由表包括的各个软件路由表项的连续未被命中周期和第二命中标识,删除在所述软件路由表中连续未被命中周期超过第二设定阈值的软件路由表项。该方案中,通过实时监控硬件路由表是否达到最大容量,并在未达到最大容量是及时从软件路由表中选取软件路由表项添加到硬件路由表中,以确保硬件路由表得到最大的使用;通过监控软件路由表和硬件路由表在老化周期内是否被命中来更新各个路由表项的连续未被命中周期和命中标识,从而删除连续未被命中周期超过设定阈值的路由表项,以确保及时更新软件路由表和硬件路由表中的路由表项,从而实现更好地维护硬件路由表和软件路由表,进一步确保VXLAN正常通行。
附图说明
图1为现有技术中VXLAN网络的架构图;
图2为本发明实施例中一种基于VTEP的路由表维护方法的流程图;
图3为本发明实施例中S11的流程图;
图4为本发明实施例中S113的流程图;
图5本发明实施例中一种基于VTEP的路由表维护装置的结构示意图。
具体实施方式
针对现有技术中存在的如何维护这些软件路由表和硬件路由表以确保VXLAN网络正常通信的问题,本发明实施例提供一种基于VTEP的路由表维护方法,应用在VXLAN网络包括的每个VTEP中,每个VTEP包括硬件路由表和软件路由表,本实施例的方法就是为了实现对硬件路由表和软件路由表的维护。该方法的流程如图2所示,具体执行步骤如下:
S21:监控硬件路由表包括的硬件路由表项的第一数量是否达到硬件路由表的最大容量,若第一数量未达到最大容量,则从软件路由表中选取未存在于硬件路由表的软件路由表项添加到硬件路由表中。
由于硬件路由表中的硬件路由表项存在老化机制,老化的硬件路由表项会在硬件路由表中删除,这样硬件路由表不一定实时都能达到最大容量,并且通过硬件路由表来转发报文比软件路由表的转发速度更快,不用占用中央处理器(Central Proccessing Unit,CPU)资源,可以大大提升VTEP性能,因此,最好是保证硬件路由表总是处于最大容量,若监控到硬件路由表未达到最大容量,可以及时从软件路由表中选取未在硬件路由表中的软件路由表项添加到硬件路由表中。
其中,硬件路由表包括的硬件路由表项的数量可以定义为第一数量。
S22:监控硬件路由表包括的各个硬件路由表项在老化周期内是否被命中,更新硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,删除在硬件路由表中连续未被命中周期超过第一设定阈值的硬件路由表项及其在软件路由表中对应的软件路由表项。
硬件路由表中的硬件路由表项被命中有两种情况,一种是在转发报文的时候被使用,另一种是在老化周期进行保活检测时检测结果为存活,这两种情况都可以认为硬件路由表项被命中。
为了便于监控硬件路由表项的状态,可以为硬件路由表项设置连续未被命中周期和第一命中标识,连续未被命中周期表示该硬件路由表项连续未被命中的老化周期的个数,第一命中标识表示硬件路由表项被命中,具体可以在硬件路由标识中设置专门的标识位进行标识。
在硬件路由表中连续未被命中周期超过第一设定阈值的硬件路由表项,说明该硬件路由表项对应的设备可能已经不存在或者异常,无法与该设备进行通信,因此,没有必要再继续保留该硬件路由表项,该硬件路由表项可以直接做老化处理,删除在硬件路由表中连续未被命中周期超过第一设定阈值的硬件路由表项及其在软件路由表中对应的软件路由表项。
其中,第一设定阈值可以根据实际需要进行设置,例如可以设置为3、4、5等等。
S23:监控软件路由表包括的各个软件路由表项在老化周期内是否被命中,更新软件路由表包括的各个软件路由表项的连续未被命中周期和第二命中标识,删除在软件路由表中连续未被命中周期超过第二设定阈值的软件路由表项。
软件路由表中的软件路由表项被命中有两种情况,一种是在转发报文的时候被使用,另一种是在老化周期进行保活检测时检测结果为存活,这两种情况都可以认为软件路由表项被命中。
为了便于监控软件路由表项的状态,可以为软件路由表项设置连续未被命中周期和第二命中标识,连续未被命中周期表示该软件路由表项连续未被命中的老化周期的个数,第二命中标识表示软件路由表项被命中。
在软件路由表中连续未被命中周期超过第二设定阈值的软件路由表项,说明该软件路由表项对应的设备可能已经不存在或者异常,无法与该设备进行通信,因此,没有必要再继续保留该软件路由表项,该软件路由表项可以直接做老化处理,删除在软件路由表中连续未被命中周期超过第二设定阈值的软件路由表项。
其中,第二设定阈值可以根据实际需要进行设置,例如可以设置为3、4、5等等。
需要说明的是,以上三个步骤并没有严格的先后执行顺序,实际上这三个步骤都是实时进行的,在这里仅仅是为了说明这三个步骤,所以给了S21、S22和S23的步骤编号,这三个步骤编号并不包含执行顺序的含义。
该方案中,通过实时监控硬件路由表是否达到最大容量,并在未达到最大容量是及时从软件路由表中选取软件路由表项添加到硬件路由表中,以确保硬件路由表得到最大的使用;通过监控软件路由表和硬件路由表在老化周期内是否被命中来更新各个路由表项的连续未被命中周期和命中标识,从而删除连续未被命中周期超过设定阈值的路由表项,以确保及时更新软件路由表和硬件路由表中的路由表项,从而实现更好地维护硬件路由表和软件路由表,进一步确保VXLAN正常通行。
具体的,上述S21中从软件路由表中选取未存在于硬件路由表的软件路由表项添加到硬件路由表中,实现方式如图3所示,具体包括:
S211:确定第一数量与最大容量的差值。
S212:从软件路由表中获取不携带选中标识的软件路由表项,得到候选软件路由表项。
为了便于区别软件路由表中哪些软件路由表项添加到硬件路由表中,可以将添加到硬件路由表中的软件路由表项添加选中标识。基于此,在本步骤中,就可以获取不携带选中标识的软件路由表项,不携带选中标识的软件路由表项是尚未添加到硬件路由表中的软件路由表项,这些软件路由表项可以作为候选软件路由表项进行选择的。
S213:从候选软件路由表项中选取不超过差值的软件路由表项,得到选定软件路由表项。
S214:在选定软件路由表项中添加选中标识;以及,将选定软件路由表项添加到硬件路由表中。
通过S211-S214就可以实现从软件路由表中选取未存在于硬件路由表的软件路由表项添加到硬件路由表中,以确保硬件路由表达到最大容量,最大程度利用硬件路由表来转发报文。
具体的,上述S213中从候选软件路由表项中选取不超过差值的软件路由表项,得到选定软件路由表项,实现方式如图4所示,具体包括:
S2131:确定候选软件路由表项的第二数量。
S2132:比较第二数量与差值的大小,若第二数量大于差值,则执行S2133;若第二数量小于或等于差值,则执行S2134。
S2133:根据候选软件路由表项的第二命中标识从候选软件路由表项中选取差值的软件路由表项,得到选定软件路由表项。
S2134:获取第二数量的候选软件路由表项,得到选定软件路由表项。
候选软件路由表项的数量可以定义为第二数量,当第二数量大于第一数量与最大容量的差值时,可以从候选软件路由表项中选取一部分作为选定软件路由表项,具体可以从中随机选取被命中的该差值的候选软件路由表项得到选定软件路由表项,也可以选择最近被命中的该差值的候选软件路由表项得到选定软件路由表项;当第二数量小于或等于第一数量与最大容量的差值时,只能将所有的候选软件路由表项作为选定软件路由表项。
具体的,上述S22中更新硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,可以分为以下四种情况进行说明,具体包括:
第一种情况,若在老化周期内被命中的硬件路由表项之前携带的连续未被命中周期不为0,则将在老化周期内被命中的硬件路由表项之前携带的连续未被命中周期清0,并添加第一命中标识。
第二种情况,若在老化周期内被命中的硬件路由表项之前携带的是第一命中标识,则保留第一命中标识。
第三种情况,若在老化周期内未被命中的硬件路由表项之前携带的是第一命中标识,则删除在老化周期内未被命中的硬件路由表项之前携带的第一命中标识,将在老化周期内未被命中的硬件路由表项的连续未被命中周期加1。
第四种情况,若在老化周期内未被命中的硬件路由表项之前携带的连续未被命中周期大于0,将在老化周期内未被命中的硬件路由表项的连续未被命中周期加1。
具体的,上述S23中更新在老化周期内未被命中的软件路由表项的连续未被命中次数和第二命中标识,可以分为以下四种情况进行说明,具体包括:
第一种情况,若在老化周期内被命中的软件路由表项之前携带的连续未被命中周期不为0,则将在老化周期内被命中的软件路由表项之前携带的连续未被命中周期清0,并添加第二命中标识。
第二种情况,若在老化周期内被命中的软件路由表项之前携带的是第二命中标识,则保留第二命中标识。
第三种情况,若在老化周期内未被命中的软件路由表项之前携带的是第二命中标识,则删除在老化周期内未被命中的软件路由表项之前携带的第二命中标识,将在老化周期内未被命中的软件路由表项的连续未被命中周期加1。
第四种情况,若在老化周期内未被命中的软件路由表项之前携带的连续未被命中周期大于0,将在老化周期内未被命中的软件路由表项的连续未被命中周期加1。
基于同一发明构思,本发明实施例提供一种基于VTEP的路由表维护装置,应用在VXLAN网络包括的每个VTEP中,每个VTEP包括硬件路由表和软件路由表。该装置的结构如图5所示,包括:
添加模块51,用于监控硬件路由表包括的硬件路由表项的第一数量是否达到硬件路由表的最大容量,若第一数量未达到最大容量,则从软件路由表中选取未存在于硬件路由表的软件路由表项添加到硬件路由表中;以及,
第一更新删除模块52,用于监控硬件路由表包括的各个硬件路由表项在老化周期内是否被命中,更新硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,删除在硬件路由表中连续未被命中周期超过第一设定阈值的硬件路由表项及其在软件路由表中对应的软件路由表项;以及,
第二更新删除模块53,用于监控软件路由表包括的各个软件路由表项在老化周期内是否被命中,更新软件路由表包括的各个软件路由表项的连续未被命中周期和第二命中标识,删除在软件路由表中连续未被命中周期超过第二设定阈值的软件路由表项。
该方案中,通过实时监控硬件路由表是否达到最大容量,并在未达到最大容量是及时从软件路由表中选取软件路由表项添加到硬件路由表中,以确保硬件路由表得到最大的使用;通过监控软件路由表和硬件路由表在老化周期内是否被命中来更新各个路由表项的连续未被命中周期和命中标识,从而删除连续未被命中周期超过设定阈值的路由表项,以确保及时更新软件路由表和硬件路由表中的路由表项,从而实现更好地维护硬件路由表和软件路由表,进一步确保VXLAN正常通行。
具体的,上述添加模块51,用于从软件路由表中选取未存在于硬件路由表的软件路由表项添加到硬件路由表中,具体用于:
确定第一数量与最大容量的差值;
从软件路由表中获取不携带选中标识的软件路由表项,得到候选软件路由表项;
从候选软件路由表项中选取不超过差值的软件路由表项,得到选定软件路由表项;
在选定软件路由表项中添加选中标识;以及,
将选定软件路由表项添加到硬件路由表中。
具体的,上述添加模块51,用于从候选软件路由表项中选取不超过差值的软件路由表项,得到选定软件路由表项,具体用于:
确定候选软件路由表项的第二数量;
比较第二数量与差值的大小;
若第二数量大于差值,则根据候选软件路由表项的第二命中标识从候选软件路由表项中选取差值的软件路由表项,得到选定软件路由表项;若第二数量小于或等于差值,则获取第二数量的候选软件路由表项,得到选定软件路由表项。
具体的,上述第一更新删除模块52,用于更新硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,具体用于:
若在老化周期内被命中的硬件路由表项之前携带的连续未被命中周期不为0,则将在老化周期内被命中的硬件路由表项之前携带的连续未被命中周期清0,并添加第一命中标识;
若在老化周期内被命中的硬件路由表项之前携带的是第一命中标识,则保留第一命中标识;
若在老化周期内未被命中的硬件路由表项之前携带的是第一命中标识,则删除在老化周期内未被命中的硬件路由表项之前携带的第一命中标识,将在老化周期内未被命中的硬件路由表项的连续未被命中周期加1;
若在老化周期内未被命中的硬件路由表项之前携带的连续未被命中周期大于0,将在老化周期内未被命中的硬件路由表项的连续未被命中周期加1。
具体的,上述第二更新删除模块53,用于更新在老化周期内未被命中的软件路由表项的连续未被命中次数和第二命中标识,具体用于:
若在老化周期内被命中的软件路由表项之前携带的连续未被命中周期不为0,则将在老化周期内被命中的软件路由表项之前携带的连续未被命中周期清0,并添加第二命中标识;
若在老化周期内被命中的软件路由表项之前携带的是第二命中标识,则保留第二命中标识;
若在老化周期内未被命中的软件路由表项之前携带的是第二命中标识,则删除在老化周期内未被命中的软件路由表项之前携带的第二命中标识,将在老化周期内未被命中的软件路由表项的连续未被命中周期加1;
若在老化周期内未被命中的软件路由表项之前携带的连续未被命中周期大于0,将在老化周期内未被命中的软件路由表项的连续未被命中周期加1。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种基于虚拟可扩展局域网隧道终端VTEP的路由表维护方法,应用在虚拟可扩展局域网VXLAN网络包括的每个VTEP中,所述VTEP包括硬件路由表和软件路由表,其特征在于,所述方法包括:
监控所述硬件路由表包括的硬件路由表项的第一数量是否达到所述硬件路由表的最大容量,若所述第一数量未达到所述最大容量,则从所述软件路由表中选取未存在于所述硬件路由表的软件路由表项添加到所述硬件路由表中;以及,
监控所述硬件路由表包括的各个硬件路由表项在老化周期内是否被命中,更新所述硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,删除在所述硬件路由表中连续未被命中周期超过第一设定阈值的硬件路由表项及其在所述软件路由表中对应的软件路由表项;以及,
监控所述软件路由表包括的各个软件路由表项在老化周期内是否被命中,更新所述软件路由表包括的各个软件路由表项的连续未被命中周期和第二命中标识,删除在所述软件路由表中连续未被命中周期超过第二设定阈值的软件路由表项。
2.如权利要求1所述的方法,其特征在于,从所述软件路由表中选取未存在于所述硬件路由表的软件路由表项添加到所述硬件路由表中,具体包括:
确定所述第一数量与所述最大容量的差值;
从所述软件路由表中获取不携带选中标识的软件路由表项,得到候选软件路由表项;
从所述候选软件路由表项中选取不超过所述差值的软件路由表项,得到选定软件路由表项;
在所述选定软件路由表项中添加所述选中标识;以及,
将所述选定软件路由表项添加到所述硬件路由表中。
3.如权利要求2所述的方法,其特征在于,从所述候选软件路由表项中选取不超过所述差值的软件路由表项,得到选定软件路由表项,具体包括:
确定所述候选软件路由表项的第二数量;
比较所述第二数量与所述差值的大小;
若所述第二数量大于所述差值,则根据所述候选软件路由表项的第二命中标识从所述候选软件路由表项中选取所述差值的软件路由表项,得到所述选定软件路由表项;若所述第二数量小于或等于所述差值,则获取所述第二数量的候选软件路由表项,得到所述选定软件路由表项。
4.如权利要求1-3任一所述的方法,其特征在于,更新所述硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,具体包括:
若在所述老化周期内被命中的硬件路由表项之前携带的连续未被命中周期不为0,则将在所述老化周期内被命中的硬件路由表项之前携带的连续未被命中周期清0,并添加所述第一命中标识;
若在所述老化周期内被命中的硬件路由表项之前携带的是所述第一命中标识,则保留所述第一命中标识;
若在所述老化周期内未被命中的硬件路由表项之前携带的是所述第一命中标识,则删除在所述老化周期内未被命中的硬件路由表项之前携带的所述第一命中标识,将在所述老化周期内未被命中的硬件路由表项的连续未被命中周期加1;
若在所述老化周期内未被命中的硬件路由表项之前携带的连续未被命中周期大于0,将在所述老化周期内未被命中的硬件路由表项的连续未被命中周期加1。
5.如权利要求1-3任一所述的方法,其特征在于,更新在所述老化周期内未被命中的软件路由表项的连续未被命中次数和第二命中标识,具体包括:
若在所述老化周期内被命中的软件路由表项之前携带的连续未被命中周期不为0,则将在所述老化周期内被命中的软件路由表项之前携带的连续未被命中周期清0,并添加所述第二命中标识;
若在所述老化周期内被命中的软件路由表项之前携带的是所述第二命中标识,则保留所述第二命中标识;
若在所述老化周期内未被命中的软件路由表项之前携带的是所述第二命中标识,则删除在所述老化周期内未被命中的软件路由表项之前携带的所述第二命中标识,将在所述老化周期内未被命中的软件路由表项的连续未被命中周期加1;
若在所述老化周期内未被命中的软件路由表项之前携带的连续未被命中周期大于0,将在所述老化周期内未被命中的软件路由表项的连续未被命中周期加1。
6.一种基于VTEP的路由表维护装置,应用在VXLAN网络包括的每个VTEP中,所述VTEP包括硬件路由表和软件路由表,其特征在于,所述装置包括:
添加模块,用于监控所述硬件路由表包括的硬件路由表项的第一数量是否达到所述硬件路由表的最大容量,若所述第一数量未达到所述最大容量,则从所述软件路由表中选取未存在于所述硬件路由表的软件路由表项添加到所述硬件路由表中;以及,
第一更新删除模块,用于监控所述硬件路由表包括的各个硬件路由表项在老化周期内是否被命中,更新所述硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,删除在所述硬件路由表中连续未被命中周期超过第一设定阈值的硬件路由表项及其在所述软件路由表中对应的软件路由表项;以及,
第二更新删除模块,用于监控所述软件路由表包括的各个软件路由表项在老化周期内是否被命中,更新所述软件路由表包括的各个软件路由表项的连续未被命中周期和第二命中标识,删除在所述软件路由表中连续未被命中周期超过第二设定阈值的软件路由表项。
7.如权利要求6所述的装置,其特征在于,所述添加模块,用于从所述软件路由表中选取未存在于所述硬件路由表的软件路由表项添加到所述硬件路由表中,具体用于:
确定所述第一数量与所述最大容量的差值;
从所述软件路由表中获取不携带选中标识的软件路由表项,得到候选软件路由表项;
从所述候选软件路由表项中选取不超过所述差值的软件路由表项,得到选定软件路由表项;
在所述选定软件路由表项中添加所述选中标识;以及,
将所述选定软件路由表项添加到所述硬件路由表中。
8.如权利要求7所述的装置,其特征在于,所述添加模块,用于从所述候选软件路由表项中选取不超过所述差值的软件路由表项,得到选定软件路由表项,具体用于:
确定所述候选软件路由表项的第二数量;
比较所述第二数量与所述差值的大小;
若所述第二数量大于所述差值,则根据所述候选软件路由表项的第二命中标识从所述候选软件路由表项中选取所述差值的软件路由表项,得到所述选定软件路由表项;若所述第二数量小于或等于所述差值,则获取所述第二数量的候选软件路由表项,得到所述选定软件路由表项。
9.如权利要求6-8任一所述的装置,其特征在于,所述第一更新删除模块,用于更新所述硬件路由表包括的各个硬件路由表项的连续未被命中周期和第一命中标识,具体用于:
若在所述老化周期内被命中的硬件路由表项之前携带的连续未被命中周期不为0,则将在所述老化周期内被命中的硬件路由表项之前携带的连续未被命中周期清0,并添加所述第一命中标识;
若在所述老化周期内被命中的硬件路由表项之前携带的是所述第一命中标识,则保留所述第一命中标识;
若在所述老化周期内未被命中的硬件路由表项之前携带的是所述第一命中标识,则删除在所述老化周期内未被命中的硬件路由表项之前携带的所述第一命中标识,将在所述老化周期内未被命中的硬件路由表项的连续未被命中周期加1;
若在所述老化周期内未被命中的硬件路由表项之前携带的连续未被命中周期大于0,将在所述老化周期内未被命中的硬件路由表项的连续未被命中周期加1。
10.如权利要求6-8任一所述的装置,其特征在于,所述第二更新删除模块,用于更新在所述老化周期内未被命中的软件路由表项的连续未被命中次数和第二命中标识,具体用于:
若在所述老化周期内被命中的软件路由表项之前携带的连续未被命中周期不为0,则将在所述老化周期内被命中的软件路由表项之前携带的连续未被命中周期清0,并添加所述第二命中标识;
若在所述老化周期内被命中的软件路由表项之前携带的是所述第二命中标识,则保留所述第二命中标识;
若在所述老化周期内未被命中的软件路由表项之前携带的是所述第二命中标识,则删除在所述老化周期内未被命中的软件路由表项之前携带的所述第二命中标识,将在所述老化周期内未被命中的软件路由表项的连续未被命中周期加1;
若在所述老化周期内未被命中的软件路由表项之前携带的连续未被命中周期大于0,将在所述老化周期内未被命中的软件路由表项的连续未被命中周期加1。
CN201811551853.9A 2018-12-19 2018-12-19 基于vtep的路由表维护方法及装置 Active CN109617779B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811551853.9A CN109617779B (zh) 2018-12-19 2018-12-19 基于vtep的路由表维护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811551853.9A CN109617779B (zh) 2018-12-19 2018-12-19 基于vtep的路由表维护方法及装置

Publications (2)

Publication Number Publication Date
CN109617779A CN109617779A (zh) 2019-04-12
CN109617779B true CN109617779B (zh) 2020-12-18

Family

ID=66009685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811551853.9A Active CN109617779B (zh) 2018-12-19 2018-12-19 基于vtep的路由表维护方法及装置

Country Status (1)

Country Link
CN (1) CN109617779B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710438B (zh) * 2022-05-07 2022-12-27 珠海星云智联科技有限公司 硬件表项老化处理方法及相关设备
CN116074247B (zh) * 2023-03-06 2023-06-23 天翼云科技有限公司 硬件流表老化方法、软件流表老化方法、装置及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101325554B (zh) * 2008-08-04 2011-04-27 北京星网锐捷网络技术有限公司 一种路由创建方法、转发芯片及三层交换机
US8611349B1 (en) * 2010-06-28 2013-12-17 Amazon Technologies, Inc. Methods and apparatus for internet-scale routing using small-scale border routers
CN104079466B (zh) * 2014-07-03 2017-10-03 新华三技术有限公司 一种报文处理方法和设备
CN106254256B (zh) * 2015-06-04 2019-08-16 新华三技术有限公司 基于三层vxlan网关的数据报文转发方法和设备
CN107018079A (zh) * 2016-01-27 2017-08-04 中兴通讯股份有限公司 路由老化处理方法及装置
CN108199945B (zh) * 2017-12-23 2019-10-01 华为技术有限公司 报文传输方法、网络设备及报文处理系统

Also Published As

Publication number Publication date
CN109617779A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
EP3297213B1 (en) Method and apparatus for identifying application information in network traffic
US10742722B2 (en) Server load balancing
JP5521620B2 (ja) 中継装置、仮想マシンシステム及び中継方法
CN106878194B (zh) 一种报文处理方法和装置
WO2017100365A1 (en) Directing data traffic between intra-server virtual machines
CN105247831B (zh) 流表修改方法、流表修改装置和开放流网络系统
CN108134748B (zh) 一种基于快速转发表项的丢包方法和装置
CN106533890A (zh) 一种报文处理方法、装置及系统
CN106878184B (zh) 一种数据报文传输方法和装置
CN106921578B (zh) 一种转发表项的生成方法和装置
US10616270B2 (en) Optimization apparatus, optimization method, and optimization program
JP6793056B2 (ja) 通信装置及びシステム及び方法
CN109617779B (zh) 基于vtep的路由表维护方法及装置
CN107682275B (zh) 报文监控方法及装置
CN109240796A (zh) 虚拟机信息获取方法及装置
CN106789486B (zh) 共享接入的检测方法、装置、电子设备及计算机可读存储介质
CN104601467A (zh) 一种发送报文的方法和装置
JP2018518925A (ja) パケット転送
JP2015179979A (ja) 攻撃検知システム、攻撃検知装置、攻撃検知方法および攻撃検知プログラム
CN110035039B (zh) 一种会话保持的方法和设备
CN106878106B (zh) 一种可达性检测方法及装置
CN108243115B (zh) 报文处理方法及装置
JP7228712B2 (ja) 異常ホストのモニタニング
CN107995199A (zh) 网络设备的端口限速方法及装置
US11095651B2 (en) Communication apparatus and non-transitory computer readable storage medium

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