WO2019085755A1 - 一种隧道的建立方法、装置和软件定义网络控制器 - Google Patents

一种隧道的建立方法、装置和软件定义网络控制器 Download PDF

Info

Publication number
WO2019085755A1
WO2019085755A1 PCT/CN2018/110659 CN2018110659W WO2019085755A1 WO 2019085755 A1 WO2019085755 A1 WO 2019085755A1 CN 2018110659 W CN2018110659 W CN 2018110659W WO 2019085755 A1 WO2019085755 A1 WO 2019085755A1
Authority
WO
WIPO (PCT)
Prior art keywords
vtep
address
vteps
tunnel
vxlan
Prior art date
Application number
PCT/CN2018/110659
Other languages
English (en)
French (fr)
Inventor
陈节节
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2019085755A1 publication Critical patent/WO2019085755A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a tunnel establishing method, apparatus, and SDN controller.
  • VXLAN Virtual Extensible LAN
  • the VTEP VXLAN Tunneling End Point
  • the VTEP is connected to the physical network, and the assigned address is the physical network IP address.
  • the source IP address of the VXLAN packet is the VTEP address of the node.
  • the destination IP address of the VXLAN packet is the VTEP address of the peer node.
  • a pair of VTEP addresses correspond to a VXLAN tunnel.
  • the SDN controller generally establishes a VXLAN tunnel between VTEPs by manual configuration. Establishing and maintaining a tunnel between VTEPs is a cumbersome task when there are a large number of VTEPs in the network.
  • the technical problem to be solved by the present invention is to provide a tunnel establishment method, device and software definition network controller, which can conveniently realize the establishment and maintenance of a virtual scalable LAN tunnel.
  • An embodiment of the present invention provides a method for establishing a tunnel, including:
  • VTEP group for the virtual scalable LAN tunnel endpoint VTEP in the virtual scalable LAN VXLAN, and add the VTEP that needs to establish a VXLAN tunnel to the VTEP group.
  • a virtual scalable local area network VXLAN tunnel is established between any two VTEPs in the VTEP group.
  • An embodiment of the present invention further provides a tunnel establishing apparatus, including:
  • the configuration module is configured to configure a VTEP group for the virtual scalable LAN tunnel termination point VTEP in the virtual scalable LAN VXLAN, and add the VTEP that needs to establish a VXLAN tunnel to the VTEP group;
  • a tunnel establishment module is configured to establish a virtual scalable local area network VXLAN tunnel between any two VTEPs in the VTEP group.
  • the embodiment of the invention further provides a software defined network controller, including:
  • the embodiment of the present invention further provides a computer readable storage medium, where the computer readable storage medium stores a tunnel establishment program, and the tunnel establishment program implements the steps of the tunnel establishment method when executed by the processor.
  • a method, a device, and a software-defined network controller for establishing a tunnel provided by an embodiment of the present invention, when multiple VTELANs in a VXLAN network need to establish a VXLAN tunnel between two, add them to a VTEP.
  • the SDN controller creates the required tunnel.
  • the technical solution of the embodiment of the present invention can conveniently implement establishment and maintenance of a virtual scalable local area network tunnel.
  • FIG. 1 is a flowchart of a method for establishing a tunnel according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a device for establishing a tunnel according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of hardware components of a tunnel establishing apparatus according to an embodiment of the present disclosure
  • Example 4 is a schematic diagram of a device for establishing a tunnel according to Example 1 of the present invention.
  • FIG. 5 is a flowchart of a method for establishing a tunnel according to Example 2 of the present invention.
  • an embodiment of the present invention provides a method for establishing a tunnel, including:
  • Step S110 configuring a VTEP group for the virtual scalable LAN tunnel termination point VTEP in the virtual scalable local area network VXLAN, and adding the VTEP that needs to establish a VXLAN tunnel to the VTEP group;
  • the VTEP in the virtual scalable LAN VXLAN can be divided into different VTEP groups according to the actual needs in the networking, and a tunnel is established between the VTEPs in each VTEP group.
  • VTEP can quickly join or exit a VTEP group, which allows for flexible and easy management of VTEP.
  • the VTEP that needs to establish a VXLAN tunnel is added to the VTEP group, including:
  • the two VTEPs are added to the same VTEP group.
  • the multiple VTEPs are added to the same VTEP group.
  • VTEPs for example, vtep_1 and vtep_2: configure the VTEP group vtep_group1 on the SDN controller, add vtep_1 and vtep_2 to vtep_group1, and join the SDN controller to create vtep_1 and vtep_2.
  • Static tunnel between two VTEPs for example, vtep_1 and vtep_2: configure the VTEP group vtep_group1 on the SDN controller, add vtep_1 and vtep_2 to vtep_group1, and join the SDN controller to create vtep_1 and vtep_2.
  • VTEPs for example, vtep_1, vtep_2, and vtep_3 are used as an example.
  • a virtual scalable LAN contains two VTEP groups (vtep_group1 and vtep_group2), where vtep_group1 contains two VTEPs (vtep_1 and vtep_2), and vtep_group2 contains three VTEPs (vtep_3, vtep_4, and vtep_5).
  • a VTEP for example, vtep_6
  • the newly added VTEP may be added to vtep_group1, or vtep_group2, or vtep_group1 and vtep_group2 according to the configuration requirements of the user.
  • a new VTEP (vtep_6) is added to vtep_group1
  • the SDN controller creates two new static tunnels: a static tunnel between vtep_6 and vtep_1 and between vtep_6 and vtep_2.
  • a new VTEP (vtep_6) is added to vtep_group2
  • the SDN controller will create three new static tunnels: a static tunnel between vtep_6 and vtep_3, between vtep_6 and vtep_4, and between vtep_6 and vtep_5.
  • the method further includes:
  • the IP address parameter being used as a local IP address of the VTEP when establishing a VXLAN tunnel; wherein the VTEP may be configured with one or more IP address parameters when being created .
  • Step S120 establishing a VXLAN tunnel between any two VTEPs in the VTEP group;
  • establishing a VXLAN tunnel between any two VTEPs in the VTEP group includes:
  • one of the candidate IP address parameters of each of the two VTEPs is selected to form an IP address parameter pair, and a VXLAN tunnel is established according to the selected pair of IP address parameters;
  • the selecting one of the candidate IP address parameters of each of the two VTEPs constitutes an IP address parameter pair, including:
  • an optimal IP address is selected from the respective candidate IP address parameters of the two VTEPs to form an IP address parameter pair; or the candidate IPs from the two VTEPs are sequentially ordered. Select one of the address parameter lists to form an IP address parameter pair. That is, the SDN controller can create a VXLAN tunnel by selecting an optimal IP address from the candidate IP addresses of the VTEP or randomly selecting an IP address to create a VXLAN tunnel.
  • the method further includes:
  • VTEPs in an SDN VXLAN network need to establish a VXLAN tunnel between two and two, they only need to be added to the same VTEP group, and the SDN controller creates the required tunnel.
  • the SDN controller can select the IP address again from the optional IP address of the relevant VTEP and re-create the VXLAN tunnel, thereby implementing automatic maintenance of the VXLAN tunnel.
  • an embodiment of the present invention provides a tunnel establishing apparatus, including:
  • the configuration module 201 is configured to configure a VTEP group for the virtual scalable LAN tunnel endpoint VTEP in the virtual scalable LAN VXLAN, and add the VTEP that needs to establish a VXLAN tunnel to the VTEP group.
  • the tunnel establishment module 202 is configured to establish a VXLAN tunnel between any two VTEPs in the VTEP group.
  • the VTEP in the virtual scalable LAN can be divided into different VTEP groups according to the actual needs in the networking, and a tunnel is established between the VTEPs in each VTEP group.
  • VTEP can quickly join or exit a VTEP group, which allows for flexible and easy management of VTEP.
  • the configuration module is configured to add a VTEP that needs to establish a VXLAN tunnel to the VTEP group in the following manner:
  • the two VTEPs are added to the same VTEP group.
  • the multiple VTEPs are added to the same VTEP group.
  • the configuration module is further configured to acquire one or more candidate IP address parameters of the VTEP, where the IP address parameter is used as a local IP address of the VTEP when establishing a VXLAN tunnel; VTEP can be configured with one or more IP address parameters when it is created.
  • the apparatus further includes an IP address selection module 203 configured to select one of the candidate VTEPs of the two VTEPs to form an IP address parameter for any two VTEPs in the VTEP group. And sending the IP address parameter information to the tunnel establishment module to establish a VXLAN tunnel;
  • the IP address selection module is configured to select one of the candidate IP address parameters of the two VTEPs to form an IP address parameter pair in the following manner:
  • an optimal IP address is selected from the respective candidate IP address parameters of the two VTEPs to form an IP address parameter pair; or the candidate IPs from the two VTEPs are sequentially ordered. Select one of the address parameter lists to form an IP address parameter pair. That is, the SDN controller can create a VXLAN tunnel by selecting an optimal IP address from the candidate IP addresses of the VTEP or randomly selecting an IP address to create a VXLAN tunnel.
  • the IP address selection module is further configured to reselect a pair of IP address pairs from respective candidate IP address parameters of the two VTEPs when the VXLAN tunnel between the two VTEPs fails.
  • the reselected IP address parameter sends information to the tunnel establishment module to re-establish a VXLAN tunnel;
  • VTEPs in an SDN VXLAN network need to establish a VXLAN tunnel between two and two, they only need to be added to the same VTEP group, and the SDN controller creates the required tunnel.
  • the SDN controller can select the IP address again from the optional IP address of the relevant VTEP and re-create the VXLAN tunnel, thereby implementing automatic maintenance of the VXLAN tunnel.
  • the embodiment of the invention provides a software defined network controller, including:
  • a memory a processor, and a tunnel establishment program stored on the memory and operable on the processor, the step of implementing the tunnel establishment method described in the foregoing embodiment when the tunnel establishment program is executed by the processor .
  • the embodiment of the present invention provides a computer readable storage medium.
  • the computer readable storage medium stores a tunnel establishment program.
  • the tunnel establishment program is executed by the processor, the steps of the tunnel establishment method in the foregoing embodiment are implemented.
  • FIG. 3 is a schematic structural diagram of hardware components of a tunnel establishing apparatus according to an embodiment of the present invention.
  • the tunnel establishing apparatus 700 includes: at least one processor 701, a memory 702, and at least one network interface 704.
  • the various components in the tunnel establishing device 700 are coupled together by a bus system 705.
  • the bus system 705 is used to implement connection communication between these components.
  • the bus system 705 includes a power bus, a control bus, and a status signal bus in addition to the data bus.
  • various buses are labeled as bus system 705 in FIG.
  • the memory 702 in the embodiment of the present invention is used to store various types of data to support the operation of the tunnel establishing apparatus 700.
  • Examples of such data include any computer program, such as application 7022, for operation on the tunnel establishment device 700.
  • a program implementing the method of the embodiment of the present invention may be included in the application 7022.
  • Processor 701 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the foregoing method may be completed by an integrated logic circuit of hardware in the processor 701 or an instruction in a form of software.
  • the processor 701 described above may be a general purpose processor, a digital signal processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, or the like.
  • DSP digital signal processor
  • the processor 701 can implement or perform the various methods, steps, and logic blocks disclosed in the embodiments of the present invention.
  • a general purpose processor can be a microprocessor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiment of the present invention may be directly implemented as a hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module can reside in a storage medium located in memory 702, which reads the information in memory 702 and, in conjunction with its hardware, performs the steps of the foregoing method.
  • the tunnel establishment device 700 may be configured by one or more Application Specific Integrated Circuits (ASICs), DSPs, Programmable Logic Devices (PLDs), and Complex Programmable Logic Devices. (CPLD, Complex Programmable Logic Device), FPGA, general purpose processor, controller, MCU, MPU, or other electronic component implementation for performing the aforementioned methods.
  • ASICs Application Specific Integrated Circuits
  • DSPs Digital Signal processors
  • PLDs Programmable Logic Devices
  • CPLD Complex Programmable Logic Device
  • FPGA field-programmable Logic Device
  • controller MCU
  • MPU MPU
  • modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • the tunnel establishing apparatus includes: a configuration module 301, an IP address selection module 302, a tunnel establishment module 303, and a tunnel state detection module 304.
  • the configuration module 301 is configured to configure a VTEP group for the virtual scalable LAN tunnel termination point VTEP in the virtual scalable local area network, and add a VTEP that needs to establish a virtual scalable local area network VXLAN tunnel to the VTEP group to obtain one of the VTEPs or Multiple candidate IP address parameters;
  • the configuration module can be configured as follows:
  • the IP address selection module 302 is configured to select one of the candidate IP address parameters of each of the two VTEPs to form an IP address parameter pair, and establish a VXLAN tunnel according to the selected pair of IP address parameters;
  • the IP address selection module is responsible for selecting a pair of available IP addresses provided by vtep_1 and vtep_2 for creating a VXLAN tunnel between vtep_1 and vtep_2, including but not limited to the following two options:
  • Method 1 According to the shortest priority to the peer routing path
  • the IP address selection module needs to check whether the IP addresses provided by vtep_1 and vtep_2 are reachable, and calculate the path consumption of each pair of passable IP addresses, for example, between ip1-1 and ip2-1.
  • the path consumption is 1000; the ip1-2 and ip2-2 can pass, the path consumption is 2000; the SDN controller selects the path consumption shorter ip1-1 and ip2-1;
  • the IP address selection module first checks whether there is a pass between ip1-1 and ip2-1. If yes, directly select ip1-1 and ip2-1 to create a tunnel. Otherwise, according to the configuration of the IP address parameter. Search in order, and use the first pair of available IP addresses found to create a tunnel;
  • the IP address selection module finds that the provided IP address is unreachable, it can also provide a pair of IP addresses to the tunnel establishment module, and simultaneously inform the tunnel establishment module that the pair of IP addresses is unreachable.
  • the tunnel establishment module 303 is configured to establish a virtual scalable local area network VXLAN tunnel between the two VTEPs according to the information provided by the IP address selection module.
  • the tunnel establishment module uses the IP address pair to deliver the VXLAN tunnel. If the information provided by the IP address selection module is that there is no IP address between the two VTEPs, the tunnel establishment module may set a “continue to send switch” for the case, and if the “continue to send switch” is enabled, The tunnel establishment module continues to deliver the VXLAN tunnel, but the VXLAN tunnel cannot be established successfully because the IP address is unreachable. If the "continue to send switch" is closed, the tunnel establishment module does not send the VXLAN tunnel and gives relevant information. Alarm.
  • the tunnel state detecting module 304 is configured to detect whether the VXLAN tunnel is normal
  • the IP address selection module is notified to re-select the IP address, and the tunnel establishment module re-establishes the tunnel after receiving the new IP address information sent by the IP address selection module. Automatic maintenance of the VXLAN tunnel is achieved.
  • the tunnel establishment method may include the following steps:
  • the SDN controller configures a VTEP group, and adds the VTEP that needs to establish a VXLAN tunnel to the VTEP group.
  • Each VTEP can provide an IP address or multiple optional IP address parameters for establishing the local IP address of the VXLAN tunnel.
  • the SDN controller determines whether the IP addresses provided by the two VTEPs are reachable, if yes, step S403 is performed; otherwise, step S404 is performed;
  • S403 The SDN controller selects an optimal pair from the reachable IP addresses, establishes a VXLAN tunnel, and ends.
  • step S404 the SDN controller determines whether the continuous delivery switch is turned on, if yes, step S405 is performed, otherwise step S406 is performed;
  • S405 The SDN controller sends a VXLAN tunnel, but the tunnel cannot be successfully established and ends.
  • S406 The SDN controller does not send a VXLAN tunnel, and gives an alarm and ends.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文公开了一种隧道的建立方法、装置和软件定义网络控制器。所述隧道的建立方法包括:为虚拟可扩展局域网VXLAN中的虚拟可扩展局域网隧道终结点VTEP配置VTEP组,把需要建立VXLAN隧道的VTEP加入到VTEP组中;在所述VTEP组中的任意两个VTEP之间建立虚拟可扩展局域网VXLAN隧道。本文的技术方案能够方便地实现虚拟可扩展局域网隧道的建立和维护。

Description

一种隧道的建立方法、装置和软件定义网络控制器
相关申请的交叉引用
本申请基于申请号为201711046566.8、申请日为2017年10月31日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本发明涉及通信技术领域,尤其涉及的是一种隧道的建立方法、装置和SDN控制器。
背景技术
在SDN(Software Defined Network,软件定义网络)VXLAN(Virtual Extensible LAN,虚拟可扩展局域网)中,VTEP(VXLAN Tunneling End Point,VXLAN隧道终结点)是VXLAN隧道的端点,负责VXLAN报文的封装和解封装。VTEP与物理网络相连,分配的地址为物理网络IP地址。VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。
相关技术中,SDN控制器一般通过手工配置的方式建立VTEP之间的VXLAN隧道。当网络中存在大量VTEP时,建立和维护VTEP之间的隧道是一个繁琐的工作。
发明内容
本发明所要解决的技术问题是提供一种隧道的建立方法、装置和软件 定义网络控制器,能够方便地实现虚拟可扩展局域网隧道的建立和维护。
本发明实施例提供一种隧道的建立方法,包括:
为虚拟可扩展局域网VXLAN中的虚拟可扩展局域网隧道终结点VTEP配置VTEP组,把需要建立VXLAN隧道的VTEP加入到VTEP组中;
在所述VTEP组中的任意两个VTEP之间建立虚拟可扩展局域网VXLAN隧道。
本发明实施例还提供一种隧道的建立装置,包括:
配置模块,配置为为虚拟可扩展局域网VXLAN中的虚拟可扩展局域网隧道终结点VTEP配置VTEP组,把需要建立VXLAN隧道的VTEP加入到VTEP组中;
隧道建立模块,配置为在所述VTEP组中的任意两个VTEP之间建立虚拟可扩展局域网VXLAN隧道。
本发明实施例还提供一种软件定义网络控制器,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的隧道建立程序,所述隧道建立程序被所述处理器执行时实现上述隧道建立方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有隧道建立程序,所述隧道建立程序被处理器执行时实现上述隧道建立方法的步骤。
与现有技术相比,本发明实施例提供的一种隧道的建立方法、装置和软件定义网络控制器,VXLAN网络中多个VTEP需要两两之间建立VXLAN隧道时,把它们加入到一个VTEP组中,SDN控制器会创建所需要的隧道。本发明实施例的技术方案能够方便地实现虚拟可扩展局域网隧道的建立和维护。
附图说明
图1为本发明实施例提供的一种隧道的建立方法流程图;
图2为本发明实施例提供的一种隧道的建立装置示意图;
图3为本发明实施例提供的一种隧道的建立装置的硬件组成结构示意图;
图4为本发明示例1的一种隧道的建立装置示意图;
图5为本发明示例2的一种隧道的建立方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图1所示,本发明实施例提供了一种隧道的建立方法,包括:
步骤S110,为虚拟可扩展局域网VXLAN中的虚拟可扩展局域网隧道终结点VTEP配置VTEP组,把需要建立VXLAN隧道的VTEP加入到VTEP组中;
其中,可根据组网中的实际需要,将虚拟可扩展局域网VXLAN中的VTEP划分为不同的VTEP组,各VTEP组内的VTEP之间会建立隧道。VTEP可以快速地加入或退出一个VTEP组,这样可以对VTEP进行灵活方便地管理。
在一种实施方式中,所述把需要建立VXLAN隧道的VTEP加入到VTEP组中,包括:
如果两个VTEP之间需要建立VXLAN隧道,则将所述两个VTEP加入到同一个VTEP组中;
如果多个VTEP两两之间需要建立VXLAN隧道,则将所述多个VTEP加入到同一个VTEP组中;
如果所述虚拟可扩展局域网中新增一个VTEP,则将所述新增的VTEP加入到相应的VTEP组中;
比如,两个VTEP(比如,vtep_1和vtep_2)之间建立VXLAN隧道的情况:在SDN控制器上配置VTEP组vtep_group1,把vtep_1和vtep_2加入到vtep_group1中,加入后SDN控制器会创建vtep_1和vtep_2之间的静态隧道;
比如,多个VTEP两两之间建立VXLAN隧道的情况:以3个VTEP(比如,vtep_1、vtep_2和vtep_3)为例,在SDN控制器上配置一个VTEP组vtep_group2,把vtep_1、vtep_2、vtep_3加入到vtep_group2组中,加入后SDN控制器会创建3条静态隧道:分别是vtep_1和vtep_2之间,vtep_2和vtep_3之间,vtep_1和vtep_3之间的静态隧道。
比如,虚拟可扩展局域网中包含两个VTEP组(vtep_group1和vtep_group2),其中,vtep_group1中包含了两个VTEP(vtep_1和vtep_2),vtep_group2中包含了三个VTEP(vtep_3、vtep_4和vtep_5)。当所述虚拟可扩展局域网中新增一个VTEP(比如,vtep_6)时,根据用户的配置要求,可以将所述新增VTEP加入到vtep_group1中,或vtep_group2中,或vtep_group1和vtep_group2中。如果新增VTEP(vtep_6)加入到vtep_group1中,则SDN控制器会新创建2条静态隧道:分别是vtep_6和vtep_1之间,vtep_6和vtep_2之间的静态隧道。如果新增VTEP(vtep_6)加入到vtep_group2中,则SDN控制器会新创建3条静态隧道:分别是vtep_6和vtep_3之间,vtep_6和vtep_4之间,vtep_6和vtep_5之间的静态隧道。
在一种实施方式中,所述方法还包括:
获取所述VTEP的一个或多个候选IP地址参数,所述IP地址参数用作建立VXLAN隧道时所述VTEP的本端IP地址;其中,VTEP在创建时可以被配置一个或多个IP地址参数。
步骤S120,在所述VTEP组中的任意两个VTEP之间建立VXLAN隧道;
在一种实施方式中,在所述VTEP组中的任意两个VTEP之间建立VXLAN隧道,包括:
对所述VTEP组中的任意两个VTEP,从两个VTEP各自的候选IP地址参数中分别选择一个构成IP地址参数对,根据选出的一对IP地址参数对建立VXLAN隧道;
在一种实施方式中,所述从两个VTEP各自的候选IP地址参数中分别选择一个构成IP地址参数对,包括:
按照两个IP地址之间的路由路径最短优先的原则,从两个VTEP各自的候选IP地址参数中分别选择一个最优的IP地址构成IP地址参数对;或者顺序从两个VTEP各自的候选IP地址参数列表中分别选择一个构成IP地址参数对。也即,SDN控制器可以从VTEP的候选IP地址中选择一个最优的IP地址创建VXLAN隧道或者随机选择一个IP地址创建VXLAN隧道。
在一种实施方式中,所述方法还包括:
当两个VTEP之间的VXLAN隧道出现故障时,从两个VTEP各自的候选IP地址参数中重新选择一对IP地址对并创建新的VXLAN隧道。
上述实施例中,SDN VXLAN网络中多个VTEP需要两两之间建立VXLAN隧道时,只需要把它们加入到同一个VTEP组中,SDN控制器会创建所需要的隧道。特别是当SDN VXLAN网络新增一个VTEP时,只需要把新增的VTEP加入到相应的VTEP组中,大大简化了配置VXLAN隧道的工作。另外,当隧道故障时,SDN控制器可以从相关VTEP的可选IP地址中再次选择IP地址并重新创建VXLAN隧道,从而实现了VXLAN隧道的自动维护。
如图2所示,本发明实施例提供了一种隧道的建立装置,包括:
配置模块201,配置为为虚拟可扩展局域网VXLAN中的虚拟可扩展局域网隧道终结点VTEP配置VTEP组,把需要建立VXLAN隧道的VTEP加入到VTEP组中;
隧道建立模块202,配置为在所述VTEP组中的任意两个VTEP之间建立VXLAN隧道;
其中,可根据组网中的实际需要,将虚拟可扩展局域网中的VTEP划分为不同的VTEP组,各VTEP组内的VTEP之间会建立隧道。VTEP可以快速地加入或退出一个VTEP组,这样可以对VTEP进行灵活方便地管理。
在一种实施方式中,所述配置模块,配置为采用以下方式把需要建立VXLAN隧道的VTEP加入到VTEP组中:
如果两个VTEP之间需要建立VXLAN隧道,则将所述两个VTEP加入到同一个VTEP组中;
如果多个VTEP两两之间需要建立VXLAN隧道,则将所述多个VTEP加入到同一个VTEP组中;
如果所述虚拟可扩展局域网中新增一个VTEP,则将所述新增的VTEP加入到相应的VTEP组中;
在一种实施方式中,所述配置模块,还配置为获取所述VTEP的一个或多个候选IP地址参数,所述IP地址参数用作建立VXLAN隧道时所述VTEP的本端IP地址;其中,VTEP在创建时可以被配置一个或多个IP地址参数。
在一种实施方式中,所述装置还包括IP地址选择模块203,配置为对所述VTEP组中的任意两个VTEP,从两个VTEP各自的候选IP地址参数中分别选择一个构成IP地址参数对,将所述IP地址参数对信息发送给隧道建立模块建立VXLAN隧道;
在一种实施方式中,所述IP地址选择模块,配置为采用以下方式从两 个VTEP各自的候选IP地址参数中分别选择一个构成IP地址参数对:
按照两个IP地址之间的路由路径最短优先的原则,从两个VTEP各自的候选IP地址参数中分别选择一个最优的IP地址构成IP地址参数对;或者顺序从两个VTEP各自的候选IP地址参数列表中分别选择一个构成IP地址参数对。也即,SDN控制器可以从VTEP的候选IP地址中选择一个最优的IP地址创建VXLAN隧道或者随机选择一个IP地址创建VXLAN隧道。
在一种实施方式中,所述IP地址选择模块,还配置为当两个VTEP之间的VXLAN隧道出现故障时,从两个VTEP各自的候选IP地址参数中重新选择一对IP地址对,将所述重新选择的IP地址参数对信息发送给隧道建立模块重新建立VXLAN隧道;
上述实施例中,SDN VXLAN网络中多个VTEP需要两两之间建立VXLAN隧道时,只需要把它们加入到同一个VTEP组中,SDN控制器会创建所需要的隧道。特别是当SDN VXLAN网络新增一个VTEP时,只需要把新增的VTEP加入到相应的VTEP组中,大大简化了配置VXLAN隧道的工作。另外,当隧道故障时,SDN控制器可以从相关VTEP的可选IP地址中再次选择IP地址并重新创建VXLAN隧道,从而实现了VXLAN隧道的自动维护。
本发明实施例提供一种软件定义网络控制器,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的隧道建立程序,所述隧道建立程序被所述处理器执行时实现上述实施例中所述的隧道建立方法的步骤。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有隧道建立程序,所述隧道建立程序被处理器执行时实现上述实施例中的隧道建立方法的步骤。
图3是本发明实施例的隧道的建立装置的硬件组成结构示意图,隧道 的建立装置700包括:至少一个处理器701、存储器702和至少一个网络接口704。隧道的建立装置700中的各个组件通过总线系统705耦合在一起。可理解,总线系统705用于实现这些组件之间的连接通信。总线系统705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统705。
本发明实施例中的存储器702用于存储各种类型的数据以支持隧道的建立装置700的操作。这些数据的示例包括:用于在隧道的建立装置700上操作的任何计算机程序,如应用程序7022。实现本发明实施例方法的程序可以包含在应用程序7022中。
上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,隧道的建立装置700可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、MCU、 MPU、或其他电子元件实现,用于执行前述方法。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
下面通过示例进一步说明本发明实施例的技术方案。
示例1
本示例提供一种隧道建立装置,如图4所示,所述隧道建立装置包括:配置模块301、IP地址选择模块302、隧道建立模块303和隧道状态检测模块304。
(一)配置模块301,配置为为虚拟可扩展局域网中的虚拟可扩展局域网隧道终结点VTEP配置VTEP组,把需要建立虚拟可扩展局域网VXLAN隧道的VTEP加入到VTEP组中,获取VTEP的一个或多个候选IP地址参数;
比如,所述配置模块可以进行如下配置:
(1)配置VTEP组vtep_group1;
(2)配置VTEP:vtep_1和vtep_2;
(3)把vtep_1和vtep_2加入到vtep_group1中,vtep_1提供了可用的IP地址ip1-1,ip1-2;vtep_2提供了可用的IP地址ip2-1,ip2-2;
(二)IP地址选择模块302,配置为从两个VTEP各自的候选IP地址参数中分别选择一个构成IP地址参数对,根据选出的一对IP地址参数对建 立VXLAN隧道;
比如,所述IP地址选择模块负责从vtep_1和vtep_2提供的可用的IP地址中选择一对用于创建vtep_1和vtep_2之间的VXLAN隧道,包括但不限于以下两种选择方式:
(1)方式一:按照到对端路由路径最短的优先
在这种选择方式下,IP地址选择模块需要检查vtep_1和vtep_2提供的IP地址是否可通,并计算出每对可通的IP地址的路径消耗,例如ip1-1和ip2-1之间可通,路径消耗是1000;ip1-2和ip2-2之间可通,路径消耗是2000;SDN控制器会选择路径消耗较短的ip1-1和ip2-1;
(2)方式二:按IP地址参数的配置顺序依次选取
在这种选择方式下,IP地址选择模块先检查ip1-1和ip2-1之间是否可通,如果是则直接选择ip1-1和ip2-1用于创建隧道,否则按照IP地址参数的配置顺序依次查找,将找到的第一对可通的IP地址用于创建隧道;
不管哪种选择方式,如果IP地址选择模块发现提供的IP地址都不通,也可以任意提供一对IP地址给隧道建立模块,并且同时告知隧道建立模块这对IP地址是不通的。
(三)隧道建立模块303,配置为根据IP地址选择模块提供的信息在两个VTEP之间建立虚拟可扩展局域网VXLAN隧道。
比如,如果IP地址选择模块提供的信息是两个VTEP之间存在可通的IP地址,则隧道建立模块利用所述IP地址对来下发VXLAN隧道。如果IP地址选择模块提供的信息是两个VTEP之间没有可通的IP地址,则隧道建立模块可以为这种情况设置一个“继续下发开关”,如果所述“继续下发开关”开启,则隧道建立模块继续下发VXLAN隧道,只不过由于IP地址不通所以所述VXLAN隧道无法建立成功,如果所述“继续下发开关”关闭,则隧道建立模块不下发VXLAN隧道,并给出有关的告警。
(四)隧道状态检测模块304,配置为检测VXLAN隧道是否正常;
比如,如果隧道状态检测模块发现VXLAN隧道因故障断开,则通知IP地址选择模块重新选择IP地址,隧道建立模块接收到所述IP地址选择模块发送的新的IP地址信息后重新建立隧道,从而实现了VXLAN隧道的自动维护。
示例2
本示例提供一种隧道建立方法,如图5所示,所述隧道建立方法可以包括下述步骤:
S401,SDN控制器配置一个VTEP组,把需要建立VXLAN隧道的VTEP加入到VTEP组中;
其中,每个VTEP可以提供一个IP地址或多个可选的IP地址参数用作建立VXLAN隧道的本端IP地址。
S402,SDN控制器判断两个VTEP提供的IP地址是否可达,是则执行步骤S403,否则执行步骤S404;
S403,SDN控制器从可达的IP地址中选择最优的一对,建立VXLAN隧道,结束;
S404,SDN控制器判断继续下发开关是否开启,是则执行步骤S405,否则执行步骤S406;
S405,SDN控制器下发VXLAN隧道,但所述隧道无法建立成功,结束;
S406,SDN控制器不下发VXLAN隧道,并给出有关告警,结束。
需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (13)

  1. 一种隧道的建立方法,包括:
    为虚拟可扩展局域网VXLAN中的虚拟可扩展局域网隧道终结点VTEP配置VTEP组,把需要建立VXLAN隧道的VTEP加入到VTEP组中;
    在所述VTEP组中的任意两个VTEP之间建立虚拟可扩展局域网VXLAN隧道。
  2. 如权利要求1所述的方法,其中,所述把需要建立VXLAN隧道的VTEP加入到VTEP组中,包括:
    如果两个VTEP之间需要建立VXLAN隧道,则将所述两个VTEP加入到同一个VTEP组中;
    如果多个VTEP两两之间需要建立VXLAN隧道,则将所述多个VTEP加入到同一个VTEP组中;
    如果所述虚拟可扩展局域网中新增一个VTEP,则将所述新增的VTEP加入到相应的VTEP组中。
  3. 如权利要求1所述的方法,其中,所述方法还包括:
    获取所述VTEP的一个或多个候选IP地址参数,所述IP地址参数用作建立VXLAN隧道时所述VTEP的本端IP地址。
  4. 如权利要求3所述的方法,其中,所述在所述VTEP组中的任意两个VTEP之间建立VXLAN隧道,包括:
    对所述VTEP组中的任意两个VTEP,从两个VTEP各自的候选IP地址参数中分别选择一个构成IP地址参数对,根据选出的一对IP地址参数对建立VXLAN隧道。
  5. 如权利要求4所述的方法,其中,所述从两个VTEP各自的候选IP地址参数中分别选择一个构成IP地址参数对,包括:
    按照两个IP地址之间的路由路径最短优先的原则,从两个VTEP各自的候选IP地址参数中分别选择一个最优的IP地址构成IP地址参数对;或者顺序从两个VTEP各自的候选IP地址参数列表中分别选择一个构成IP地址参数对。
  6. 如权利要求4或5所述的方法,其中,所述方法还包括:
    当两个VTEP之间的VXLAN隧道出现故障时,从两个VTEP各自的候选IP地址参数中重新选择一对IP地址对并创建新的VXLAN隧道。
  7. 一种隧道的建立装置,包括:
    配置模块,配置为为虚拟可扩展局域网VXLAN中的虚拟可扩展局域网隧道终结点VTEP配置VTEP组,把需要建立VXLAN隧道的VTEP加入到VTEP组中;
    隧道建立模块,配置为在所述VTEP组中的任意两个VTEP之间建立虚拟可扩展局域网VXLAN隧道。
  8. 如权利要求7所述的装置,其中,
    所述配置模块,配置为采用以下方式把需要建立VXLAN隧道的VTEP加入到VTEP组中:
    如果两个VTEP之间需要建立VXLAN隧道,则将所述两个VTEP加入到同一个VTEP组中;
    如果多个VTEP两两之间需要建立VXLAN隧道,则将所述多个VTEP加入到同一个VTEP组中;
    如果所述虚拟可扩展局域网中新增一个VTEP,则将所述新增的VTEP加入到相应的VTEP组中。
  9. 如权利要求7所述的装置,其中,所述装置还包括IP地址选择模块;
    所述配置模块,还配置为获取所述VTEP的一个或多个候选IP地址 参数,所述IP地址参数用作建立VXLAN隧道时所述VTEP的本端IP地址;
    所述IP地址选择模块,配置为对所述VTEP组中的任意两个VTEP,从两个VTEP各自的候选IP地址参数中分别选择一个构成IP地址参数对,将所述IP地址参数对信息发送给隧道建立模块建立VXLAN隧道。
  10. 如权利要求9所述的装置,其中,
    所述IP地址选择模块,配置为采用以下方式从两个VTEP各自的候选IP地址参数中分别选择一个构成IP地址参数对:
    按照两个IP地址之间的路由路径最短优先的原则,从两个VTEP各自的候选IP地址参数中分别选择一个最优的IP地址构成IP地址参数对;或者顺序从两个VTEP各自的候选IP地址参数列表中分别选择一个构成IP地址参数对。
  11. 如权利要求9或10所述的装置,其中,
    所述IP地址选择模块,还配置为当两个VTEP之间的VXLAN隧道出现故障时,从两个VTEP各自的候选IP地址参数中重新选择一对IP地址对,将所述重新选择的IP地址参数对信息发送给隧道建立模块重新建立VXLAN隧道。
  12. 一种软件定义网络控制器,包括:
    存储器、处理器及存储在所述存储器上并可在所述处理器上运行的隧道建立程序,所述隧道建立程序被所述处理器执行时实现如权利要求1-6中任一项所述的隧道建立方法的步骤。
  13. 一种计算机可读存储介质,所述计算机可读存储介质上存储有隧道建立程序,所述隧道建立程序被处理器执行时实现如权利要求1-6中任一项所述的隧道建立方法的步骤。
PCT/CN2018/110659 2017-10-31 2018-10-17 一种隧道的建立方法、装置和软件定义网络控制器 WO2019085755A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711046566.8A CN109728990A (zh) 2017-10-31 2017-10-31 一种隧道的建立方法、装置和软件定义网络控制器
CN201711046566.8 2017-10-31

Publications (1)

Publication Number Publication Date
WO2019085755A1 true WO2019085755A1 (zh) 2019-05-09

Family

ID=66294365

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/110659 WO2019085755A1 (zh) 2017-10-31 2018-10-17 一种隧道的建立方法、装置和软件定义网络控制器

Country Status (2)

Country Link
CN (1) CN109728990A (zh)
WO (1) WO2019085755A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131062B (zh) * 2019-12-31 2023-09-05 深信服科技股份有限公司 分组优化方法、终端、装置及存储介质
CN113472650A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 报文处理方法、设备、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243269A (zh) * 2014-09-24 2014-12-24 杭州华三通信技术有限公司 一种虚拟扩展局域网报文的处理方法及装置
US20170163536A1 (en) * 2015-12-02 2017-06-08 Nicira, Inc. Load balancing over multiple tunnel endpoints
CN107171966A (zh) * 2017-07-27 2017-09-15 迈普通信技术股份有限公司 一种vxlan报文发送方法、vtep及vxlan系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577500B (zh) * 2014-10-16 2019-05-03 新华三技术有限公司 Vxlan与隧道的关联方法及装置
US10171559B2 (en) * 2014-11-21 2019-01-01 Cisco Technology, Inc. VxLAN security implemented using VxLAN membership information at VTEPs
CN104767666B (zh) * 2015-04-15 2019-01-11 新华三技术有限公司 虚拟可扩展局域网隧道终端建立隧道方法和设备
CN106161248B (zh) * 2015-04-27 2019-03-29 新华三技术有限公司 一种vxlan网络中报文转发方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243269A (zh) * 2014-09-24 2014-12-24 杭州华三通信技术有限公司 一种虚拟扩展局域网报文的处理方法及装置
US20170163536A1 (en) * 2015-12-02 2017-06-08 Nicira, Inc. Load balancing over multiple tunnel endpoints
CN107171966A (zh) * 2017-07-27 2017-09-15 迈普通信技术股份有限公司 一种vxlan报文发送方法、vtep及vxlan系统

Also Published As

Publication number Publication date
CN109728990A (zh) 2019-05-07

Similar Documents

Publication Publication Date Title
US9960991B2 (en) Method, apparatus and system for determining service transmission path
CN107204867B (zh) 一种信息传输方法、装置和系统
US11012261B2 (en) Associating VXLANs with tunnels
US10462038B2 (en) Control apparatus, communication system, tunnel endpoint control method, and program
US11283672B2 (en) Forwarding detection of an aggregated interface
EP2843906B1 (en) Method, apparatus, and system for data transmission
CN105162704B (zh) Overlay网络中组播复制的方法及装置
US9722861B2 (en) Fault-resilient broadcast, multicast, and unicast services
US10454711B2 (en) Method for obtaining port path and apparatus
US20130254356A1 (en) Systems and methods for recovery from network changes
US10277464B2 (en) Client auto-configuration in a multi-switch link aggregation
US9401816B2 (en) Protection ring in an automotive network
WO2016058483A1 (en) Association of a vxlan with a tunnel
JP7430224B2 (ja) パケット処理方法およびゲートウェイ・デバイス
WO2016095322A1 (zh) 一种基于vrrp的数据传输方法及装置
WO2019085755A1 (zh) 一种隧道的建立方法、装置和软件定义网络控制器
CN107181689B (zh) 路由器之间的消息交互方法和装置
CN105262686B (zh) 一种网络连通性验证方法和装置
CN107911495A (zh) 一种mac地址同步方法和vtep
US8665752B2 (en) Network modeling, service provisioning, and service management
CN108471374A (zh) 数据报文的转发方法及装置
ES2797729T3 (es) Método y sistema para reducir el cambio en el DR del protocolo PIM
US20170155543A1 (en) Control apparatus, communication system, and control method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18874753

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 08/09/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18874753

Country of ref document: EP

Kind code of ref document: A1