CN113872845B - 建立vxlan隧道的方法及相关设备 - Google Patents
建立vxlan隧道的方法及相关设备 Download PDFInfo
- Publication number
- CN113872845B CN113872845B CN202010617508.1A CN202010617508A CN113872845B CN 113872845 B CN113872845 B CN 113872845B CN 202010617508 A CN202010617508 A CN 202010617508A CN 113872845 B CN113872845 B CN 113872845B
- Authority
- CN
- China
- Prior art keywords
- network
- terminal
- vxlan
- network device
- tunnel
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000032683 aging Effects 0.000 claims description 15
- 230000002431 foraging effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 16
- 230000004044 response Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000005538 encapsulation Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了一种建立VXLAN隧道的方法及相关设备,属于通信技术领域。该方法包括:第一网络设备接收来自第一终端设备的第一报文,第一报文的目的地址为第二终端设备的地址,响应于查询第二终端设备所连接的第二网络设备的失败,建立第二终端设备的地址与隧道标识之间对应关系,该隧道标识为第一网络设备到第二网络设备之间的VXLAN隧道。因此,通过该方法能够实现在存在流量转发需求的情况下动态建立网络设备与网络设备之间的VXLAN隧道,避免了需要预先建立全部的网络设备之间的VXLAN隧道,从而节省了网络设备处的转发表资源。由于转发表中存储的VXLAN隧道的信息减少,因此还可以提高转发报文时的转发表查询效率。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种建立虚拟扩展局域网(virtualextensible local area network,VXLAN)隧道的方法及相关设备。
背景技术
VXLAN技术能够在任意路由可达的网络上叠加二层虚拟网络,从而提高网络的规模扩展能力。VXLAN中包括两种角色的网络设备,一种称为边界(border)设备,该边界设备代表VXLAN的出口,因此,通过边界设备能够将报文转发至其他VXLAN中或非VXLAN中。另一种称为边缘(edge)设备,该边缘设备代表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隧道(此处的删除V XLAN隧道是指删除隧道标识与隧道对端设备标识之间的对应关系),而是在确定老化时间内没有到达第二网络设备下的任一终端设备的流量后,才删除建立的VXLAN隧道,从而保证访问第二网络设备连接的其他终端设备的流量的正常转发。
第二方面,提供了一种第一网络设备,该第一网络设备具有实现上述第一方面中建立VXLAN隧道的方法行为的功能。该装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的建立VXLAN隧道的方法。
第三方面,提供了一种网络设备,该网络设备的结构中包括处理器和存储器,所述存储器用于存储支持该网络设备执行上述第一方面所提供的建立VXLAN隧道的方法的程序,以及存储用于实现上述第一方面所提供的建立VXLAN隧道的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的建立VXLAN隧道的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的建立VXLAN隧道的方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例提供的一种VXLAN系统示意图;
图2是本申请实施例提供的另一种VXLAN系统示意图;
图3是本申请实施例提供的一种VXLAN隧道分布示意图;
图4是本申请实施例提供的一种VXLAN报文的格式示意图;
图5是本申请实施例提供的另一种VXLAN隧道分布示意图;
图6是本申请实施例提供的一种动态建立VXLAN隧道的示意图;
图7是本申请实施例提供的一种建立VXLAN隧道的方法流程图;
图8是本申请实施例提供的另一种建立VXLAN隧道的方法流程图;
图9是本申请实施例提供的一种第一网络设备的结构示意图;
图10是本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细说明之前,先对本申请实施例涉及的应用场景进行详细解释说明。
VXLAN技术,是由国际互联网工程任务组(Internet Engineering Task Force,IETF)定义的虚拟三层网络(Network Virtualization over Layer 3,NVO3)标准技术之一。请求意见稿(request for comments,RFC)7348定义了VXLAN的报文格式。具体地,采用将媒介接入控制(Media Access Control,MAC)置入(in)用户报文协议(User DatagramProtocol,UDP)的报文封装方式,将二层报文用三层协议进行封装,能够实现二层网络在三层范围内进行扩展。通过VXLAN能够满足数据中心网络的虚拟迁移和多租户的需求。同样,VXLAN也适用于园区网络中“一网多用”的场景。比如,将同一张承载网虚拟为多张业务网络,实现不同业务网络之间的相互隔离。
VXLAN能够在任意路由可达的网络上叠加二层虚拟网络,通过VXLAN网关实现VXLAN网络内部的互通。同时,通过VXLAN网络也能够实现与传统的非VXLAN网络的互通。VXLAN技术通过采用MAC置入UDP的封装方式来延伸二层网络,将以太报文封装在网络(internet protocol,IP)报文之上,通过VXLAN网关在网络中传输,无需关注终端设备的MAC地址。由于路由网络无网络结构限制,因此具备大规模扩展能力。所以通过路由网络,虚拟机等用户设备迁移不受网络架构限制。
图1是本申请实施例提供的一种VXLAN网络的架构示意图。如图1所示,将基础的物理网络称为底层(underlay)网络),将虚拟化出来的网络称为顶层(overlay)网络或虚拟交换网(Fabric),在该顶层网络中即可构建一个VXLAN网络。将VXLAN网络中的虚拟的网络设备分成两种角色,一种代表VXLAN网络的出口,称之为边界(border)设备,表示其与外部网络对接,通常是VXLAN网络的三层网关,对应于底层网络的出口网关。另一种代表VXLAN网络的接入,称之为边缘(edge)设备,表示VXLAN网络接入用户设备的部分,对应于VXLAN网络中的虚拟接入点(virtual access point,VAP),通常对应于underlay网络的网络接入设备,如接入交换机或接入点(access point,AP)。
比如,如图1所示,顶层网络中的C1-C5分别对于底层网络中的接入设备A1-A5,顶层网络中的边界设备D1(border)对应于底层网络中的网络出口设备B1。此外,根据VXLAN网络的部署模型,VAP或VXLAN隧道端点(VXLAN Tunnel Endpoints,VTEP)也有可能部署在底层网络的非接入层网络设备中。如图2所示,C1、C2分别对应于底层网络中的汇聚设备Agg1、Agg2。
对于顶层网络,如图3所示,在边界设备与边缘设备之间,边缘设备与边缘设备之间通过VXLAN隧道进行通信。边界设备和边缘设备之间会创建三层VXLAN隧道,终端设备跨不同VXLAN之间的互访(三层互访)需要通过三层VXLAN隧道转发。边缘设备和边缘设备之间会创建二层VXLAN隧道,终端设备在同一VXLAN内互访(二层互访)通过二层VXLAN隧道转发。
此外,在对本申请实施例进行详细解释说明之前,对VXLAN报文的封装格式也进行解释说明。如图4所示,原始帧(original L2frame)在封装过程中先被添加一个VXLAN帧头,再被封装在外层UDP帧头中,并使用承载网络的IP、MAC地址作为外层头进行封装,即可得到一个VXLAN报文。
上述VXLAN帧头、外层UDP帧头、外层IP帧头、以及外层以太网帧头中的各个字段的解释如表1所示。关于VXLAN报文中各个字段的含义在此就不再一一详细解释说明。
表1
为了后续便于说明,在此先对本申请实施例涉及的几个技术术语进行解释说明。
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隧道对端设备的标识(如对端设备的IP地址),还可为除VXLAN隧道对端设备的标识之外的其他唯一能够标识隧道的符号,比如隧道标识为针对VXLAN隧道的一个唯一编号。网络设备用该编号可以索引到相应的表项,表项内存放有包括对端设备的IP地址在内的VXLAN隧道参数。
在本申请实施例中,为了减轻网络设备上的转发表的数据存储压力,在VXLAN网络配置完成时,并不建立全部网络设备之间的VXLAN隧道。而是在某两个网络设备之间存在流量访问需求时,才建立这两个网络设备之间的VXLAN隧道。为了实现该技术效果,为VXLAN网络配置一个控制设备。在配置控制设备之后,在该控制设备和VXLAN中的各个网络设备之间进行如下配置。
在一种可能的实现方式中,上述控制设备为VXLAN中的某个网络设备。控制设备也可以为上述VXLAN之外的设备,例如控制设备支持VXLAN但在和网络设备虚拟网络标识(VNI)不同的VXLAN中,或者,该控制设备可以不支持VXLAN。下面以控制设备为VXLAN中的某个网络设备为例说明配置过程。
1、在控制设备和VXLAN中的其他网络设备上部署网络控制协议(overlay controlprotocol,OCP),以使控制设备作为OCP服务端(OCP server),其他网络设备作为OCP客户端(OCP client),实现其他网络设备和控制设备能够通信。
需要说明的是,上述OCP协议仅仅是实现控制设备和VXLAN中其他网络设备进行通信的一种可选的控制面协议。本申请实施例并不限定控制设备如何建立与各个网络设备之间的控制面协议。
在一种可能的实现方式中,控制设备设置为VXLAN中的边界设备。这种场景下,在边界设备和边缘设备上部署虚拟网络控制协议(overlay control protocol,OCP),以使边界设备作为OCP服务端(OCP server),边缘设备作为OCP客户端(OCP client)。
由于OCP客户端OCP服务端之间可以进行信息交互,如此,在VXLAN网络初始化时,任一边缘设备便可与边界设备先建立南北向的VXLAN隧道,而各个边缘设备之间由于无法获知对端信息则不建立边缘设备之间的VXLAN隧道。边缘设备与边界设备先建立南北向的VXLAN隧道的技术效果为:在边缘设备之间还未建立VXLAN隧道之前,以便两个边缘设备之间的VXLAN报文能够通过边界设备绕行,避免了边缘设备之间还未建立VXLAN隧道之前的报文传输时延较大。
图5是本申请实施例提供的一种VXLAN的架构示意图。该VXLAN中包括5个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服务端,VTEP P-1、VTEP-2、VTEP-3、VTEP-4作为OCP客户端。
如图5所示,基于部署的OCP协议,VTEP-1、VTEP-2、VTEP-3、VTEP-4分别与VTEP-5建立VXLAN隧道,得到如图5所示的南北方向的4条VXLAN隧道。VTEP-1、VTEP-2、VTEP-3、VTEP-4之间并不建立VXLAN隧道。
可选地,任一边缘设备与边界设备不先建立南北向的VXLAN隧道。这种场景下,如果两个边缘设备之间有VXLAN报文传输需求,则在两个边缘设备之间的VXLAN隧道建立完成后传输。
2、在控制设备处配置各个终端设备的访问策略。
对于网络中任一终端设备,该终端设备通常还配置有访问策略。该访问策略用于指示向该终端设备发送的报文需要满足的条件,以实现对网络中的流量的管控。但是在本申请实施例中,由于网络初始化时除控制设备之外的各个网络设备之间并不进行通信,如此任一网络设备便无法获取另一网络设备连接的某个终端设备的访问策略。所以,为了便于后续能够实现根据某个终端设备的访问策略向该终端设备发送报文,在控制设备处可以配置各个终端设备的访问策略,以便于后续某个网络设备能够从控制设备处获取到各个终端设备的访问策略。关于访问策略的具体功能将在后续转发报文的实施例中详细说明,在此就先不展开阐述。
比如,网络管理员根据网络业务的需要,定义某个终端设备的访问策略。该访问策略包括该终端设备的访问优先级、该终端设备被访问的带宽,该终端设备是否允许广播访问等条件。可选地,网络管理员能够通过在控制设备上直接配置访问策略,以实现控制设备上存储有各个终端设备的访问策略。可选地,网络管理员能够在认证服务器上定义各个终端设备的访问策略。当终端设备接入VXLAN时,认证服务器将该终端设备的访问策略下发给控制设备,这样,控制设备就存储有终端设备的访问策略。
比如,当控制设备为VXLAN中的边界设备时,在边界设备处存储有各个边缘设备的访问策略。
3、VXLAN中除控制设备外各个网络设备向控制设备通告自身当前连接的终端设备,以使控制设备存存储有各个网络设备的终端接入表。任一网络设备的终端接入表包括该网络设备所连接的各个终端设备的地址。
需要说明的是,上述终端接入表是终端接入集合的一种可能的数据结构,某个网络设备的终端接入集合中包括该网络设备所连接的各个终端设备的地址。在本申请实施例中,终端接入集合还可采用其他数据结构来表现,比如链表、列表等等,本申请实施例对此不作具体限定。
为了能够实现后续网络设备之间能够动态建立VXLAN隧道,各个网络设备将连接的终端设备的信息通告给控制设备,以便于后续任一网络设备能够通过控制设备获知到待访问的终端设备所接入的网络设备,从而建立两个网络设备之间的VXLAN隧道。
假设VXLAN中包括多个网络设备,第一网络设备为这多个网络设备中任一个。以第一网络设备为例说明上述各个网络设备向控制设备通告自身当前连接的终端设备。
在一种可能的实现方式中,第一网络设备接收第一终端设备发送的第二报文,第二报文的源地址为第一终端设备的地址,如果第二报文是第一网络设备首次接收到的来自第二终端设备的报文,第一网络设备则向控制设备发送终端接入通告消息,该终端接入通告消息携带第一终端设备的地址。该终端接入通告消息指示第一终端设备连接在第一边缘设备处,控制设备在接收到该终端接入通告消息时,便可将第一终端设备的地址添加到第一网络设备的终端接入表中,该终端接入表中维护有连接在第一网络设备的各个终端设备的地址。
对于图5所示的VXLAN架构,如图6所示,假设终端设备A接入边缘设备VTEP-1,此时终端设备A向VTEP-1发送报文,该报文携带终端设备A的地址,该地址包括IP地址和/或MAC地址。如果该报文是VTEP-1首次接收到来自终端设备A的报文,获悉当前终端设备A接入到VTEP-1上,VTEP-1通过OCP协议向边界设备发送终端接入通告消息,该终端接入通告消息携带包括终端设备A的地址、VTEP-1的标识,VTEP-1的标识可以为VTEP IP。当边界设备接收到该终端接入通告消息时,根据该终端接入通告消息携带的终端设备A的地址以及VTEP-1的标识,获知终端设备A当前接入到VTEP-1,将终端设备A的标识添加到VTEP-1的终端接入表中。如图6所示,前述过程可以称为“终端上报”过程,目的在于边界设备能够获取到各个边缘设备所连接的终端设备的地址。
如图6所示,当终端设备B接入VTEP-4时,可以参考上述“终端上报”过程实现将终端设备B的地址上报至边界设备,以使边界设备将终端设备B的地址添加到VTEP-4的终端接入表中。
此外,上述边缘设备向边界设备上报的终端接入通告消息还可以包括终端设备的所在网段的标识VNI,以便于后续边界设备在向某个终端设备发送报文时基于该终端设备所在的VNI进行发送。本申请实施例对边界设备基于该终端设备所在的VNI转发报文的详细实现方式不作具体说明。
另外,图5和图6是以控制设备为VXLAN中的边界设备为例进行说明。可选地,如果控制设备为VXLAN中的某个边缘设备,此时,VXLAN中的其他网络设备和该边缘设备也可以参考上述方式进行配置。可选地,如果控制设备为非VXLAN中的一个设备,这种场景下,控制设备和VXLAN中的任一网络设备只需部署OCP协议即可,并不建立图5所示的南北向的VXLAN隧道。
上述内容用于解释说明VXLAN中各个网络设备的配置内容。基于该配置,VXLAN可以实现在存在流量需求时动态建立VXLAN隧道,而不是预先将全部网络设备之间的VXLAN隧道建立完。
图7是本申请实施例提供的一种建立VXLAN隧道的方法流程图,用于解释说明如何基于流量需求动态建立VXLAN隧道。如图7所示,该方法包括如下几个步骤。
步骤701:第一网络设备接收来自第一终端设备的第一报文,第一报文的目的地址为第二终端设备的地址。
本申请实施例提供的VXLAN中包括多个网络设备,第一网络设备为多个网络设备中任一个。图7所示的实施例是以第一网络设备为例进行说明如何基于流量需求动态建立VXLAN隧道,VXLAN网络中的任一网络设备均可以参考图7所示的实施例来实现本申请实施例提供的方法。
由于在VXLAN网络配置完成时,并不建立全部网络设备之间的VXLAN隧道。而是在某两个网络设备之间存在流量访问需求时,才建立这两个网络设备之间的VXLAN隧道。因此,在第一网络设备接收到第一报文后,需要确定第二终端设备所连接的VXLAN中的网络设备。如果第一网络设备从本地能够查询到第二终端设备所连接的VXLAN中的网络设备为第二网络设备,则可基于第一网络设备到第二网络设备的VXLAN隧道,转发第一报文。如果第一网络设备不能从本地查询到第二终端设备所连接的网络设备,则通过下述步骤702动态转发第一报文。
为了便于第一网络设备能够快速转发报文,第一网络设备处存储有转发表。该转发表中包括多个终端设备地址和与各个终端设备地址对应的隧道标识。该转发表的功能为:通过与任一终端设备地址对应的隧道标识所指示的VXLAN隧道,能够将报文转发该终端设备地址所指示的终端设备。
在一种可能的实现方式中,上述隧道标识是VXLAN隧道的接收端的VTEP的标识(如对端设备的IP地址)。比如,对于第一网络设备到第二网络设备的VXLAN隧道,该VXLAN隧道的隧道标识为第二网络设备的标识。
在另一种可能的实现方式中,隧道标识为除VXLAN隧道对端设备的标识之外的其他唯一能够标识隧道的符号,比如隧道标识为针对VXLAN隧道的一个唯一编号。比如,对于第一边缘设备到第二边缘设备的VXLAN隧道,该VXLAN隧道的隧道标识为隧道1。需要说明的是,在该实现方式中,为了便于后续查询某个VXLAN隧道的对端设备进转发报文,网络设备用该编号可以索引到相应的表项,表项内存放有包括对端设备的IP地址在内的VXLAN隧道参数。因此,在一种可能的实现方式中,第一网络设备还可以维护一个隧道列表,该隧道列表中包括与各个隧道标识一一对应的VXLAN隧道的接收端的VTEP的标识。
所以,第一网络设备接收到第一终端设备发送的第一报文,且该第一报文的目的地址为第二终端设备的地址时,第一网络设备在转发表中查找是否存在与第二终端设备的地址对应的隧道标识。如果转发表中存在与第二终端设备的地址对应的隧道标识,则表明当前存在第一边缘设备到第二边缘设备之间的VXLAN隧道,这种情况下,便可根据该与第二终端设备的地址对应的VXLAN隧道的标识,转发第一报文。
如果转发表中不存在与第二终端设备的地址对应的VXLAN隧道的标识,则表明当前从第一网络设备的本地并不能获知第一终端设备所连接的网络设备,这种情况下,需要第一网络设备根据下述步骤702发送第一报文。
步骤702:响应于查询第二终端设备所连接的第二网络设备的失败,建立第二终端设备的地址与隧道标识之间对应关系,该隧道标识为第一网络设备到第二网络设备之间的VXLAN隧道。
基于前述对VXLAN中的配置可知,控制设备处存储有各个网络设备的终端接入表,任一网络设备的终端接入表包括相应网络设备所连接的终端设备的地址。因此,在一种可能的实现方式中,上述建立第二终端设备的地址与隧道标识之间对应关系的实现过程可以为:第一网络设备向控制设备发送终端查询请求。该终端查询请求用于查询第二终端设备当前接入的网络设备,该终端信息查询请求包括第二终端设备的地址。当控制设备接收到该终端查询请求时,从存储的各个网络设备的终端接入表中查询包括第二终端设备的地址的终端接入表,将查询到的终端接入表所对应的网络设备作为第二网络设备。如此,控制设备查询出第二终端设备当前所连接的网络设备为第二网络设备。控制设备向第一网络设备发送终端查询结果,该终端查询结果携带第二网络设备的标识。第一网络设备接收控制设备返回的终端查询结果,获知到第二终端设备当前所接入的网络设备为第二网络设备,因此,第一网络设备便可根据第二网络设备的标识,建立第二终端设备的地址与该隧道标识之间的对应关系。
需要说明的是,由于转发表中隧道标识有不同的表现方式,因此,第一网络设备根据第二网络设备的标识,建立第二终端设备的地址与该隧道标识之间的对应关系也相应有不同的实现方式。
在一种可能的实现方式中,转发表中的隧道标识为是VXLAN隧道的接收端的设备的标识。此时,将第二网络设备的标识作为第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识,然后建立第二网络设备的标识和第二终端设备的地址之间的对应关系即可。该步骤中“作为”有不包括任何操作的含义,换句话说,当第一网络设备获取到第二网络设备的标识时,便相当于确定出了第一网络设备到第二网络设备的VXLAN隧道的隧道标识。
在另一种可能的实现方式中,转发表中的隧道标识为除VXLAN隧道对端设备的标识之外的其他唯一能够标识隧道的符号,比如隧道标识为针对VXLAN隧道的一个唯一编号。此时,根据第二网络设备的标识,建立第二终端设备的地址与该隧道标识之间的对应关系是指:根据第二网络设备的标识,从隧道列表中查找对应的隧道接收端为第二网络设备VXLAN隧道的隧道标识,如果查找到一个隧道标识,该隧道标识即为第一网络设备到第二网络设备之间的VXLAN隧道的标识,表明当前已经建立有第一网络设备到第二网络设备的VXLAN隧道,只是没有将第二终端设备的地址和该VXLAN隧道的隧道标识之间的对应关系创建起来而已,因此建立第二终端设备的地址和该VXLAN隧道的隧道标识之间的对应关系即可。如果没有查找到任何隧道标识,则基于隧道标识生成规则,生成第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识。然后将生成的隧道标识和第二网络设备的标识之间的对应关系添加到隧道列表中,并建立第二终端设备的地址和生成的隧道标识之间的对应关系。该隧道标识生成规则为用于生成唯一标识VXLAN隧道符号的一个规则,本申请实施例对该规则并不做具体限定。比如,基于第一网络设备到其他网络设备的VXLAN隧道的数量来生成隧道标识。
需要说明的是,上述没有查找到隧道标识之后的一系列流程即可称为建立第一网络设备到第二网络设备之间的VXLAN隧道的过程。
在建立第二终端设备的地址与第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识之间的对应关系之后,后续通过转发表即可将发送至第二终端设备的报文通过第一网络设备到第二网络设备之间的VXLAN隧道进行转发。
对于图5所示的VXLAN架构,控制设备为边界设备VTEP-5。如图6所示,对于网络设备VTEP-1连接的终端设备A,假设终端设备A当前需要发送第一报文至终端设备B。当VTEP-1收到该第一报文时,根据该第一报文的报文头识别出待访问的终端设备B的地址,该地址包括诸如MAC、IP地址。VTEP-1通过OCP协议,向控制设备发送终端查询请求,该终端查询请求携带终端设备的地址。控制设备接收到该终端查询请求时,从各个网络设备的终端接入表中查询包括终端设备B的地址的终端接入表,查询结果为VTEP-4的终端接入表中包括终端设备B的地址。因此,控制设备向VTEP-1返回终端查询结果,该终端查询结果携带VTEP-4的标识,该VTEP-4的标识比如为VTEP IP。VTEP-1接收到该终端查询结果后,便可根据VTEP-4的标识确定VTEP-1到VTEP-4的VXLAN隧道的隧道标识,然后在转发表中添加该隧道标识和第二终端设备的地址之间的对应关系。
如图6所示,上述过程还称为“终端查询”过程。
此外,基于前述对VXLAN的配置可知,控制设备处还存储有各个终端设备的访问策略。因此,可选地,控制设备向VTEP-1返回的终端查询结果中还包括终端设备B的访问策略,以便于后续VTEP-1基于该终端设备B的访问策略发送终端设备A访问终端设备B的流量。关于VTEP-1基于该终端设备B的访问策略发送终端设备A访问终端设备B的流量也将在后续进行详细解释说明,在此就先不展开阐述。
需要说明的是,为了避免创建VXLAN隧道所需的时间较长,导致第一终端设备当前访问第二终端设备的流量响应较慢,如果查询第二终端设备所连接的网络设备失败,第一网络设备先将第一报文发送至控制设备,由控制设备将第一报文转发至第二网络设备。在建立第二终端设备的地址与第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识之间的对应关系之后,如果第一网络设备接收到第一终端设备发送的报文,该报文的目的地址仍为第二终端设备,此时第一网络设备便通过第一网络设备和第二网络设备之间的VXLAN隧道直接转发该报文。
由此可知,在本申请实施例中,如果第二终端设备的地址与第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识之间的对应关系建立完成之前,第一终端设备访问第二终端设备的流量则通过控制设备绕道而行。在第二终端设备的地址与第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识之间的对应关系建立完成后,第一终端设备访问第二终端设备的流量便可通过的VXLAN隧道直接转发。
在一种可能的实现方式中,如果控制设备为VXLAN中的一个网络设备,则可以预先建立VXLAN中其他网络设备和该控制设备之间的VXLAN隧道,如此,在第一网络设备到第二网络设备之间的VXLAN隧道没有建立完成之前,则将第一终端设备访问第二终端设备的流量通过第一网络设备到控制设备之间的VXLAN隧道以及控制设备到第二网络设备之间的VXLAN隧道绕道转发。
比如,对于图5所示的VXLAN架构,控制设备为边界设备VTEP-5。如图6所示,VTEP-1到VTEP-4的VXLAN隧道在创建过程中,终端设备A的流量通过南北向的VXLAN隧道从控制设备转发绕行。VTEP-1到VTEP-4的VXLAN隧道在创建完成后,终端设备A的流量通过东西横向VXLAN隧道发送给终端设备B。
此外,在终端查询结果还携带与第二终端设备对应的访问策略时,这种场景下,第一网络设备在通过建立的VXLAN隧道发送报文时,先判断该报文是否满足第二终端设备的访问策略,如果该报文满足第二终端设备的访问策略,则通过建立的VXLAN隧道将该报文发送至第二网络设备。
比如,对于图6所示的VXLAN,终端设备B的访问策略包括终端设备B的访问优先级。这种场景下,VTEP-1在发送该报文时,先根据终端设备B的访问优先级赋予该报文特定的优先级,VTEP-1处按照各个报文的优先级执行转发。
又比如,终端设备B的访问策略包括终端设备B的被访问的带宽。这种场景下,VTEP-1在发送该报文时,需先判断已经发送的流量是否超出上述带宽,如果超出,则先不发送该报文。如果没有超出上述带宽,则发送该报文。
又比如,终端设备B的访问策略包括终端设备B的是否允许被广播访问。如果访问策略中指示终端设备B允许被广播访问,则VTEP-1在发送该报文时允许通过广播方式发送该报文。如果访问策略中指示终端设备B不允许被广播访问,则VTEP-1在发送该报文时不允许通过广播方式发送该报文。
此外,对于图5所示的VXLAN,如果终端设备B需要向终端设备A回复流量,此时终端设备B向终端设备A发送报文的过程同样可以参考上述终端设备A向终端设备B发送报文的过程,最终VTEP-4创建单向到对端VTEP-1的VXLAN隧道,在此就不再赘述。
另外,因为网络设备之间的VXLAN隧道是基于流量需求动态建立的,进一步地,为了避免某些VXLAN隧道在建立后又长期不用,进而导致转发表资源的浪费。因此,第一网络设备在建立第二终端设备的地址和第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识之间的对应关系后,如果该对应关系持续未命中,则老化该对应关系。
上述第二终端设备的地址和第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识之间的对应关系持续未命中是指:第一网络设备在参考时长内未接收到目的地址为第二终端设备的地址的报文。这种场景下,表明第二终端设备在参考时长内均没有访问第一终端设备的需求,此时第一网络设备则从转发表中删除第二终端设备的地址和第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识之间的对应关系。上述过程还可以称为转发表的老化过程。
此外,在如下场景中:转发表中的隧道标识为除VXLAN隧道对端设备的标识之外的其他唯一能够标识隧道的符号,比如隧道标识为针对VXLAN隧道的一个唯一编号。网络设备用该编号可以索引到相应的表项,表项内存放有包括对端设备的IP地址在内的VXLAN隧道参数。比如,在一种可能的实现方式中,第一网络设备还维护一个隧道列表,该隧道列表中包括与各个隧道标识一一对应的隧道的接收端的VTEP的标识。这种场景下,如果任一个终端设备地址与第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识之间的对应关系均老化,则删除隧道列表中该隧道标识和该第二网络设备的标识之间的对应关系。
在上述场景中,考虑到第二网络设备下允许还连接有其他终端设备,为了避免影响第一终端设备正常访问第二网络设备下的其他终端设备,因此,第一终端设备在参考时长内均没有访问第二终端设备的需求时,第一网络设备只从转发表中删除第二终端设备的地址和第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识之间的对应关系即可,并不从隧道列表中删除第一网络设备到第二网络设备之间的VXLAN隧道的相关信息。
进一步地,第一网络设备在从转发表中删除第二终端设备的地址和第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识之间的对应关系之后,如果转发表中不存在和第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识对应的终端设备的地址,表明当前第一网络设备下的终端设备没有访问第二终端设备接入的所有终端设备的需求,因此从隧道列表中删除第一网络设备到第二网络设备之间的VXLAN隧道的相关信息(此处的相关信息为第一网络设备到第二网络设备之间的VXLAN隧道的隧道标识和第二网络设备的标识之间的对应关系),从而避免闲置的VXLAN隧道占用网络资源。
需要说明的是,上述删除第一网络设备到第二网络设备之间的VXLAN隧道的相关信息的过程还称为删除第一网络设备到第二网络设备之间的VXLAN隧道的过程。
此外,上述参考时长还称为老化时间等,本申请实施例对此不作具体限定。
比如,对于图5所示的VXLAN,控制设备为边界设备VTEP-5。网络设备根据终端的流量来老化转发表。具体地,当终端设备A和终端设备B持续一段时间没有流量互访,VTEP-1在老化时间内未收到目的地址为终端设备B的流量,那么VTEP-1就从转发表中删除终端设备B的信息(此处的终端设备B的信息是指转发表中终端设备B的地址和VTEP-1到VTEP-4的VXLAN隧道的隧道标识),同时在转发表中不存在VTEP-4连接的其他终端设备的地址的情况下,删除VTEP-1到VTEP-4的VXLAN隧道。同理,VTEP-4设备在老化时间内未收到目的地址为终端设备A的流量,那么VTEP-4就删除转发表中终端设备A的信息(此处的终端设备A的信息是指转发表中终端设备A的地址和VTEP-4到VTEP-1的VXLAN隧道的隧道标识),同时在转发表中不存在VTEP-1连接的其他终端设备的地址的情况下,删除VTEP-4到VTEP-1的VXLAN隧道。
在本申请实施例中,在VXLAN网络配置完成时,并不建立全部网络设备之间的VXLAN隧道。而是在某两个网络设备之间存在流量访问需求时,才建立这两个网络设备之间的VXLAN隧道。以避免在网络初始化时需要建立全部网络设备之间的VXLAN隧道,从而减少每个网络设备的转发表中存储的信息,也就减轻了各个网络设备的数据存储压力。
下面以图5所示的VXLAN为例详细说明本申请实施例提供的建立VXLAN隧道的方法。
如图8所示,该方法包括如下几个步骤:
1、边界设备和边缘设备部署OCP,边界设备作为OCP服务端,边缘设备作为OCP客户端。同时管理员在边界设备上部署终端设备的访问策略,该访问策略包括终端设备的访问优先级、终端设备被访问的带宽,终端设备是否允许广播访问等访问条件。
2、边缘设备通过OCP向边界设备发起注册。OCP客户端与OCP服务端建立南北向VXLAN隧道。
3、终端设备A上线,发送流量请求网关。
4、边缘设备1收到终端设备A的流量,识别终端设备A的信息(MAC、IP),边缘设备1设备存储终端设备A的信息,将终端设备A的信息和边缘设备1的标识(VTEP IP)通过OCP协议,上报给边界设备。
5、边界设备将终端设备A信息存储到边缘设备1的终端接入表中。
6、终端设备B上线,发送流量请求网关。
7、边缘设备2收到终端设备B的流量,识别终端设备B的信息(MAC、IP),边缘设备2设备存储终端设备B的信息,将终端设备B的信息通过OCP协议,上报给边界设备。
8、边界设备将终端设备B信息存储到边缘设备2的终端接入表中。
9、终端设备A发送流量访问终端设备B。
10、边缘设备1收到终端设备A的流量,根据目的IP(终端设备B)查询本设备的转发表,未查找到终端设备B的信息。通过OCP协议,向边界设备发起查询,查询终端设备B的相关信息。
11、边界设备查询终端设备B的相关信息,将终端设备B的相关信息(该相关性信息包括诸如终端设备B所在网络的VNI、终端设备B所连接的网络设备的VTEP IP、终端设备B的访问优先级、终端设备B被访问的带宽,终端设备B是否允许广播访问等)通过OCP协议回复给边缘设备1。
12、边缘设备1存储终端设备B的相关信息。根据终端设备B的相关信息确定终端设备B连接在边缘设备2处,创建边缘设备1到边缘设备2的东西向VXLAN隧道。
13、东西向VXLAN隧道建立后,终端设备A访问终端设备B的流量就从东西向隧道转发,执行终端设备B的被访问策略。
14、终端设备B发送流量回复终端设备A。
15、边缘设备2收到终端设备B的流量,根据目的IP(终端设备A)查询本设备的转发表,未查找到终端设备A的相关信息。通过OCP协议,向边界设备发起查询,查询终端设备A的信息。
16、边界设备查询终端设备A的相关信息,将终端设备A的相关信息通过OCP协议回复给边缘设备2。
17、边缘设备2存储终端设备A的相关信息。根据终端设备A的相关信息确定终端设备A接入在边缘设备1上,创建边缘设备2到边缘设备1的东西向VXLAN隧道。
18、东西向VXLAN隧道建立后,终端设备B访问终端设备A的流量就从东西向隧道转发。
19、边缘设备1设备在一段持续时间内未收到目的IP为终端设备B的流量,则删除转发表中的终端设备B的表项(此处的终端设备B的表项是指转发表中终端设备B的地址与边缘设备1到边缘设备2之间的VXLAN隧道的标识之间的对应关系)。
20、边缘设备1设备判断转发表上没有任何边缘设备2设备下的终端设备的表项,则删除边缘设备1到边缘设备2的VXLAN隧道(此处删除边缘设备1到边缘设备2的VXLAN隧道是指:删除隧道列表中边缘设备1到边缘设备2的VXLAN隧道的隧道标识和边缘设备2的标识之间的对应关系)。如果边缘设备1设备判断转发表上还有边缘设备2设备下的其他的终端设备的表项,则不删除VXLAN隧道。
21、同理,边缘设备2设备在一段持续时间内未收到目的IP为终端设备A的流量,则删除转发表中终端设备A的表项(此处的终端设备A的表项是指转发表中终端设备A的地址与边缘设备2到边缘设备1之间的VXLAN隧道的标识之间的对应关系)。
22、边缘设备2设备判断转发表上没有任何边缘设备1设备下的终端设备的表项,则删除边缘设备2到边缘设备1的VXLAN隧道(此处删除边缘设备2到边缘设备1的VXLAN隧道是指:删除隧道列表中边缘设备2到边缘设备1的VXLAN隧道的隧道标识和边缘设备1的标识之间的对应关系)。如果边缘设备2设备判断转发表上还有边缘设备1设备下的其他的终端设备的表项,则不删除VXLAN隧道。
图9是本申请实施例提供的一种VXLAN中的第一网络设备的结构示意图。该装VXLAN中包括多个网络设备,第一网络设备为多个网络设备中任一个。
如图9所示,该第一网络设备900包括:
接收模块901,用于接收来自第一终端设备的第一报文,第一报文的目的地址为第二终端设备的地址;
建立模块902,用于响应于查询第二终端设备所连接的第二网络设备的失败,建立第二终端设备的地址与隧道标识之间对应关系,该隧道标识所标识的为第一网络设备到第二网络设备之间的VXLAN隧道。
可选地,建立模块用于:
向控制设备发送终端查询请求,终端查询请求包括第二终端设备的地址;
接收控制设备返回的终端查询结果,终端查询结果包括第二网络设备的标识,第二网络设备为第二终端设备所连接的网络设备;
根据第二网络设备的标识,建立第二终端设备的地址与隧道标识之间的对应关系。
可选地,
接收模块,还用于接收来自第一终端设备的第二报文,第二报文的源地址为第一终端设备的地址;
第一网络设备还包括发送模块,用于如果第二报文为首次接收到的来自第一终端设备的报文,则向控制设备发送终端接入通告消息,终端接入通告消息包括第一终端设备的地址,终端接入通告消息指示第一终端设备连接在第一网络设备处。
可选地,第一网络设备还包括发送模块;
发送模块,用于将第一报文经由第一网络设备到控制设备之间的VXLAN隧道发送至控制设备。
可选地,第一网络设备还包括老化模块;
老化模块,用于如果第二终端设备的地址与隧道标识之间的对应关系持续未命中,则老化该对应关系。
可选地,第一网络设备中还存储有隧道标识和第二网络设备的标识之间的对应关系;
老化模块还用于:如果任一个终端设备地址与隧道标识之间的对应关系均老化,则删除隧道标识和第二网络设备的标识之间的对应关系。
本申请实施例能够实现在存在流量转发需求的情况下,才动态建立网络设备与网络设备之间的VXLAN隧道,避免了需要预先建立全部的网络设备之间的VXLAN隧道,从而节省了网络设备处的转发表资源。由于转发表中存储的VXLAN隧道的信息减少,因此还可以提高转发报文时的转发表查询效率。
需要说明的是:上述实施例提供的第一网络设备在建立VXLAN隧道时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的第一网络设备与建立VXLAN隧道的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本申请实施例提供的一种网络设备的结构示意图。上述实施例中的边缘设备或边界设备均可以通过图10所示的网络设备来实现。参见图10,该网络设备包括至少一个处理器1001,通信总线1002、存储器1003以及至少一个通信接口1004。
处理器1001可以是一个通用中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路。图9实施例中的建立模块、老化模块等模块的功能均可以通过处理器来实现。
通信总线1002可包括一通路,在上述组件之间传送信息。
存储器1003可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、光盘(包括只读光盘(compact disc read-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1003可以是独立存在,通过通信总线1002与处理器1001相连接。存储器1003也可以和处理器1001集成在一起。
其中,存储器1003用于存储执行本申请方案的程序代码,并由处理器1001来控制执行。处理器1001用于执行存储器1003中存储的程序代码。程序代码中可以包括一个或多个软件模块。图1至图6中的网络设备可以通过处理器1001以及存储器1003中的程序代码中的一个或多个软件模块,来确定用于开发应用的数据。
通信接口1004,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。图9实施例中的接收模块和发送模块的功能可以通过通信接口来实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如:固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (8)
1.一种建立虚拟扩展局域网VXLAN隧道的方法,其特征在于,应用于VXLAN中的第一网络设备,所述VXLAN中包括多个网络设备和控制设备,所述多个网络设备和所述控制设备上部署虚拟网络控制协议OCP,以使所述控制设备作为OCP服务端,所述多个网络设备作为OCP客户端,所述OCP服务端与任一OCP客户端在VXLAN网络初始化时通过所述OCP建立南北向的VXLAN隧道,所述控制设备处存储有所述VXLAN中任一网络设备的终端接入集合,所述终端接入集合包括相应网络设备当前时间所接入的终端设备,所述第一网络设备为所述多个网络设备中任一个,所述控制设备为所述VXLAN中的边界border设备,所述多个网络设备为所述VXLAN中的边缘edge设备;
所述方法包括:
所述第一网络设备接收来自第一终端设备的第一报文,所述第一报文的目的地址为第二终端设备的地址;
所述第一网络设备在转发表中查询与所述第二终端设备的地址对应的隧道标识,所述隧道标识所标识的为所述第一网络设备到所述第二终端设备所连接的第二网络设备之间的VXLAN隧道;
响应于在所述转发表中查询所述隧道标识的失败,将所述第一报文经由所述第一网络设备到控制设备之间的南北向的VXLAN隧道绕道发送至所述控制设备,同时所述第一网络设备通过所述OCP向所述控制设备发送终端查询请求,所述终端查询请求包括所述第二终端设备的地址;
所述第一网络设备通过所述OCP接收所述控制设备返回的终端查询结果,所述终端查询结果包括所述第二网络设备的标识,所述第二网络设备为所述第二终端设备当前所连接的网络设备;
根据所述第二网络设备的标识,所述第一网络设备建立所述第二终端设备的地址与所述隧道标识之间的对应关系,以创建所述第一网络设备到所述第二网络设备的东西向的VXLAN隧道;
在所述第一网络设备到所述第二网络设备的东西向的VXLAN隧道创建成功后,当所述第一网络设备再次接收到目的地址为所述第二终端设备的报文时,将所述报文经由所述第一网络设备到所述第二网络设备的东西向的VXLAN隧道转发;
其中,所述方法还包括:
所述第一网络设备接收来自所述第一终端设备的第二报文,所述第二报文的源地址为所述第一终端设备的地址;
如果所述第二报文为首次接收到的来自所述第一终端设备的报文,所述第一网络设备则向控制设备发送终端接入通告消息,所述终端接入通告消息包括所述第一终端设备的地址,所述终端接入通告消息指示所述第一终端设备连接在所述第一网络设备处,以使所述控制设备将所述第一终端设备添加至所述第一网络设备的终端接入集合中。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述第二终端设备的地址与所述隧道标识之间的对应关系持续未命中,则老化所述对应关系。
3.如权利要求2所述的方法,其特征在于,所述第一网络设备中还存储有所述隧道标识和所述第二网络设备的标识之间的对应关系;
所述老化所述第二终端设备的地址与所述隧道标识之间的对应关系之后,还包括:
如果任一个终端设备地址与所述隧道标识之间的对应关系均老化,则删除所述隧道标识和所述第二网络设备的标识之间的对应关系。
4.一种VXLAN中的第一网络设备,其特征在于,所述VXLAN中包括多个网络设备和控制设备,所述多个网络设备和所述控制设备上部署虚拟网络控制协议OCP,以使所述控制设备作为OCP服务端,所述多个网络设备作为OCP客户端,所述OCP服务端与任一OCP客户端在VXLAN网络初始化时通过所述OCP建立南北向的VXLAN隧道,所述控制设备处存储有所述VXLAN中任一网络设备的终端接入集合,所述终端接入集合包括相应网络设备当前时间所接入的终端设备,所述第一网络设备为所述多个网络设备中任一个,所述控制设备为所述VXLAN中的边界border设备,所述多个网络设备为所述VXLAN中的边缘edge设备;
所述第一网络设备包括:
接收模块,用于接收来自第一终端设备的第一报文,所述第一报文的目的地址为第二终端设备的地址;
建立模块,用于在转发表中查询与所述第二终端设备的地址对应的隧道标识,所述隧道标识所标识的为所述第一网络设备到所述第二终端设备所连接的第二网络设备之间的VXLAN隧道;响应于在所述转发表中查询所述隧道标识的失败,在所述转发表中建立所述第二终端设备的地址与所述隧道标识之间对应关系;
其中,所述建立模块用于:
通过所述OCP向控制设备发送终端查询请求,所述终端查询请求包括所述第二终端设备的地址;
通过所述OCP接收所述控制设备返回的终端查询结果,所述终端查询结果包括所述第二网络设备的标识,所述第二网络设备为所述第二终端设备当前所连接的网络设备;
根据所述第二网络设备的标识,建立所述第二终端设备的地址与所述隧道标识之间的对应关系,以创建所述第一网络设备到所述第二网络设备的东西向的VXLAN隧道;
其中,所述接收模块,还用于接收来自所述第一终端设备的第二报文,所述第二报文的源地址为所述第一终端设备的地址;
所述第一网络设备还包括发送模块,用于如果所述第二报文为首次接收到的来自所述第一终端设备的报文,则向控制设备发送终端接入通告消息,所述终端接入通告消息包括所述第一终端设备的地址,所述终端接入通告消息指示所述第一终端设备连接在所述第一网络设备处,以使所述控制设备将所述第一终端设备添加至所述第一网络设备的终端接入集合中;
其中,所述第一网络设备还包括发送模块;
所述发送模块,用于将所述第一报文经由所述第一网络设备到控制设备之间的南北向的VXLAN隧道绕道发送至所述控制设备,在所述第一网络设备到所述第二网络设备的东西向的VXLAN隧道创建成功后,当再次接收到目的地址为所述第二终端设备的报文时,将所述报文经由所述第一网络设备到所述第二网络设备的东西向的VXLAN隧道转发。
5.如权利要求4所述的第一网络设备,其特征在于,所述第一网络设备还包括老化模块;
所述老化模块,用于如果所述第二终端设备的地址与所述隧道标识之间的对应关系持续未命中,则老化所述对应关系。
6.如权利要求5所述的第一网络设备,其特征在于,所述第一网络设备中还存储有所述隧道标识和所述第二网络设备的标识之间的对应关系;
所述老化模块还用于:如果任一个终端设备地址与所述隧道标识之间的对应关系均老化,则删除所述隧道标识和所述第二网络设备的标识之间的对应关系。
7.一种VXLAN的网络设备,其特征在于,所述网络设备包括存储器和处理器;
所述存储器用于存储支持所述网络设备执行权利要求1-3任一项所述的方法的程序,以及存储用于实现权利要求1-3任一项所述的方法所涉及的数据;
所述处理器被配置为用于执行所述存储器中存储的程序。
8.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-3任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010617508.1A CN113872845B (zh) | 2020-06-30 | 2020-06-30 | 建立vxlan隧道的方法及相关设备 |
PCT/CN2021/100425 WO2022001669A1 (zh) | 2020-06-30 | 2021-06-16 | 建立vxlan隧道的方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010617508.1A CN113872845B (zh) | 2020-06-30 | 2020-06-30 | 建立vxlan隧道的方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113872845A CN113872845A (zh) | 2021-12-31 |
CN113872845B true CN113872845B (zh) | 2023-04-07 |
Family
ID=78981764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010617508.1A Active CN113872845B (zh) | 2020-06-30 | 2020-06-30 | 建立vxlan隧道的方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113872845B (zh) |
WO (1) | WO2022001669A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113923075A (zh) * | 2020-07-09 | 2022-01-11 | 华为技术有限公司 | 一种数据传输方法和装置 |
CN115002016B (zh) * | 2022-05-17 | 2023-08-22 | 阿里云计算有限公司 | 报文处理系统、方法、设备和存储介质 |
CN115022120B (zh) * | 2022-05-20 | 2024-05-14 | 浪潮思科网络科技有限公司 | 一种vxlan网络中mlag的报文抑制方法、设备及介质 |
CN115150224A (zh) * | 2022-06-29 | 2022-10-04 | 济南浪潮数据技术有限公司 | 一种集群间网络二层打通方法、装置、设备及存储介质 |
CN115426217A (zh) * | 2022-09-30 | 2022-12-02 | 上海地面通信息网络股份有限公司 | 一种基于vxlan的互联网接入控制系统及方法 |
CN116055398A (zh) * | 2022-12-29 | 2023-05-02 | 天翼云科技有限公司 | 一种vxlan集群系统的转发方法和系统节点 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104904254A (zh) * | 2013-01-11 | 2015-09-09 | Lg电子株式会社 | 用于在无线通信系统中发送信息的方法和设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1138367C (zh) * | 2001-09-17 | 2004-02-11 | 华为技术有限公司 | 用于网络区域节点间安全通信的安全联盟产生方法 |
US7894369B2 (en) * | 2005-08-19 | 2011-02-22 | Opnet Technologies, Inc. | Network physical connection inference for IP tunnels |
CN101207546A (zh) * | 2006-12-18 | 2008-06-25 | 华为技术有限公司 | 一种动态建立隧道的方法、隧道服务器和系统 |
CN101299723B (zh) * | 2008-07-02 | 2010-08-25 | 杭州华三通信技术有限公司 | 标签交换路径隧道信息管理方法及装置 |
CN102045233B (zh) * | 2009-10-22 | 2013-03-13 | 杭州华三通信技术有限公司 | 一种网络通信中控制报文转发的方法和设备 |
CN103905284B (zh) * | 2012-12-27 | 2018-04-06 | 新华三技术有限公司 | 一种基于evi网络的流量负载分担方法和设备 |
CN103259736A (zh) * | 2013-05-24 | 2013-08-21 | 杭州华三通信技术有限公司 | 一种隧道建立方法和网络设备 |
US20140376558A1 (en) * | 2013-06-19 | 2014-12-25 | Alcatel-Lucent Usa Inc. | Dynamic Network Service Association and On Demand Service Provisioning |
CN104022936B (zh) * | 2014-06-20 | 2018-02-06 | 新华三技术有限公司 | 一种隧道建立方法和装置 |
CN106998286B (zh) * | 2017-05-05 | 2020-08-04 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发方法及装置 |
CN110391961B (zh) * | 2018-04-18 | 2021-03-23 | 华为技术有限公司 | 一种隧道绑定方法、设备及系统 |
CN109412926B (zh) * | 2018-11-16 | 2021-04-27 | 新华三技术有限公司 | 一种隧道建立方法和装置 |
CN110430116B (zh) * | 2019-07-26 | 2021-05-07 | 新华三技术有限公司成都分公司 | 数据转发方法及装置、边缘设备及可读存储介质 |
-
2020
- 2020-06-30 CN CN202010617508.1A patent/CN113872845B/zh active Active
-
2021
- 2021-06-16 WO PCT/CN2021/100425 patent/WO2022001669A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104904254A (zh) * | 2013-01-11 | 2015-09-09 | Lg电子株式会社 | 用于在无线通信系统中发送信息的方法和设备 |
Non-Patent Citations (3)
Title |
---|
Experimental investigation on the behavior of a tall and slender building placed in a turbulent;Elena-Alexandra Chiulan;《2017 International Conference on ENERGY and ENVIRONMENT (CIEM)》;全文 * |
VXLAN技术在高校数据中心网络中的研究与应用;欧坤等;《郑州师范教育》(第02期);全文 * |
大数据背景下数据中心VXLAN技术的应用;王月春等;《电脑知识与技术》(第25期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113872845A (zh) | 2021-12-31 |
WO2022001669A1 (zh) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113872845B (zh) | 建立vxlan隧道的方法及相关设备 | |
CN108574630B (zh) | Evpn报文处理方法、设备及系统 | |
US9448821B2 (en) | Method and system for realizing virtual machine mobility | |
WO2018166252A1 (zh) | Evpn报文处理方法、设备及系统 | |
US12074728B2 (en) | Tunnel configuration method, apparatus, system, and device, and storage medium | |
JP2013504959A (ja) | バーチャルプライベートネットワークの実現方法及びシステム | |
CN111937358B (zh) | 用于结构边缘设备的多vrf通用设备互联网协议地址 | |
CN107995083B (zh) | 实现L2VPN与VxLAN互通的方法、系统及设备 | |
CN107094110B (zh) | 一种dhcp报文转发方法及装置 | |
US12068887B2 (en) | Data transmission method, apparatus, and network device | |
WO2024001701A1 (zh) | 数据处理方法、装置及系统 | |
JPWO2019240158A1 (ja) | 通信システム及び通信方法 | |
WO2012088828A1 (zh) | 表维护方法、系统和接入网关路由器 | |
WO2021141825A1 (en) | Ultra-reliable low latency communications (urllc) support for wireless access | |
CN114221895A (zh) | 传输数据的方法、装置及网络设备 | |
WO2022001666A1 (zh) | 建立vxlan隧道的方法及相关设备 | |
US20220045956A1 (en) | Policy based routing in extranet networks | |
US11509536B2 (en) | Relay functionality in an application centric infrastructure (ACI) fabric | |
CN113300931B (zh) | 一种虚拟机迁移发现方法及vtep | |
US12095765B2 (en) | Cloud delivered access | |
US20220159083A1 (en) | Zero day zero touch providing of services with policy control | |
WO2013053293A1 (zh) | 一种标识网与传统网络互联互通的方法、asr及isr | |
CN116506052A (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 |