WO2015096863A1 - Method and apparatus for controlling a network - Google Patents

Method and apparatus for controlling a network Download PDF

Info

Publication number
WO2015096863A1
WO2015096863A1 PCT/EP2013/077987 EP2013077987W WO2015096863A1 WO 2015096863 A1 WO2015096863 A1 WO 2015096863A1 EP 2013077987 W EP2013077987 W EP 2013077987W WO 2015096863 A1 WO2015096863 A1 WO 2015096863A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
address
network address
virtual machine
new
Prior art date
Application number
PCT/EP2013/077987
Other languages
French (fr)
Inventor
Carlo Sansone
Original Assignee
Telefonaktiebolaget L M Ericsson (Publ)
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 Telefonaktiebolaget L M Ericsson (Publ) filed Critical Telefonaktiebolaget L M Ericsson (Publ)
Priority to PCT/EP2013/077987 priority Critical patent/WO2015096863A1/en
Publication of WO2015096863A1 publication Critical patent/WO2015096863A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Definitions

  • the present invention relates to a method and apparatus for controlling a network.
  • the present invention further relates to a computer program configured to, when run on a computer, conduct the method, and a controller comprising the apparatus.
  • Data centres often comprise several computers (physical data servers) each running one or more virtual machines (software applications).
  • the data server virtual machines may perform various tasks for client devices, which may be connected to the data server virtual machines via a communications network.
  • the virtual machines may also cooperate with each other in order to provide a service to a client device.
  • the move can be made without interrupting any existing communications sessions, for example TCP (Transmission Control Protocol) sessions, between the data centre virtual machine and a client device and / or another virtual machine in the data centre.
  • TCP Transmission Control Protocol
  • the data centre virtual machine In order for such communications session not to be interrupted, the data centre virtual machine must retain its network address, for example, in the case of TCP sessions, its IP (Internet Protocol) address.
  • a virtual machine When a virtual machine is moved, it retains its network address, such that any existing communications sessions are not interrupted, and data packets addressed to the virtual machine's network address are routed to its new location by, for example, MAC address manipulation at the data link layer.
  • a method of controlling a network comprising a plurality of network switches.
  • the method comprises determining that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch.
  • the method further comprises assigning the data centre virtual machine a new network address based on the determining.
  • the method further comprises instructing at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address.
  • the method further comprises instructing the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine.
  • embodiments of the present invention enable the mobility of a data centre virtual machine to be increased, whilst still ensuring that any existing communications sessions with the virtual machine are not interrupted.
  • the first computer may be located at a first data centre site and the second computer may located at a second, different data centre site. These sites may be located several kilometres from each other.
  • the method may further comprise instructing the second network switch and or the at least one of the plurality of network switches to change the source address of data packets received from the data centre virtual machine, from the new network address to the first network address. This step is advantageous as it ensures that there is consistency in the header content of the data packets.
  • the method may comprise instructing the second network switch to include the new network address in its forwarding table and optionally instructing the first network switch to remove the previous network address for the data centre virtual machine (which may be the first network address) from its forwarding table.
  • the method may comprise determining the first network address for the data centre virtual machine, for example by retrieving the first network address from a memory or receiving an indication of the first network address.
  • the method may further comprise sending an indication of the new network address for the data centre virtual machine to a network controller adapted to control a second network comprising a plurality of network switches, connected to the network.
  • a method of controlling a network comprising a plurality of network switches.
  • the method comprises receiving an indication of a new network address for a data centre virtual machine.
  • the method further comprises instructing at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to a first network address for the data centre virtual machine, from the first network address to the new network address.
  • the first network switch is in a different network, under the control of a different network controller, than the second network switch, as it ensures that, after the data centre virtual machine has been moved, data packets entering the second network which are destined for the virtual machine are correctly routed to the network in which the second network switch is located.
  • the at least one of the plurality of network switches may be connected to a data server client device or a further data server virtual machine.
  • the first network address and the new network address may be IP (Internet Protocol) network addresses.
  • the computer program configured to, when run on a computer, conduct the method according to any preceding claim.
  • the computer program may be in the form of a downloadable signal or in any other form.
  • the computer program may be stored on a computer-readable medium.
  • apparatus adapted to control a network comprising a plurality of network switches.
  • the apparatus comprises a processing unit configured to determine that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch.
  • the processing unit is further configured to assign the data centre virtual machine a new network address based on the determining.
  • the processing unit is further configured to instruct at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address.
  • the processing unit is further configured to instruct the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine.
  • apparatus adapted to control a network comprising a plurality of network switches which comprises an interface adapted to receive an indication of a new network address for a data centre virtual machine.
  • the apparatus further comprises a processing unit configured to instruct at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to a first network address for the data centre virtual machine, from the first network address to the new network address.
  • the apparatus may further comprise a memory device, wherein the processing unit is further configured to store, for each of one or more virtual machines, a first network address for the virtual machine in the memory device. This first network address may then be retrieved, and used, by the processing unit when it is determined that that virtual machine is to be moved from a first computer coupled to first network switch to a second computer coupled to a second, different network switch.
  • a network controller comprising the apparatus described above, which may be an SDN (Software Defined Network) controller.
  • Figure 1 is a flow chart showing steps according to a first aspect of the present invention
  • Figure 2 shows an example of a network comprising a plurality of network switches
  • Figure 3 shows the network when a data centre virtual machine has been moved from a first computer coupled to a first of the network switches to a second computer coupled to a second, different one of the network switches;
  • Figure 4 is a flow chart showing a preferred embodiment of the first aspect of the present invention.
  • Figure 5 shows an example of a network comprising a plurality of networks each comprising a plurality of network switches
  • Figure 6 shows the network when a data centre virtual machine has been moved from a first computer coupled to a network switch in a first of the networks to a second computer coupled to a network switch in a second of the networks;
  • Figure 7 is a flow chart showing steps according to a second aspect of the present invention.
  • Figure 8 shows apparatus for controlling a network according to an embodiment of the present invention.
  • Figure 1 is a flow chart showing steps in a method of controlling a network (which may also be referred to as a communications network) comprising a plurality of network switches according to a first aspect of the present invention.
  • a network which may also be referred to as a communications network
  • the method comprises at step 100 determining that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch.
  • assigning the data centre virtual machine a new (or second) network address based on the determining.
  • At step 120 instructing at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address; and at step 130 instructing the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine.
  • FIGS 2 and 3 show an example of a network 10 comprising a plurality of network switches 12 (SWITCHES 1 to 5), which may be controlled according to the method of Figure 1 .
  • a network controller (not shown), which may be an SDN (Software Defined Network) controller or any other type of network controller.
  • the network 10 is an IP (Internet Protocol) network.
  • the network 10 may be any type of layer 3 network (with reference to the OCI model).
  • a data centre virtual machine 14 (A) is moved from a first computer coupled to a first network switch 12 in the network 10 (in this example SWITCH 1 ) to a second computer coupled to a second network switch 12 (in this example SWITCH 4) in the network 10.
  • the plurality of network switches 12 (SWITCH 1 to 5), which may also be referred to as network routers, are interconnected by a number of links. These links may comprise, for example, optical fibres, or any other type of transmission medium.
  • Each network switch 12 (SWITCH 1 to 5) comprises a plurality of ports, and is configured to forward data packets received at one of the ports to another of the ports for transmission therefrom, based on the destination address of the data packets.
  • Data packets comprise a header followed by a body. The header includes a destination address, and a source address (which indicates the network address at which the data packets were originally generated). As indicated above, the destination address of the data packets is used to route the data packets through the network 10.
  • each of the network switches 12 has a forwarding table, which is configured by the network controller using summarisation.
  • the forwarding table indicates, for each port of the network switch 12, the range of destination addresses of data packets, rather than each destination address, which should be forwarded to that port, for transmission therefrom.
  • SWITCH 1 is coupled to a plurality of data centre virtual machines 14, and SWITCH 4 is coupled to a plurality of data centre virtual machines 14. It is possible that SWITCH 1 and 4 are located at different data centre sites, or they may be located at the same data centre site.
  • Each of these data centre virtual machines 14 is indicated by an illustration of a computer. However, it should be appreciated that two or more of the data centre virtual machines coupled to the same network switch 12 may be located on the same computer.
  • SWITCH 5 is coupled to one or more data centre client devices (not shown). Note that SWITCH 5 may be directly coupled to these client devices or indirectly coupled to these client devices via a further network (not shown).
  • Each of the virtual machines 14 has its own network address (which will be referred to as a first network address). This is the network address which is used by the virtual machine 14 for its internal operations, for example in communications sessions (e.g. TCP sessions) with a data centre client device (not shown) and or another virtual machine 14 in the data centre.
  • communications sessions e.g. TCP sessions
  • data centre client device not shown
  • the first network address is an IP network addresses.
  • the first network address may be any other type of layer 3 address (with reference to the OCI layer) which may be used in a communications sessions by the data centre virtual machine.
  • Figure 4 is a flow chart showing steps for controlling the network 10 according to a preferred embodiment of the first aspect of the present invention.
  • the method comprises, at step 400, determining that a data centre virtual machine (in this example virtual machine A) having a first network address (in this example, 141.137.1 .2) is to be moved from a first computer coupled to a first network switch (SWITCH 1 ) to a second computer coupled to a second network switch (SWITCH 4). This may be achieved, for example, by receiving an indication from the data centre virtual machine or from an entity controlling the movement of the data centre virtual machine.
  • the virtual machine is assigned a new network address, based on the determining.
  • This new network address may be assigned based on the virtual machine's new location, and may be a network address associated with the second network switch (SWITCH 4).
  • data centre virtual machine (A) is assigned the new address 193.180.16.4, which corresponds to the network addresses of the other devices coupled to SWITCH 4.
  • the method may further comprise, at step 420, instructing the second network switch (SWITCH 4) to include the new network address in its forwarding table. And also, at step 430, optionally, instructing the first network switch (SWITCH 1 ) to remove the virtual machine's previous network address from its forwarding table.
  • SWITCH 4 instructing the second network switch
  • SWITCH 1 instructing the first network switch (SWITCH 1 ) to remove the virtual machine's previous network address from its forwarding table.
  • the virtual machine's "previous network address" is its network address (i.e. the first network address). However, where the virtual machine has already been moved since it was assigned the first network address, it should be appreciated that the previous network address may be different from the first network address. Note that, because of the use of summarisation in the forwarding tables, advantageously, no changes are required to the forwarding tables of the other network switches (SWITCHES 2 to 3 and 5).
  • the method further comprises instructing at least one of the network switches (SWITCHES 1 to 5) to change the destination address of data packets entering the network 10 which are addressed to the first network address, from the first network address to the new network address.
  • SWITCHES 1 to 5 instructing at least one of the network switches (SWITCHES 1 to 5) to change the destination address of data packets entering the network 10 which are addressed to the first network address, from the first network address to the new network address.
  • the at least one of the network switches only includes network switches which are coupled to devices (client devices of the data centre virtual machine (A) or other data centre virtual machines 14) which have an existing
  • communications session e.g. TCP session
  • data centre virtual machine A
  • the at least one of the network switches includes each of the network switches (SWITCHES 1 to 5) which is coupled to a device which might have a communications session with the data centre virtual machine (A), regardless whether those devices actually have existing communications sessions with the data centre virtual machine (A).
  • SWITCHES 1 to 5 the network switches which is coupled to a device which might have a communications session with the data centre virtual machine (A), regardless whether those devices actually have existing communications sessions with the data centre virtual machine (A).
  • the method further comprises instructing the second network switches
  • SWITCH 4 to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the virtual machine (A).
  • the method may further comprise, at step 470, instructing the one or more of the network switches (SWITCHES 1 to 5) to change the source address of data packets received from the virtual machine, from the new network address to the first network address.
  • This step is advantageous, as it ensures that there is consistency in the header content of data packets. However, it will be appreciated that this step is not necessary, since the source address is not used to route packets through the network 10.
  • this step may comprise instructing the second network switch (SWITCH 4) to perform this source address translation instead.
  • steps 420, 430, 450, 460 and 470 may be performed simultaneously or in any order.
  • SWITCHES 1 to 5 a network switch
  • ARP Address Resolution Protocol
  • NDP Neighbour Discovery Protocol
  • the network switch (SWITCH 4) connected to data centre virtual machine (A) will behave as if it is the original default gateway for the data centre virtual machine's original location (corresponding to the virtual machine's first network address). This can be achieved for example, by the network switch (SWITCH 4) considering itself as the destination of packets sent by the virtual machine to a network address belonging to the same sub network (i.e. the same sub network as the virtual machine's original or first network address). The destination MAC address of such packets may be disregarded by the network switch (it will accept any MAC addresses). Alternatively, the network switch will issue a gratuitous ARP message (or will use NDP protocol in case of IPv6) to link its MAC address to the original virtual machine default gateway network address. In an example, steps 450, 460 and 470 may be achieved using a field replacement function in the open flow protocol. However, the skilled person will appreciate that other
  • the method may first comprise determining, at step 440, the first network address for the data centre virtual machine (A). This first network address may then informed to the at least one of the network switches (SWITCHES 1 to 5) and or the second network switch (SWITCH 4). Step 440 may be achieved by receiving an indication of the first network address, or by retrieving the first network address from a memory device.
  • the network controller may store, for each data centre virtual machine coupled to the network 10, the first network address for the data centre virtual machine (i.e. the address actually used by the virtual machine) in a memory device. This may be done when the first network address is assigned. This first network address may be linked to an entry for the virtual machine's current (new) network address (i.e. the network address presently used in the network for the virtual machine). Note that, where the virtual machine is moved several times after its first network address has been assigned, there is no need to store the intermediate network addresses assigned to the virtual machine.
  • data packets addressed to the virtual machine's first network address can still be routed to data centre virtual machine (A), at its new location.
  • These data packets may for example enter the network 10 at SWITCH 5.
  • SWITCH 5 changes the destination address of these data packets, from the first network address to the new network address.
  • SWITCH 4 changes the destination address of these data packets, from the first network address to the new network address.
  • SWITCH 4 changes the destination address of the packets back to the first network address.
  • the data packets received by the virtual machine (A) have its network address (the first network address).
  • any communications sessions e.g. TCP sessions
  • the client device does not need to know that the virtual machine has moved (or its new network address) and no additional processing such as address translation is required at the data centre virtual machine.
  • FIGs 5 and 6 illustrate another example, where data centre virtual machine (A) is moved from a first computer coupled to a network switch in a first network (network 1 ) to a second computer coupled to a network switch in another network (network 3).
  • SDN network 1 to 3 there are three networks (SDN network 1 to 3), which are connected together, in this example by a legacy router 30.
  • This legacy router 30 may alternatively be a legacy network.
  • Each of the networks comprises a plurality of network switches and is controlled by a respective network controller (not shown). These network controllers can communicate with each other.
  • the steps performed by the network controller of network 3 (network controller 3), in which the second computer is located may be the same as those described above, with reference to Figures 1 or Figure 4.
  • the network controller may determine the first network address based on an indication of the first network address from network controller 1 . Further, of course, network controller cannot instruct the first network switch to remove a previous network address for the virtual machine from its forwarding table, as it is not in control of the first network switch. This step may be performed by the network controller of network 1.
  • network controller 3 may send at least one of the other network controllers (network controller 1 and / or 2) an indication of the virtual machine's new network address.
  • Figure 7 is a flow chart showing steps which may be performed by each of those other network controllers (network controller 1 and / or network controller 2).
  • the network controller may receive an indication of the new network address for the data centre virtual machine (A), from network controller 3.
  • the network controller may then, at step 710, instruct at least one of the plurality of network switches in its network to change the destination address of data packets entering that network which are addressed to the first network address for the data centre virtual machine (A), from the first network address to the new network address.
  • This step may be achieved in the same manner as that of step 450 described above.
  • FIG. 8 is a schematic diagram of apparatus 800 adapted to control a network comprising a plurality of network switches, which may be configured to perform the above methods.
  • the apparatus may be comprised within a network controller, for example a SDN (Software Defined Network) controller.
  • the apparatus 800 comprises a processing unit 810 and may additionally comprise a receive/transmit interface 820 and a memory device 830.
  • the processing unit 810 may be realised in any appropriate combination of software and / or hardware, and may for example comprise one or more processors integrated to any degree.
  • the one or more processors may comprise for example, but not exclusively, general purpose processors, application- specific integrated circuits (ASIC) or field-programmable gate arrays (FPGAs).
  • the memory device may comprise any type device for storing information such as, but not exclusively, a volatile memory such as RAM or a non-volatile memory such as ROM, or any other type of memory device such as tape, magnetic disks or optical disks.
  • the processing unit 810 is configured to determine that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch.
  • the processing unit 810 is further configured to assign the data centre virtual machine a new network address based on the determining.
  • the processing unit 810 is further configured to instruct at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address.
  • the processing unit 810 is further configured to instruct the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine.
  • processing unit 810 may further be configured to instruct the second network switch to include the new network address in its forwarding table and optional to instruct the first network switch to remove the first network address from its forwarding table. Further, the processing unit 810 may be configured to instruct the second network switch and or the at least one of the plurality of network switches to change the source address of data packets received from the virtual machine from the new network address to the first network address.
  • the interface 820 may be adapted to receive an indication of a new network address for a data centre virtual machine.
  • the processing unit 810 may be configured to instruct at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to a first network address for the data centre virtual machine, from the first network address to the new network address.
  • the processing unit 810 may further be configured to determine the first network address for the data centre virtual machine, for example by receiving an indication of the first network address via interface 820 or by retrieving the first network address from memory device 830.
  • the processing unit 810 may further be configured to store, for each of one or more virtual machines, a first network address for the virtual machine in the memory, which may be retrieved for the instructing steps.

Landscapes

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

Abstract

The present invention provides a method of controlling a network comprising a plurality of network switches. In a first aspect, the method comprises determining that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch and assigning the data centre virtual machine a new network address based on the determining. The method further comprises instructing at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address; and instructing the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine. The present invention also provides a computer program, an apparatus and a controller comprising the apparatus, for controlling a network.

Description

A Method and Apparatus for Controlling a Network
Technical Field The present invention relates to a method and apparatus for controlling a network. The present invention further relates to a computer program configured to, when run on a computer, conduct the method, and a controller comprising the apparatus.
Background
Data centres often comprise several computers (physical data servers) each running one or more virtual machines (software applications). The data server virtual machines may perform various tasks for client devices, which may be connected to the data server virtual machines via a communications network. The virtual machines may also cooperate with each other in order to provide a service to a client device.
For reliability reasons and to achieve load balancing between the computers, it may be desirable to move a data centre virtual machine from one of the computers to another. However, it is also desirable that the move can be made without interrupting any existing communications sessions, for example TCP (Transmission Control Protocol) sessions, between the data centre virtual machine and a client device and / or another virtual machine in the data centre. In order for such communications session not to be interrupted, the data centre virtual machine must retain its network address, for example, in the case of TCP sessions, its IP (Internet Protocol) address.
This is usually achieved using data link (layer 2 with reference to the OCI model) switching. When a virtual machine is moved, it retains its network address, such that any existing communications sessions are not interrupted, and data packets addressed to the virtual machine's network address are routed to its new location by, for example, MAC address manipulation at the data link layer.
A problem with this approach however is that the data centre virtual machines can only be moved between computers in a layer 2 network and, due to memory and bandwidth constraints, the scalability of layer 2 networks is limited. Summary
According to a first aspect of the present invention, there is provided a method of controlling a network comprising a plurality of network switches. The method comprises determining that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch. The method further comprises assigning the data centre virtual machine a new network address based on the determining. The method further comprises instructing at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address. The method further comprises instructing the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine.
Thus, embodiments of the present invention enable the mobility of a data centre virtual machine to be increased, whilst still ensuring that any existing communications sessions with the virtual machine are not interrupted. In an embodiment of the present invention, the first computer may be located at a first data centre site and the second computer may located at a second, different data centre site. These sites may be located several kilometres from each other.
In preferred embodiments of the present invention, the method may further comprise instructing the second network switch and or the at least one of the plurality of network switches to change the source address of data packets received from the data centre virtual machine, from the new network address to the first network address. This step is advantageous as it ensures that there is consistency in the header content of the data packets.
In embodiments of the present invention, the method may comprise instructing the second network switch to include the new network address in its forwarding table and optionally instructing the first network switch to remove the previous network address for the data centre virtual machine (which may be the first network address) from its forwarding table. In further embodiments of the present invention, the method may comprise determining the first network address for the data centre virtual machine, for example by retrieving the first network address from a memory or receiving an indication of the first network address. In further embodiments of the present invention, the method may further comprise sending an indication of the new network address for the data centre virtual machine to a network controller adapted to control a second network comprising a plurality of network switches, connected to the network. According to a second aspect of the present invention, there is provided a method of controlling a network comprising a plurality of network switches. The method comprises receiving an indication of a new network address for a data centre virtual machine. The method further comprises instructing at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to a first network address for the data centre virtual machine, from the first network address to the new network address.
This is particularly advantageous where the first network switch is in a different network, under the control of a different network controller, than the second network switch, as it ensures that, after the data centre virtual machine has been moved, data packets entering the second network which are destined for the virtual machine are correctly routed to the network in which the second network switch is located.
In the first and second aspects of the present invention, the at least one of the plurality of network switches may be connected to a data server client device or a further data server virtual machine.
The first network address and the new network address may be IP (Internet Protocol) network addresses.
There is also provided a computer program configured to, when run on a computer, conduct the method according to any preceding claim. The computer program may be in the form of a downloadable signal or in any other form. The computer program may be stored on a computer-readable medium. There is further provided apparatus adapted to control a network comprising a plurality of network switches. The apparatus comprises a processing unit configured to determine that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch. The processing unit is further configured to assign the data centre virtual machine a new network address based on the determining. The processing unit is further configured to instruct at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address. The processing unit is further configured to instruct the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine. There is also provided apparatus adapted to control a network comprising a plurality of network switches which comprises an interface adapted to receive an indication of a new network address for a data centre virtual machine. The apparatus further comprises a processing unit configured to instruct at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to a first network address for the data centre virtual machine, from the first network address to the new network address.
In a preferred embodiment, the apparatus may further comprise a memory device, wherein the processing unit is further configured to store, for each of one or more virtual machines, a first network address for the virtual machine in the memory device. This first network address may then be retrieved, and used, by the processing unit when it is determined that that virtual machine is to be moved from a first computer coupled to first network switch to a second computer coupled to a second, different network switch. There is also provided a network controller comprising the apparatus described above, which may be an SDN (Software Defined Network) controller.
Description of the Drawings Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings in which: Figure 1 is a flow chart showing steps according to a first aspect of the present invention;
Figure 2 shows an example of a network comprising a plurality of network switches;
Figure 3 shows the network when a data centre virtual machine has been moved from a first computer coupled to a first of the network switches to a second computer coupled to a second, different one of the network switches; Figure 4 is a flow chart showing a preferred embodiment of the first aspect of the present invention;
Figure 5 shows an example of a network comprising a plurality of networks each comprising a plurality of network switches;
Figure 6 shows the network when a data centre virtual machine has been moved from a first computer coupled to a network switch in a first of the networks to a second computer coupled to a network switch in a second of the networks; Figure 7 is a flow chart showing steps according to a second aspect of the present invention; and
Figure 8 shows apparatus for controlling a network according to an embodiment of the present invention.
Description
Figure 1 is a flow chart showing steps in a method of controlling a network (which may also be referred to as a communications network) comprising a plurality of network switches according to a first aspect of the present invention.
The method comprises at step 100 determining that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch. At step 1 10 assigning the data centre virtual machine a new (or second) network address based on the determining. At step 120 instructing at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address; and at step 130 instructing the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine.
Figures 2 and 3 show an example of a network 10 comprising a plurality of network switches 12 (SWITCHES 1 to 5), which may be controlled according to the method of Figure 1 .
These steps may be performed by a network controller (not shown), which may be an SDN (Software Defined Network) controller or any other type of network controller. In this example, the network 10 is an IP (Internet Protocol) network. However, the network 10 may be any type of layer 3 network (with reference to the OCI model).
In this example, a data centre virtual machine 14 (A) is moved from a first computer coupled to a first network switch 12 in the network 10 (in this example SWITCH 1 ) to a second computer coupled to a second network switch 12 (in this example SWITCH 4) in the network 10.
The plurality of network switches 12 (SWITCH 1 to 5), which may also be referred to as network routers, are interconnected by a number of links. These links may comprise, for example, optical fibres, or any other type of transmission medium. Each network switch 12 (SWITCH 1 to 5) comprises a plurality of ports, and is configured to forward data packets received at one of the ports to another of the ports for transmission therefrom, based on the destination address of the data packets. Data packets comprise a header followed by a body. The header includes a destination address, and a source address (which indicates the network address at which the data packets were originally generated). As indicated above, the destination address of the data packets is used to route the data packets through the network 10. In this example, each of the network switches 12 has a forwarding table, which is configured by the network controller using summarisation. The forwarding table indicates, for each port of the network switch 12, the range of destination addresses of data packets, rather than each destination address, which should be forwarded to that port, for transmission therefrom. In this example, SWITCH 1 is coupled to a plurality of data centre virtual machines 14, and SWITCH 4 is coupled to a plurality of data centre virtual machines 14. It is possible that SWITCH 1 and 4 are located at different data centre sites, or they may be located at the same data centre site. Each of these data centre virtual machines 14 is indicated by an illustration of a computer. However, it should be appreciated that two or more of the data centre virtual machines coupled to the same network switch 12 may be located on the same computer.
SWITCH 5 is coupled to one or more data centre client devices (not shown). Note that SWITCH 5 may be directly coupled to these client devices or indirectly coupled to these client devices via a further network (not shown).
Each of the virtual machines 14 has its own network address (which will be referred to as a first network address). This is the network address which is used by the virtual machine 14 for its internal operations, for example in communications sessions (e.g. TCP sessions) with a data centre client device (not shown) and or another virtual machine 14 in the data centre.
In this example, the first network address is an IP network addresses. However, depending on the configuration of the network 10, the first network address may be any other type of layer 3 address (with reference to the OCI layer) which may be used in a communications sessions by the data centre virtual machine.
Figure 4 is a flow chart showing steps for controlling the network 10 according to a preferred embodiment of the first aspect of the present invention.
The method comprises, at step 400, determining that a data centre virtual machine (in this example virtual machine A) having a first network address (in this example, 141.137.1 .2) is to be moved from a first computer coupled to a first network switch (SWITCH 1 ) to a second computer coupled to a second network switch (SWITCH 4). This may be achieved, for example, by receiving an indication from the data centre virtual machine or from an entity controlling the movement of the data centre virtual machine. Then, at step 410 the virtual machine is assigned a new network address, based on the determining. This new network address may be assigned based on the virtual machine's new location, and may be a network address associated with the second network switch (SWITCH 4). In this example, as seen in Figure 3, data centre virtual machine (A) is assigned the new address 193.180.16.4, which corresponds to the network addresses of the other devices coupled to SWITCH 4.
In an embodiment, the method may further comprise, at step 420, instructing the second network switch (SWITCH 4) to include the new network address in its forwarding table. And also, at step 430, optionally, instructing the first network switch (SWITCH 1 ) to remove the virtual machine's previous network address from its forwarding table. The result of these instructions can be seen in Figure 3. In this example, the virtual machine's "previous network address" is its network address (i.e. the first network address). However, where the virtual machine has already been moved since it was assigned the first network address, it should be appreciated that the previous network address may be different from the first network address. Note that, because of the use of summarisation in the forwarding tables, advantageously, no changes are required to the forwarding tables of the other network switches (SWITCHES 2 to 3 and 5).
At step 450, the method further comprises instructing at least one of the network switches (SWITCHES 1 to 5) to change the destination address of data packets entering the network 10 which are addressed to the first network address, from the first network address to the new network address.
It is possible that the at least one of the network switches (SWITCHES 1 to 5) only includes network switches which are coupled to devices (client devices of the data centre virtual machine (A) or other data centre virtual machines 14) which have an existing
communications session (e.g. TCP session) with the data centre virtual machine (A).
However, more preferably, the at least one of the network switches includes each of the network switches (SWITCHES 1 to 5) which is coupled to a device which might have a communications session with the data centre virtual machine (A), regardless whether those devices actually have existing communications sessions with the data centre virtual machine (A). This approach is simpler, since there is no need to determine which, if any, of the devices have existing communications sessions with the data centre virtual machine (A). It also means that there is no need to tell any of those devices about the virtual machine's new network address.
At step 460, the method further comprises instructing the second network switches
(SWITCH 4) to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the virtual machine (A).
Optionally, the method may further comprise, at step 470, instructing the one or more of the network switches (SWITCHES 1 to 5) to change the source address of data packets received from the virtual machine, from the new network address to the first network address. This step is advantageous, as it ensures that there is consistency in the header content of data packets. However, it will be appreciated that this step is not necessary, since the source address is not used to route packets through the network 10. In alternative embodiments, this step may comprise instructing the second network switch (SWITCH 4) to perform this source address translation instead.
Note that steps 420, 430, 450, 460 and 470 may be performed simultaneously or in any order.
Note also that, where one or more of the other data centre virtual machines 14 may wish to establish a communications session with data centre virtual machine (A), it is important that those data centre virtual machines 14 are configured such that data packets are not transmitted directly between them, but are transmitted via a network switch (SWITCHES 1 to 5). This ensures that the necessary network address translation and routing occurs.
This may be achieved, for example, by assigning the virtual machines 14 IP addresses with /30 prefixes, so that each virtual machine 14 only sees the SDN network switch in its sub network. Or, if additional IP addresses are needed (for debugging purposes for example) a larger sub network (e.g. /29) can be used but no more than one virtual machine 14 can have a host address in this sub network. Note that this has the additional benefit of limiting ARP (Address Resolution Protocol) traffic or NDP (Neighbour Discovery Protocol) traffic in case of IPv6 and in general layer 2 broadcast. The network switch (SWITCH 4) connected to data centre virtual machine (A) will behave as if it is the original default gateway for the data centre virtual machine's original location (corresponding to the virtual machine's first network address). This can be achieved for example, by the network switch (SWITCH 4) considering itself as the destination of packets sent by the virtual machine to a network address belonging to the same sub network (i.e. the same sub network as the virtual machine's original or first network address). The destination MAC address of such packets may be disregarded by the network switch (it will accept any MAC addresses). Alternatively, the network switch will issue a gratuitous ARP message (or will use NDP protocol in case of IPv6) to link its MAC address to the original virtual machine default gateway network address. In an example, steps 450, 460 and 470 may be achieved using a field replacement function in the open flow protocol. However, the skilled person will appreciate that other
implementations are possible. In this example, the method may first comprise determining, at step 440, the first network address for the data centre virtual machine (A). This first network address may then informed to the at least one of the network switches (SWITCHES 1 to 5) and or the second network switch (SWITCH 4). Step 440 may be achieved by receiving an indication of the first network address, or by retrieving the first network address from a memory device.
In a preferred embodiment, the network controller may store, for each data centre virtual machine coupled to the network 10, the first network address for the data centre virtual machine (i.e. the address actually used by the virtual machine) in a memory device. This may be done when the first network address is assigned. This first network address may be linked to an entry for the virtual machine's current (new) network address (i.e. the network address presently used in the network for the virtual machine). Note that, where the virtual machine is moved several times after its first network address has been assigned, there is no need to store the intermediate network addresses assigned to the virtual machine.
Thus, as can be seen in Figure 3, after data centre virtual machine (A) has been moved, data packets addressed to the virtual machine's first network address can still be routed to data centre virtual machine (A), at its new location. These data packets may for example enter the network 10 at SWITCH 5. SWITCH 5 changes the destination address of these data packets, from the first network address to the new network address. Thus these data packets are routed to SWITCH 4, to which the virtual machine (A) is now coupled. The same happens for data packets from other virtual machines 14 in the data centre. However, before sending or forwarding the data packets to the virtual machine (A), SWITCH 4 changes the destination address of the packets back to the first network address. Thus, the data packets received by the virtual machine (A) have its network address (the first network address). Thus, in this way, advantageously, any communications sessions (e.g. TCP sessions) which have already started between a client device and or other data centre virtual machines and data centre virtual machine (A), will not be interrupted when the data centre virtual machine is moved to another computer. Further, it should be appreciated that, advantageously, the client device does not need to know that the virtual machine has moved (or its new network address) and no additional processing such as address translation is required at the data centre virtual machine.
Figures 5 and 6 illustrate another example, where data centre virtual machine (A) is moved from a first computer coupled to a network switch in a first network (network 1 ) to a second computer coupled to a network switch in another network (network 3). In this example, there are three networks (SDN network 1 to 3), which are connected together, in this example by a legacy router 30. This legacy router 30 may alternatively be a legacy network. Each of the networks comprises a plurality of network switches and is controlled by a respective network controller (not shown). These network controllers can communicate with each other. In this example, the steps performed by the network controller of network 3 (network controller 3), in which the second computer is located, may be the same as those described above, with reference to Figures 1 or Figure 4. However, as indicated above, instead of determining the first network address of the data centre virtual machine (A) by retrieving the address from a memory, the network controller may determine the first network address based on an indication of the first network address from network controller 1 . Further, of course, network controller cannot instruct the first network switch to remove a previous network address for the virtual machine from its forwarding table, as it is not in control of the first network switch. This step may be performed by the network controller of network 1. In addition, at step 480, network controller 3 may send at least one of the other network controllers (network controller 1 and / or 2) an indication of the virtual machine's new network address.
Figure 7 is a flow chart showing steps which may be performed by each of those other network controllers (network controller 1 and / or network controller 2).
At step 700, the network controller (network controller 1 and / or 2) may receive an indication of the new network address for the data centre virtual machine (A), from network controller 3. The network controller (network controller 1 and / or 2) may then, at step 710, instruct at least one of the plurality of network switches in its network to change the destination address of data packets entering that network which are addressed to the first network address for the data centre virtual machine (A), from the first network address to the new network address. This step may be achieved in the same manner as that of step 450 described above. Thus, these steps have the advantage that, once the data centre virtual machine (A) is moved, data packets entering networks 1 / 2 which are addressed to the virtual machine's first network address are routed to network 3, from where they can be routed to data centre virtual machine (A) at its new location. This is shown by way of example in Figure 5. Figure 8 is a schematic diagram of apparatus 800 adapted to control a network comprising a plurality of network switches, which may be configured to perform the above methods. The apparatus may be comprised within a network controller, for example a SDN (Software Defined Network) controller. The apparatus 800 comprises a processing unit 810 and may additionally comprise a receive/transmit interface 820 and a memory device 830. The processing unit 810 may be realised in any appropriate combination of software and / or hardware, and may for example comprise one or more processors integrated to any degree. The one or more processors may comprise for example, but not exclusively, general purpose processors, application- specific integrated circuits (ASIC) or field-programmable gate arrays (FPGAs). The memory device may comprise any type device for storing information such as, but not exclusively, a volatile memory such as RAM or a non-volatile memory such as ROM, or any other type of memory device such as tape, magnetic disks or optical disks. In a first embodiment, the processing unit 810 is configured to determine that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch. The processing unit 810 is further configured to assign the data centre virtual machine a new network address based on the determining. The processing unit 810 is further configured to instruct at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address. The processing unit 810 is further configured to instruct the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine. In addition, the processing unit 810 may further be configured to instruct the second network switch to include the new network address in its forwarding table and optional to instruct the first network switch to remove the first network address from its forwarding table. Further, the processing unit 810 may be configured to instruct the second network switch and or the at least one of the plurality of network switches to change the source address of data packets received from the virtual machine from the new network address to the first network address.
In a second embodiment, the interface 820 may be adapted to receive an indication of a new network address for a data centre virtual machine. The processing unit 810 may be configured to instruct at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to a first network address for the data centre virtual machine, from the first network address to the new network address.
In both embodiments, the processing unit 810 may further be configured to determine the first network address for the data centre virtual machine, for example by receiving an indication of the first network address via interface 820 or by retrieving the first network address from memory device 830. In a preferred embodiment, the processing unit 810 may further be configured to store, for each of one or more virtual machines, a first network address for the virtual machine in the memory, which may be retrieved for the instructing steps.

Claims

1 . A method of controlling a network comprising a plurality of network switches, the method comprising:
determining that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch;
assigning the data centre virtual machine a new network address based on the determining;
instructing at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address; instructing the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine.
2. A method according to claim 1 , further comprising instructing the second network switch and or the at least one of the plurality of network switches to change the source address of data packets received from the data centre virtual machine, from the new network address to the first network address.
3. A method according to claim 1 or 2, comprising instructing the second network switch to include the new network address in its forwarding table and optionally instructing the first network switch to remove a previous network address for the datacentre virtual machine from its forwarding table.
4. A method according to any preceding claim, further comprising sending an indication of the new network address for the data centre virtual machine to a network controller adapted to control a second network comprising a plurality of network switches, connected to the network.
5. A method of controlling a network comprising a plurality of network switches, the method comprising:
receiving an indication of a new network address for a data centre virtual machine; and instructing at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to a first network address for the data centre virtual machine, from the first network address to the new network address.
A method according to any preceding claim, comprising determining the first network address for the data centre virtual machine, by retrieving the first network address from a memory device or receiving an indication of the first network address.
A computer program configured to, when run on a computer, conduct the method according to any preceding claim.
Apparatus adapted to control a network comprising a plurality of network switches, the apparatus comprising
a processing unit configured to:
determine that a data centre virtual machine having a first network address is to be moved from a first computer coupled to a first network switch to a second computer coupled to a second, different network switch;
assign the data centre virtual machine a new network address based on the determining;
instruct at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to the first network address, from the first network address to the new network address; instruct the second network switch to change the destination address of data packets addressed to the new network address, from the new network address to the first network address, before sending the data packets to the data centre virtual machine.
Apparatus adapted to control a network comprising a plurality of network switches, the apparatus comprising:
an interface adapted to receive an indication of a new network address for a data centre virtual machine; and
a processing unit configured to:
instruct at least one of the plurality of network switches to change the destination address of data packets entering the network which are addressed to a first network address for the data centre virtual machine, from the first network address to the new network address.
10. Apparatus according to claim 8 or 9, further comprising a memory device,
wherein the processing unit is further configured to store, for each of one or more virtual machines, a first network address for the virtual machine in the memory device.
1 1 . A network controller comprising apparatus according to any of claims 8 to 10.
12. A network controller according to claim 1 1 , wherein the network controller is an SDN (Software Defined Network) controller.
13. A method or apparatus according to any preceding claim, wherein the first computer is located at a first data centre site and the second computer is located at a second, different data centre site.
14. A method or apparatus according to any preceding claim, wherein the at least one of the plurality of network switches is connected to a data server client device or a further data server virtual machine.
15. A method or apparatus according to any preceding claim, wherein the first new
address and the new network address are IP (Internet Protocol) network addresses.
PCT/EP2013/077987 2013-12-24 2013-12-24 Method and apparatus for controlling a network WO2015096863A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2013/077987 WO2015096863A1 (en) 2013-12-24 2013-12-24 Method and apparatus for controlling a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2013/077987 WO2015096863A1 (en) 2013-12-24 2013-12-24 Method and apparatus for controlling a network

Publications (1)

Publication Number Publication Date
WO2015096863A1 true WO2015096863A1 (en) 2015-07-02

Family

ID=49955305

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2013/077987 WO2015096863A1 (en) 2013-12-24 2013-12-24 Method and apparatus for controlling a network

Country Status (1)

Country Link
WO (1) WO2015096863A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130145008A1 (en) * 2011-12-01 2013-06-06 International Business Machines Corporation Enabling Co-Existence of Hosts or Virtual Machines with Identical Addresses

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130145008A1 (en) * 2011-12-01 2013-06-06 International Business Machines Corporation Enabling Co-Existence of Hosts or Virtual Machines with Identical Addresses

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ROBERTO BIFULCO ET AL: "Scalability of a mobile cloud management system", MOBILE CLOUD COMPUTING, ACM, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, 17 August 2012 (2012-08-17), pages 17 - 22, XP058008109, ISBN: 978-1-4503-1519-7, DOI: 10.1145/2342509.2342514 *
VIJAY MANN ET AL: "CrossRoads: Seamless VM mobility across data centers through software defined networking", 2012 IEEE NETWORK OPERATIONS AND MANAGEMENT SYMPOSIUM (NOMS 2012) : MAUI, HAWAII, USA, 16 - 20 APRIL 2012, IEEE, PISCATAWAY, NJ, 16 April 2012 (2012-04-16), pages 88 - 96, XP032454330, ISBN: 978-1-4673-0267-8, DOI: 10.1109/NOMS.2012.6211886 *

Similar Documents

Publication Publication Date Title
US11405351B2 (en) Source-aware technique for facilitating LISP host mobility
US10785186B2 (en) Control plane based technique for handling multi-destination traffic in overlay networks
US10291552B2 (en) Method for providing an information centric network with a software defined network and controller of the software defined network
JP6663020B2 (en) Packet processing method, related device, and NVO3 network system
US9438531B2 (en) LISP stretched subnet mode for data center migrations
US9184981B2 (en) System and apparatus for distributed mobility management based network layer virtual machine mobility protocol
US20210036953A1 (en) Flow modification including shared context
JP5648926B2 (en) Network system, controller, and network control method
EP2740242B1 (en) System and method for implementing and managing virtual networks
EP2559207B1 (en) Controlling directional asymmetricity in wide area networks
EP3026872B1 (en) Packet forwarding method, apparatus, and system
WO2017209932A1 (en) Link status monitoring based on packet loss detection
EP3005634A1 (en) Method and apparatus for providing software defined network flow distribution
WO2017209923A1 (en) Detecting source network address translation in a communication system
WO2013184941A1 (en) Method of seamless integration and independent evolution of information-centric networking via software defined networking
WO2017209944A1 (en) Session continuity in the presence of network address translation
EP3185492A1 (en) Method for synchronizing forwarding tables, network device, and system
WO2021000848A1 (en) Packet forwarding method and packet processing method and apparatus
US9401865B2 (en) Network appliance redundancy system, control apparatus, network appliance redundancy method and program
WO2015068255A1 (en) Network system, communication control device, and communication method
US10965596B2 (en) Hybrid services insertion
US11777851B2 (en) Methods and an apparatus for routing data packets in a network topology
WO2015096863A1 (en) Method and apparatus for controlling a network
KR101538667B1 (en) Network system and method for controlling network

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

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

Country of ref document: EP

Kind code of ref document: A1