CN113992583A - 一种表项维护方法及装置 - Google Patents

一种表项维护方法及装置 Download PDF

Info

Publication number
CN113992583A
CN113992583A CN202111248146.4A CN202111248146A CN113992583A CN 113992583 A CN113992583 A CN 113992583A CN 202111248146 A CN202111248146 A CN 202111248146A CN 113992583 A CN113992583 A CN 113992583A
Authority
CN
China
Prior art keywords
binding table
table entry
access device
stored
binding
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.)
Granted
Application number
CN202111248146.4A
Other languages
English (en)
Other versions
CN113992583B (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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN202111248146.4A priority Critical patent/CN113992583B/zh
Publication of CN113992583A publication Critical patent/CN113992583A/zh
Application granted granted Critical
Publication of CN113992583B publication Critical patent/CN113992583B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种表项维护方法及装置,涉及通信技术领域,可以减少接入设备存储资源的浪费。本申请实施例的技术方案包括:第一接入设备接收路由反射器发送的第一通告报文,第一通告报文携带第一绑定表项和第一绑定表项对应的第一序列号,第一绑定表项为第一终端接入第二接入设备后,第二接入设备向路由反射器通告的MAC‑IP绑定表项。然后在本地数据库中存储第一绑定表项且存储的第一绑定表项无序列号,或者若本地数据库中存储第一绑定表项且存储的第一绑定表项对应的序列号小于第一序列号,则确定第一终端已从第一接入设备处迁出。再删除本地数据库中存储的第一绑定表项,并将接收到的第一绑定表项和第一序列号存储于远端数据库。

Description

一种表项维护方法及装置
技术领域
本发明涉及通信技术领域,特别是涉及一种表项维护方法及装置。
背景技术
接入设备为对已接入的终端发送的报文进行合法性检测,需要维护已接入的终端对应的绑定表项,其中,每个绑定表项包括终端的媒体访问控制位址(Media AccessControl Address,MAC)和互联网协议地址(Internet Protocol Address,IP)。已接入的终端对应的绑定表项存储在接入设备的本地IP客户端数据库中。
终端从原接入设备迁移到新的接入设备后,原接入设备的本地IP客户端数据库中仍然会保留终端的绑定表项,导致原接入设备中存储无用的绑定表项,造成存储资源的浪费。
发明内容
本发明实施例的目的在于提供一种表项维护方法及装置,以实现减少接入设备存储资源的浪费。具体技术方案如下:
本申请实施例的第一方面,提供了一种表项维护方法,应用于第一接入设备,所述方法包括:
接收路由反射器发送的第一通告报文,所述第一通告报文携带第一绑定表项和所述第一绑定表项对应的第一序列号,所述第一绑定表项为第一终端接入第二接入设备后,所述第二接入设备向所述路由反射器通告的MAC-IP绑定表项;
判断所述本地数据库中是否存储有所述第一绑定表项;
若存储所述第一绑定表项且所述本地数据库中存储的第一绑定表项无序列号,或者,若存储所述第一绑定表项且所述本地数据库中存储的第一绑定表项对应的序列号小于所述第一序列号,则确定所述第一终端已从所述第一接入设备处迁出;
删除所述本地数据库中存储的第一绑定表项,并将接收到的第一绑定表项和所述第一序列号存储于远端数据库。
可选的,在判断所述本地数据库中是否存储有所述第一绑定表项之后,所述方法还包括:
若所述本地数据库中未存储所述第一绑定表项,则将所述第一绑定表项和所述第一序列号存储于所述远端数据库。
可选的,所述方法还包括:
当检测到第二终端接入所述第一接入设备时,生成第二绑定表项,所述第二绑定表项包括所述第二终端的MAC-IP绑定表项;
判断所述远端数据库中是否存储所述第二绑定表项;
若存储所述第二绑定表项,则确定所述第二终端在接入所述第一接入设备之前,曾接入过其他接入设备,将所述远端数据库中的第二绑定表项对应的最大序列号加一,得到第二序列号,将所述第二绑定表项和所述第二序列号对应存入所述本地数据库,并向所述路由反射器发送携带所述第二绑定表项和所述第二序列号的第二通告报文,以使得所述路由反射器向其他接入设备通告所述第二绑定表项和所述第二序列号;
若未存储所述第二绑定表项,则将所述第二绑定表项存入所述本地数据库,并向所述路由反射器发送携带所述第二绑定表项的第三通告报文,以使得所述路由反射器向其他接入设备通告所述第二绑定表项。
可选的,在所述删除所述本地数据库中存储的第一绑定表项之前,所述方法还包括:
根据所述第一绑定表项,向所述第一终端发送探测报文;
若超过预设时长未接收到所述第一终端发送的探测响应报文,则删除所述本地数据库中存储的第一绑定表项。
可选的,所述第一通告报文中包括扩展团体属性,所述扩展团体属性中包括所述第一序列号。
本申请实施例的第二方面,提供了一种表项维护方法,应用于路由反射器,所述方法包括:
接收第二接入设备通告的第一绑定表项和第一序列号,所述第一绑定表项为所述第二接入设备在检测到第一终端接入后生成的所述第一终端的MAC-IP绑定表项;
向第一接入设备发送携带所述第一绑定表项和所述第一序列号的第一通告报文,以使得所述第一接入设备在确定本地数据库中存储所述第一绑定表项的情况下,若所述本地数据库中存储的第一绑定表项无序列号,或者所述本地数据库中存储的第一绑定表项对应的序列号小于所述第一序列号,则删除所述本地数据库中存储的第一绑定表项。
可选的,在所述向第一接入设备发送携带所述第一绑定表项和所述第一序列号的第一通告报文之前,所述方法还包括:
判断所述第一序列号是否大于其他接入设备通告的第一绑定表项对应的序列号;
若大于其他接入设备通告的第一绑定表项对应的序列号,则向第一接入设备发送携带第一绑定表项和所述第一序列号的第一通告报文;
若不大于其他接入设备通告的第一绑定表项对应的序列号,则选择其他接入设备通告的所述第一绑定表项对应的序列号中最大的序列号,并向第一接入设备发送第四通告报文,所述第四通告报文携带所述第一绑定表项和所选择的最大的序列号。
本申请实施例的第三方面,提供了一种表项维护装置,应用于第一接入设备,所述装置包括:
接收模块,用于接收路由反射器发送的第一通告报文,所述第一通告报文携带第一终端的第一绑定表项和所述第一绑定表项对应的第一序列号,所述第一绑定表项为所述第一终端接入第二接入设备后,所述第二接入设备向所述路由反射器通告的MAC-IP绑定表项;
判断模块,用于判断所述本地数据库中是否存储有所述第一绑定表项;
确定模块,用于若所述判断模块的判断结果为存储所述第一绑定表项且所述本地数据库中存储的第一绑定表项无序列号,或者,若所述判断模块的判断结果为存储所述第一绑定表项且所述本地数据库中存储的第一绑定表项对应的序列号小于所述第一序列号,则确定所述第一终端已从所述第一接入设备处迁出;
删除模块,用于删除所述本地数据库中存储的第一绑定表项,并将接收到的第一绑定表项和所述第一序列号存储于远端数据库。
可选的,所述装置还包括:存储模块;所述存储模块用于:
在判断所述本地数据库中是否存储有所述第一绑定表项之后,若所述判断模块的判断结果为所述本地数据库中未存储所述第一绑定表项,则将所述第一绑定表项和所述第一序列号存储于所述远端数据库。
可选的,所述装置还包括:生成模块和发送模块;
所述生成模块,用于当检测到第二终端接入所述第一接入设备时,生成第二绑定表项,所述第二绑定表项包括所述第二终端的MAC-IP绑定表项;
所述判断模块,还用于判断所述远端数据库中是否存储所述第二绑定表项;
所述发送模块,用于若所述判断模块的判断结果为存储所述第二绑定表项,则确定所述第二终端在接入所述第一接入设备之前,曾接入过其他接入设备,将所述远端数据库中的第二绑定表项对应的最大序列号加一,得到第二序列号,将所述第二绑定表项和所述第二序列号对应存入所述本地数据库,并向所述路由反射器发送携带所述第二绑定表项和所述第二序列号的第二通告报文,以使得所述路由反射器向其他接入设备通告所述第二绑定表项和所述第二序列号;
所述发送模块,还用于若所述判断模块的判断结果为未存储所述第二绑定表项,则将所述第二绑定表项存入所述本地数据库,并向所述路由反射器发送携带所述第二绑定表项的第三通告报文,以使得所述路由反射器向其他接入设备通告所述第二绑定表项。
可选的,所述装置还包括:探测模块;所述探测模块用于:
在所述删除所述本地数据库中存储的第一绑定表项之前,根据所述第一绑定表项,向所述第一终端发送探测报文;
若超过预设时长未接收到所述第一终端发送的探测响应报文,则调用所述删除模块删除所述本地数据库中存储的第一绑定表项。
可选的,所述第一通告报文中包括扩展团体属性,所述扩展团体属性中包括所述第一序列号。
本申请实施例的第四方面,提供了一种表项维护装置,应用于路由反射器,所述装置包括:
接收模块,用于接收第二接入设备通告的第一绑定表项和第一序列号,所述第一绑定表项为所述第二接入设备在检测到第一终端接入后生成的所述第一终端的MAC-IP绑定表项;
发送模块,用于向第一接入设备发送携带所述第一绑定表项和所述第一序列号的第一通告报文,以使得所述第一接入设备在确定本地数据库中存储所述第一绑定表项的情况下,若所述本地数据库中存储的第一绑定表项无序列号,或者所述本地数据库中存储的第一绑定表项对应的序列号小于所述第一序列号,则删除所述本地数据库中存储的第一绑定表项。
可选的,所述装置还包括:判断模块;
所述判断模块,用于在所述向第一接入设备发送携带所述第一绑定表项和所述第一序列号的第一通告报文之前,判断所述第一序列号是否大于其他接入设备通告的第一绑定表项对应的序列号;若所述判断模块的判断结果为是,则调用所述发送模块向第一接入设备发送携带第一绑定表项和所述第一序列号的第一通告报文;
所述发送模块,还用于若所述判断模块的判断结果为否,则选择其他接入设备通告的所述第一绑定表项对应的序列号中最大的序列号,并向第一接入设备发送第四通告报文,所述第四通告报文携带所述第一绑定表项和所选择的最大的序列号。
在本申请实施的第五方面,还提供了一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的表项维护方法步骤。
在本申请实施的第六方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的表项维护方法。
在本申请实施的第七方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一项所述的表项维护方法。
本申请实施例有益效果:
本申请实施例提供的表项维护方法及装置,第一接入设备可以在获取到第一绑定表项和对应的第一序列号后,在本地数据库中存储第一绑定表项时,若本地数据库存储的第一绑定表项是否无序列号或者序列号小于第一序列号,则确定第一终端已从第一接入设备处迁出,此时删除本地数据库中存储的第一绑定表项。由于本地存储的第一绑定表项无序列号或者序列号小于第一序列号时,说明第一终端已从第一接入设备处迁出,第一终端当前已接入第二接入设备,此时第一接入设备的本地数据库存储的第一绑定表项已失效可以删除。可见本申请实施例可以及时删除本地数据库中存储的无用的绑定表项,减少了接入设备存储资源的浪费。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本申请实施例提供的一种组网系统的结构示意图;
图2a为本申请实施例提供的一种MAC-IP NLRI的格式的示例性示意图;
图2b为本申请实施例提供的一种Route Type specific的格式的示例性示意图;
图3为本申请实施例提供的一种表项维护方法流程图;
图4为本申请实施例提供的另一种表项维护方法流程图;
图5为本申请实施例提供的另一种表项维护方法流程图;
图6为本申请实施例提供的一种终端上线过程的示例性示意图;
图7为本申请实施例提供的一种终端迁移过程的示例性示意图;
图8为本申请实施例提供的一种表项维护装置的结构示意图;
图9为本申请实施例提供的另一种表项维护装置的结构示意图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例所应用的组网系统如图1所示,包括接入设备1、接入设备2、接入设备3和路由反射器。
其中,接入设备可以是路由器或交换机等能够用于提供网络接入服务的网络设备,可以为接入的终端提供远程资源访问。接入设备存储了已接入的终端的MAC-IP绑定表项(以下简称绑定表项),该绑定表项被作为接入设备对终端的地址解析协议(AddressResolution Protocol,ARP)报文或邻居发现(Neighbor Discovery,ND)协议报文的合法性检查的依据,还可作为对数据报文的合法性检查的依据,以防止恶意终端接入。
其中,MAC-IP绑定表项包括终端的媒体访问控制位址(Media Access Control,MAC)地址和互联网协议(Internet Protocol,IP)地址,MAC-IP绑定表项中的IP地址可以是网际协议版本4(Internet Protocol version 4,IPv4)地址或者网际协议版本6(InternetProtocol Version 6,IPv6)地址。
路由反射器与每个接入设备之间分别建立基于传输控制协议(TransmissionControl Protocol,TCP)的可靠的应用协议连接。其中,该应用协议可以是基于TCP的边界网关协议(Border Gateway Protocol,BGP)。
图1中示例性的示出了3个接入设备和1个路由反射器,但本申请实施例所应用的组网系统中各设备数量不限于图1所示的数量。
以下对接入设备捕获终端的绑定表项的方式进行举例说明:
以绑定表项的IP地址为IPv4地址为例,终端在上线时,向动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)服务器申请IPv4地址,以获取DHCP服务器为其分配的IPv4地址。接入设备捕获终端与DHCP服务器之间交互的DHCPv4报文,从报文中获取到终端的MAC地址和IPv4地址,形成MAC-IPv4绑定表项。
以绑定表项的IP地址为IPv6地址为例,接入设备可以通过以下两种方式捕获MAC-IPv6绑定表项:
第一种:接入设备捕获终端与DHCPv6服务器之间交互的DHCPv6报文,从报文中获取到终端的MAC地址和IPv6地址,形成MAC-IPv6绑定表项。
第二种:终端在进行IPv6邻居发现时采用ND的方式,接入设备监听网络中的路由器通告消息(Router Advertisement,RA)报文、邻居请求消息(Neighbor Solicitation,NS)报文和邻居通告消息(Neighbor Advertisement,NA)报文,从报文中获取MAC和IPv6地址,形成MAC-IPv6绑定表项。
为方便描述,本申请实施例将MAC-IPv4绑定表项和MAC-IPv6绑定表项均简称为绑定表项。
接入设备在捕获到绑定表项后,可以通过BGP协议向路由反射器同步绑定表项,再由路由反射器通过BGP协议向其他接入设备同步绑定表项。
接入设备捕获到绑定表项后,可以向路由反射器发送MAC-IP通告报文,以向其他接入设备同步该终端的绑定表项。接入设备检测到终端迁移出后,可以向路由反射器发送的MAC-IP撤销报文,以通知其他接入设备撤销该终端的绑定表项。MAC-IP通告报文和MAC-IP撤销报文均属于BGP更新(UPDATE)报文。
MAC-IP通告报文中携带多协议可达网络层可达性信息(Multiprotocol_Reachable_Network Layer Reachability Information,MP_REACH_NLRI)属性,MP_REACH_NLRI属性表示绑定表项对应的终端对于对于发送MAC-IP通告报文的接入设备可达。MAC-IP撤销报文中携带多协议不可达网络层可达性信息(Multiprotocol_UNReachable_NetworkLayer Reachability Information,MP_UNREACH_NLRI)属性,MP_UNREACH_NLRI属性表示绑定表项对应的终端对于发送MAC-IP撤销报文的接入设备不可达。
MP_REACH_NLRI属性和MP_UNREACH_NLRI属性中均包括MAC-IP NLRI,MAC-IP NLRI的格式如图2a所示,包括:路由类型(Route Type)、长度(Length)和具体的路由类型(RouteType specific)。其中,Route Type表示MAC-IP NLRI的类型,占用1八位组(octet)=8比特(bit);Length表示MAC-IP NLRI的长度,占用1octet;Route Type specific表示MAC-IPNLRI的具体类型,占用的比特数可调(variable)。
在此基础上,一种Route Type specific为1-MAC-IP Binding route(MAC–IP绑定路由),格式如图2b所示,包括:路由标识(route distinguisher,RD)、MAC地址长度(MACAddress Length)、MAC地址(MAC Address)、IP地址长度(IP Address Length)、IP地址(IPAddress)、虚拟局域网身份标识(Virtual Local Area Network Identity document,VLANID)、内部虚拟局域网身份标识(Inner VLAN ID)、源路由身份标识(Originating RouterID)和源类型(Originating Type)。
其中,RD占用8octets,MAC Address Length占用1octet,MAC Address占用6octets,IP Address Length占用1octet,IP Address占用0、4或16octets,VLAN ID占用2octets,Inner VLAN ID占用0或2octets,Originating Router ID占用4octets,Originating Type占用2octets。
需要说明的是,VLAN ID指的是外层VLAN标签(tag),Inner VLAN ID指的是内层VLAN tag。Originating Router ID指的是捕获到MAC-IP绑定表项的接入设备的路由器ID。Originating Type指的是MAC-IP绑定表项来源类型,例如来源类型包括:DHCP snooping、DHCP relay、DHCPv6 snooping、DHCPv6 relay和ND snooping等。若来源类型为DHCPsnooping,则代表绑定表项为接入设备通过捕获DHCP服务器和终端之间的DHCP报文得到的。若来源类型为DHCP relay,则代表接入设备作为DHCP中继设备,可从自身转发的DHCP报文中得到绑定表项。若来源类型为DHCPv6 snooping,则代表绑定表项为接入设备通过捕获DHCPv6服务器和终端之间的DHCPv6报文得到的。若来源类型为DHCPv6 relay,则代表接入设备作为DHCPv6中继设备,可从自身转发的DHCPv6报文中得到绑定表项。若来源类型为NDsnooping,则代表绑定表项为接入设备通过监听终端的邻居发现报文得到的。
通过在接入设备和路由反射器的通信协议中增加MAC-IP NLRI,可以使得不同的接入设备之间同步绑定表项,终端从原接入设备迁移到新的接入设备后,新接入设备可以及时获取该终端对应的绑定表项,进而对该终端的MAC地址和IP地址进行安全检测。
可以看出接入设备中不但存储有自身捕获的绑定表项,还存储有其他接入设备同步的绑定表项。接入设备中包括本地IP客户端数据库和远端IP客户端数据库,以下将本地IP客户端数据库简称为本地数据库,将远端IP客户端数据库简称为远端数据库。
其中,本地数据库中存储有当前已接入的终端的MAC-IP表项。本地数据库中存储的每个绑定表项包括:MAC地址、IP地址、VLAN和物理端口。其中,物理端口指的是接入设备上接入终端的物理端口。
远端数据库中存储有其他接入设备捕获并向该接入设备同步的绑定表项。远端IP客户端数据库中存储的每个绑定表项包括:MAC地址、IP地址和VLAN。
终端从一个接入设备处迁出后,该接入设备可以检测DHCP服务器对于该终端的IP地址续约状态,在检测到DHCP服务器已释放该IP地址时,删除该终端的绑定表项。在此之前,接入设备中将一直保留该绑定表项,导致原接入设备的本地数据库中存储无用的绑定表项,造成存储资源的浪费。
为了减少接入设备存储资源的浪费,本申请实施例提供了一种表项维护方法,应用于第一接入设备,如图3所示,该方法包括如下步骤:
S301、接收路由反射器发送的第一通告报文。
其中,第一通告报文携带第一绑定表项和第一绑定表项对应的第一序列号,第一绑定表项为第一终端接入第二接入设备后,第二接入设备向路由反射器通告的MAC-IP绑定表项。即第一绑定表项为第一终端的MAC-IP绑定表项。
其中,第一接入设备可以为图1中的任一接入设备,第二接入设备也可为图1中的任一接入设备。第二接入设备在检测到第一终端接入时,可以向BGP对等体(路由反射器)发送携带第一绑定表项和第一序列号的通告报文。路由反射器接收到该通告报文后,提取第一绑定表项和第一序列号,并以此生成第一通告报文,并向除第二接入设备之外的其他BGP对等体(包括第一接入设备)发送第一通告报文。
S302、判断本地数据库中是否存储有第一绑定表项。若本地数据库中存储第一绑定表项,则执行S303。
S303、若本地数据库中存储的第一绑定表项无序列号,或者本地数据库中存储的第一绑定表项对应的序列号小于第一序列号,则确定第一终端已从第一接入设备处迁出。
其中,第一接入设备的本地数据库用于存储当前已接入第一接入设备的终端的MAC-IP绑定表项。
第一接入设备的本地数据库中存储的第一绑定表项无序列号的情况下,说明第一接入设备在第一终端上线时,已经捕获到第一终端的第一绑定表项。在接收到第一通告报文时,第一通告报文携带第一序列号,说明第一终端已从第一接入设备处迁出,当前已接入第二接入设备。
第一接入设备的本地数据库中存储的第一绑定表项对应的序列号小于第一序列号的情况下,说明第一终端之前曾迁入第一接入设备,且第一终端已从第一接入设备处迁出,当前已接入第二接入设备。
可以看出,第一绑定表项对应的序列号会随着第一终端的迁移次数增大。
S304、删除本地数据库中存储的第一绑定表项,并将接收到的第一绑定表项和第一序列号存储于远端数据库。
其中,第一接入设备的远端数据库用于存储当前已接入其他接入设备的终端的MAC-IP绑定表项。
可以理解的,每个接入设备将已接入自身的终端的MAC-IP绑定表项存储在自身的本地数据库,将其他接入设备通告的MAC-IP绑定表项存储在自身的远端数据库。
如果第一接入设备的本地数据库中存储有第一绑定表项,说明第一终端曾经接入过第一接入设备。如果第一接入设备本地数据库中存储的第一绑定表项无序列号,或者序列号小于第一序列号,说明第一终端已从第一接入设备处迁出,此时已迁入到第二接入设备,因此第一接入设备可以删除本地数据库中存储的第一绑定表项。
本申请实施例提供的表项维护方法,第一接入设备可以在获取到第一绑定表项和对应的第一序列号后,在本地数据库中存储第一绑定表项时,若本地数据库存储的第一绑定表项是否无序列号或者序列号小于第一序列号,则确定第一终端已从第一接入设备处迁出,此时删除本地数据库中存储的第一绑定表项。由于本地存储的第一绑定表项无序列号或者序列号小于第一序列号时,说明第一终端已从第一接入设备处迁出,第一终端当前已接入第二接入设备,此时第一接入设备的本地数据库存储的第一绑定表项已失效可以删除。可见本申请实施例可以及时删除本地数据库中存储的无用的绑定表项,减少了接入设备存储资源的浪费。
另外,结合图1,如果接入设备1与终端之间的链接由于终端的网线拔出而断开,假设接入设备1立即将终端的绑定表项删除。后续终端的网线重新连接后,因终端仍使用原来的IP地址,不会立即发起DHCP动态地址申请的过程,所以接入设备1无法捕获到终端的绑定表项,而接入设备1中没有终端的绑定表项就无法基于终端的MAC地址和IP地址进行安全校验。
而本申请实施例中,接入设备1需要在检测到终端已从接入设备1处迁出,且目前已接入到其他接入设备(接入设备2或接入设备3)时,才会删除本地数据库中终端的绑定表项,避免对终端的绑定表项的误删。
本申请实施例中的第一通告报文为MAC-IP通告报文,该MAC-IP通告报文是一种BGP update报文。为了在BGP update报文中携带绑定表项对应的序列号,可以对BGP协议进行扩展,在BGP协议中引入绑定表项的移动性扩展团体属性,该属性长度为8个字节,结构如表一所示:
表一
Figure BDA0003321798440000121
其中,Type表示移动性扩展团体属性的类型,长度为1字节;Sub-type表示移动性扩展团体属性的子类型,长度为1字节;Reserved为预留位,长度为2字节;Sequence Number为绑定表项对应的序列号,长度为4字节。也就是说,上述第一通告报文中包括扩展团体属性,扩展团体属性中包括第一序列号。该第一序列号具体在表一中的Sequence Number位置。
在本申请的一个实施例中,第一接入设备在上述S302判断本地数据库中是否存储有第一绑定表项之后,若本地数据库中未存储第一绑定表项,则将第一绑定表项和第一序列号存储于远端数据库。
第一接入设备的本地数据库中未存储第一绑定表项,说明第一终端未使用当前的IP地址接入过第一接入设备,且第一终端当前已接入第二接入设备,因此需要将第一绑定表项和第一序列号存储于远端数据库。
采用上述方法,本申请实施例可以将接入其他接入设备的终端的MAC-IP绑定表项存储于第一接入设备的远端数据库,当后续该终端迁入第一接入终端时,可基于远端数据库中存储的该终端的MAC-IP绑定表项生成本地的MAC-IP绑定表项,以使得第一接入设备正确快速生成本地的MAC-IP表项,提高网络安全性。
在本申请的另一个实施例中,第一接入设备在上述S304删除本地数据库中存储的第一绑定表项之前,第一接入设备还可以对第一终端的可达性进行探测。
探测方式包括:根据第一绑定表项,向第一终端发送探测报文,若超过预设时长未接收到第一终端发送的探测响应报文,则执行S304的删除本地数据库中存储的第一绑定表项。
一种实施方式中,第一接入设备发送的探测报文可以是地址解析协议(AddressResolution Protocol,ARP)请求报文,探测响应报文可以是ARP响应报文。如果超过预设时长未接收到ARP response,说明第一终端与第一接入设备之间的通信连接断开;如果在预设时长内接收到ARP response,说明第一终端与第一接入设备之间的通信连接未断开。预设时长可以根据实际需要设置,例如设置预设时长为5秒。
可选的,若在预设时长内接收到第一终端响应于探测报文发送的探测响应报文,说明第一终端与第一接入设备之间的通信连接未断开,此时第一终端仍然接入第一接入设备,可以保留本地数据库中存储的第一绑定表项。由于第一终端仍接入第一接入设备时,其他接入设备不会检测到第一终端接入,也就不会向路由反射器通告第一绑定表项和第一序列号,相应的第一接入设备也不会接收到第一通告报文。那么此时第一接入设备接收到第一通告报文,说明第一通告报文可能是伪造的,或者其他设备向路由反射器通告的第一绑定表项与第一序列号的对应关系可能是伪造的。因此此时第一接入设备可以保留本地数据库中存储的第一绑定表项,避免伪造的第一通告报文或者伪造的第一绑定表项对应的第一序列号对于第一接入设备的影响,提高了本地数据库的安全性。
采用上述方法,第一接入设备可以对第一绑定表项对应的终端进行探测,并在探测到终端与第一接入设备之间通信连接断开时,删除本地数据库中的第一绑定表项,提高了本地数据库的安全性,避免错删第一绑定表项对于第一终端与第一接入设备之间的通信影响。
在本申请的一个实施例中,第一接入设备还可以向其他接入设备通告接入的终端的绑定表项,如图4所示,包括如下步骤:
S401、当检测到第二终端接入第一接入设备时,生成第二绑定表项。其中,第二绑定表项包括第二终端的MAC-IP绑定表项。
其中,如果第二终端是直接接入第一接入设备,而非从其他接入设备处迁出后迁入第一接入设备,则第一接入设备可以捕获第二终端的MAC-IP绑定表项,将其作为第二绑定表项。捕获MAC-IP绑定表项的方式可参考上述实施例中的相关描述,此处不再赘述。
如果第二终端是从其他接入设备处迁出后迁入第一接入设备,因第二终端仍使用原来的IP地址,不会立即发起DHCP动态地址申请的过程,所以第一接入设备也就无法通过MAC-IP绑定表项捕获模块捕获到第二终端的MAC-IP绑定表项。这种情况下,第一接入设备需学习第二绑定表项。
第二终端从其他接入设备处迁出后迁入第一接入设备可以包括多种情况,例如,可以是WLAN无线终端在接入设备之间的漫游,或者也可以是有线网络的虚拟机在接入设备之间迁移。
对于WLAN无线终端在接入设备之间的漫游的情况,假设第二终端从第二接入设备漫游到第一接入设备,第一接入设备可以接收到ARP报文(例如,ARP报文可以是第二终端与第一接入设备之间的接入点(Access Point,AP)代替第二终端发送的免费ARP报文)。然后第一接入设备学习ARP表项。由于第一接入设备的远端数据库中的绑定表项包括终端的MAC地址、IP地址和VLAN,但不携带物理端口,而ARP表项中存在物理端口,因此第一接入设备可以将从ARP表项中获取到的物理端口,和从远端数据库中获取的第二终端的MAC地址、IP地址和VLAN,生成第二绑定表项。
对于有线网络的虚拟机在接入设备之间迁移的情况,假设第二终端从第二接入设备迁移到第一接入设备,第一接入设备可以接收到第二终端发送的反向地址解析协议(Reverse Address Resolution Protocol,RARP)报文,基于RARP报文学习到ARP表项,然后将从ARP表项中获取到的物理端口,和从远端数据库中获取的第二终端的MAC地址、IP地址和VLAN,生成第二绑定表项。
S402、判断远端数据库中是否存储第二绑定表项。若远端数据库中存储第二绑定表项,则执行S403;若远端数据库中未存储第二绑定表项,则执行S405。
可以理解的,若远端数据库中存储第二绑定表项,说明第二终端接入第一接入设备之前,曾接入过其他接入设备;若远端数据库中未存储第二绑定终端,说明第二终端在接入第一接入设备之前,未接入过其他接入设备。
S403、确定第二终端在接入第一接入设备之前,曾接入过其他接入设备,将远端数据库中的第二绑定表项对应的最大序列号加一,得到第二序列号,将第二绑定表项和第二序列号对应存入本地数据库。
本申请实施例中,绑定表项对应的序列号越大,说明接入设备检测到绑定表项对应的终端接入的时间越晚,因此第一接入设备当前在检测到第二终端接入时,第一接入设备为第二绑定表项设置的序列号应当是最大的,因此将第二绑定表项对应的序列号中最大的序列号加一,得到第二序列号。
S404、向路由反射器发送携带第二绑定表项和第二序列号的第二通告报文,以使得路由反射器向其他接入设备通告第二绑定表项和第二序列号。
S405、将第二绑定表项存入本地数据库。
当远端数据库中不存在第二绑定终端,说明第二终端第一次接入组网中的接入设备,此时可以设置第二绑定表项不对应序列号。
S406、向路由反射器发送携带第二绑定表项的第三通告报文,以使得路由反射器向其他接入设备通告第二绑定表项。
采用上述方法,接入设备可以在检测到终端接入时,将终端的绑定表项和绑定表项对应的序列号存入本地数据库,并通告给其他接入设备,以使得其他接入设备能够及时更新自身的远端数据库,且后续可以根据该绑定表项学习到MAC-IP绑定表项。
基于相同的发明构思,本申请实施例还提供了一种表项维护方法,应用于路由反射器,如图5所示,该方法包括如下步骤:
S501、接收第二接入设备通告的第一绑定表项和第一序列号。其中第一绑定表项为第二接入设备在检测到第一终端接入后生成的第一终端的MAC-IP绑定表项。第一终端可以为任意终端。
一种实现方式中,第二接入设备在检测到第一终端接入时,可以向BGP对等体(路由反射器)发送携带第一绑定表项和第一序列号的通告报文,此时路由反射器可以从该通告报文中得到第一绑定表项和第一序列号。
S502、向第一接入设备发送携带第一绑定表项和第一序列号的第一通告报文,以使得第一接入设备在确定本地数据库中存储有第一绑定表项的情况下,若本地数据库中存储的第一绑定表项无序列号,或者本地数据库中存储的第一绑定表项对应的序列号小于第一序列号,则删除本地数据库中存储的第一绑定表项。
其中,第一接入设备可以为图1中的任一接入设备,第二接入设备也可为图1中的任一接入设备。路由反射器接收到第二接入设备通告的第一绑定表项和第一序列号后,以此生成第一通告报文,并向除第二接入设备之外的其他BGP对等体(包括第一接入设备)发送第一通告报文。
第一接入设备删除本地数据库中存储的第一绑定表项的同时,还可以确定第一终端已从第一接入设备处迁出,并将接收到的第一绑定表项和第一序列号存储于远端数据库。其中,第一接入设备的本地数据库用于存储当前已接入第一接入设备的终端的MAC-IP绑定表项,第一接入设备的远端数据库用于存储当前已接入其他接入设备的终端的MAC-IP绑定表项。
本申请实施例提供的表项维护方法,路由反射器可以在获取到第二接入设备通告的第一绑定表项和第一序列号后,向第一接入设备发送第一通告报文,以使得第一接入设备在本地数据库中存储第一绑定表项时,若本地数据库存储的第一绑定表项是否无序列号或者序列号小于第一序列号,则确定第一终端已从第一接入设备处迁出,此时删除本地数据库中存储的第一绑定表项。由于本地存储的第一绑定表项无序列号或者序列号小于第一序列号时,说明第一终端已从第一接入设备处迁出,第一终端当前已接入第二接入设备,此时第一接入设备的本地数据库存储的第一绑定表项已失效可以删除。可见本申请实施例可以及时删除本地数据库中存储的无用的绑定表项,减少了接入设备存储资源的浪费。
在本申请的一个实施例中,路由反射器可以在接收到第一绑定表项和第一序列号后,直接向其他接入设备通告第一绑定表项和第一序列号。
或者,在本申请的另一个实施例中,路由反射器接收到第一绑定表项和第一序列号后,可以通过表项优选机制,向其他接入设备通告第一绑定表项和第一绑定表项对应的最大的序列号。
在上述S502之前,路由反射器还可以:判断第一序列号是否大于其他接入设备通告的第一绑定表项对应的序列号。若大于其他接入设备通告的第一绑定表项对应的序列号,则返回S502执行删除本地数据库中存储的第一绑定表项;若不大于其他接入设备通告的第一绑定表项对应的序列号,则选择其他接入设备通告的第一绑定表项对应的序列号中最大的序列号,并向第一接入设备发送第四通告报文,其中第四通告报文携带第一绑定表项和所选择的最大的序列号。
在本申请实施例中,路由反射器中配置有远端数据库,用于存储组网中各接入设备已接入的终端的MAC-IP绑定表项和MAC-IP绑定表项对应的序列号。
一种实施方式中,路由反射器可以查找远端数据库中第一绑定表项对应的最大的序列号,判断第一序列号是否大于查找到的最大的序列号。
由于第二接入设备在检测到第一终端接入时,才会向路由反射器通告终端的第一绑定表项和第一序列号,而绑定表项对应的序列号表示终端的迁移情况,同一绑定表项对应的最大的序列号能够反映终端当前接入的接入设备。因此一般情况下,路由反射器接收到的第一绑定表项对应的序列号大于远端数据库中存储的第一绑定表项对应的序列号,但是在路由反射器接收到的第一绑定表项和第一序列号是伪造的或者其他特殊情况下,第一序列号可能不大于远端数据库中存储的第一绑定表项对应的序列号。此时为了正确地通告,路由反射器可以从第一序列号和远端数据库中存储的第一绑定表项对应的序列号中选择最大的序列号进行通告,以提高通告的正确性。
在本申请的一个实施例中,第一接入设备在识别到终端迁出时,可以向路由反射器发送撤销通告。路由反射器在接收到撤销通告后,向其他接入设备发送撤销通告。其中,撤销通告中携带有该终端的绑定表项,而且撤销通告中还携带有扩展团体属性,扩展团体属性包括该绑定表项对应的序列号。以使得其他接入设备在接收到撤销通告后,删除各自远端数据库中存储的该绑定表项。
本申请实施例中,应用于第一接入设备的表项维护方法和应用于路由反射器的表项维护方法之间,相同步骤可相互参照。
以下结合应用场景对本申请实施例提供的表项维护方法进行举例说明:
针对终端上线的情况,结合图6,图6所示的系统包括路由反射器、接入设备1、接入设备2、接入设备3和终端。
终端上线时,接入设备1捕获到终端的MAC地址和IP地址,并生成终端对应的绑定表项,该绑定表项如表二所示:
表二
MAC address IP address VLAN Interface
2fe0-e2bc-0205 100.10.1.2 100 XGE1/0/1
接入设备1将该绑定表项存入本地数据库。
接入设备1将该绑定表项引入自身的BGP协议模块,由BGP协议模块检查远端数据库中是否存储有MAC地址为2fe0-e2bc-0205且IP地址为100.10.1.2的绑定表项。检查结果为不存在,此时通过BGP协议模块基于该绑定表项生成通告报文1,并向路由反射器发送通告报文1。通告报文1中不携带该绑定表项对应的序列号。
路由反射器接收到通告报文1后,检查是否接收过接入设备2和接入设备3发送的MAC地址为2fe0-e2bc-0205且IP地址为100.10.1.2的绑定表项。检查结果为不存在,此时基于该绑定表项生成通告报文2,并向接入设备2和接入设备3分别发送通告报文2。通告报文2携带该绑定表项。
接入设备2接收到路由反射器发送的通告报文2后,通过自身的BGP协议模块检查本地数据库中是否存储有MAC地址为2fe0-e2bc-0205且IP地址为100.10.1.2的绑定表项。检查结果为不存在,将该绑定表项存入远端数据库。接入设备3执行的操作与接入设备2相同,此处不再赘述。
针对终端迁移的情况,如图7所示,终端从接入设备1迁移到接入设备2,接入设备2学习到终端对应的绑定表项,该绑定表项如表三所示:
表三
MAC address IP address VLAN Interface
2fe0-e2bc-0205 100.10.1.2 100 XGE1/1/1
接入设备2将绑定表项存入本地数据库。
接入设备2将该绑定表项引入自身的BGP协议模块,通过BGP协议模块检查远端数据库中是否存储有MAC地址为2fe0-e2bc-0205且IP地址为100.10.1.2的绑定表项。检查结果为存在,则通过BGP协议模块将远端数据库中存储的该绑定表项对应的最大的序列号加一,作为该绑定表项更新后的序列号。
基于该绑定表项和对应的序列号生成通告报文1,向路由反射器发送通告报文1。
路由反射器接收到通告报文1后,检查是否接收过接入设备1和接入设备3发送的MAC地址为2fe0-e2bc-0205且IP地址为100.10.1.2的绑定表项。检查结果为存在,此时选择该绑定表项对应的最大的序列号,基于该绑定表项和最大的序列号生成通告报文2,并向接入设备1和接入设备3分别发送通告报文2。
接入设备3接收到路由反射器发送的通告报文2后,通过自身的BGP协议模块检查本地数据库中是否存储有MAC地址为2fe0-e2bc-0205且IP地址为100.10.1.2的绑定表项。检查结果为不存在,将该绑定表项存入远端数据库。
接入设备1接收到路由反射器发送的通告报文2后,通过自身的BGP协议模块检查本地数据库中是否存储有MAC地址为2fe0-e2bc-0205且IP地址为100.10.1.2的绑定表项。检查结果为存在,且本地数据库中存储的该绑定表项不存在序列号,或者通告报文2携带的绑定表项对应的序列号大于本地数据库存储的该绑定表项对应的序列号时,启动ARP探测,在探测结果为不可达时,将通告报文2携带的绑定表项及其序列号存入远端数据库,删除BGP协议模块中的该绑定表项及其序列号,并将本地数据库存储的该绑定表项及其序列号删除。
基于相同的发明构思,本申请实施例提供了一种表项维护装置,应用于第一接入设备,如图8所示,该装置包括:接收模块801、判断模块802、确定模块803和删除模块804;
接收模块801,用于接收路由反射器发送的第一通告报文,第一通告报文携带第一绑定表项和第一绑定表项对应的第一序列号,第一绑定表项为第一终端接入第二接入设备后,第二接入设备向路由反射器通告的MAC-IP绑定表项;
判断模块802,用于判断本地数据库中是否存储有第一绑定表项;
确定模块803,用于若判断模块802的判断结果为存储第一绑定表项且本地数据库中存储的第一绑定表项无序列号,或者,若判断模块802的判断结果为存储第一绑定表项且本地数据库中存储的第一绑定表项对应的序列号小于第一序列号,则确定第一终端已从第一接入设备处迁出;
删除模块804,用于删除本地数据库中存储的第一绑定表项,并将接收到的第一绑定表项和第一序列号存储于远端数据库。
可选的,该装置还可以包括:存储模块;存储模块用于:
在判断本地数据库中是否存储有第一绑定表项之后,若判断模块802的判断结果为本地数据库中未存储第一绑定表项,则将第一绑定表项和第一序列号存储于远端数据库。
可选的,该装置还可以包括:生成模块和发送模块;
生成模块,用于当检测到第二终端接入第一接入设备时,生成第二绑定表项,第二绑定表项包括第二终端的MAC-IP绑定表项;
判断模块802,还用于判断远端数据库中是否存储第二绑定表项;
发送模块,用于若判断模块802的判断结果为存储第二绑定表项,则确定第二终端在接入第一接入设备之前,曾接入过其他接入设备,将远端数据库中的第二绑定表项对应的最大序列号加一,得到第二序列号,将第二绑定表项和第二序列号对应存入本地数据库,并向路由反射器发送携带第二绑定表项和第二序列号的第二通告报文,以使得路由反射器向其他接入设备通告第二绑定表项和第二序列号;
发送模块,还用于若判断模块802的判断结果为未存储第二绑定表项,则将第二绑定表项存入本地数据库,并向路由反射器发送携带第二绑定表项的第三通告报文,以使得路由反射器向其他接入设备通告第二绑定表项。
可选的,该装置还可以包括:探测模块;探测模块用于:
在删除本地数据库中存储的第一绑定表项之前,根据第一绑定表项,向第一终端发送探测报文;
若超过预设时长未接收到第一终端发送的探测响应报文,则调用删除模块804删除本地数据库中存储的第一绑定表项。
可选的,第一通告报文中包括扩展团体属性,扩展团体属性中包括第一序列号。
基于相同的发明构思,本申请实施例提供了一种表项维护装置,应用于路由反射器,如图9所示,该装置包括:接收模块901和发送模块902;
接收模块901,用于接收第二接入设备通告的第一绑定表项和第一序列号,第一绑定表项为第二接入设备在检测到第一终端接入后生成的第一终端的MAC-IP绑定表项;
发送模块902,用于向第一接入设备发送携带第一绑定表项和第一序列号的第一通告报文,以使得第一接入设备在确定本地数据库中存储第一绑定表项的情况下,若本地数据库中存储的第一绑定表项无序列号,或者本地数据库中存储的第一绑定表项对应的序列号小于第一序列号,则删除本地数据库中存储的第一绑定表项。
可选的,该装置还可以包括:判断模块;
判断模块,用于在向第一接入设备发送携带第一绑定表项和第一序列号的第一通告报文之前,判断第一序列号是否大于其他接入设备通告的第一绑定表项对应的序列号;若判断模块的判断结果为是,则调用发送模块902向第一接入设备发送携带第一绑定表项和第一序列号的第一通告报文;
发送模块902,还用于若判断模块的判断结果为否,则选择其他接入设备通告的第一绑定表项对应的序列号中最大的序列号,并向第一接入设备发送第四通告报文,第四通告报文携带第一绑定表项和所选择的最大的序列号。
本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现上述方法实施例中的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一表项维护方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一表项维护方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种表项维护方法,其特征在于,应用于第一接入设备,所述方法包括:
接收路由反射器发送的第一通告报文,所述第一通告报文携带第一绑定表项和所述第一绑定表项对应的第一序列号,所述第一绑定表项为第一终端接入第二接入设备后,所述第二接入设备向所述路由反射器通告的MAC-IP绑定表项;
判断所述本地数据库中是否存储有所述第一绑定表项;
若存储所述第一绑定表项且所述本地数据库中存储的第一绑定表项无序列号,或者,若存储所述第一绑定表项且所述本地数据库中存储的第一绑定表项对应的序列号小于所述第一序列号,则确定所述第一终端已从所述第一接入设备处迁出;
删除所述本地数据库中存储的第一绑定表项,并将接收到的第一绑定表项和所述第一序列号存储于远端数据库。
2.根据权利要求1所述的方法,其特征在于,在判断所述本地数据库中是否存储有所述第一绑定表项之后,所述方法还包括:
若所述本地数据库中未存储所述第一绑定表项,则将所述第一绑定表项和所述第一序列号存储于所述远端数据库。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到第二终端接入所述第一接入设备时,生成第二绑定表项,所述第二绑定表项包括所述第二终端的MAC-IP绑定表项;
判断所述远端数据库中是否存储所述第二绑定表项;
若存储所述第二绑定表项,则确定所述第二终端在接入所述第一接入设备之前,曾接入过其他接入设备,将所述远端数据库中的第二绑定表项对应的最大序列号加一,得到第二序列号,将所述第二绑定表项和所述第二序列号对应存入所述本地数据库,并向所述路由反射器发送携带所述第二绑定表项和所述第二序列号的第二通告报文,以使得所述路由反射器向其他接入设备通告所述第二绑定表项和所述第二序列号;
若未存储所述第二绑定表项,则将所述第二绑定表项存入所述本地数据库,并向所述路由反射器发送携带所述第二绑定表项的第三通告报文,以使得所述路由反射器向其他接入设备通告所述第二绑定表项。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述删除所述本地数据库中存储的第一绑定表项之前,所述方法还包括:
根据所述第一绑定表项,向所述第一终端发送探测报文;
若超过预设时长未接收到所述第一终端发送的探测响应报文,则删除所述本地数据库中存储的第一绑定表项。
5.根据权利要求1所述的方法,其特征在于,所述第一通告报文中包括扩展团体属性,所述扩展团体属性中包括所述第一序列号。
6.一种表项维护方法,其特征在于,应用于路由反射器,所述方法包括:
接收第二接入设备通告的第一绑定表项和第一序列号,所述第一绑定表项为所述第二接入设备在检测到第一终端接入后生成的所述第一终端的MAC-IP绑定表项;
向第一接入设备发送携带所述第一绑定表项和所述第一序列号的第一通告报文,以使得所述第一接入设备在确定本地数据库中存储所述第一绑定表项的情况下,若所述本地数据库中存储的第一绑定表项无序列号,或者所述本地数据库中存储的第一绑定表项对应的序列号小于所述第一序列号,则删除所述本地数据库中存储的第一绑定表项。
7.根据权利要求6所述的方法,其特征在于,在所述向第一接入设备发送携带所述第一绑定表项和所述第一序列号的第一通告报文之前,所述方法还包括:
判断所述第一序列号是否大于其他接入设备通告的第一绑定表项对应的序列号;
若大于其他接入设备通告的第一绑定表项对应的序列号,则向第一接入设备发送携带第一绑定表项和所述第一序列号的第一通告报文;
若不大于其他接入设备通告的第一绑定表项对应的序列号,则选择其他接入设备通告的所述第一绑定表项对应的序列号中最大的序列号,并向第一接入设备发送第四通告报文,所述第四通告报文携带所述第一绑定表项和所选择的最大的序列号。
8.一种表项维护装置,其特征在于,应用于第一接入设备,所述装置包括:
接收模块,用于接收路由反射器发送的第一通告报文,所述第一通告报文携带第一终端的第一绑定表项和所述第一绑定表项对应的第一序列号,所述第一绑定表项为所述第一终端接入第二接入设备后,所述第二接入设备向所述路由反射器通告的MAC-IP绑定表项;
判断模块,用于判断所述本地数据库中是否存储有所述第一绑定表项;
确定模块,用于若所述判断模块的判断结果存储所述第一绑定表项且所述本地数据库中存储的第一绑定表项无序列号,或者,若所述判断模块的判断结果为存储所述第一绑定表项且所述本地数据库中存储的第一绑定表项对应的序列号小于所述第一序列号,则确定所述第一终端已从所述第一接入设备处迁出;
删除模块,用于删除所述本地数据库中存储的第一绑定表项,并将接收到的第一绑定表项和所述第一序列号存储于远端数据库。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:存储模块;所述存储模块用于:
在判断所述本地数据库中是否存储有所述第一绑定表项之后,若所述判断模块的判断结果为所述本地数据库中未存储所述第一绑定表项,则将所述第一绑定表项和所述第一序列号存储于所述远端数据库。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:生成模块和发送模块;
所述生成模块,用于当检测到第二终端接入所述第一接入设备时,生成第二绑定表项,所述第二绑定表项包括所述第二终端的MAC-IP绑定表项;
所述判断模块,还用于判断所述远端数据库中是否存储所述第二绑定表项;
所述发送模块,用于若所述判断模块的判断结果为存储所述第二绑定表项,则确定所述第二终端在接入所述第一接入设备之前,曾接入过其他接入设备,将所述远端数据库中的第二绑定表项对应的最大序列号加一,得到第二序列号,将所述第二绑定表项和所述第二序列号对应存入所述本地数据库,并向所述路由反射器发送携带所述第二绑定表项和所述第二序列号的第二通告报文,以使得所述路由反射器向其他接入设备通告所述第二绑定表项和所述第二序列号;
所述发送模块,还用于若所述判断模块的判断结果为未存储所述第二绑定表项,则将所述第二绑定表项存入所述本地数据库,并向所述路由反射器发送携带所述第二绑定表项的第三通告报文,以使得所述路由反射器向其他接入设备通告所述第二绑定表项。
11.根据权利要求8-10任一项所述的装置,其特征在于,所述装置还包括:探测模块;所述探测模块用于:
在所述删除所述本地数据库中存储的第一绑定表项之前,根据所述第一绑定表项,向所述第一终端发送探测报文;
若超过预设时长未接收到所述第一终端发送的探测响应报文,则调用所述删除模块删除所述本地数据库中存储的第一绑定表项。
12.根据权利要求8所述的装置,其特征在于,所述第一通告报文中包括扩展团体属性,所述扩展团体属性中包括所述第一序列号。
13.一种表项维护装置,其特征在于,应用于路由反射器,所述装置包括:
接收模块,用于接收第二接入设备通告的第一绑定表项和第一序列号,所述第一绑定表项为所述第二接入设备在检测到第一终端接入后生成的所述第一终端的MAC-IP绑定表项;
发送模块,用于向第一接入设备发送携带所述第一绑定表项和所述第一序列号的第一通告报文,以使得所述第一接入设备在确定本地数据库中存储所述第一绑定表项的情况下,若所述本地数据库中存储的第一绑定表项无序列号,或者所述本地数据库中存储的第一绑定表项对应的序列号小于所述第一序列号,则删除所述本地数据库中存储的第一绑定表项。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:判断模块;
所述判断模块,用于在所述向第一接入设备发送携带所述第一绑定表项和所述第一序列号的第一通告报文之前,判断所述第一序列号是否大于其他接入设备通告的第一绑定表项对应的序列号;若所述判断模块的判断结果为是,则调用所述发送模块向第一接入设备发送携带第一绑定表项和所述第一序列号的第一通告报文;
所述发送模块,还用于若所述判断模块的判断结果为否,则选择其他接入设备通告的所述第一绑定表项对应的序列号中最大的序列号,并向第一接入设备发送第四通告报文,所述第四通告报文携带所述第一绑定表项和所选择的最大的序列号。
CN202111248146.4A 2021-10-26 2021-10-26 一种表项维护方法及装置 Active CN113992583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111248146.4A CN113992583B (zh) 2021-10-26 2021-10-26 一种表项维护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111248146.4A CN113992583B (zh) 2021-10-26 2021-10-26 一种表项维护方法及装置

Publications (2)

Publication Number Publication Date
CN113992583A true CN113992583A (zh) 2022-01-28
CN113992583B CN113992583B (zh) 2023-03-21

Family

ID=79741614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111248146.4A Active CN113992583B (zh) 2021-10-26 2021-10-26 一种表项维护方法及装置

Country Status (1)

Country Link
CN (1) CN113992583B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008080311A1 (fr) * 2006-12-29 2008-07-10 Huawei Technologies Co., Ltd. Méthode de couplage de liaisons et dispositif de communication
CN104580472A (zh) * 2015-01-09 2015-04-29 杭州华三通信技术有限公司 流表项处理方法以及装置
WO2016134624A1 (zh) * 2015-02-28 2016-09-01 华为技术有限公司 路由方法、装置及系统、网关调度方法及装置
CN107547510A (zh) * 2017-07-04 2018-01-05 新华三技术有限公司 一种邻居发现协议安全表项处理方法和装置
CN108123955A (zh) * 2017-12-27 2018-06-05 新华三技术有限公司 安全表项的管理方法、装置、设备及机器可读存储介质
CN110505621A (zh) * 2019-08-30 2019-11-26 新华三技术有限公司 一种终端迁移的处理方法及装置
CN110830378A (zh) * 2018-08-07 2020-02-21 迈普通信技术股份有限公司 一种地址表项更新方法及交换设备
WO2021139311A1 (zh) * 2020-08-07 2021-07-15 平安科技(深圳)有限公司 一种路由转发方法、装置、路由设备及可读存储介质
WO2021168818A1 (zh) * 2020-02-28 2021-09-02 新华三技术有限公司 路由更新方法和装置
WO2021169514A1 (zh) * 2020-02-24 2021-09-02 华为技术有限公司 一种虚拟机vm的迁移方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008080311A1 (fr) * 2006-12-29 2008-07-10 Huawei Technologies Co., Ltd. Méthode de couplage de liaisons et dispositif de communication
CN104580472A (zh) * 2015-01-09 2015-04-29 杭州华三通信技术有限公司 流表项处理方法以及装置
WO2016134624A1 (zh) * 2015-02-28 2016-09-01 华为技术有限公司 路由方法、装置及系统、网关调度方法及装置
CN107547510A (zh) * 2017-07-04 2018-01-05 新华三技术有限公司 一种邻居发现协议安全表项处理方法和装置
CN108123955A (zh) * 2017-12-27 2018-06-05 新华三技术有限公司 安全表项的管理方法、装置、设备及机器可读存储介质
CN110830378A (zh) * 2018-08-07 2020-02-21 迈普通信技术股份有限公司 一种地址表项更新方法及交换设备
CN110505621A (zh) * 2019-08-30 2019-11-26 新华三技术有限公司 一种终端迁移的处理方法及装置
WO2021169514A1 (zh) * 2020-02-24 2021-09-02 华为技术有限公司 一种虚拟机vm的迁移方法及装置
WO2021168818A1 (zh) * 2020-02-28 2021-09-02 新华三技术有限公司 路由更新方法和装置
WO2021139311A1 (zh) * 2020-08-07 2021-07-15 平安科技(深圳)有限公司 一种路由转发方法、装置、路由设备及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
熊伟等: "一种工业以太网交换机ARP老化机制", 《工业控制计算机》 *

Also Published As

Publication number Publication date
CN113992583B (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
Cheshire et al. Nat port mapping protocol (nat-pmp)
US7970402B2 (en) Method for performing handovers in a communication system
EP3171556B1 (en) Method and apparatus for setting network rule entry
US8189580B2 (en) Method for blocking host in IPv6 network
US8369346B2 (en) Method and system for restricting a node from communicating with other nodes in a broadcast domain of an IP (internet protocol) network
US9184930B2 (en) Detection and support of a dual-stack capable host
JP2004179812A (ja) アドレス変換装置およびアドレス変換規則管理方式
JP4179300B2 (ja) ネットワーク管理方法および装置並びに管理プログラム
CN107682470B (zh) 一种检测nat地址池中公网ip可用性的方法及装置
CN112714027B (zh) 物联网终端设备接入网关的方法和系统
CN111654485B (zh) 一种客户端的认证方法以及设备
CN109089263B (zh) 一种报文处理方法及装置
JP6137178B2 (ja) 通信情報検出装置及び通信情報検出方法
JP3601526B2 (ja) 代理登録装置およびネットワークシステムおよびプログラム
CN112152928A (zh) 一种邻居表项学习方法、装置及路由设备
CN108718280B (zh) 一种报文转发方法及装置
CN113992583B (zh) 一种表项维护方法及装置
CN108989173B (zh) 一种报文传输的方法及装置
JP4750750B2 (ja) パケット転送システムおよびパケット転送方法
JP2019041176A (ja) 不正接続遮断装置及び不正接続遮断方法
CN110611678B (zh) 一种识别报文的方法及接入网设备
US20170289099A1 (en) Method and Device for Managing Internet Protocol Version 6 Address, and Terminal
US9912557B2 (en) Node information detection apparatus, node information detection method, and program
Cheshire et al. RFC 6886: Nat port mapping protocol (NAT-PMP)
CN116192797B (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