CN113872844B - 建立vxlan隧道的方法及相关设备 - Google Patents
建立vxlan隧道的方法及相关设备 Download PDFInfo
- Publication number
- CN113872844B CN113872844B CN202010615448.XA CN202010615448A CN113872844B CN 113872844 B CN113872844 B CN 113872844B CN 202010615448 A CN202010615448 A CN 202010615448A CN 113872844 B CN113872844 B CN 113872844B
- Authority
- CN
- China
- Prior art keywords
- terminal
- network
- equipment
- vxlan
- network device
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了一种建立VXLAN隧道的方法及相关设备,属于通信技术领域。在该方法中,如果第一终端设备从第一网络设备处迁出,即使由于第二网络设备处的转发表没有及时更新导致将第一VXLAN报文错误地发送至第一网络设备,通过错误报文通告消息仍然将该迁出情况通知至控制设备,以通过控制设备来通告第二网络设备,从而使得第二网络设备及时更新转发表。因此,通过本申请提供的方法,能够在终端设备发生迁移时动态变更转发表中已经建立的VXLAN隧道,使得网络中建立的VXLAN隧道能够实时表征当前需求的VXLAN隧道。提高了建立VXLAN隧道的灵活性,还使得VXLAN中无需保留全部的设备之间的VXLAN隧道。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种建立虚拟扩展局域网(virtualextensible local area network,VXLAN)隧道的方法及相关设备。
背景技术
VXLAN是一种在底层网络基础上构建的虚拟网络。VXLAN中包括边界(border)设备和边缘(edge)设备这两种角色的虚拟网络设备。边界设备作为VXLAN的网络出口,负责将VXLAN中的报文转发至其他VXLAN或非VXLAN。边缘设备作为VXLAN的业务接入点,负责将用户设备的报文转发至VXLAN中。边界设备和边缘设备之间、以及边缘设备和边缘设备建立有VXLAN隧道,以实现报文在VXLAN中的转发。
相关技术中,对于VXLAN中包括的一个边界设备和多个边缘设备,预先通过动态路由的方式在任一边缘设备和边界设备之间、以及任意两个边缘设备之间建立VXLAN隧道。这种建立VXLAN隧道的方式需要建立VXLAN中所有设备之间的VXLAN隧道,导致建立VXLAN隧道的灵活性较低。
发明内容
本申请提供了一种建立VXLAN隧道的方法及相关设备,可以提高建立VXLAN隧道的灵活性。该技术方案如下:
第一方面,提供了一种建立虚拟扩展局域网VXLAN隧道的方法,该方法应用于VXLAN中的第一网络设备,VXLAN中包括多个网络设备,任一网络设备和控制设备之间建立有VXLAN隧道,第一网络设备为这多个网络设备中的一个。在该方法中,接收来自第二网络设备的第一VXLAN报文,第一VXLAN报文包括的原始帧的目的地址为第一终端设备的地址;如果第一网络设备所连接的终端设备中没有第一终端设备,则向控制设备发送错误报文通告消息,错误报文通告消息包括第一终端设备的地址、第一网络设备的标识以及第二网络设备的标识,错误报文通告消息指示第一终端设备没有与第一网络设备连接,但第一网络设备仍接收到来自第二网络设备且发送至第一终端设备的VXLAN报文。
通过本申请提供的建立VXLAN隧道的方法,由于第一网络设备在确定第一终端设备没有与自身连接时,将向控制设备发送错误报文通过消息。因此,如果第一终端设备从第一网络设备处迁出,那么即使由于第二网络设备处的转发表没有及时更新导致将第一VXLAN报文错误地发送至第一网络设备,通过错误报文通告消息仍然可以将该迁出情况通知至控制设备,以通过控制设备来通告第二网络设备,从而使得第二网络设备及时更新转发表。因此,通过本申请提供的方法,能够在终端设备发生迁移时动态变更转发表中已经建立的VXLAN隧道,使得网络中建立的VXLAN隧道能够实时表征当前需求的VXLAN隧道。如此,不仅提高了建立VXLAN隧道的灵活性,并且使得VXLAN中无需保留全部的设备之间的VXLAN隧道,从而节省各个网络设备处的转发表资源。
需要说明的是,在本申请中,建立VXLAN隧道实质上就是获取VXLAN隧道的标识,然后建立报文的目的地址和隧道标识之间的对应关系,以便于后续发送至该目的地址的报文均能够通过该VXLAN隧道转发。该隧道标识可为VXLAN隧道对端设备的标识(如对端设备的IP地址)。该隧道标识还可除VXLAN隧道对端设备的标识之外的其他唯一能够标识隧道的符号,比如隧道标识为针对VXLAN隧道的一个唯一编号。网络设备用该编号可以索引到相应的表项,表项内存放有包括对端设备的IP地址在内的VXLAN隧道参数。
基于第一方面提供的方法,在一种可能的实现方式中,在该方法中,当第一终端设备离开第一网络设备时,从第一网络设备的终端接入集合中删除第一终端设备的地址,终端接入集合中包括连接第一网络设备的各个终端设备的地址。
通过上述实现方式,各个网络设备在终端设备发生迁移时,能够及时更新终端接入集合,以使终端接入集合更够准备表征时下连接网络设备的各个终端设备,从而便于后续动态变更VXLAN隧道。
基于第一方面提供的方法,在一种可能的实现方式中,在该方法中,如果检测到第一终端设备和第一网络设备断开通信,则确定第一终端设备离开第一网络设备。
上述实现方式应用于第一网络设备能够感知到第一终端设备迁移出去的场景,这种场景下,如果第一网络设备检测到第一终端设备和第一网络设备断开通信,则确定第一终端设备从第一网络设备处迁移出去。
基于第一方面提供的方法,在一种可能的实现方式中,在该方法中,第一终端设备离开第一网络设备时,向控制设备发送终端迁出通知,终端迁出通知包括第一终端设备的地址和第一网络设备的标识,终端迁出通知指示第一终端设备离开第一网络设备。
由此可知,在第一网络设备能够感知到第一终端设备迁移的场景中,第一网络设备不仅删除本地的终端接入集合中第一终端设备的地址,还通告控制设备也删除第一网络设备的终端接入集合中第一终端设备的地址。这样做的技术效果为:能够使得控制设备和网络设备处存储的终端接入集合实时准确地表征终端设备的连接情况,如此才能在后续其他终端设备访问已经发生迁移的终端设备时,能够动态变更已经建立的VXLAN隧道。
基于第一方面提供的方法,在一种可能的实现方式中,上述确定第一终端设备离开第一网络设备的实现过程为:如果接收到来自控制设备的终端迁出指示,则确定第一终端设备离开第一网络设备,终端迁出指示包括第一终端设备的地址,终端迁出指示用于指示第一终端设备离开第一网络设备。
上述实现方式应用于第一网络设备无法感知第一终端设备迁移出去的场景,因此在第一终端设备迁移出去时,第一网络设备并不能立即将第一终端设备的信息从终端信息中删除掉。而是借助控制设备的通告来确定第一终端设备迁移出去。
基于第一方面提供的方法,在一种可能的实现方式中,在该方法中,将原始帧封装为第二VXLAN报文,将第二VXLAN报文经由第一网络设备到控制设备之间的VXLAN隧道发送至控制设备。
在第一网络设备接收到不是到达自身连接的终端设备的VXLAN报文的情况下,第一网络设备可将第一VXLAN报文重新封装由控制设备来转发。
第二方面,提供了一种建立虚拟扩展局域网VXLAN隧道的方法,该方法应用于控制设备。在该方法中,接收来自VXLAN中的第一网络设备的错误报文通告消息,错误报文通告消息包括第一终端设备的地址、第一网络设备的标识以及第二网络设备的标识,错误报文通告消息指示第一终端设备没有与第一网络设备连接,但第一网络设备仍接收到来自第二网络设备且发送至第一终端设备的VXLAN报文,VXLAN中包括多个网络设备,第一网络设备和第二网络设备为多个网络设备中的两个;向第二网络设备发送终端变更消息,终端变更消息包括第一终端设备的地址和第三网络设备的标识,终端变更消息指示第一终端设备当前连接第三网络设备。
通过本申请提供的建立VXLAN隧道的方法,由于第一网络设备在确定第一终端设备没有与自身连接时,将向控制设备发送错误报文通过消息。因此,如果第一终端设备从第一网络设备处迁出,那么即使由于第二网络设备处的转发表没有及时更新导致将VXLAN报文错误地发送至第一网络设备,通过错误报文通告消息仍然可以将该迁出情况通知至控制设备,以通过控制设备来通告第二网络设备,从而使得第二网络设备及时更新转发表。因此,通过本申请提供的方法,能够在终端设备发生迁移时动态变更转发表中已经建立的VXLAN隧道,使得网络中建立的VXLAN隧道能够实时表征当前需求的VXLAN隧道。如此,不仅提高了建立VXLAN隧道的灵活性,并且使得VXLAN中无需保留全部的设备之间的VXLAN隧道,从而节省各个网络设备处的转发表资源。
基于第二方面提供的方法,在一种可能的实现方式中。在该方法中,接收来自第一网络设备的终端迁出通知,终端迁出通知包括第一终端设备的地址和第一网络设备的标识,终端迁出通知指示第一终端设备离开第一网络设备;从第一网络设备的终端接入集合中删除第一终端设备的地址,终端接入集合中包括连接第一网络设备的各个终端设备的地址。
由此可知,在第一网络设备能够感知到第一终端设备迁移的场景中,第一网络设备通告控制设备也删除第一网络设备的终端接入集合中第一终端设备的地址。这样做的技术效果为:能够使得控制设备存储的终端接入集合实时准确地表征终端设备的连接情况,如此才能在后续其他终端设备访问已经发生迁移的终端设备时,能够动态变更已经建立的VXLAN隧道。
基于第二方面提供的方法,在一种可能的实现方式中,接收来自第三网络设备发送的终端接入通告消息,终端接入通告消息包括第一终端设备地址和第三网络设备的标识,终端接入通告消息指示第一终端设备连接在第三网络设备处;如果第一网络设备的终端接入集合中包括第一终端设备的地址,则删除第一网络设备的终端接入集合中第一终端设备的地址并向第一网络设备发送终端迁出指示,终端迁出指示包括第一终端设备的地址,终端迁出指示用于指示第一终端设备离开第一网络设备。
上述实现方式应用于第一网络设备无法感知第一终端设备迁移出去的场景,因此在第一终端设备迁移出去时,第一网络设备并不能立即将第一终端设备的信息从终端接入集合中删除掉。而是借助第一终端设备新接入的网络设备的通告来确定第一终端设备迁移出去。
基于第二方面提供的方法,在一种可能的实现方式中,在接收来自第三网络设备发送的终端接入通告消息之后,将第一终端设备的地址添加到第三网络设备的终端接入集合中。
在借助第一终端设备新接入的网络设备的通告来确定第一终端设备迁移出去的场景中,还可以基于第一终端设备新接入的网络设备的通告对新接入的网络设备的终端接入集合进行及时更新,以使控制设备处存储的终端接入集合实时准确地表征终端设备的连接情况。
第三方面,提供了一种VXLAN中的第一网络设备,该第一网络设备具有实现上述第一方面中建立VXLAN隧道的方法行为的功能。该第一网络设备包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的建立VXLAN隧道的方法。
第四方面,提供了一种控制设备,该控制设备具有实现上述第二方面中建立VXLAN隧道的方法行为的功能。该控制设备包括至少一个模块,该至少一个模块用于实现上述第二方面所提供的建立VXLAN隧道的方法。
第五方面,提供了一种第一网络设备,第一网络设备的结构中包括处理器和存储器,存储器用于存储支持该装置执行上述第一方面所提供的建立VXLAN隧道的方法的程序,以及存储用于实现上述第一方面所提供的建立VXLAN隧道的方法所涉及的数据。处理器被配置为用于执行存储器中存储的程序。存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第六方面,提供了一种控制设备,该控制设备的结构中包括处理器和存储器,存储器用于存储支持该装置执行上述第二方面所提供的建立VXLAN隧道的方法的程序,以及存储用于实现上述第二方面所提供的建立VXLAN隧道的方法所涉及的数据。处理器被配置为用于执行存储器中存储的程序。存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第七方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面的建立VXLAN隧道的方法。
第八方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面的建立VXLAN隧道的方法。
上述第三方面至第八方面所获得的技术效果与第一方面和第二方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例提供的一种VXLAN的系统示意图;
图2是本申请实施例提供的一种更新用户信息的流程示意图;
图3是本申请实施例提供的一种建立VXLAN隧道的方法流程图;
图4是本申请实施例提供的一种VXLAN报文的格式示意图;
图5本申请实施例提供的另一种建立VXLAN隧道的方法流程图;
图6本申请实施例提供的一种第一网络设备的结构示意图;
图7本申请实施例提供的一种控制设备的结构示意图;
图8本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细说明之前,先对本申请实施例涉及的应用场景进行详细解释说明。
VXLAN能够在任意路由可达的底层网络上叠加二层虚拟网络,通过VXLAN网关实现VXLAN网络内部的互通,同时,通过VXLAN网络也能够实现与传统的非VXLAN网络的互通。VXLAN技术通过采用媒介接入控制(Media Access Control,MAC)置入(in)用户报文协议(User Datagram Protocol,UDP)的封装方式来延伸二层网络,将以太报文封装在网络(internet protocol,IP)报文之上,通过VXLAN网关在网络中传输,无需关注虚拟机等终端设备的MAC地址。由于路由网络无网络结构限制,因此具备大规模扩展能力。所以通过路由网络,虚拟机等终端设备迁移不受网络架构限制。通过VXLAN能够满足数据中心网络的虚拟迁移和多租户的需求。同样,VXLAN也适用于园区网络中“一网多用”的场景。比如,将同一张承载网虚拟为多张业务网络,实现不同业务网络之间的相互隔离。
为了后续便于说明,在此先对本申请实施例涉及的几个技术术语进行解释说明。
VXLAN网络标识(VXLAN Network Identifier,VNI):类似于传统网络中的VLANID,用于区分VXLAN网段,不同VXLAN段的租户不能直接进行二层通信。一张网络可以划分一个或多个VNI。
广播域(Bridge Domain,BD):类似传统网络中采用VLAN划分广播域方法,在VXLAN网络中通过BD划分广播域。在VXLAN网络中,将VNI以1:1方式映射到广播域BD,一个BD就表示着一个广播域,同一个BD内的主机就可以进行二层互通。
VXLAN隧道端点(VXLAN Tunnel Endpoints,VTEP):VTEP可以对VXLAN报文进行封装和解封装。VXLAN报文中源IP地址为源端VTEP的IP地址,目的IP地址为目的端VTEP的IP地址。一对VTEP地址就对应着一条VXLAN隧道。在源端封装报文后通过隧道向目的端VTEP发送封装报文,目的端VTEP对接收到的封装报文进行解封装。
虚拟接入点(Virtual Access Point,VAP):VXLAN业务接入点,可以基于VLAN或报文流封装类型接入业务。
网络虚拟边缘(Network Virtualization Edge,NVE):NVE是实现网络虚拟化功能的网络实体。报文经过NVE封装转换后,NVE间就可基于三层基础网络建立二层虚拟化网络。
类似于传统的VLAN网络,VXLAN网络也有VXLAN网络内互访和VXLAN网络间互访。
二层网关:类似传统网络的二层接入设备,在VXLAN网络中通过二层网关解决租户接入VXLAN虚拟网络。二层网关也可用于同一VXLAN虚拟网络的子网通信。结合前述对边缘设备和边界设备的功能的解释,在VXLAN中,边缘设备即可作为二层网关来使用。
三层网关:类似传统网络中不同VLAN的用户间不能直接进行二层互访,不同VNI之间的VXLAN及VXLAN和非VXLAN之间也不能直接相互通信。为了使VXLAN之间,以及VXLAN和非VXLAN之间能够进行通信,引入了VXLAN三层网关的概念。三层网关用于VXLAN虚拟网络的跨子网通信以及外部网络的访问。同样地,结合前述对边缘设备和边界设备的功能的解释,在VXLAN中,边界设备即可作为三层网关来使用。
本申请实施例提供的方法就应用于上述通过VXLAN转发报文的场景中,目的在于实现在终端设备发生迁移时能够动态变更已经建立的VXLAN隧道,使得网络中建立的VXLAN隧道能够实时表征当前需求的VXLAN隧道。如此,不仅提高了建立VXLAN隧道的灵活性,并且使得VXLAN中无需保留全部的设备之间的VXLAN隧道,从而节省各个网络设备处的转发表资源。
需要说明的是,在本申请实施例中,建立VXLAN隧道实质上就是获取VXLAN隧道的标识,然后建立报文的目的地址和隧道标识之间的对应关系,以便于后续发送至该目的地址的报文均能够通过该VXLAN隧道转发。该隧道标识可为VXLAN隧道对端设备的标识(如对端设备的IP地址),还可为除VXLAN隧道对端设备的标识之外的其他唯一能够标识隧道的符号,比如隧道标识为针对VXLAN隧道的一个唯一编号。网络设备用该编号可以索引到相应的表项,表项内存放有包括对端设备的IP地址在内的VXLAN隧道参数。
下面对本申请实施例提供的建立VXLAN隧道的方法进行详细解释说明。本申请实施例提供的建立VXLAN隧道的方法应用于终端设备发生迁移时能够动态变更已经建立的VXLAN隧道的场景中。为了实现该技术效果,为VXLAN网络配置一个控制设备。在配置控制设备之后,在该控制设备和VXLAN中的各个网络设备之间进行如下配置。
在一种可能的实现方式中,上述控制设备为VXLAN中的某个网络设备。控制设备也可以为上述VXLAN之外的设备,例如控制设备支持VXLAN但在和网络设备虚拟网络标识(VNI)不同的VXLAN中,或者,该控制设备可以不支持VXLAN。下面以控制设备为VXLAN中的某个网络设备为例说明配置过程。
控制设备处存储有VXLAN中任一网络设备的终端接入集合,任一网络设备本地也存储有自身的终端接入集合。任一网络设备的终端接入集合包括该网络设备所连接的各个终端设备的地址。并在终端设备发生迁移时,对控制设备处的终端接入集合以及网络设备处的终端接入集合进行更新。以便于后续在其他网络设备访问已经发生迁移的终端设备时,能够动态变更已经建立的VXLAN隧道。前述终端接入集合的数据结构可以为终端接入表、终端接入列表、终端接入链表等等,本申请实施例对终端接入集合的数据结构并不限定。
下述内容用于在终端设备发生迁移时,对控制设备处的终端接入集合以及网络设备处的终端接入集合进行更新进行详细解释说明。下述内容以第一终端设备从第一网络设备处迁移出去为例进行说明。第一网络设备为VXLAN中的任一设备,第一终端设备为接入第一网络设备的任一终端设备。
在一种可能的实现方式中,在第一终端设备接入第一网络设备之后,第一网络设备能够接收第一终端设备发送的报文,且该报文的源地址为第一终端设备。因此,如果第一网络设备首次接收到来自第一终端设备的报文,表明第一终端设备连接到第一网络设备处了,第一网络设备则将第一终端设备的地址添加到第一网络设备的终端接入集合中。后续,如果第一网络设备确定第一终端设备离开第一网络设备,则从第一网络设备的终端接入集合中删除第一终端设备的地址。
需要说明的是,在某些场景下,第一网络设备能够感知到第一终端设备离开第一网络设备。但在某些场景下,第一网络设备无法感知到第一终端设备离开第一网络设备。下面分两种场景分别进行说明第一网络设备如何确定第一终端设备离开第一网络设备。
(1)第一网络设备能够感知到第一终端设备离开
在这种场景下,如果第一网络设备检测到第一终端设备和第一网络设备断开通信,则确定第一终端设备离开第一网络设备。
比如,第一终端设备是通过有线方式直接连接在第一网络设备,第一网络设备根据有线端口是否掉线(down)来确定第一终端设备是否离开第一网络设备。如果与第一终端设备连接的有线端口掉线,则确定第一终端设备离开第一网络设备。
又比如,第一网络设备作为第一终端设备的无线接入点,如果第一终端设备与该无线接入点解关联,第一网络设备能够识别到第一终端设备下线,那么第一网络设备则确定第一终端设备离开第一网络设备。
又比如,如果第一网络设备在一定时长内接收到来自第一终端设备的流量,则确定第一终端设备离开第一网络设备。
在这种场景下,第一网络设备在检测到第一终端设备离开第一网络设备,除了从第一网络设备的终端接入集合中删除第一终端设备的标识,还向控制设备发送终端迁出通知,该终端迁出通知指示第一终端设备离开第一网络设备。控制设备接收第一网络设备发送的终端迁出通知,控制设备从第一网络设备的终端接入集合中删除第一终端设备的地址。
由此可知,在第一网络设备能够感知到第一终端设备离开的场景中,第一网络设备不仅删除本地的终端接入集合中第一终端设备的地址,还通告控制设备也删除第一网络设备的终端接入集合中第一终端设备的地址。这样做的技术效果为:能够使得控制设备和网络设备处存储的终端接入集合实时准确地表征网络设备的所连接的终端设备是哪些,如此才能在后续其他终端设备访问已经发生迁移的终端设备时,能够动态变更已经建立的VXLAN隧道。
此外,为了能够实现VXLAN中的其他网络设备和控制设备的通信,在一种可能的实现方式中,预先在控制设备和VXLAN中的其他网络设备上部署虚拟网络控制协议(overlaycontrol protocol,OCP),以使控制设备作为OCP服务端(OCP server),VXLAN中的其他网络设备作为OCP客户端(OCP client)。
由于OCP客户端OCP服务端之间可以进行信息交互,因此,上述第一网络设备向控制设备发送的终端迁出通知能够通过OCP协议发送。
此外,可选地,在VXLAN网络初始化时,任一网络设备可与控制设备先建立VXLAN隧道。以便于后续某个网络设备接收到目的地不是自己所连接的终端设备的VXLAN报文时,能够通过控制设备将VXLAN报文绕道转发。在任一网络设备与控制设备建立有VXLAN隧道的情况下,上述终端迁出通知便可通过VXLAN隧道转发。
图1是本申请实施例提供的一种VXLAN的架构示意图。该VXLAN中包括5个VXLAN隧道端点(VXLAN Tunnel Endpoints,VTEP),分别标记为VTEP-1、VTEP-2、VTEP-3、VTEP-4、VTEP-5。其中,VTEP P-1、VTEP-2、VTEP-3、VTEP-4为网络设备,VTEP-5为控制设备。分别在VTEP-1、VTEP-2、VTEP-3、VTEP-4和VTEP-5上部署OCP协议,以使VTEP-5作为OCP服务端,VTEPP-1、VTEP-2、VTEP-3、VTEP-4作为OCP客户端。
如图1所示,基于部署的OCP协议,VTEP-1、VTEP-2、VTEP-3、VTEP-4分别与VTEP-5建立VXLAN隧道,得到如图1所示的南北方向的4条VXLAN隧道。VTEP-1、VTEP-2、VTEP-3、VTEP-4之间并不建立VXLAN隧道。而是在后续基于流量需求动态建立网络设备之间的VXLAN隧道,并在终端设备发生迁移时动态变更网络设备之间的VXLAN隧道。需要说明的是,本申请实施例并不限定基于流量需求动态建立网络设备之间的VXLAN隧道的具体实现方式。
此外,上述OCP协议仅仅是实现控制设备和网络设备进行通信的一种可选的控制面协议。本申请实施例并不限定控制设备如何建立与各个网络设备之间的控制面协议。
另外,在基于流量需求动态建立网络设备之间的VXLAN隧道时,如果采用老化时间的方式来删除长久闲置的VXLAN隧道,对于终端设备迁移的情况,则不能及时变更VXLAN隧道,同样导致转发表资源的浪费。这种场景下,通过本申请实施例提供的建立VXLAN隧道的方法,在终端设备发生迁移时能够动态变更已经建立的VXLAN隧道,使得网络中建立的VXLAN隧道能够实时表征当前需求的VXLAN隧道。如此,不仅提高了建立VXLAN隧道的灵活性,并且使得VXLAN中无需保留全部的设备之间的VXLAN隧道,从而节省各个网络设备处的转发表资源。
(2)第一网络设备无法感知到第一终端设备离开
比如,第一终端设备是先连接HUB(集线器)设备,HUB设备再连接第一网络设备。这种情况下,如果第一终端设备与HUB设备断开连接,第一网络设备将无法感知到第一终端设备离开。
又比如,第一网络设备作为第一终端设备的无线接入点,如果第一终端设备直接离开第一网络设备的SSID覆盖的范围,第一网络设备将无法感知到第一终端设备离开。
由于第一网络设备无法感知第一终端设备离开,因此在第一终端设备迁移出去时,第一网络设备并不能立即将第一终端设备的地址从终端接入集合中删除掉。而是借助第一终端设备新接入的网络设备的通告来确定第一终端设备离开第一网络设备。
因此,在一种可能的实现方式中,在这种场景下,第一网络设备确定第一终端设备离开第一网络设备的实现方式可以为:控制设备接收第三网络设备发送的终端接入通告消息,该终端接入通告消息包括第一终端设备地址和第三网络设备的标识,该终端接入通告消息指示第一终端设备连接在第三网络设备处。如果第一网络设备的终端接入集合中包括第一终端设备的地址,控制设备便可获知第一终端设备从第一网络设备处迁移到了第三网络设备处,因此控制设备删除第一网络设备的终端接入集合中第一终端设备的标识。同时,控制设备向第一网络设备发送终端迁出指示,该终端迁出指示包括第一终端设备的地址,该终端迁出指示用于指示第一终端设备离开第一网络设备。因此,如果第一网络设备接收到控制设备发送的终端迁出指示,则确定第一终端设备离开第一网络设备。
在这种场景下,由于第一网络设备是通过控制设备确定第一终端设备从第一网络设备处迁移出去,因此第一网络设备只需从第一网络设备的终端接入集合中删除第一终端设备的标识即可,控制设备处的终端接入集合更新过程无需关心。
同样地,如果在VXLAN网络初始化时,任一网络设备与控制设备先建立VXLAN隧道。这种场景下,上述上线通知消息,第二终端迁移消息均可以通过已经建立的南北向的VXLAN隧道来实现。
图2是本申请实施例提供的一种更新终端接入集合的流程示意图,用于对上述场景(2)中的情况进一步详细说明。图2所示的流程包括以下几个步骤。
1)终端设备A从边缘设备1迁移到边缘设备2之后,终端设备A向边缘设备2发送流量。终端设备A向边缘设备2发送流量,是指终端设备A首次向边缘设备2发送的报文。可选地,该报文是上线通知消息,用于通告终端设备A接入边缘设备2。可选地,该报文为第一终端设备首次向第一网络设备发送的数据报文。
2)边缘设备2会识别出终端设备A的地址(诸如MAC地址和/或IP地址),边缘设备2将终端设备A的地址添加到边缘设备2的终端接入集合中。
3)边缘设备2将终端设备A的地址基于OCP协议通过终端接入通告消息的方式,上报给边界设备。
4)边界设备查找存储的各个边缘设备的终端接入集合,发现边缘设备1的终端接入集合中已有终端设备A的地址,且本次发送终端接入通告消息的是边缘设备2。因此,边界设备更新边缘设备2和边缘设备1的终端接入集合。并将终端设备A的迁移情况通告以终端迁出指示的方式给终端设备A之前接入的边缘设备,即边缘设备1。
5)边缘设备1收到边界设备的发送的终端迁出指示,将终端设备A的地址从本地的终端接入集合中删除。
基于图2所示的流程,在边缘设备无法感知到终端设备迁移的情况下,同样可以实现在终端设备离开第一网络设备之后,及时更新边缘设备处的终端接入集合以及边界设备处的终端接入集合。
在终端设备发生迁移后,基于上述对控制设备处的终端接入集合以及网络设备处的终端接入集合进行更新的流程,在后续其他终端设备访问已经发生迁移的终端设备时,能够动态变更已经建立的VXLAN隧道。下述实施例用于对如何动态变更已经建立的VXLAN隧道进行详细解释说明。
图3是本申请实施例提供的一种建立VXLAN隧道的方法流程图。如图3所示,该方法包括如下几个步骤。
步骤301:第一网络设备接收来自第二网络设备的第一VXLAN报文,第一VXLAN报文包括的原始帧的目的地址为第一终端设备的地址。
假设第一VXLAN报文中的原始帧是第二终端设备访问第一终端设备的流量中的报文,第二终端设备接入在第二网络设备处。本申请实施例的一种可能的应用场景为:在第一终端设备从第一网络设备迁移到第三网络设备前,第二终端设备已经访问过第一终端设备,因此第二网络设备的转发表中存储有第二网络设备到第一网络设备之间的VXLAN隧道的隧道标识与第一终端设备的地址的之间的对应关系。而在第一终端设备发生迁移后,第一网络设备并不会立即更新转发表,因此,如果第二终端设备再次访问第一终端设备,此时第二网络设备仍然根据未发生更新的转发表将该报文发送至第一网络设备,以期望通过第一网络设备访问第一终端设备。
为了后续便于说明,在此对第二网络设备的转发表进行解释说明。该转发表中包括多个终端设备地址和与各个终端设备地址对应的隧道标识。该转发表的功能为:通过与任一终端设备地址对应的隧道标识所指示的VXLAN隧道,能够将报文转发该终端设备地址所指示的终端设备。
在一种可能的实现方式中,上述隧道标识是VXLAN隧道的接收端的VTEP的标识(如对端设备的IP地址)。比如,对于第二网络设备到第一网络设备的VXLAN隧道,该VXLAN隧道的隧道标识为第一网络设备的标识。
在另一种可能的实现方式中,上述隧道标识为除VXLAN隧道对端设备的标识之外的其他唯一能够标识隧道的符号,比如隧道标识为针对VXLAN隧道的一个唯一编号。比如,对于第二边缘设备到第一边缘设备的VXLAN隧道,该VXLAN隧道的隧道标识为隧道1。需要说明的是,在该实现方式中,为了便于后续查询某个VXLAN隧道的对端,网络设备用该编号可以索引到相应的表项,表项内存放有包括对端设备的IP地址在内的VXLAN隧道参数。因此,在一种可能的实现方式中,第二网络设备还可以维护一个隧道列表,该隧道列表中包括与各个隧道标识一一对应的隧道的接收端的VTEP的标识。
因此,第二网络设备在接收到源地址为第二终端设备地址,目标地址为第一终端设备地址的报文后,查询转发表发现可以通过第二网络设备到第一网络设备之间的VXLAN隧道发送该报文,如此,第二网络设备便将该报文作为原始帧封装为第一VXLAN报文,并将第一VXLAN报文通过第二网络设备到第一网络设备之间的VXLAN隧道发送至第一网络设备。
上述将该报文作为原始帧封装为第一VXLAN报文是指:将第一网络设备作为第一VXLAN报文的目的地添加VXLAN帧头等外层帧头,以实现将第一VXLAN报文发送至第一网络设备。
为了便于理解将原始帧封装为第一VXLAN报文,在此对VXLAN报文的封装格式也进行解释说明。如图4所示,原始帧(original L2 frame)在封装过程中先被添加一个VXLAN帧头,再被封装在外层UDP帧头中,并使用承载网络的IP、MAC地址作为外层头进行封装,即可得到一个VXLAN报文。
上述VXLAN帧头、外层UDP帧头、外层IP帧头、以及外层以太网帧头中的各个字段的解释如表1所示。关于VXLAN报文中各个字段的含义在此就不再一一详细解释说明。
表1
步骤302:如果第一网络设备所连接的终端设备中没有第一终端设备,则向控制设备发送错误报文通告消息,控制设备接收来自第一网络设备的错误报文通告消息。
基于上述对控制设备处的终端接入集合以及网络设备处的终端接入集合进行更新的流程可知,如果第一终端设备从第一网络设备处迁移出去,那么第一网络设备的终端接入集合中将不再有第一终端设备的标识。因此,第一网络设备在接收到第一VXLAN报文时,如果第一网络设备的终端接入集合中没有第一终端设备的地址,则表明第一终端设备没有连接第一网络设备。这种场景下,第一网络设备向控制设备发送错误报文通告消息。控制设备接收第一网络设备发送的错误报文通告消息。
错误报文通告消息包括第一终端设备的地址、第一网络设备的标识以及第二网络设备的标识。该错误报文通告消息指示第一终端设备没有与第一网络设备连接,但第一网络设备仍接收到来自第二网络设备且发送至第一终端设备的VXLAN报文。
此外,需要说明的是,步骤302的执行场景为该接收到的报文为VXLAN格式封装的报文的情况。如果步骤301中的报文不是VXLAN格式封装的报文,则无需对已经建立的VXLAN隧道进行动态变更。
控制设备在接收到错误报文通告消息后,便可从各个网络设备的终端接入集合中查询第一终端设备当前接入的网络设备。并将查询到的网络设备作为第三网络设备。
此外,第一网络设备在接收到第一VXLAN报文后,如果本地的终端接入集合中已经没有第一终端设备的地址,表明第一终端设备当前已经没有连接在第一网络设备处。这种场景下,如果VXLAN中的各个网络设备和控制设备之间建立有VXLAN隧道,此时,第一网络设备则将该第一VXLAN报文中的原始帧封装为第二VXLAN报文,将第二VXLAN报文经由第一网络设备到控制设备之间的VXLAN隧道发送至控制设备。控制设备接收来自第一网络设备的第二VXLAN报文。控制设备将该原始帧封装为第三VXLAN报文,将第三VXLAN报文经由控制设备到第三网络设备之间的VXLAN隧道发送至第三网络设备,以实现第二终端设备对迁移后的第一终端设备的访问。
此外,控制设备在接收到错误报文通告消息后,还需通过下述步骤通告第二网络设备对已经建立的VXLAN隧道进行变更,以避免第二网络设备后续再次发送错误的报文给第一网络设备。
步骤303:控制设备向第二网络设备发送终端变更消息,该终端变更消息包括第一终端设备的地址和第三网络设备的标识,该终端变更消息指示第一终端设备当前连接第三网络设备。
第二网络设备在接收到终端变更消息后,获知第一终端设备已经从第一网络设备处迁移到第三网络设备处,因此,第二网络设备需对转发表进行更新,以避免第二网络设备后续再次发送错误的报文给第一网络设备。
在一种可能的实现方式中,第二网络设备在接收终端变消息后,便可从转发表中删除第二网络设备到第一网络的VXLAN隧道的隧道标识与第一终端设备的地址之间的对应关系。并在转发表中建立第二网络设备到第三网络的VXLAN隧道的隧道标识与第一终端设备的地址之间的对应关系。
在转发表中的隧道标识是VXLAN隧道的接收端的VTEP的标识的场景中,上述第二网络设备到第三网络的VXLAN隧道的隧道标识即为第三网络设备的标识。第二网络设备到第一网络的VXLAN隧道的隧道标识即为第一网络设备的标识。
在转发表中的隧道标识为除VXLAN隧道对端设备的标识之外的其他唯一能够标识隧道的符号,比如隧道标识为针对VXLAN隧道的一个唯一编号的场景下,网络设备用该编号可以索引到相应的表项,表项内存放有包括对端设备的IP地址在内的VXLAN隧道参数。在一种可能的实现方式中,第二网络设备还维护一个隧道列表,该隧道列表中包括与各个隧道标识一一对应的隧道的接收端的VTEP的标识。在这种场景下,第二网络设备查找本地转发表中第二网络设备到第一网络设备之间的VXLAN隧道的隧道标识对应的终端设备地址,如果查找到的终端设备地址中只有第一终端设备的地址,则不仅从转发表中删除从隧道列表中第二网络设备到第一网络设备的VXLAN隧道的隧道标识与第一终端设备的地址之间的对应关系,还从隧道列表中删除第二网络设备到第一网络设备的VXLAN隧道的隧道标识与第一网络设备的标识之间的对应关系。如果查找到的终端设备地址中除了第一终端设备地址之外,还有其他终端设备地址,则不从隧道列表中删除第二网络设备到第一网络设备的VXLAN隧道的隧道标识与第一网络设备的标识之间的对应关系,但是删除转发表中第二网络设备到第一网络设备之间的VXLAN隧道的隧道标识和第一终端设备的地址之间的对应关系。
需要说明的是,上述从隧道列表中删除第二网络设备到第一网络设备的VXLAN隧道的隧道标识与第一网络设备的标识之间的对应关系的过程,也称为删除第二网络设备到第一网络设备的VXLAN隧道的过程。
此外,在转发表中的隧道标识为除VXLAN隧道对端设备的标识之外的其他唯一能够标识隧道的符号的场景下,第二网络设备在接收到终端变更消息后,根据第三网络设备的标识,从隧道列表中查找对应的隧道接收端为第三网络设备VXLAN隧道的隧道标识,如果查找到一个隧道标识,该隧道标识即为第二网络设备到第三网络设备之间的VXLAN隧道的标识,表明当前已经建立有第二网络设备到第三网络设备的VXLAN隧道,只是没有将第一终端设备的地址和该VXLAN隧道的隧道标识之间的对应关系创建起来而已。如果没有查找到任何隧道标识,则基于隧道标识生成规则,生成第二网络设备到第三网络设备之间的VXLAN隧道的隧道标识。然后将生成的隧道标识和第三网络设备的标识之间的对应关系添加到隧道列表中。该隧道标识生成规则为设置的用于生成唯一标识VXLAN隧道的一个规则,本申请实施例对该规则并不做具体限定。比如,基于第二网络设备到其他网络设备的VXLAN隧道的数量来生成隧道标识。
需要说明的是,上述没有查找到隧道标识之后的流程还称为建立第二网络设备到第三网络设备之间的VXLAN隧道的过程。此时,上述过程能够这样描述:第二网络设备在接收到终端变更消息后,查找是否已经与第二网络设备到第三网络设备的VXLAN隧道,如果没有第二网络设备到第三网络设备的VXLAN隧道,则建立第二网络设备到第三网络设备的VXLAN隧道,并将第二网络设备到第三网络设备的VXLAN隧道的隧道标识和第一终端设备地址之间的对应关系添加到转发表中。如果已经建立有第二网络设备到第三网络设备的VXLAN隧道,则只需将第二网络设备到第三网络设备的VXLAN隧道的隧道标识和第一终端设备的地址之间的对应关系添加到转发表中即可。
下面以图5所示的实施例对图3所示的流程进一步详细解释说明,在图5所示的实施例中,控制设备为VXLAN网络中的边界设备。
1、终端设备A迁移到边缘设备2后,如果终端设备A和终端设备B一段时间没有互访,那么边缘设备4设备上在老化时间内没有收到目的地址为终端设备A的流量。边缘设备4就删除转发表中终端设备A的表项,同时判断转发表中没有任何边缘设备1下的终端设备的表项,则删除到边缘设备4到边缘设备1的VXLAN隧道。
2、终端设备迁移到边缘设备2后,如果终端设备A和终端设备B有互访。那么流程如图5所示。
1)终端设备B发送流量访问终端设备A
2)边缘设备4根据转发表,将流量转发到边缘设备4到边缘设备1的VXLAN隧道。
3)边缘设备1收到终端设备B的流量,查询本设备的终端接入集合中无终端设备A,同时识别到接收到的流量为VXLAN报文。
4)由于边缘设备1的终端接入集合中无终端设备A,因此将流量通过边缘设备1到边界设备的VXLAN隧道转发流量。
5)边界设备收到流量,将流量通过边界设备到边缘设备2的VLXLAN隧道转发给边缘设备2。
6)边缘设备2设备收到流量,根据转发表转发给终端设备A。
7)边缘设备1设备转发流量的同时,触发错误报文通告消息,通过OCP协议通告边界设备终端设备B访问终端设备A的错误报文。
8)边界设备查询各个终端设备的终端接入集合,发现终端设备B对应的VTEP是边缘设备4。
9)边界设备通过OCP协议发送通告给边缘设备4,以通告终端设备A对应的VTEP是边缘设备2。
10)边缘设备4收到通告后,通过下述步骤更新转发表中终端设备A的表项。
11)边缘设备4判断,如果边缘设备4到边缘设备2的VXLAN隧道未创建,则建立边缘设备4到边缘设备2的VXLAN隧道(此处建立边缘设备4->边缘设备2的VXLAN隧道是指:获取边缘设备4->边缘设备2的VXLAN隧道的隧道标识,并将该隧道标识与终端设备A的地址之间的对应关系添加到转发表中)。
12)边缘设备4删除转发表中终端设备A的地址与边缘设备4到边缘设备1之间的VXLAN隧道的隧道标识之间的对应关系,并判断,如果本设备的转发表中没有包括该隧道标识的对应关系,表明转发表中没有任何边缘设备1所连接的终端设备的表项,则删除边缘设备4到边缘设备1的VXLAN隧道(此处删除边缘设备4到边缘设备1的VXLAN隧道是指:删除隧道列表中边缘设备4到边缘设备1的VXLAN隧道的隧道标识和边缘设备1的标识之间的对应关系)。
13)边缘设备4到边缘设备2的VXLAN隧道建立后,终端设备B访问终端设备A的流量从边缘设备4到边缘设备2的VXLAN隧道转发。
通过本申请实施例提供的建立VXLAN隧道的方法,由于第一网络设备在确定第一终端设备没有与自身连接时,将向控制设备发送错误报文通过消息。因此,如果第一终端设备从第一网络设备处迁出,那么即使由于第二网络设备处的转发表没有及时更新导致将第一VXLAN报文错误地发送至第一网络设备,通过错误报文通告消息仍然可以将该迁出情况通知至控制设备,以通过控制设备来通告第二网络设备,从而使得第二网络设备及时更新转发表。因此,通过本申请实施例提供的方法,能够在终端设备发生迁移时动态变更转发表中已经建立的VXLAN隧道,使得网络中建立的VXLAN隧道能够实时表征当前需求的VXLAN隧道。如此,不仅提高了建立VXLAN隧道的灵活性,并且使得VXLAN中无需保留全部的设备之间的VXLAN隧道,从而节省各个网络设备处的转发表资源。
图6是本申请实施例提供的一种VXLAN中的第一网络设备的结构示意图,该VXLAN中包括多个网络设备,第一网络设备为多个网络设备中的一个。
如图6所示,第一网络设备600包括:
接收模块601,用于接收来自第二网络设备的第一VXLAN报文,第一VXLAN报文包括的原始帧的目的地址为第一终端设备的地址;
发送模块602,用于如果第一网络设备所连接的终端设备中没有第一终端设备,则向控制设备发送错误报文通告消息,错误报文通告消息包括第一终端设备的地址、第一网络设备的标识以及第二网络设备的标识,错误报文通告消息指示第一终端设备没有与第一网络设备连接,但第一网络设备仍接收到来自第二网络设备且发送至第一终端设备的VXLAN报文。
可选地,第一网络设备还包括:
删除模块,用于当确定第一终端设备离开第一网络设备时,从第一网络设备的终端接入集合中删除第一终端设备的地址,终端接入集合中包括连接第一网络设备的各个终端设备的地址。
可选地,删除模块用于:
如果检测到第一终端设备和第一网络设备断开通信,则确定第一终端设备离开第一网络设备。
可选地,发送模块还用于:
向控制设备发送终端迁出通知,终端迁出通知包括第一终端设备的地址和第一网络设备的标识,终端迁出通知指示第一终端设备离开第一网络设备。
可选地,删除模块用于:
如果接收到来自控制设备的终端迁出指示,则确定第一终端设备离开第一网络设备,终端迁出指示包括第一终端设备的地址,终端迁出指示用于指示第一终端设备离开第一网络设备。
可选地,发送模块还用于:
将原始帧封装为第二VXLAN报文,将第二VXLAN报文经由第一网络设备到控制设备之间的VXLAN隧道发送至控制设备。
在本申请实施例中,由于第一网络设备在确定第一终端设备没有与自身连接时,将向控制设备发送错误报文通过消息。因此,如果第一终端设备从第一网络设备处迁出,那么即使由于第二网络设备处的转发表没有及时更新导致将第一VXLAN报文错误地发送至第一网络设备,通过错误报文通告消息仍然可以将该迁出情况通知至控制设备,以通过控制设备来通告第二网络设备,从而使得第二网络设备及时更新转发表。因此,通过本申请实施例提供的方法,能够在终端设备发生迁移时动态变更转发表中已经建立的VXLAN隧道,使得网络中建立的VXLAN隧道能够实时表征当前需求的VXLAN隧道。如此,不仅提高了建立VXLAN隧道的灵活性,并且使得VXLAN中无需保留全部的设备之间的VXLAN隧道,从而节省各个网络设备处的转发表资源。
需要说明的是:上述实施例提供的第一网络设备在建立VXLAN隧道时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的第一网络设备与建立VXLAN隧道的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本申请实施例提供的一种控制设备的结构示意图。如图7所示,该控制设备700包括:
接收模块701,用于接收来自VXLAN中的第一网络设备的错误报文通告消息,错误报文通告消息包括第一终端设备的地址、第一网络设备的标识以及第二网络设备的标识,错误报文通告消息指示第一终端设备没有与第一网络设备连接,但第一网络设备仍接收到来自第二网络设备且发送至第一终端设备的VXLAN报文,VXLAN中包括多个网络设备,第一网络设备和第二网络设备为多个网络设备中的两个;
发送模块702,用于向第二网络设备发送终端变更消息,终端变更消息包括第一终端设备的地址和第三网络设备的标识,终端变更消息指示第一终端设备当前连接第三网络设备。
可选地,
接收模块,还用于接收来自第一网络设备的终端迁出通知,终端迁出通知包括第一终端设备的地址和第一网络设备的标识,终端迁出通知指示第一终端设备离开第一网络设备;
控制设备还包括删除模块,用于从第一网络设备的终端接入集合中删除第一终端设备的地址,终端接入集合中包括连接第一网络设备的各个终端设备的地址。
可选地,
接收模块,还用于接收来自第三网络设备发送的终端接入通告消息,终端接入通告消息包括第一终端设备地址和第三网络设备的标识,终端接入通告消息指示第一终端设备连接在第三网络设备处;
控制设备还包括删除模块,用于如果第一网络设备的终端接入集合中包括第一终端设备的地址,则删除第一网络设备的终端接入集合中第一终端设备的地址;
发送模块,还用于向第一网络设备发送终端迁出指示,终端迁出指示包括第一终端设备的地址,终端迁出指示用于指示第一终端设备离开第一网络设备。
可选地,控制设备还包括:
添加模块,用于将第一终端设备的地址添加到第三网络设备的终端接入集合中。
在本申请实施例中,由于第一网络设备在确定第一终端设备没有与自身连接时,将向控制设备发送错误报文通过消息。因此,如果第一终端设备从第一网络设备处迁出,那么即使由于第二网络设备处的转发表没有及时更新导致将第一VXLAN报文错误地发送至第一网络设备,通过错误报文通告消息仍然可以将该迁出情况通知至控制设备,以通过控制设备来通告第二网络设备,从而使得第二网络设备及时更新转发表。因此,通过本申请实施例提供的方法,能够在终端设备发生迁移时动态变更转发表中已经建立的VXLAN隧道,使得网络中建立的VXLAN隧道能够实时表征当前需求的VXLAN隧道。如此,不仅提高了建立VXLAN隧道的灵活性,并且使得VXLAN中无需保留全部的设备之间的VXLAN隧道,从而节省各个网络设备处的转发表资源。
需要说明的是:上述实施例提供的控制设备在建立VXLAN隧道时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的控制设备与建立VXLAN隧道的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本申请实施例提供的一种网络设备的结构示意图。上述实施例中的任一网络设备或控制设备均可以通过图8所示的网络设备来实现。参见图8,该网络设备包括至少一个处理器801,通信总线802、存储器803以及至少一个通信接口804。
处理器801可以是一个通用中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路。图6实施例中的删除模块,以及图7实施例中删除模块、添加模块的功能均可以通过处理器来实现。
通信总线802可包括一通路,在上述组件之间传送信息。
存储器803可以是只读存储器(read-only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、电可擦可编程只读存储器(electrically erasable programmableread-only memory,EEPROM)、光盘(包括只读光盘(compact disc read-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器803可以是独立存在,通过通信总线802与处理器801相连接。存储器803也可以和处理器801集成在一起。
其中,存储器803用于存储执行本申请方案的程序代码,并由处理器801来控制执行。处理器801用于执行存储器803中存储的程序代码。程序代码中可以包括一个或多个软件模块。图1至图6中的网络设备或控制设备可以通过处理器801以及存储器803中的程序代码中的一个或多个软件模块,来确定用于开发应用的数据。
通信接口804,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。图6或图7实施例中的接收模块和发送模块的功能可以通过通信接口来实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如:固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (19)
1.一种建立虚拟扩展局域网VXLAN隧道的方法,其特征在于,应用于VXLAN中的第一网络设备,所述VXLAN中包括多个网络设备和控制设备,所述多个网络设备和所述控制设备上部署虚拟网络控制协议OCP,以使所述控制设备作为OCP服务端,所述多个网络设备作为OCP客户端,所述OCP服务端与任一OCP客户端在VXLAN网络初始化时通过所述OCP建立南北向的VXLAN隧道,所述控制设备处存储有所述VXLAN中任一网络设备的终端接入集合,所述终端接入集合包括相应网络设备当前时间所接入的终端,所述第一网络设备为所述多个网络设备中的一个,所述控制设备为所述VXLAN中的边界border设备,所述多个网络设备为所述VXLAN中的边缘edge设备;
所述方法包括:
所述第一网络设备接收来自第二网络设备的第一VXLAN报文,所述第一VXLAN报文包括的原始帧的目的地址为第一终端设备的地址;
如果所述第一网络设备所连接的终端设备中没有所述第一终端设备,则基于与所述控制设备之间的南北向的VXLAN隧道向所述控制设备发送错误报文通告消息,所述错误报文通告消息包括所述第一终端设备的地址、所述第一网络设备的标识以及所述第二网络设备的标识,所述错误报文通告消息指示所述第一终端设备没有与所述第一网络设备连接,但所述第一网络设备仍接收到来自所述第二网络设备且发送至所述第一终端设备的VXLAN报文,以使所述控制设备基于与所述第二网络设备之间的南北向的VXLAN隧道控制所述第二网络设备建立与第三网络设备之间的东西向的VXLAN隧道,所述第三网络设备为所述第一终端设备当前接入的网络的设备;
所述方法还包括:
将所述原始帧封装为第二VXLAN报文,将所述第二VXLAN报文经由所述第一网络设备到所述控制设备之间的南北向的VXLAN隧道发送至所述控制设备,以使所述控制设备基于与所述第三网络设备之间的南北向的VXLAN隧道将封装有所述原始帧的第三VXLAN报文发送至所述第一终端设备。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一终端设备离开所述第一网络设备时,从所述第一网络设备的终端接入集合中删除所述第一终端设备的地址,所述终端接入集合中包括连接所述第一网络设备的各个终端设备的地址。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
如果检测到所述第一终端设备和所述第一网络设备断开通信,则确定所述第一终端设备离开所述第一网络设备。
4.如权利要求2所述的方法,其特征在于所述方法还包括:
所述第一终端设备离开所述第一网络设备时,向所述控制设备发送终端迁出通知,所述终端迁出通知包括所述第一终端设备的地址和所述第一网络设备的标识,所述终端迁出通知指示所述第一终端设备离开所述第一网络设备。
5.如权利要求2至4任一所述的方法,其特征在于,包括:
如果接收到来自所述控制设备的终端迁出指示,则确定所述第一终端设备离开所述第一网络设备,所述终端迁出指示包括所述第一终端设备的地址,所述终端迁出指示用于指示所述第一终端设备离开所述第一网络设备。
6.一种建立虚拟扩展局域网VXLAN隧道的方法,其特征在于,应用于控制设备,所述VXLAN中包括多个网络设备和控制设备,所述多个网络设备和所述控制设备上部署虚拟网络控制协议OCP,以使所述控制设备作为OCP服务端,所述多个网络设备作为OCP客户端,所述OCP服务端与任一OCP客户端在VXLAN网络初始化时通过所述OCP建立南北向的VXLAN隧道,所述控制设备处存储有所述VXLAN中任一网络设备的终端接入集合,所述终端接入集合包括相应网络设备当前时间所接入的终端,第一网络设备为所述多个网络设备中的一个,所述控制设备为所述VXLAN中的边界border设备,所述多个网络设备为所述VXLAN中的边缘edge设备;
所述方法包括:
基于与第一网络设备之间的南北向的VXLAN隧道接收来自VXLAN中的第一网络设备的错误报文通告消息,所述错误报文通告消息包括第一终端设备的地址、所述第一网络设备的标识以及第二网络设备的标识,所述错误报文通告消息指示所述第一终端设备没有与所述第一网络设备连接,但所述第一网络设备仍接收到来自所述第二网络设备且发送至所述第一终端设备的第一VXLAN报文,所述VXLAN中包括多个网络设备,所述第一网络设备和所述第二网络设备为所述多个网络设备中的两个;
基于与所述第二网络设备之间的南北向的VXLAN隧道向所述第二网络设备发送终端变更消息,所述终端变更消息包括所述第一终端设备的地址和第三网络设备的标识,所述终端变更消息指示所述第一终端设备当前连接所述第三网络设备,以使所述第二网络设备建立与所述第三网络设备之间的东西向的VXLAN隧道;
所述方法还包括:
基于与所述第一网络设备之间的南北向的VXLAN隧道接收来自所述第一网络设备的第二VXLAN报文,所述第二VXLAN报文是将所述第一VXLAN报文的原始帧重新封装得到;
基于与所述第三网络设备之间的南北向的VXLAN隧道将封装有所述原始帧的第三VXLAN报文发送至所述第一终端设备。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
接收来自所述第一网络设备的终端迁出通知,所述终端迁出通知包括所述第一终端设备的地址和所述第一网络设备的标识,所述终端迁出通知指示所述第一终端设备离开所述第一网络设备;
从所述第一网络设备的终端接入集合中删除所述第一终端设备的地址,所述终端接入集合中包括连接所述第一网络设备的各个终端设备的地址。
8.如权利要求6或7所述的方法,其特征在于,所述方法还包括:
接收来自所述第三网络设备发送的终端接入通告消息,所述终端接入通告消息包括所述第一终端设备地址和所述第三网络设备的标识,所述终端接入通告消息指示所述第一终端设备连接在所述第三网络设备处;
如果所述第一网络设备的终端接入集合中包括所述第一终端设备的地址,则删除所述第一网络设备的终端接入集合中所述第一终端设备的地址并向所述第一网络设备发送终端迁出指示,所述终端迁出指示包括所述第一终端设备的地址,所述终端迁出指示用于指示所述第一终端设备离开所述第一网络设备。
9.如权利要求8所述的方法,其特征在于,所述接收来自所述第三网络设备发送的终端接入通告消息之后,还包括:
将所述第一终端设备的地址添加到所述第三网络设备的终端接入集合中。
10.一种VXLAN中的第一网络设备,其特征在于,所述VXLAN中包括多个网络设备和控制设备,所述多个网络设备和所述控制设备上部署虚拟网络控制协议OCP,以使所述控制设备作为OCP服务端,所述多个网络设备作为OCP客户端,所述OCP服务端与任一OCP客户端在VXLAN网络初始化时通过所述OCP建立南北向的VXLAN隧道,所述控制设备处存储有所述VXLAN中任一网络设备的终端接入集合,所述终端接入集合包括相应网络设备当前时间所接入的终端,第一网络设备为所述多个网络设备中的一个,所述控制设备为所述VXLAN中的边界border设备,所述多个网络设备为所述VXLAN中的边缘edge设备;
所述第一网络设备包括:
接收模块,用于接收来自第二网络设备的第一VXLAN报文,所述第一VXLAN报文包括的原始帧的目的地址为第一终端设备的地址;
发送模块,用于如果所述第一网络设备所连接的终端设备中没有所述第一终端设备,则基于与所述控制设备之间的南北向的VXLAN隧道向控制设备发送错误报文通告消息,所述错误报文通告消息包括所述第一终端设备的地址、所述第一网络设备的标识以及所述第二网络设备的标识,所述错误报文通告消息指示所述第一终端设备没有与所述第一网络设备连接,但所述第一网络设备仍接收到来自所述第二网络设备且发送至所述第一终端设备的VXLAN报文,以使所述控制设备基于与所述第二网络设备之间的南北向的VXLAN隧道控制所述第二网络设备建立与第三网络设备之间的东西向的VXLAN隧道,所述第三网络设备为所述第一终端设备当前接入的网络的设备;
所述发送模块还用于:
将所述原始帧封装为第二VXLAN报文,将所述第二VXLAN报文经由所述第一网络设备到所述控制设备之间的南北向的VXLAN隧道发送至所述控制设备,以使所述控制设备基于与所述第三网络设备之间的南北向的VXLAN隧道将封装有所述原始帧的第三VXLAN报文发送至所述第一终端设备。
11.如权利要求10所述的第一网络设备,其特征在于,所述第一网络设备还包括:
删除模块,用于当所述第一终端设备离开所述第一网络设备时,从所述第一网络设备的终端接入集合中删除所述第一终端设备的地址,所述终端接入集合中包括连接所述第一网络设备的各个终端设备的地址。
12.如权利要求11所述的第一网络设备,其特征在于,所述删除模块用于:
如果检测到所述第一终端设备和所述第一网络设备断开通信,则确定所述第一终端设备离开所述第一网络设备。
13.如权利要求11所述的第一网络设备,其特征在于,所述发送模块还用于:
所述第一终端设备离开所述第一网络设备时,向所述控制设备发送终端迁出通知,所述终端迁出通知包括所述第一终端设备的地址和所述第一网络设备的标识,所述终端迁出通知指示所述第一终端设备离开所述第一网络设备。
14.如权利要求11至13任一所述的第一网络设备,其特征在于,所述删除模块用于:
如果接收到来自所述控制设备的终端迁出指示,则确定所述第一终端设备离开所述第一网络设备,所述终端迁出指示包括所述第一终端设备的地址,所述终端迁出指示用于指示所述第一终端设备离开所述第一网络设备。
15.一种控制设备,其特征在于,所述控制设备为虚拟扩展局域网VXLAN中的控制设备,所述VXLAN还包括多个网络设备,所述多个网络设备和所述控制设备上部署虚拟网络控制协议OCP,以使所述控制设备作为OCP服务端,所述多个网络设备作为OCP客户端,所述OCP服务端与任一OCP客户端在VXLAN网络初始化时通过所述OCP建立南北向的VXLAN隧道,所述控制设备处存储有所述VXLAN中任一网络设备的终端接入集合,所述终端接入集合包括相应网络设备当前时间所接入的终端,第一网络设备为所述多个网络设备中的一个,所述控制设备为所述VXLAN中的边界border设备,所述多个网络设备为所述VXLAN中的边缘edge设备;
所述控制设备包括:
接收模块,用于基于与第一网络设备之间的南北向的VXLAN隧道接收来自VXLAN中的第一网络设备的错误报文通告消息,所述错误报文通告消息包括第一终端设备的地址、所述第一网络设备的标识以及第二网络设备的标识,所述错误报文通告消息指示所述第一终端设备没有与所述第一网络设备连接,但所述第一网络设备仍接收到来自所述第二网络设备且发送至所述第一终端设备的第一VXLAN报文,所述VXLAN中包括多个网络设备,所述第一网络设备和所述第二网络设备为所述多个网络设备中的两个;
发送模块,用于基于与所述第二网络设备之间的南北向的VXLAN隧道向所述第二网络设备发送终端变更消息,所述终端变更消息包括所述第一终端设备的地址和第三网络设备的标识,所述终端变更消息指示所述第一终端设备当前连接所述第三网络设备,以使所述第二网络设备建立与所述第三网络设备之间的东西向的VXLAN隧道;
所述接收模块,还用于基于与所述第一网络设备之间的南北向的VXLAN隧道接收来自所述第一网络设备的第二VXLAN报文,所述第二VXLAN报文是将所述第一VXLAN报文的原始帧重新封装得到;
所述发送模块,还用于基于与所述第三网络设备之间的南北向的VXLAN隧道将封装有原始帧第三VXLAN报文发送至所述第一终端设备。
16.如权利要求15所述的控制设备,其特征在于,
所述接收模块,还用于接收来自所述第一网络设备的终端迁出通知,所述终端迁出通知包括所述第一终端设备的地址和所述第一网络设备的标识,所述终端迁出通知指示所述第一终端设备离开所述第一网络设备;
所述控制设备还包括删除模块,用于从所述第一网络设备的终端接入集合中删除所述第一终端设备的地址,所述终端接入集合中包括连接所述第一网络设备的各个终端设备的地址。
17.如权利要求15或16所述的控制设备,其特征在于,
所述接收模块,还用于接收来自所述第三网络设备发送的终端接入通告消息,所述终端接入通告消息包括所述第一终端设备地址和所述第三网络设备的标识,所述终端接入通告消息指示所述第一终端设备连接在所述第三网络设备处;
所述控制设备还包括删除模块,用于如果所述第一网络设备的终端接入集合中包括所述第一终端设备的地址,则删除所述第一网络设备的终端接入集合中所述第一终端设备的地址;
所述发送模块,还用于向所述第一网络设备发送终端迁出指示,所述终端迁出指示包括所述第一终端设备的地址,所述终端迁出指示用于指示所述第一终端设备离开所述第一网络设备。
18.如权利要求17所述的控制设备,其特征在于,所述控制设备还包括:
添加模块,用于将所述第一终端设备的地址添加到所述第三网络设备的终端接入集合中。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-5任一项所述的方法、或者执行权利要求6-9任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615448.XA CN113872844B (zh) | 2020-06-30 | 2020-06-30 | 建立vxlan隧道的方法及相关设备 |
PCT/CN2021/100398 WO2022001666A1 (zh) | 2020-06-30 | 2021-06-16 | 建立vxlan隧道的方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615448.XA CN113872844B (zh) | 2020-06-30 | 2020-06-30 | 建立vxlan隧道的方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113872844A CN113872844A (zh) | 2021-12-31 |
CN113872844B true CN113872844B (zh) | 2023-07-18 |
Family
ID=78981462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010615448.XA Active CN113872844B (zh) | 2020-06-30 | 2020-06-30 | 建立vxlan隧道的方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113872844B (zh) |
WO (1) | WO2022001666A1 (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108293022A (zh) * | 2015-12-30 | 2018-07-17 | 华为技术有限公司 | 一种报文传输的方法、装置和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259736A (zh) * | 2013-05-24 | 2013-08-21 | 杭州华三通信技术有限公司 | 一种隧道建立方法和网络设备 |
CN103346900B (zh) * | 2013-05-31 | 2016-12-28 | 华为技术有限公司 | 大二层网络中虚拟机热迁移后的路由配置方法和网关 |
US9923800B2 (en) * | 2014-10-26 | 2018-03-20 | Microsoft Technology Licensing, Llc | Method for reachability management in computer networks |
CN106385354B (zh) * | 2016-08-30 | 2019-08-20 | 锐捷网络股份有限公司 | 报文转发方法及装置 |
CN107547400B (zh) * | 2017-06-21 | 2020-05-12 | 新华三技术有限公司 | 一种虚拟机迁移方法和装置 |
CN107547349B (zh) * | 2017-07-31 | 2021-02-05 | 新华三技术有限公司 | 一种虚拟机迁移的方法及装置 |
-
2020
- 2020-06-30 CN CN202010615448.XA patent/CN113872844B/zh active Active
-
2021
- 2021-06-16 WO PCT/CN2021/100398 patent/WO2022001666A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108293022A (zh) * | 2015-12-30 | 2018-07-17 | 华为技术有限公司 | 一种报文传输的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2022001666A1 (zh) | 2022-01-06 |
CN113872844A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11184842B2 (en) | Conveying non-access stratum messages over ethernet | |
EP3993347A1 (en) | Method and device for application migration | |
US20200059976A1 (en) | IoT DEVICE CONNECTIVITY, DISCOVERY, AND NETWORKING | |
US9374323B2 (en) | Communication between endpoints in different VXLAN networks | |
US10263808B2 (en) | Deployment of virtual extensible local area network | |
CN113872845B (zh) | 建立vxlan隧道的方法及相关设备 | |
CN110213148B (zh) | 一种数据传输的方法、系统及装置 | |
CN114124618B (zh) | 一种报文传输方法及电子设备 | |
CN103580980A (zh) | 虚拟网络自动发现和自动配置的方法及其装置 | |
WO2014176740A1 (zh) | 流分类器、业务路由触发器、报文处理的方法和系统 | |
CN104871495A (zh) | 用于叠加网络的虚拟叠加网关 | |
WO2014118622A1 (en) | Method of managing zigbee network in the internet of things | |
EP4027593A1 (en) | Tunnel configuration method, apparatus and system, and device and storage medium | |
JP2021530892A (ja) | 通信方法及び通信装置 | |
CN107645433B (zh) | 报文转发方法及装置 | |
CN107659484B (zh) | 从vlan网络接入vxlan网络的方法、装置及系统 | |
US20190215191A1 (en) | Deployment Of Virtual Extensible Local Area Network | |
CN117083843A (zh) | 利用多播侦听者发现来发现主机 | |
CN113162779B (zh) | 一种多云互联的方法及设备 | |
JP2023510707A (ja) | 返信パケットを送信するための方法、経路広告メッセージを送信するための方法、ネットワークデバイス、および、コンピュータプログラム | |
CN113872844B (zh) | 建立vxlan隧道的方法及相关设备 | |
WO2013023465A1 (zh) | 身份位置分离与传统网络互联互通方法、ilr和asr | |
WO2018121443A1 (zh) | 报文传输方法及装置 | |
CN108259292B (zh) | 建立隧道的方法及装置 | |
CN113923075A (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 |