WO2016090900A1 - 流表更新方法及装置 - Google Patents

流表更新方法及装置 Download PDF

Info

Publication number
WO2016090900A1
WO2016090900A1 PCT/CN2015/082683 CN2015082683W WO2016090900A1 WO 2016090900 A1 WO2016090900 A1 WO 2016090900A1 CN 2015082683 W CN2015082683 W CN 2015082683W WO 2016090900 A1 WO2016090900 A1 WO 2016090900A1
Authority
WO
WIPO (PCT)
Prior art keywords
sdn
switch
vmdst
flow table
sdn switch
Prior art date
Application number
PCT/CN2015/082683
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 WO2016090900A1 publication Critical patent/WO2016090900A1/zh

Links

Images

Definitions

  • This article relates to the field of communication technology, in particular to a flow table update method and device.
  • SDN Software Defined Network
  • the SDN control plane resides on the SDN Controller (SDN Controller), and the SDN data plane resides on the SDN Switch (SDN Switch).
  • SDN Controller SDN Controller
  • SDN Switch SDN Switch
  • the server runs as a virtual machine on the SDN network.
  • the isolation between servers of different tenants was originally through virtual local area network (Virtual Local Area Network, VLAN) isolation, but the upper limit of VLAN is 4096. Unable to cope with the growth rate of the server. To solve this problem, Virtual eXtensible Local Area Network (VXLAN) came into being.
  • VLAN Virtual eXtensible Local Area Network
  • VXLAN is an encapsulation protocol that supports the transmission of data on networks that overlap each other over the existing L3 (Layer 3) infrastructure.
  • the implementation mechanism of VXLAN is: VXLAN Tunnel End Point (VTEP) maintains a flow table, and the flow table records the MAC (Media) of the VM on other VTEPs that communicate with the virtual machine (VM) on this VTEP.
  • VTEP VXLAN Tunnel End Point
  • VXLAN Network Identifier VXLAN Network Identifier
  • VTEP address mapping information this information is used for the encapsulation of VXLAN packets from the VM of this VTEP to VMs of other VTEPs, and it will also be recorded at the same time
  • the MAC address and VNI of the VM on this VTEP are used to receive and filter VXLAN packets.
  • Fig. 1 is a schematic diagram of the processing process of VXLAN messages in related technologies. As shown in Fig. 1, the process includes:
  • VMsrc source virtual machine VM
  • VMdst destination virtual machine VM
  • the message contains the MAC address of VMdst
  • 2VTEPsrc (the tunnel endpoint of the source VXLAN) searches the local flow table according to the MAC address of VMdst in the message, and hits the flow table entry;
  • 3VTEPsrc encapsulates the VXLAN message according to the hit flow entry, and sends it to VTEPdst (the destination VXLAN tunnel endpoint);
  • 4VTEPdst looks up the local flow table and hits the flow table entry
  • VTEPdst strips the VXLAN message header, and delivers the Ethernet message in the payload to VMdst.
  • the same VM may be hot migrated between two data centers due to hardware reasons or load balancing.
  • the VM sends a gratuitous ARP (Address Resolution Protocol) message on the migrated VTEP.
  • the VTEP where the VM is located sends multicast messages to other VTEPs in the multicast group, and other VTEPs multicast according to this
  • the message updates the flow table, and updates the MAC address of the migrated VM, the mapping relationship between the VNI and the VTEP address.
  • the controller After the VM is migrated, the controller is notified, and the controller is responsible for notifying other VTEPs to update the flow table.
  • VTEP Since the timeliness of the data between VMs cannot be predicted, there may be a scenario where VTEP sends data to the VM before the migration, and no data is sent to the VTEP after the VM migration.
  • the VTEP flow table update work is redundant.
  • redundant flow table update work will waste transmission resources between SDN Controller and Switch, Switch and Switch, and will also waste processing resources on SDN Switch.
  • the embodiment of the present invention provides a flow table update method and device, which are used to solve the problem of flow table update in related technologies. To Table update work will waste resources on technical issues.
  • an embodiment of the present invention provides a flow table update method, including:
  • the first custom network switch SDN Switch sends a message to the second SDN Switch
  • the second software-defined network switch SDN Switch receives the packet sent by the first SDN Switch, and when the flow table of the second SDN Switch does not have the flow table entry of the destination virtual machine VMdst that receives the packet, the The message is sent to the custom network controller SDN Controller;
  • the SDN Controller sends the location information of the VMdst to the first SDN Switch;
  • the first SDN Switch updates its flow table according to the received location information of the VMdst.
  • the method further includes:
  • the second SDN Switch deletes the flow table entry of the VMdst in its flow table
  • the third SDN Switch adds the flow table entry of the VMdst to its flow table.
  • the method further includes:
  • the SDN Controller sends a virtual machine migration message to the second SDN Switch, where the virtual machine migration message includes information about the third SDN Switch after the VMdst migration.
  • the method further includes:
  • the SDN Controller receives the virtual machine migration instruction sent by the gateway controller, where the migration instruction includes the address information of the VMdst, and/or the information of the second SDN Switch and the information of the third SDN Switch.
  • the method further includes:
  • the SDN Controller initiates the VMdst location information to all SDN Switches connected to it. To Information learning process to obtain the location information of the VMdst after migration.
  • an embodiment of the present invention also provides a flow table update device, including:
  • the second software-defined network switch SDN Switch is set to receive the message sent by the first SDN Switch.
  • the flow table of the second SDN Switch does not have the flow table entry of the destination virtual machine VMdst that receives the message, Send the message to the custom network controller SDN Controller;
  • the SDN Controller is configured to send the location information of the VMdst to the first SDN Switch;
  • the first SDN Switch is set to send a message to the second SDN Switch; according to the received location information of the VMdst, its flow table is updated.
  • the device further includes:
  • the third SDN Switch is set to add the flow entry of the VMdst in its flow table after the VMdst migrates from the second SDN Switch to the third SDN Switch; wherein, the migration is performed on the first SDN switch.
  • the second SDN Switch is further configured to delete the flow entry of the VMdst in its flow table after the VMdst is migrated from the second SDN Switch to the third SDN Switch;
  • the SDN Controller is also set to:
  • the VMdst migrates from the second SDN Switch to the third SDN Switch, send a virtual machine migration message to the second SDN Switch, where the virtual machine migration message includes the third SDN Switch after the VMdst migration Information.
  • the SDN Controller is also set to:
  • the gateway controller Receives a virtual machine migration instruction sent by the gateway controller, where the migration instruction includes the address information of the VMdst, and/or the information of the second SDN Switch and the information of the third SDN Switch.
  • the SDN Controller is also set to:
  • the SDN Controller initiates the VMdst location information learning process to all SDN Switches connected to it, and obtains the location information of the VMdst after migration.
  • an embodiment of the present invention provides a computer storage medium, To
  • the computer storage medium stores computer-executable instructions, and the computer-executable instructions are used to execute the above-mentioned method,
  • the SDN Switch when the SDN Switch cannot find the information of the destination virtual machine in its flow table, and the message cannot be delivered, it sends the message to the SDN Controller, obtains the location information of the destination virtual machine from the SDN Controller, and updates it.
  • the SDN Switch flow table of the message realizes the update of the flow table, which saves the transmission resources between the SDN Controller and the Switch, and the Switch and the Switch, as well as the processing resources of the SDN Switch.
  • Fig. 1 is a schematic diagram of a processing procedure of a VXLAN message in the related art
  • Figure 2 is a flowchart of a flow table update method in an embodiment of the present invention.
  • Figure 3 is a schematic diagram of a flow table update path in an SDN network in an embodiment of the present invention.
  • FIG. 4 is a flow table update flow chart of VM migration triggered by VM NetElement Controller in the SDN network in the embodiment of the present invention
  • FIG. 5 is a flow table update flowchart of VM automatic migration in an SDN network in an embodiment of the present invention
  • Fig. 6 is a schematic structural diagram of a flow table updating device in an embodiment of the present invention.
  • the embodiment of the present invention relates to a flow table update method, including:
  • Step S101 the second SDN Switch receives the packet sent by the first SDN Switch, and when the flow table of the second SDN Switch does not have the flow table entry of the destination virtual machine VMdst that receives the packet, the packet is sent to the custom network control SDN Controller;
  • the source virtual machine VMsrc needs to To When sending a message to the destination virtual machine VMdst, since the first SDN Switch did not update the flow table, the first SDN Switch will still send the message to the second SDN Switch before the VMdst migration, and the second SDN Switch does not correspond
  • the message cannot be delivered, and the message is delivered to the SDN Controller;
  • Step S102 The SDN Controller sends the location information of VMdst to the first SDN Switch;
  • the SDN Controller receives the delivered message. If the SDN Controller has the location information of the VMdst after the migration, it will deliver the flow table information to the first SDN Switch; if the SDN Controller does not have the location information of the VMdst after the migration, it will send it to the connected All DN Switches initiate the VMdst location information learning process, and deliver the learned location information of the migrated VMdst to the first SDN Switch.
  • Step S103 The first SDN Switch updates its flow table according to the received location information of the VMdst.
  • VTEP updates the flow table, that is, the first SDN Switch updates its flow table, and sends the message that VMsrc needs to the destination virtual machine VMdst to the SDN Switch after the VMdst migration, and the SDN Switch after the VMdst migration sends the message to VMdst .
  • Fig. 3 is a flow table update path in the SDN network according to the embodiment of the present invention.
  • the network elements involved in the embodiment of the present invention include: SDN Controller (SDN Controller), SDN Switch (SDN Switch), VM (Virtual Machine), VM NetElement Controller (VM Network Element Controller); between SDN Controller and SDN Switch
  • SDN Controller SDN Controller
  • SDN Switch SDN Switch
  • VM Virtual Machine
  • VM NetElement Controller VM Network Element Controller
  • the communication interface is a southbound interface, and the interface between the VM NetElement Controller and the SDN Controller is a northbound interface.
  • the VM NetElement Controller can be a network management controller, and the VM can be a RNC or CN board, or other applications.
  • VM and SDN Switch are interconnected.
  • VMsrc source virtual machine
  • VMdst destination virtual machine
  • Switch B deletes the flow table entry of VMdst, and adds the flow table entry of VMdst to Switch C, but Switch A where VMsrc is located does not To The flow table is updated, so the packets sent by VMsrc to VMdst still reach Switch B through 1-2-3.
  • Switch B delivers the message to the SDN Controller through the path 3-7.
  • SDN Controller receives the message delivered by Switch B. If SDN Controller has the location information of VMdst after migration (this information is provided by VM NetElement Controller to SDN Controller through path 8), it will be updated directly through path 7-2 The flow table of SwitchA; if the SDN Controller does not have the location information of VMdst, it will initiate the process of VMdst to all the Switches connected to it, and update the flow of Switch A through the path 7-2 of the learned location information of the migrated VMdst table;
  • the following uses VM migration triggered by VM NetElement Controller and VM automatic migration as embodiments to describe the flow table update method.
  • Figure 4 is the flow table update process after VM migration triggered by VM NetElement Controller in the SDN network.
  • the VM NetElement Controller issues a VM migration instruction to the SDN controller through the northbound interface.
  • the migration instruction includes the address information of the VM to be migrated and/or the information of the custom network switch (Switch B) before the migration of the VM to be migrated, and after the migration The information of the custom network switch (Switch C).
  • step S304 the SDN controller sends a VM migration message to Switch B through the southbound interface, and the message contains the information of Switch C after migration.
  • Step S306 VMdst is migrated from Switch B to Switch C, Switch B deletes the flow table entry of VMdst, and adds the flow table entry of VMdst to Switch C;
  • Step S308 When the VMsrc on Switch A has a message to be sent to VMdst, since Switch A does not know the migration of VMdst, it still sends the message to Switch B;
  • step S310 when Switch B distributes, the flow entry search fails, that is, Switch B cannot find the flow entry of VMdst in its flow table, and the packet cannot be processed, and the packet is delivered to the SDN Controller;
  • step S312 the SDN Controller has the location information of the VMdst after the migration, and sends the location information of the VMdst after the migration to Switch A, and Switch A updates its flow table information;
  • Step S314 VMsrc on Switch A sends the message to VMdst on Switch C.
  • Figure 5 is the flow table update process of the automatic VM migration in the SDN network.
  • Step S402 VMdst on Switch B detects that the load on Switch B is too high, and automatically migrates to Switch C;
  • Step S404 Switch B deletes the flow table entry of VMdst, and adds the flow table entry of VMdst to Switch C;
  • Step S406 When the VMsrc on Switch A has a message to be sent to VMdst, since Switch A does not know the migration of VMdst, it still sends the message to Switch B;
  • Step S408 When Switch B distributes, the message cannot be processed due to a miss in the flow entry search, and the message is delivered to the SDN Controller;
  • step S410 since VMdst is automatically migrated to Switch C, the SDN Controller does not have the location information of VMdst. In this case, the SDN Controller initiates the VMdst location information learning process to all the Switches connected to it, and obtains the VMdst location information after migration. location information;
  • Step S412 the SDN Controller updates the flow table information of Switch A;
  • Step S414 VMsrc on Switch A sends the message to VMdst on Switch C.
  • an embodiment of the present invention also relates to a flow table updating device for implementing the above method, including:
  • the second software-defined network switch SDN Switch is set to receive the message sent by the first SDN Switch.
  • the flow table of the second SDN Switch does not have the flow table entry of the destination virtual machine VMdst that receives the message, Send the message to the custom network controller SDN Controller;
  • the SDN Controller is configured to send the location information of the VMdst to the first SDN Switch;
  • the first SDN Switch is set to update its flow table according to the received location information of the VMdst.
  • the third SDN Switch is set to migrate from the second SDN Switch to the VMdst To After the third SDN Switch, add the flow table entry of the VMdst to its flow table; wherein, the migration is performed before the first SDN Switch sends a packet to the second SDN Switch;
  • the second SDN Switch is further configured to delete the flow entry of the VMdst in its flow table after the VMdst is migrated from the second SDN Switch to the third SDN Switch;
  • the SDN Controller is also set to:
  • the VMdst migrates from the second SDN Switch to the third SDN Switch, send a virtual machine migration message to the second SDN Switch, where the virtual machine migration message includes the third SDN Switch after the VMdst migration Information.
  • a virtual machine migration instruction sent by a gateway controller, where the migration instruction includes address information of the VMdst, and/or information of the second SDN Switch to be used and information of the third SDN Switch.
  • the SDN Controller initiates the VMdst location information learning process to all SDN Switches connected to it, and acquires the location information of the VMdst after migration.
  • the SDN Switch when the SDN Switch cannot find the information of the destination virtual machine in its flow table and the message cannot be delivered, it sends the message to the SDN Controller, obtains the location information of the destination virtual machine from the SDN Controller, and updates the sending message.
  • the SDN Switch flow table of the article realizes the update of the flow table, which saves the transmission resources between the SDN Controller and the Switch, and between the Switch and the Switch, and also saves the processing resources of the SDN Switch.
  • all or part of the steps in the above-mentioned embodiments can also be implemented using integrated circuits.
  • steps can be respectively made into integrated circuit modules, or multiple modules or steps of them can be made into a single integrated circuit module to achieve.
  • Each device/functional module/functional unit in the above-mentioned embodiment can be implemented by a general computing device, and they can be concentrated on a single computing device or distributed on a network composed of multiple computing devices.
  • each device/function module/function unit in the above embodiment When each device/function module/function unit in the above embodiment is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the computer readable storage medium mentioned above may be a read-only memory, a magnetic disk or an optical disk, and so on.
  • the above technical solution realizes the update of the flow table, saves transmission resources between the SDN Controller and the Switch, and between the Switch and the Switch, and also saves the processing resources of the SDN Switch.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种流表更新方法及装置,包括:第二软件自定义网络交换机SDN Switch接收第一SDN Switch发送的报文,当第二SDN Switch的流表中没有接收报文的目的虚拟机VMdst的流表项时,将报文发送给自定义网络控制器SDN Controller;SDN Controller将VMdst的位置信息发送给第一SDN Switch;第一SDN Switch根据收到的VMdst的位置信息,更新其流表。上述技术方案中的SDN Switch在其流表无法查找到目的虚拟机的信息造成报文无法下发时,通过将报文发送给SDN Controller,从SDN Controller上获取目的虚拟机的位置信息,更新发送报文的SDN Switch流表,实现流表更新,节约了SDN Controller和Switch之间,以及Switch和Switch之间的传输资源,同时也会节约了SDN Switch的处理资源。

Description

流表更新方法及装置 技术领域
本文涉及通讯技术领域,特别是涉及一种流表更新方法及装置。
背景技术
数据通信的爆炸式增长,促使软件自定义网络(Software Defined Network,SDN)出现,SDN提出将控制平面和数据平面分离,数据平面仅仅负责数据转发,而控制平面则负责决策数据的转发路径。SDN控制平面驻留在SDN控制器(SDN Controller)上,SDN数据平面驻留在SDN交换机(SDN Switch)上。在SDN的实施操作技术中,服务器作为虚拟机运行在SDN网络中,不同租户的服务器之间的隔离原来是通过虚拟局域网(Virtual Local Area Network,VLAN)进行隔离,但是VLAN的上限是4096,已经无法应付服务器的增长速度。为了解决这个问题,虚拟可扩展局域网(Virtual eXtensible Local Area Network,VXLAN)应运而生。
VXLAN是一种封装协议,支持在已有的L3(Layer 3)基础设施上传递互相重叠覆盖的网络上的数据。VXLAN的实现机制是:VXLAN的隧道端点(VXLAN Tunnel End Point,VTEP)维护流表,流表中记录和本VTEP上虚拟机(Virtual Machine,VM)通讯的在其他VTEP上的VM的MAC(Media Access Control,介质访问控制)地址、VXLAN网络标识(VXLAN Network Identifier,VNI)和VTEP地址的映射信息,该信息用于本VTEP的VM到其他VTEP的VM的VXLAN报文的封装,同时也会记录本VTEP上的VM的MAC地址和VNI,用于VXLAN报文的接收,过滤。
图1是相关技术中VXLAN报文的处理过程的示意图,如图1所示,该过程包括:
①VMsrc(源虚拟机VM)发送报文给VMdst(目的虚拟机VM),报文中包含VMdst的MAC地址;
②VTEPsrc(源VXLAN的隧道端点)根据报文中的VMdst的MAC地址,查找本地流表,命中流表项;
③VTEPsrc根据命中的流表项,封装VXLAN报文,发送给VTEPdst(目的VXLAN的隧道端点);
④VTEPdst查找本地流表,命中流表项;
⑤VTEPdst将VXLAN报文头剥离后,将净荷中的以太网报文投递给VMdst。
在云应用中,同一个VM由于硬件原因或者负荷均衡可能会在两个数据中心之间进行热迁移。
当一个VM在两个VTEP节点之间热迁移时,涉及到向这个VM发送数据的其它VM所在的VTEP上的流表的更新。相关技术中,通常的做法是:
1)VM在迁移后的VTEP上,发送免费ARP(Address Resolution Protocol,地址解析协议)报文,VM所在的VTEP向所在组播组中的其他VTEP发送组播报文,其它VTEP根据这个组播报文更新流表,更新迁移后的VM的MAC地址,VNI和VTEP地址的映射关系。
2)VM在迁移后,通知控制器,由控制器负责通知其他VTEP更新流表。
3)通过发送端VTEP的流表老化机制,等相应的流表老化后,会重新学习目标VM的流表条目。
由于VM间的数据无法预知其时效性,可能会出现VTEP给迁移前的VM发送数据,对VM迁移后的该VTEP不再发送数据的场景,对于这种场景,VTEP的流表更新工作就是冗余的,冗余的流表更新工作会浪费SDN Controller和Switch、Switch和Switch之间的传输资源,同时也会浪费SDN Switch上的处理资源。
针对相关技术中VM迁移后的流表更新依赖组播或者专用控制器所导致的问题,目前还没有提出有效的解决方案。
发明内容
本发明实施例提供了一种流表更新方法及装置,用以解决相关技术中流 表更新工作会浪费资源的技术问题。
为解决上述技术问题,一方面,本发明实施例提供一种流表更新方法,包括:
第一自定义网络交换机SDN Switch向第二SDN Switch发送报文;
第二软件自定义网络交换机SDN Switch接收第一SDN Switch发送的报文,当所述第二SDN Switch的流表中没有接收所述报文的目的虚拟机VMdst的流表项时,将所述报文发送给自定义网络控制器SDN Controller;
所述SDN Controller将所述VMdst的位置信息发送给所述第一SDN Switch;
所述第一SDN Switch根据收到的所述VMdst的位置信息,更新其流表。
可选的,在所述第一SDN Switch向所述第二SDN Switch发送报文之前,还包括:
所述VMdst从所述第二SDN Switch迁移至第三SDN Switch;
所述第二SDN Switch在其流表中将所述VMdst的流表项删除;
所述第三SDN Switch在其流表中增加所述VMdst的流表项。
可选的,在所述VMdst从所述第二SDN Switch迁移至第三SDN Switch之前,还包括:
所述SDN Controller向所述第二SDN Switch发送虚拟机迁移消息,所述虚拟机迁移消息中包括所述VMdst迁移后的第三SDN Switch的信息。
可选的,在所述SDN Controller向所述第二SDN Switch发送虚拟机迁移消息之前,还包括:
所述SDN Controller接收网关控制器发送的虚拟机迁移指示,所述迁移指示包括所述VMdst的地址信息,和/或待所述第二SDN Switch的信息以及所述第三SDN Switch的信息。
可选的,所述SDN Controller将所述VMdst的位置信息发送给所述第一SDN Switch之前还包括:
所述SDN Controller向其连接的所有SDN Switch发起所述VMdst位置信 息学习流程,获取所述VMdst迁移后的位置信息。
另一方面,本发明实施例还提供一种流表更新装置,包括:
第二软件自定义网络交换机SDN Switch,设置为接收第一SDN Switch发送的报文,当所述第二SDN Switch的流表中没有接收所述报文的目的虚拟机VMdst的流表项时,将所述报文发送给自定义网络控制器SDN Controller;
SDN Controller,设置为将所述VMdst的位置信息发送给所述第一SDN Switch;
第一SDN Switch,设置为向第二SDN Switch发送报文;根据收到的所述VMdst的位置信息,更新其流表。
可选的,所述装置还包括:
第三SDN Switch,设置为在所述VMdst从所述第二SDN Switch迁移至第三SDN Switch后,在其流表中增加所述VMdst的流表项;其中,所述迁移是在所述第一SDN Switch向所述第二SDN Switch发送报文之前进行;
所述第二SDN Switch还设置为在所述VMdst从所述第二SDN Switch迁移至第三SDN Switch后,在其流表中将所述VMdst的流表项删除;
可选的,所述SDN Controller还设置为:
在所述VMdst从所述第二SDN Switch迁移至第三SDN Switch之前,向所述第二SDN Switch发送虚拟机迁移消息,所述虚拟机迁移消息中包括所述VMdst迁移后的第三SDN Switch的信息。
可选的,所述SDN Controller还设置为:
接收网关控制器发送的虚拟机迁移指示,所述迁移指示包括所述VMdst的地址信息,和/或待所述第二SDN Switch的信息以及所述第三SDN Switch的信息。
可选的,所述SDN Controller还设置为:
所述SDN Controller向其连接的所有SDN Switch发起所述VMdst位置信息学习流程,获取所述VMdst迁移后的位置信息。
为解决上述技术问题,一方面,本发明实施例提供一种计算机存储介质, 所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行上述的方法,
本发明实施例有益效果如下:
本发明实施例中,SDN Switch在其流表无法查找到目的虚拟机的信息造成报文无法下发时,将报文发送给SDN Controller,从SDN Controller上获取目的虚拟机的位置信息,更新发送报文的SDN Switch流表,实现了流表更新,节约了SDN Controller和Switch、Switch和Switch之间的传输资源,同时也节约了SDN Switch的处理资源。
附图概述
图1是相关技术中VXLAN报文的处理过程的示意图;
图2是本发明实施例中一种流表更新方法的流程图;
图3是本发明实施例中SDN网络中流表更新的路径示意图;
图4是本发明实施例中SDN网络中VM NetElement Controller触发的VM迁移的流表更新流程图;
图5是本发明实施例中SDN网络中VM自动迁移的流表更新流程图;
图6是本发明实施例中一种流表更新装置的结构示意图。
本发明的较佳实施方式
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
如图2所示,本发明实施例涉及一种流表更新方法,包括:
步骤S101,第二SDN Switch接收第一SDN Switch发送的报文,当第二SDN Switch的流表中没有接收报文的目的虚拟机VMdst的流表项时,将报文发送给自定义网络控制器SDN Controller;
本步骤中,当VMdst从第二SDN Switch迁移走后,源虚拟机VMsrc需 要向目的虚拟机VMdst发送的报文时,由于第一SDN Switch没有更新流表,因此,第一SDN Switch仍然会将报文发送给VMdst迁移前的第二SDN Switch,第二SDN Switch没有对应的流表信息,无法下发报文,将报文投递到SDN Controller;
步骤S102,SDN Controller将VMdst的位置信息发送给第一SDN Switch;
SDN Controller收到投递上来的报文,如果SDN Controller具有迁移后VMdst的位置信息,则下发流表信息给第一SDN Switch;如果SDN Controller没有迁移后VMdst的位置信息,则会向与其连接的所有DN Switch发起VMdst的位置信息学习流程,并将学习到的迁移后的VMdst的位置信息,下发流表信息给第一SDN Switch。
步骤S103,第一SDN Switch根据收到的VMdst的位置信息,更新其流表。
VTEP更新流表,即第一SDN Switch更新其流表,将VMsrc需要向目的虚拟机VMdst发送的报文,发送给VMdst迁移后的SDN Switch,由VMdst迁移后的SDN Switch将报文发送给VMdst。
下面结合图3~5,详细描述本发明实施例方法。
图3是本发明实施例的SDN网络中流表更新的路径。本发明实施例涉及到的网元包括:SDN Controller(SDN控制器),SDN Switch(SDN交换机),VM(虚拟机),VM NetElement Controller(VM 网元控制器);SDN Controller与SDN Switch之间的通信接口为南向接口,VM NetElement Controller与SDN Controller间的接口为北向接口,VM NetElement Controller可以为网管控制器,VM可以为RNC或者CN的单板,也可以是其他应用。VM与SDN Switch之间互连。
如图3所示,
1)、VMdst迁移之前,VMsrc(源虚拟机)给VMdst(目的虚拟机)发送报文,其通讯路径为①-②-③-④。
2)、当VMdst从Switch B迁移到Switch C,Switch B将VMdst的流表项删除,Switch C中增加VMdst的流表项,但是VMsrc所在的Switch A却没 有更新流表,所以VMsrc发给VMdst的报文仍然经过①-②-③到达Switch B。
3)、Switch B分发时,由于Switch B在其流表中查找不到VMdst的流表项,造成报文无法处理,Switch B经过路径③-⑦将报文投递给SDN Controller。
4)、SDN Controller收到Switch B投递上来的报文,如果SDN Controller具有迁移后VMdst的位置信息(该信息由VM NetElement Controller通过路径⑧提供给SDN Controller的),则直接通过路径⑦-②更新SwitchA的流表;如果SDN Controller没有VMdst的位置信息,则会向其连接的所有Switch发起VMdst的流程,并将学习到的迁移后的VMdst的位置信息,通过路径⑦-②更新Switch A的流表;
5)、Switch A上的流表项被更新之后,VMsrc发给VMdst的报文的通讯路径将变为①-②-⑤-⑥。
下面以VM NetElement Controller触发的VM迁移以及VM自动迁移为实施例描述流表更新的方法。
图4是SDN网络中VM NetElement Controller触发的VM迁移后的流表更新流程。
步骤S302,VM NetElement Controller通过北向接口向SDN controller下发VM迁移指示,迁移指示中包含待迁移VM的地址信息和/或待迁移VM迁移前的自定义网络交换机(Switch B)的信息以及迁移后的自定义网络交换机(Switch C)的信息。
步骤S304,SDN controller通过南向接口向Switch B发送VM迁移消息,消息中包含迁移后的Switch C的信息。
步骤S306,VMdst从Switch B迁移到Switch C,Switch B将VMdst的流表项删除,Switch C中增加VMdst的流表项;
步骤S308,当Switch A上的VMsrc有报文需要发送给VMdst时,由于Switch A不知道VMdst的迁移,仍然将报文发送给Switch B;
步骤S310,Switch B分发时,流表项查找不命中,即:Switch B在其流表中查找不到VMdst的流表项,报文无法处理,将报文投递给SDN Controller;
步骤S312,SDN Controller具有迁移后VMdst的位置信息,将迁移后VMdst的位置信息发送给Switch A,Switch A更新其流表信息;
步骤S314,Switch A上的VMsrc将报文发送给Switch C上的VMdst。
图5是SDN网络中VM自动迁移的流表更新流程。
步骤S402,Switch B上的VMdst检测到Switch B上的负荷过高,自动迁移到Switch C;
步骤S404,Switch B将VMdst的流表项删除,Switch C中增加VMdst的流表项;
步骤S406,当Switch A上的VMsrc有报文需要发送给VMdst时,由于Switch A不知道VMdst的迁移,仍然将报文发送给Switch B;
步骤S408,Switch B分发时,由于流表项查找不命中,报文无法处理,将报文投递给SDN Controller;
步骤S410,由于VMdst是自动迁移到Switch C上的,所以SDN Controller也没有VMdst的位置信息,该种情况下,SDN Controller向与其连接的所有Switch发起VMdst位置信息学习的流程,获取VMdst迁移后的位置信息;
步骤S412,SDN Controller更新Switch A的流表信息;
步骤S414,Switch A上的VMsrc将报文发送给Switch C上的VMdst。
如图6所示,本发明实施例还涉及一种实现上述方法的流表更新装置,包括:
第二软件自定义网络交换机SDN Switch,设置为接收第一SDN Switch发送的报文,当所述第二SDN Switch的流表中没有接收所述报文的目的虚拟机VMdst的流表项时,将所述报文发送给自定义网络控制器SDN Controller;
SDN Controller,设置为将所述VMdst的位置信息发送给所述第一SDN Switch;
第一SDN Switch,设置为根据收到的所述VMdst的位置信息,更新其流表。
第三SDN Switch,设置为在所述VMdst从所述第二SDN Switch迁移至 第三SDN Switch后,在其流表中增加所述VMdst的流表项;其中,所述迁移是在所述第一SDN Switch向所述第二SDN Switch发送报文之前进行;
第二SDN Switch还设置为在所述VMdst从所述第二SDN Switch迁移至第三SDN Switch后,在其流表中将所述VMdst的流表项删除;
SDN Controller还设置为:
在所述VMdst从所述第二SDN Switch迁移至第三SDN Switch之前,向所述第二SDN Switch发送虚拟机迁移消息,所述虚拟机迁移消息中包括所述VMdst迁移后的第三SDN Switch的信息。
接收网关控制器发送的虚拟机迁移指示,所述迁移指示包括所述VMdst的地址信息,和/或待所述第二SDN Switch的信息以及所述第三SDN Switch的信息。
所述SDN Controller向其连接的所有SDN Switch发起所述VMdst位置信息学习流程,获取所述VMdst迁移后的位置信息。
本发明实施例SDN Switch在其流表无法查找到目的虚拟机的信息造成报文无法下发时,通过将报文发送给SDN Controller,从SDN Controller上获取目的虚拟机的位置信息,更新发送报文的SDN Switch流表,实现流表更新,节约了SDN Controller和Switch之间,以及Switch和Switch之间的传输资源,同时也会节约了SDN Switch的处理资源。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这 些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
工业实用性
上述技术方案实现了流表更新,节约了SDN Controller和Switch、Switch和Switch之间的传输资源,同时也会节约了SDN Switch的处理资源。

Claims (11)

  1. 一种流表更新方法,包括:
    第一自定义网络交换机SDN Switch向第二SDN Switch发送报文;
    第二软件自定义网络交换机SDN Switch接收第一SDN Switch发送的报文,当所述第二SDN Switch的流表中没有接收所述报文的目的虚拟机VMdst的流表项时,将所述报文发送给自定义网络控制器SDN Controller;
    所述SDN Controller将所述VMdst的位置信息发送给所述第一SDN Switch;
    所述第一SDN Switch根据收到的所述VMdst的位置信息,更新其流表。
  2. 如权利要求1所述的流表更新方法,所述方法还包括:
    在所述第一SDN Switch向所述第二SDN Switch发送报文之前,所述VMdst从所述第二SDN Switch迁移至第三SDN Switch;
    所述第二SDN Switch在其流表中将所述VMdst的流表项删除;
    所述第三SDN Switch在其流表中增加所述VMdst的流表项。
  3. 如权利要求2所述的流表更新方法,所述方法还包括:
    在所述VMdst从所述第二SDN Switch迁移至第三SDN Switch之前,所述SDN Controller向所述第二SDN Switch发送虚拟机迁移消息,所述虚拟机迁移消息中包括所述VMdst迁移后的第三SDN Switch的信息。
  4. 如权利要求3所述的流表更新方法,所述方法还包括:
    在所述SDN Controller向所述第二SDN Switch发送虚拟机迁移消息之前,所述SDN Controller接收网关控制器发送的虚拟机迁移指示,所述迁移指示包括所述VMdst的地址信息,和/或待所述第二SDN Switch的信息以及所述第三SDN Switch的信息。
  5. 如权利要求2所述的流表更新方法,所述方法还包括:
    所述SDN Controller将所述VMdst的位置信息发送给所述第一SDN  Switch之前,所述SDN Controller向其连接的所有SDN Switch发起所述VMdst位置信息学习流程,获取所述VMdst迁移后的位置信息。
  6. 一种流表更新装置,包括:
    第二软件自定义网络交换机SDN Switch,设置为接收第一SDN Switch发送的报文,当所述第二SDN Switch的流表中没有接收所述报文的目的虚拟机VMdst的流表项时,将所述报文发送给自定义网络控制器SDN Controller;
    SDN Controller,设置为将所述VMdst的位置信息发送给所述第一SDN Switch;
    第一SDN Switch,设置为向第二SDN Switch发送报文;根据收到的所述VMdst的位置信息,更新其流表。
  7. 如权利要求6所述的流表更新装置,所述装置还包括:
    第三SDN Switch,设置为在所述VMdst从所述第二SDN Switch迁移至第三SDN Switch后,在其流表中增加所述VMdst的流表项;其中,所述迁移是在所述第一SDN Switch向所述第二SDN Switch发送报文之前进行;
    所述第二SDN Switch,还设置为在所述VMdst从所述第二SDN Switch迁移至第三SDN Switch后,在其流表中将所述VMdst的流表项删除;
  8. 如权利要求7所述的流表更新装置,所述SDN Controller还设置为:
    在所述VMdst从所述第二SDN Switch迁移至第三SDN Switch之前,向所述第二SDN Switch发送虚拟机迁移消息,所述虚拟机迁移消息中包括所述VMdst迁移后的第三SDN Switch的信息。
  9. 如权利要求8所述的流表更新装置,所述SDN Controller还设置为:
    接收网关控制器发送的虚拟机迁移指示,所述迁移指示包括所述VMdst的地址信息,和/或待所述第二SDN Switch的信息以及所述第三SDN Switch的信息。
  10. 如权利要求7所述的流表更新装置,所述SDN Controller还设置为:
    所述SDN Controller向其连接的所有SDN Switch发起所述VMdst位置信息学习流程,获取所述VMdst迁移后的位置信息。
  11. 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1~5中任一项所述的方法。
PCT/CN2015/082683 2014-12-12 2015-06-29 流表更新方法及装置 WO2016090900A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410765323.X 2014-12-12
CN201410765323.XA CN105743792A (zh) 2014-12-12 2014-12-12 流表更新方法及装置

Publications (1)

Publication Number Publication Date
WO2016090900A1 true WO2016090900A1 (zh) 2016-06-16

Family

ID=56106580

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/082683 WO2016090900A1 (zh) 2014-12-12 2015-06-29 流表更新方法及装置

Country Status (2)

Country Link
CN (1) CN105743792A (zh)
WO (1) WO2016090900A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221561A (zh) * 2020-01-14 2020-06-02 平安科技(深圳)有限公司 流表更新方法、装置、系统、计算机设备及存储介质
CN114760249A (zh) * 2021-01-08 2022-07-15 大唐移动通信设备有限公司 一种基于sdn网络的数据处理方法和装置及设备
CN111221561B (zh) * 2020-01-14 2024-05-31 平安科技(深圳)有限公司 流表更新方法、装置、系统、计算机设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486627B (zh) * 2016-08-30 2022-04-12 华为技术有限公司 一种虚拟机迁移的方法和装置
CN106533942B (zh) * 2016-11-30 2019-06-14 北京邮电大学 一种基于sdn的数据处理方法及装置
CN107547364B (zh) * 2017-08-15 2021-08-06 新华三技术有限公司 路由下发方法、装置和网络设备
CN111698164B (zh) * 2020-06-11 2021-11-19 北京金山云网络技术有限公司 虚拟机的网络路由方法、装置和管理服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2408155A1 (en) * 2009-03-09 2012-01-18 Nec Corporation Openflow communication system and openflow communication method
CN103248724A (zh) * 2013-04-19 2013-08-14 中国(南京)未来网络产业创新中心 一种基于sdn控制器的dhcp广播处理方法
CN103856417A (zh) * 2012-11-30 2014-06-11 中兴通讯股份有限公司 软件定义网络报文转发方法和系统
CN104022953A (zh) * 2013-02-28 2014-09-03 杭州华三通信技术有限公司 基于开放流Openflow的报文转发方法和装置
CN104158749A (zh) * 2013-05-14 2014-11-19 华为技术有限公司 软件定义网络中报文转发方法、网络设备及软件定义网络

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2800304A1 (en) * 2013-04-30 2014-11-05 Telefonaktiebolaget L M Ericsson (Publ) Technique for configuring a Software-Defined Network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2408155A1 (en) * 2009-03-09 2012-01-18 Nec Corporation Openflow communication system and openflow communication method
CN103856417A (zh) * 2012-11-30 2014-06-11 中兴通讯股份有限公司 软件定义网络报文转发方法和系统
CN104022953A (zh) * 2013-02-28 2014-09-03 杭州华三通信技术有限公司 基于开放流Openflow的报文转发方法和装置
CN103248724A (zh) * 2013-04-19 2013-08-14 中国(南京)未来网络产业创新中心 一种基于sdn控制器的dhcp广播处理方法
CN104158749A (zh) * 2013-05-14 2014-11-19 华为技术有限公司 软件定义网络中报文转发方法、网络设备及软件定义网络

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221561A (zh) * 2020-01-14 2020-06-02 平安科技(深圳)有限公司 流表更新方法、装置、系统、计算机设备及存储介质
CN111221561B (zh) * 2020-01-14 2024-05-31 平安科技(深圳)有限公司 流表更新方法、装置、系统、计算机设备及存储介质
CN114760249A (zh) * 2021-01-08 2022-07-15 大唐移动通信设备有限公司 一种基于sdn网络的数据处理方法和装置及设备
CN114760249B (zh) * 2021-01-08 2023-08-04 大唐移动通信设备有限公司 一种基于sdn网络的数据处理方法和装置及设备

Also Published As

Publication number Publication date
CN105743792A (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
US11398921B2 (en) SDN facilitated multicast in data center
WO2016090900A1 (zh) 流表更新方法及装置
US8990371B2 (en) Interconnecting data centers for migration of virtual machines
US9513970B2 (en) Optimizing handling of virtual machine mobility in data center environments
US9477506B2 (en) Dynamic virtual machines migration over information centric networks
US10771431B2 (en) Synchronizing IP information of virtual machines
WO2015117401A1 (zh) 信息的处理方法及装置
EP2843906B1 (en) Method, apparatus, and system for data transmission
JP6574304B2 (ja) 仮想ネットワーク管理
US20150109923A1 (en) Proxy Address Resolution Protocol on a Controller Device
CN105515978A (zh) 实现分布式路由、物理主机接入的方法及装置
US20170331641A1 (en) Deployment Of Virtual Extensible Local Area Network
EP3605959B1 (en) Method, device and computer storage medium for implementing double control plane
JP2015122640A (ja) 中継システムおよびスイッチ装置
TW201541262A (zh) 以軟體定義網路(sdn)支援虛擬機器遷移之方法
KR20150088499A (ko) 송신 노드의 ip 및 mac 테이블들 및 송신 노드와 연결된 서버의 arp 테이블을 관리하는 방법 및 장치
EP3038296A1 (en) Pool element status information synchronization method, pool register and pool element
JP2013066135A (ja) 冗長化制御のためのプログラム、情報処理装置及び方法、通信装置、中継処理方法及びプログラム
CN108259349B (zh) 一种报文转发方法及装置
JP7152665B2 (ja) 情報処理装置、情報処理システム、および設定プログラム
WO2015180539A1 (zh) 一种报文处理方法和设备
CN109039909B (zh) 一种报文转发的方法及装置
CN114520800B (zh) Mac地址表的更新方法及装置
CN113938448B (zh) 一种基于evpn技术的自主可控虚拟交换机的实现方法
WO2016110897A1 (ja) 通信システム、通信装置、通信方法および制御プログラム

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: 15867328

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15867328

Country of ref document: EP

Kind code of ref document: A1