EP2868070A1 - Method and a network node, for use in a data center, for routing an ipv4 packet over an ipv6 network - Google Patents

Method and a network node, for use in a data center, for routing an ipv4 packet over an ipv6 network

Info

Publication number
EP2868070A1
EP2868070A1 EP13765774.8A EP13765774A EP2868070A1 EP 2868070 A1 EP2868070 A1 EP 2868070A1 EP 13765774 A EP13765774 A EP 13765774A EP 2868070 A1 EP2868070 A1 EP 2868070A1
Authority
EP
European Patent Office
Prior art keywords
ipv6
ipv4
packet
tenant
payload
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP13765774.8A
Other languages
German (de)
French (fr)
Inventor
Alan Kavanagh
Suresh Krishnan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of EP2868070A1 publication Critical patent/EP2868070A1/en
Withdrawn legal-status Critical Current

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/251Translation of Internet protocol [IP] addresses between different IP versions
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • 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/604Address structures or formats
    • 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/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses
    • 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
    • H04L61/2525Translation at a client
    • 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
    • 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/5061Pools of addresses

Definitions

  • the present invention generally relates to telecommunication networks, and more particularly to a method and a network node, in a data center, for routing an Internet Protocol version 4 (IPv4) packet over an Internet Protocol version 6 (IPv6) network.
  • IPv4 Internet Protocol version 4
  • IPv6 Internet Protocol version 6
  • IPv4 address is composed of 32 bits, which yields an address space of 4294967296 (2 32 ) addresses.
  • IPv4 addresses are becoming scarce.
  • the problem of the IPv4 address exhaustion has stimulated the development of the IPv6 protocol, which provides a 128 bit address space.
  • the IPv6 protocol provides significant improvements over the IPv4 protocol in terms of address capacity, security, network management, mobility and quality of service.
  • the IPv6 protocol has been deployed since 2006. However, the IPv4 protocol is still widely used, thus the coexistence of the IPv4 network and IPv6 network will still occur for a while.
  • the IPv4 packet 100 comprises a header 102 and a payload 104.
  • the header 102 includes an IPv4 source address 106 and an IPv4 destination address 108, each of the IPv4 addresses being composed of 32 bits.
  • the header 102 further comprises a plurality of other fields 1 10, which are well-known in the art, such as the version field, the Time To Live (TTL) field, etc.
  • an IPv6 packet is also composed of a header and a payload.
  • the header comprises an IPv6 source address and an IPv6 destination address, each of the IPv6 addresses being composed of 128 bits.
  • the header also includes other fields, which are well-known in the art.
  • IPv4 application cannot be run over an IPv6 network. For instance, if the infrastructure of a data center used for cloud computing forms an IPv6 network, then the network nodes and servers within the data center will communicate with each other using IPv6. If the virtual machines (VMs), hosted by the servers in the data centers, still support applications which run using the IPv4 protocol, the VM- based applications will have difficulty communicating without some form of protocol translation.
  • VMs virtual machines
  • NAT Network Address Translation
  • IPv4 node wishes to reach an IPv6 node
  • the addresses in an IPv4 packet header are translated into IPv6 addresses and an IPv6 packet is created.
  • IPv6 packet is transmitted over the IPv6 network.
  • NAT provides a one-to-one translation of IP addresses.
  • NAT requires state information to be maintained for each stateful communication session between nodes. Thus, it adds overhead to the communication session. Also, it is common to hide an entire IP address space, usually consisting of private IP addresses, behind a single IP address in a public address space.
  • NAT has other drawbacks such as decreasing the quality of the Internet connectivity and breaking the IP end-to-end connectivity model.
  • DS-Lite Dual Stack Lite
  • the DS-Lite works by assigning temporary IPv4 addresses to dual-stacked nodes using IPv6.
  • the DS- Lite node or server acts as a gateway between the different networks to allow IPv4 traffic to travel over the IPv6 network by using an IPv4 over IPv6 tunnel.
  • IPv6 IPv6 over IPv6 tunnel.
  • DS-Lite-based systems require tunneling, which yields an overhead to the communication session. Tunneling also requires state information to be maintained for each stateful communication session between nodes. Therefore, DS-Lite is complex to implement and adds additional processing loads in the network.
  • IPv4 Internet Protocol version 4
  • IPv6 Internet Protocol version 6
  • the method comprises: receiving the IPv4 packet from a first virtual machine associated with a first tenant, the IPv4 packet addressed to a second virtual machine associated with a second tenant; generating the header of the IPv6 packet to include an IPv6 address determined by applying a reversible transformation to one of: a combination of the IPv4 source address and an identifier of the first tenant, and a combination of the IPv4 destination address and an identifier of the second tenant; generating the payload of the IPv6 packet based on the payload of the received IPv4 packet; generating the IPv6 packet by assembling the generated payload of the IPv6 packet with the generated header of the IPv6 packet; and transmitting the generated IPv6 packet over the IPv6 network to the second virtual machine.
  • IPv4 Internet Protocol version 4
  • the method comprises: determining the virtual machine associated with a tenant based on the IPv6 destination address; generating a header of the IPv4 packet to include an IPv4 destination address determined based on the IPv6 destination address; generating a payload of the IPv4 packet based on the payload of the IPv6 packet; generating the IPv4 packet by assembling the generated header with the generated payload; and routing the generated IPv4 packet to the determined virtual machine associated with the tenant.
  • a network node in a data center having tenants, for routing an Internet Protocol version 4 (IPv4) packet, having a payload and a header that includes IPv4 source and destination addresses, over an Internet Protocol version 6 (IPv6) network as an IPv6 packet having a payload and a header.
  • IPv4 Internet Protocol version 4
  • IPv6 Internet Protocol version 6
  • the network node comprises: a communication interface for receiving the IPv4 packet from a first virtual machine associated with a first tenant, the IPv4 packet addressed to a second virtual machine associated with a second tenant; and a processor operationally connected to the communication interface and configured to: generate the header of the IPv6 packet to include an IPv6 address determined by applying a reversible transformation to one of: a combination of the IPv4 source address and an identifier of the first tenant, and a combination of the IPv4 destination address and an identifier of the second tenant; generate the payload of the IPv6 packet based on the payload of the received IPv4 packet; and generate the IPv6 packet by assembling the generated payload of the IPv6 packet with the generated header of the IPv6 packet; wherein the communication interface further transmits the generated IPv6 packet over the IPv6 network to the second virtual machine.
  • a network node in a data center having tenants, for delivering an Internet Protocol version 4 (IPv4) packet to a virtual machine, the IPv4 packet being received as an IPv6 packet having a payload and a header which includes an IPv6 destination address.
  • IPv4 Internet Protocol version 4
  • the network node comprises: a processor configured to: determine the virtual machine associated with a tenant based on the IPv6 destination address; generate a header of the IPv4 packet to include an IPv4 destination address determined based on the IPv6 destination address; generate a payload of the IPv4 packet based on the payload of the IPv6 packet; and generate the IPv4 packet by assembling the generated header with the generated payload; and a communication interface in connection with the processor for routing the generated IPv4 packet to the virtual machine associated with the tenant.
  • Figure 1 illustrates a structure of an IPv4 packet, as known in the art
  • Figure 2 illustrates a data center connected to the Internet through a plurality of switches and a router
  • Figure 3 illustrates a method, for use in the data center of Figure 2, for routing an IPv4 packet over an IPv6 network as an IPv6 packet, according to an embodiment of the present invention
  • FIG. 4 illustrates an IPv6 packet, according to an embodiment of the present invention
  • Figure 5 illustrates a method, for use in the data center of Figure 2, for delivering an IPv4 packet to a virtual machine, the IPv4 packet being received as an IPv6 packet, according to an embodiment of the present invention
  • Figure 6 is a schematic diagram of a network node for carrying out either the method of Figure 3 or the method of Figure 5;
  • Figure 7 illustrates a flow diagram of an implementation example of a communication between two virtual machines over an IPv6 network, according to an embodiment of the present invention.
  • Embodiments of the present invention will be described in the context of a data center for cloud computing, for example.
  • the data center can host a large number of virtual machines which are offered to customers, also referred to as tenants, as part of a computing and storage service.
  • customers also referred to as tenants
  • the customers typically pay as they use the service of the virtual machines.
  • a virtual machine is a software implementation of a computing environment in which an operating system and/or program can be installed and run.
  • the VM typically emulates a physical computing environment.
  • a single server can instantiate a plurality of VMs.
  • the VMs are created within a virtualization layer or platform, such as a hypervisor.
  • VMs provide several advantages over the installation of operating systems and software directly on physical hardware. For example, VMs can be easily moved, copied and reassigned between host servers to optimize resource utilization. Also, isolation between VMs ensures that applications and services that run within a VM cannot interfere with the host operating system or other VMs running on the same host operating system.
  • the embodiments of the present invention allow for creating an IPv6 packet to carry the payload of the IPv4 packet.
  • the addresses in the header of the IPv6 packet are created by performing a reversible mapping of an IPv4 address into an IPv6 address.
  • Such a mapping would allow, for example, an originating virtual VM and a destination virtual machine VM of the same data center tenant that use IPv4 to communicate with each other over an IPv6 network, deployed in the data center.
  • this conversion is performed by a hypervisor in a node running virtual machines, but may also be performed by any other node at the IPv4-IPv6 boundary.
  • mapping is reversible so that the hypervisor of the server hosting the destination virtual machine can determine the IPv4 address based on the IPv6 address in the received packet, and thus re-create the IPv4 packet and route it for delivery. Furthermore, such a mapping does not use tunneling. As a result, this method does not need to maintain any session state information. This mapping can be performed in a stateless manner.
  • This mapping can also provide for isolation of tenants in the data center.
  • the isolation of tenants allows a first tenant to have a Virtual Machine with the same IPv4 address as a Virtual Machine of a second tenant.
  • the isolation of the tenants can ensure that the two identically addressed machines will not have the same IPv6 address, and thus will not receive data packets addressed to each other.
  • the exemplary embodiments of the present invention introduce a method which generates an IPv6 packet based on an IPv4 packet.
  • the payload of the IPv6 packet is generated based on the payload of the IPv4 packet.
  • the IPv6 packet header is generated to include an IPv6 address which is determined by applying a reversible transformation to a combination of an IPv4 address and an identifier of a tenant.
  • the IPv6 address contains a reversible transformation based on the IPv4 address
  • the IPv4 address is obtained by applying the reverse transformation to the reversible transformation contained in the IPv6 address.
  • the data center 10 of Figure 2 comprises a plurality of computers or servers 12A, 12B, etc., which will collectively be referred to as servers 12. It should be noted that only two servers 12A and 12B are shown in Figure 2, this number is purely illustrative.
  • the data center 10 can host a large number of servers 12.
  • Each of the servers 12 can run a plurality of virtual machines (VMs) 14.
  • VMs virtual machines
  • Many virtual machines 14 still run applications supporting the IPv4 protocol because the IPv4 protocol is still widely used. However, some of the virtual machines 14 could run applications supporting the IPv6 protocol.
  • a virtual machine 14 is associated with a tenant 16.
  • a tenant 16 can use virtual machines 14 running on different servers 12.
  • the data center 10 uses an IPv6 network 18 to interconnect the servers 12 and other network nodes, such as switches and routers, within the data center 10. Therefore, the virtual machines 14 on different servers communicate with each other over the IPv6 network 18.
  • IPv6 network 18 uses the IPv4 protocol, a mapping method according to an embodiment of the present invention, as will described hereinbelow.
  • the servers 12 have similar infrastructures, therefore, the description of the server infrastructure will be directed to only one server, for example the server 12A.
  • the server 12A has a hypervisor 20 running thereon.
  • the hypervisor 20 manages the virtual machines 14 running on the server 12A. For example, the hypervisor 20 makes sure that sufficient processing power and resources are allocated to each of the VMs 14, associated with different tenants 16.
  • the hypervisor 20 is further in communication with a Control Processing Unit (CPU) 22, which provides for the processing power and resources of the different VMs 14.
  • the CPU 22 is in connection with a Network Interface Card (NIC) 24.
  • NIC Network Interface Card
  • the NIC 24 allows the server 12A of the data center 10 to be connected to the internet 26, or to any other communication networks, through a plurality of switches 28 and a router 30.
  • the plurality of switches 28 can include a Top of Rack (TOR) switch, a regular switch or any other kinds of switches, such as an OpenFlow switch.
  • the router 30 supports the IPv6 protocol. Referring now to Figures 3 and 4, a method 50 of routing an IPv4 packet over the IPv6 network 18 as an IPv6 packet, according to an embodiment of the present invention, will be described.
  • the method 50 of Figure 3 starts with step 52 in which an IPv4 packet, issued by a first VM (or an originating VM), such as VM1 associated with a first tenant, e.g. T2 (also denoted as VM1/T2), is received.
  • a first VM or an originating VM
  • VM1 associated with a first tenant
  • e.g. T2 also denoted as VM1/T2
  • the hypervisor 20 of the server 12A can receive the IPv4 packet.
  • the IPv4 packet is addressed to a second VM (or the destination VM), such as VM2 associated with a second tenant T2 (also denoted as VM2/T2).
  • the generation of the IPv6 packet based on the IPv4 packet can start and is performed by the hypervisor 20 on the wire.
  • the header 122 of the IPv6 packet 120 is generated in step 54.
  • the header 122 is generated to include an IPv6 address, which is determined by applying a reversible transformation to either a combination of the IPv4 source address 106 and an identifier of the first tenant, or a combination of the IPv4 destination address 108 and the identifier of the second tenant.
  • the first tenant is associated with the originating VM and the second tenant is associated with the destination VM.
  • the determined IPv6 address is the IPv6 source address 126.
  • the determined IPv6 address is then the IPv6 destination address 128.
  • only one of the IPv6 addresses (source or destination) can be determined or both of the IPv6 addresses can be determined depending on the first and second tenants. For example, if the first and second tenants are one and the same, then both of the IPv6 source and destination addresses will be determined.
  • the IPv6 source address will be determined by the hypervisor 20.
  • the determination of the IPv6 destination address will be done in a second step, in another network node, such as a router.
  • the hypervisor 20 supports the VMs from both the first and second tenants, then, the hypervisor 20 can determine both the IPv6 source address and the IPv6 destination address.
  • the payload 124 of the IPv6 packet is generated based on the payload 104 of the received IPv4 packet.
  • the payload 104 of the IPv4 packet can be inserted in the payload field 124 of the IPv6 packet.
  • step 58 the IPv6 packet 120 is generated by assembling the payload 124 as generated in step 56 and the header 122 as generated in step 54.
  • IPv6 packet 120 as generated in steps 54 to 58 is as follows:
  • the payload 124 contains the payload 104 of the IPv4 packet; and the header 122 comprises the IPv6 source address 126, which includes a first reversible transformation ( ⁇ ) of the combination of the IPv4 source address 106 and the identifier of the first tenant associated with the first virtual machine, and/or the IPv6 destination address 128 which includes a second reversible transformation (T 2 ) of the combination of the IPv4 destination address 126 and the identifier of the second tenant associated with the second virtual machine.
  • first reversible transformation
  • T 2 second reversible transformation
  • step 54 can be performed before, after or in parallel with step 56, without changing the general results of the IPv6 packet generation based on the IPv4 packet.
  • IPv6 packet 120 Once the IPv6 packet 120 is generated, it is transmitted over the IPv6 network 18 to the second virtual machine by the hypervisor 20, in step 60.
  • Figure 5 illustrates a method 150 of delivering an IPv4 packet to a VM (such as VM2/T2) as an IPv6 packet, according to an embodiment of the present invention.
  • the IPv6 packet can be generated as described in method 50.
  • method 150 allows for regenerating the IPv4 packet from the IPv6 packet, received from the IPv6 network 18.
  • Method 150 can be performed by the hypervisor 20 of the server 12B.
  • method 150 starts with step 152 in which the virtual machine associated with a tenant is determined based on the IPv6 destination address of the received IPv6 packet.
  • the header 102 of the IPv4 packet is generated to include an IPv4 destination address determined based on the IPv6 destination address. For example, the IPv4 destination address is determined by applying the reverse transformation to the IPv6 destination address, which contains the reversible transformation. The IPv4 destination address is then inserted in the field 108 of the header of the IPv4 packet.
  • the payload 104 of the IPv4 packet is generated based on the payload of the IPv6 packet. For example, the IPv4 packet payload is extracted from the IPv6 packet payload.
  • step 158 the IPv4 packet 100 is generated by assembling the header 102 as generated in step 154 and the payload 104 as generated in step 156.
  • step 154 can be performed before, after or in parallel with step 156, without changing the general results of the IPv4 packet generation based on the IPv6 packet.
  • step 152 can be performed before, after or in parallel with steps 154 and 156.
  • the hypervisor 20 routes the IPv4 packet 100 to the virtual machine VM2/T2, as determined in step 152.
  • Figure 6 illustrates a network node 200 for routing or delivering an IPv4 packet according to an embodiment of the present invention.
  • the network node 200 could be exemplified by the server 12, the router 30 or any switches 28 in the data center 10.
  • the network node 200 comprises a communication interface 202, a processor 204 operationally connected to the communication interface 202, an instruction repository 206 operationally connected to the processor 204, and optionally a mapping table 208 of tenant identifiers.
  • the network node 200 can be configured either to carry out method 50, method 150 or a combination thereof.
  • the network node 200 can further comprise additional processors, memories and other components for performing tasks and procedures of the present invention and other asks and procedures as is well-known in the art.
  • the communication interface 202 is used to receive the IPv4 packet 100 from the first virtual machine 14 and to send out the IPv6 packet 120 to the IPv6 network 18.
  • the IPv6 packet is generated based on the received IPv4 packet and is addressed to the second virtual machine.
  • the instruction repository 206 stores instructions that when executed cause the processor 204 to generate the IPv6 packet 120 based on the received IPv4 packet 100 according to the method 50.
  • the processor 204 generates the header 122 of the IPv6 packet 120 to include an IPv6 address determined based on the IPv4 address and an identifier of a tenant. For example, to determine the IPv6 source address, the processor 204 applies a first reversible transformation to the combination of the IPv4 source address 106 and the identifier of the first tenant associated with the first VM. To determine the IPv6 destination address, the processor 204 applies a second reversible transformation to the combination of the IPv4 destination address 108 and the identifier of the second tenant associated with the second VM. The processor 204 may use the mapping table 208 to obtain the identifiers corresponding to the first and second tenants.
  • the processor 204 further generates the payload 124 of the IPv6 packet based on the payload 104 of the received IPv4 packet. Then, the processor 204 assembles the payload generated for the IPv6 packet with the header generated for the IPv6 packet to form the IPv6 packet 120.
  • the sequence of the different operations performed by the processor 204 is arbitrary. Other sequences can be used, as will be appreciated by a person skilled in the art.
  • the communication interface 202 is used to receive the IPv6 packet 120 from the IPv6 network 18 and to transmit the IPv4 packet 100, generated based on the received IPv6 packet, to the destination virtual machine.
  • the instruction repository 216 stores instructions that when executed cause the processor 204 to determine the virtual machine associated with a tenant based on the IPv6 destination address and to generate the IPv4 packet based on the received IPv6 packet, according to method 150.
  • the processor 204 generates the header 102 of the IPv4 packet to include an IPv4 destination address determined based on the IPv6 destination address.
  • the processor 204 further generates the payload 104 of the IPv4 packet from the payload 124 of the received IPv6 packet.
  • the processor 204 assembles the payload generated for the IPv4 packet with the header generated for the IPv4 packet to form the IPv4 packet 100.
  • the processor 204 also determines the VM associated with the tenant based on the IPv6 destination address of the received IPv6 packet.
  • the order of the different operations performed by the processor 204 is arbitrary. Other orders can be used as will be appreciated by skilled persons in the art.
  • the first virtual machine has an IPv4 address.
  • the first virtual machine is instantiated on the server 12A that has an IPv6 address and is connected to the IPv6 network 18.
  • a second server (12B) is connected to the IPv6 network 18; the second server provides an instantiation of the second virtual machine which has an IPv4 address.
  • the first virtual machine e.g. VM1 associated with tenant T2 (VM1/T2)
  • wants to send a packet to the second virtual machine e.g. VM2 associated with tenant T2 (VM2/T2)
  • VM1/T2 sends the IPv4 packet to the hypervisor 20 provided by the first server 12A, the IPv4 packet being addressed to VM2/T2.
  • the hypervisor 20 After reception of the IPv4 packet, the hypervisor 20, which effectively sits at the IPv4/IPv6 boundary, performs an IPv4-to-IPv6 translation, among other services. More specifically, it generates an IPv6 packet 120 based on the received IPv4 packet (step 304) on the wire, in accordance with steps 52 to 58 of method 50.
  • each tenant in the data center is provided with a block of IPv6 addresses.
  • the block of address assigned to each tenant will be assumed to be a contiguous block. If each tenant is provided a 32-bit address space of IPv6 addresses, the first 96 bits of the IPv6 address will be identical across each VM associated with the same tenant (regardless of which server the VM is instantiated on), according to an embodiment of the invention. This 96 bit block, which will be referred to as a prefix, can be used as a tenant identifier, as will be described in more detail hereinbelow.
  • a reversible transformation or function is applied to the IPv4 address.
  • a simple example of such a reversible transformation could be a function that concatenates a prefix and an IPv4 address to form the IPv6 address, the prefix corresponding to an identifier of the tenant. This concatenation of the prefix and the IPv4 address is reversible, i.e. it can be undone at the receiving end.
  • Each tenant is assigned a unique prefix which uniquely identifies that tenant.
  • the hypervisor 20 can use a mapping table, such as the mapping table 208 of Figure 6 to map a tenant to the prefix which has been assigned thereto.
  • the mapping table can be as follows:
  • the first column of Table 1 indicates the different VMs 14, the second column indicates the tenants associated with the different VMs and finally the third column indicates the prefix assigned to the tenants.
  • the generation of the IPv6 packet is as follows. After the hypervisor 20 receives the IPv4 packet, it looks up the mapping table 208 to determine the prefix corresponding to the tenant associated with the first VM. In this example, it determines that the prefix is P2, which has been assigned to tenant T2. It also extracts the IPv4 source address and the IPv4 destination address from the header of the received IPv4 packet.
  • IPv6 source address by concatenating the prefix P2 with the extracted IPv4 source address.
  • the created IPv6 source address is [P2
  • IPv6 destination address is created to be [P2
  • the prefix such as P2
  • any of the IPv4 addresses is 32 bit long.
  • an address of 128 bits is obtained, which corresponds to the size of an IPv6 address.
  • the tenant identifier and the IPv4 address, taken in combination will uniquely identify a VM to which the IPv4 packet is to be delivered.
  • the tenant identifier is a prefix.
  • the tenant identifier can be a suffix or can be interleaved with other address bits so that it is non-contiguous.
  • There may be implementation specific advantages to having the tenant identifier used as a prefix in that the concatenation of two values is a rather simple processing task, and that having the identifier as a prefix allows for a smaller block of IPv6 addresses to be needed. It will be appreciated by those skilled in the art that any other transformation or function is possible, for address conversions, as long as the transformation is reversible.
  • the hypervisor 20 simply inserts the IPv4 packet payload into the IPv6 packet payload.
  • the payload of the IPv6 payload may include other data.
  • Remaining fields in the IPv6 header can be either generated in accordance with values in the IPv4 header or can be generated by conventional means.
  • the resulting IPv6 header should contain valid data to prevent it from being dropped by other nodes.
  • the generated IPv6 packet is transmitted over the IPv6 network 18, in step
  • step 308 the hypervisor 20 of the server 12B hosting VM2 associated with tenant T2 receives the IPv6 packet.
  • the hypervisor 20 extracts the prefix from the IPv6 destination address, looks the extracted prefix up in the mapping table 208 to determine the tenant corresponding to the prefix, and determines the virtual machine associated with the identified tenant.
  • the determination of the tenant fixes 96 bits of the 128 bit IPv6 address.
  • the remaining 32 bits of the IPv6 address can be determined in accordance with the 32 bit IPv4 address.
  • the hypervisor 20 extracts the IPv4 destination address from the IPv6 destination address and the IPv4 source address from the IPv6 source address.
  • the extracted IPv4 source and destination addresses are then included in the header of the IPv4 packet.
  • the hypervisor 20 further extracts the payload of the IPv4 packet from the payload of the IPv6 packet.
  • the hypervisor 20 assembles the extracted payload with the header of the IPv4 packet, which includes the extracted IPv4 source and destination addresses. Once the IPv4 packet is assembled (or generated), the hypervisor 20 routes it to VM2/T2.
  • VMs from different tenants communicate with each other. For example, suppose that VM1 associated with tenant T1 initiates a communication session with VM1 associated with tenant T2.
  • the hypervisor 20 of the server hosting VM1 associated with tenant T1 receives the IPv4 packet, it generates an IPv6 packet having an IPv6 source address as generated in step 304 by concatenating the prefix corresponding to tenant T1 with the IPv4 source address.
  • the IPv6 destination address it will indicate the address of the router 30, which is an IPv6 address.
  • the router 30 receives the IPv6 packet, it generates a new IPv6 destination address, based on the IPv4 destination address. It generates the IPv6 destination address by concatenating the prefix assigned to tenant T2 with the IPv4 destination address.
  • embodiments of the present invention allow data centers to deploy an IPv6 network while supporting legacy IPv4 applications running in the virtual machines. They provide for simple Networking Address Management while supporting IPv4 and IPv6 applications. They are also transparent to the virtual machines and to the applications running on the virtual machines.
  • Embodiments of the invention may be represented as a software product stored in a machine-readable medium (also referred to as a computer-readable medium, a processor-readable medium, or a computer usable medium having a computer readable program code embodied therein).
  • the machine-readable medium may be any suitable tangible medium including a magnetic, optical, or electrical storage medium including a diskette, compact disk read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM) memory device (volatile or non-volatile), or similar storage mechanism.
  • the machine-readable medium may contain various sets of instructions, code sequences, configuration information, or other data, which, when executed, cause a processor to perform steps in a method according to an embodiment of the invention.
  • Those of ordinary skill in the art will appreciate that other instructions and operations necessary to implement the described invention may also be stored on the machine-readable medium.
  • Software running from the machine-readable medium may interface with circuitry to perform the described tasks.

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

A method, for use in a data center having tenants, of routing an IPv4 packet over an IPv6 network as an IPv6 packet includes: receiving the IPv4 packet from a first virtual machine associated with a first tenant and addressed to a second virtual machine associated with a second tenant; generating the header of the IPv6 packet to include an IPv6 address determined by applying a reversible transformation to one of: a combination of the IPv4 source address and an identifier of the first tenant, and a combination of the IPv4 destination address and an identifier of the second tenant; generating the payload of the IPv6 packet based on the payload of the received IPv4 packet; generating the IPv6 packet by assembling the generated payload with the generated header of the IPv6 packet; and transmitting the generated IPv6 packet over the IPv6 network to the second virtual machine.

Description

METHOD AND A NETWORK NODE, FOR USE IN A DATA CENTER, FOR ROUTING AN IPV4 PACKET OVER AN IPV6 NETWORK
TECHNICAL FIELD
The present invention generally relates to telecommunication networks, and more particularly to a method and a network node, in a data center, for routing an Internet Protocol version 4 (IPv4) packet over an Internet Protocol version 6 (IPv6) network.
BACKGROUND
An IPv4 address is composed of 32 bits, which yields an address space of 4294967296 (232) addresses. With the constant increase in popularity of Internet connected devices, available IPv4 addresses are becoming scarce. The problem of the IPv4 address exhaustion has stimulated the development of the IPv6 protocol, which provides a 128 bit address space. The IPv6 protocol provides significant improvements over the IPv4 protocol in terms of address capacity, security, network management, mobility and quality of service. The IPv6 protocol has been deployed since 2006. However, the IPv4 protocol is still widely used, thus the coexistence of the IPv4 network and IPv6 network will still occur for a while.
The basic structure of an IPv4 packet is well-known in the art. As shown in Figure 1 , the IPv4 packet 100 comprises a header 102 and a payload 104. The header 102 includes an IPv4 source address 106 and an IPv4 destination address 108, each of the IPv4 addresses being composed of 32 bits. The header 102 further comprises a plurality of other fields 1 10, which are well-known in the art, such as the version field, the Time To Live (TTL) field, etc.
In a same manner, an IPv6 packet is also composed of a header and a payload. The header comprises an IPv6 source address and an IPv6 destination address, each of the IPv6 addresses being composed of 128 bits. The header also includes other fields, which are well-known in the art.
An IPv4 application cannot be run over an IPv6 network. For instance, if the infrastructure of a data center used for cloud computing forms an IPv6 network, then the network nodes and servers within the data center will communicate with each other using IPv6. If the virtual machines (VMs), hosted by the servers in the data centers, still support applications which run using the IPv4 protocol, the VM- based applications will have difficulty communicating without some form of protocol translation.
As such, there is a need for a solution to enable and support the existing IPv4 applications to run over the IPv6 network.
Several solutions have been proposed to solve the above problem. For example, one solution uses an address translation mechanism, such as a Network Address Translation (NAT). Under the address translation mechanism, when an IPv4 node wishes to reach an IPv6 node, the addresses in an IPv4 packet header are translated into IPv6 addresses and an IPv6 packet is created. The IPv6 packet is transmitted over the IPv6 network. NAT provides a one-to-one translation of IP addresses. However, NAT requires state information to be maintained for each stateful communication session between nodes. Thus, it adds overhead to the communication session. Also, it is common to hide an entire IP address space, usually consisting of private IP addresses, behind a single IP address in a public address space. In this case, a one-to-many NAT is used, but this translation must alter higher level information such as TCP/UDP ports in outgoing communications and must maintain a table so that returning packets can be correctly translated back. NAT has other drawbacks such as decreasing the quality of the Internet connectivity and breaking the IP end-to-end connectivity model.
Another solution is to use a Dual Stack Lite (DS-Lite). The DS-Lite works by assigning temporary IPv4 addresses to dual-stacked nodes using IPv6. The DS- Lite node or server acts as a gateway between the different networks to allow IPv4 traffic to travel over the IPv6 network by using an IPv4 over IPv6 tunnel. Thus, DS- Lite-based systems require tunneling, which yields an overhead to the communication session. Tunneling also requires state information to be maintained for each stateful communication session between nodes. Therefore, DS-Lite is complex to implement and adds additional processing loads in the network.
Therefore, there is a need to provide an improved method for routing IPv4 packets over an IPv6 network.
SUMMARY
It is an object of the present invention to obviate or mitigate at least one disadvantage of the prior art.
According to a first aspect of the invention, there is provided a method, for use in a data center having tenants, of routing an Internet Protocol version 4 (IPv4) packet, having a payload and a header that includes IPv4 source and destination addresses, over an Internet Protocol version 6 (IPv6) network as an IPv6 packet having a payload and a header. The method comprises: receiving the IPv4 packet from a first virtual machine associated with a first tenant, the IPv4 packet addressed to a second virtual machine associated with a second tenant; generating the header of the IPv6 packet to include an IPv6 address determined by applying a reversible transformation to one of: a combination of the IPv4 source address and an identifier of the first tenant, and a combination of the IPv4 destination address and an identifier of the second tenant; generating the payload of the IPv6 packet based on the payload of the received IPv4 packet; generating the IPv6 packet by assembling the generated payload of the IPv6 packet with the generated header of the IPv6 packet; and transmitting the generated IPv6 packet over the IPv6 network to the second virtual machine.
According to a second aspect of the invention, there is provided a method, for use in a data center having tenants, of delivering an Internet Protocol version 4 (IPv4) packet to a virtual machine, the IPv4 packet being received as an IPv6 packet having a payload and a header which includes an IPv6 destination address. The method comprises: determining the virtual machine associated with a tenant based on the IPv6 destination address; generating a header of the IPv4 packet to include an IPv4 destination address determined based on the IPv6 destination address; generating a payload of the IPv4 packet based on the payload of the IPv6 packet; generating the IPv4 packet by assembling the generated header with the generated payload; and routing the generated IPv4 packet to the determined virtual machine associated with the tenant.
According to a third aspect of the invention, there is provided a network node, in a data center having tenants, for routing an Internet Protocol version 4 (IPv4) packet, having a payload and a header that includes IPv4 source and destination addresses, over an Internet Protocol version 6 (IPv6) network as an IPv6 packet having a payload and a header. The network node comprises: a communication interface for receiving the IPv4 packet from a first virtual machine associated with a first tenant, the IPv4 packet addressed to a second virtual machine associated with a second tenant; and a processor operationally connected to the communication interface and configured to: generate the header of the IPv6 packet to include an IPv6 address determined by applying a reversible transformation to one of: a combination of the IPv4 source address and an identifier of the first tenant, and a combination of the IPv4 destination address and an identifier of the second tenant; generate the payload of the IPv6 packet based on the payload of the received IPv4 packet; and generate the IPv6 packet by assembling the generated payload of the IPv6 packet with the generated header of the IPv6 packet; wherein the communication interface further transmits the generated IPv6 packet over the IPv6 network to the second virtual machine.
According to a fourth aspect of the invention, there is provided a network node, in a data center having tenants, for delivering an Internet Protocol version 4 (IPv4) packet to a virtual machine, the IPv4 packet being received as an IPv6 packet having a payload and a header which includes an IPv6 destination address. The network node comprises: a processor configured to: determine the virtual machine associated with a tenant based on the IPv6 destination address; generate a header of the IPv4 packet to include an IPv4 destination address determined based on the IPv6 destination address; generate a payload of the IPv4 packet based on the payload of the IPv6 packet; and generate the IPv4 packet by assembling the generated header with the generated payload; and a communication interface in connection with the processor for routing the generated IPv4 packet to the virtual machine associated with the tenant.
Those skilled in the art will recognize additional features and advantages upon reading the following detailed description, and upon viewing the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Like reference numerals designate corresponding similar parts. The features of the various illustrated embodiments can be combined unless they explicitly exclude each other. Exemplary embodiments are depicted in the drawings and are detailed in the description which follows.
Figure 1 illustrates a structure of an IPv4 packet, as known in the art; Figure 2 illustrates a data center connected to the Internet through a plurality of switches and a router;
Figure 3 illustrates a method, for use in the data center of Figure 2, for routing an IPv4 packet over an IPv6 network as an IPv6 packet, according to an embodiment of the present invention;
Figure 4 illustrates an IPv6 packet, according to an embodiment of the present invention;
Figure 5 illustrates a method, for use in the data center of Figure 2, for delivering an IPv4 packet to a virtual machine, the IPv4 packet being received as an IPv6 packet, according to an embodiment of the present invention;
Figure 6 is a schematic diagram of a network node for carrying out either the method of Figure 3 or the method of Figure 5; and
Figure 7 illustrates a flow diagram of an implementation example of a communication between two virtual machines over an IPv6 network, according to an embodiment of the present invention.
DETAILED DESCRIPTION
Embodiments of the present invention will be described in the context of a data center for cloud computing, for example. The data center can host a large number of virtual machines which are offered to customers, also referred to as tenants, as part of a computing and storage service. The customers typically pay as they use the service of the virtual machines.
A virtual machine (VM) is a software implementation of a computing environment in which an operating system and/or program can be installed and run. The VM typically emulates a physical computing environment. A single server can instantiate a plurality of VMs. The VMs are created within a virtualization layer or platform, such as a hypervisor. VMs provide several advantages over the installation of operating systems and software directly on physical hardware. For example, VMs can be easily moved, copied and reassigned between host servers to optimize resource utilization. Also, isolation between VMs ensures that applications and services that run within a VM cannot interfere with the host operating system or other VMs running on the same host operating system.
Generally stated, the embodiments of the present invention allow for creating an IPv6 packet to carry the payload of the IPv4 packet. The addresses in the header of the IPv6 packet are created by performing a reversible mapping of an IPv4 address into an IPv6 address. Such a mapping would allow, for example, an originating virtual VM and a destination virtual machine VM of the same data center tenant that use IPv4 to communicate with each other over an IPv6 network, deployed in the data center. Typically this conversion is performed by a hypervisor in a node running virtual machines, but may also be performed by any other node at the IPv4-IPv6 boundary.
Such a mapping is reversible so that the hypervisor of the server hosting the destination virtual machine can determine the IPv4 address based on the IPv6 address in the received packet, and thus re-create the IPv4 packet and route it for delivery. Furthermore, such a mapping does not use tunneling. As a result, this method does not need to maintain any session state information. This mapping can be performed in a stateless manner.
This mapping can also provide for isolation of tenants in the data center. The isolation of tenants allows a first tenant to have a Virtual Machine with the same IPv4 address as a Virtual Machine of a second tenant. During the mapping process, the isolation of the tenants can ensure that the two identically addressed machines will not have the same IPv6 address, and thus will not receive data packets addressed to each other.
More specifically, the exemplary embodiments of the present invention introduce a method which generates an IPv6 packet based on an IPv4 packet. For example, the payload of the IPv6 packet is generated based on the payload of the IPv4 packet. The IPv6 packet header is generated to include an IPv6 address which is determined by applying a reversible transformation to a combination of an IPv4 address and an identifier of a tenant.
Because the IPv6 address contains a reversible transformation based on the IPv4 address, it is possible to obtain the IPv4 address back from the IPv6 address at the hypervisor of the server hosting the destination virtual machine. For example, the IPv4 address is obtained by applying the reverse transformation to the reversible transformation contained in the IPv6 address.
Now, with reference to Figure 2, the structure of a data center will be described.
The data center 10 of Figure 2 comprises a plurality of computers or servers 12A, 12B, etc., which will collectively be referred to as servers 12. It should be noted that only two servers 12A and 12B are shown in Figure 2, this number is purely illustrative. The data center 10 can host a large number of servers 12. Each of the servers 12 can run a plurality of virtual machines (VMs) 14. Many virtual machines 14 still run applications supporting the IPv4 protocol because the IPv4 protocol is still widely used. However, some of the virtual machines 14 could run applications supporting the IPv6 protocol. When in use, a virtual machine 14 is associated with a tenant 16. A tenant 16 can use virtual machines 14 running on different servers 12.
The data center 10 uses an IPv6 network 18 to interconnect the servers 12 and other network nodes, such as switches and routers, within the data center 10. Therefore, the virtual machines 14 on different servers communicate with each other over the IPv6 network 18. When the virtual machines 14 use the IPv4 protocol, a mapping method according to an embodiment of the present invention, is provided, as will described hereinbelow.
The servers 12 have similar infrastructures, therefore, the description of the server infrastructure will be directed to only one server, for example the server 12A.
The server 12A has a hypervisor 20 running thereon. The hypervisor 20 manages the virtual machines 14 running on the server 12A. For example, the hypervisor 20 makes sure that sufficient processing power and resources are allocated to each of the VMs 14, associated with different tenants 16. The hypervisor 20 is further in communication with a Control Processing Unit (CPU) 22, which provides for the processing power and resources of the different VMs 14. The CPU 22 is in connection with a Network Interface Card (NIC) 24.
The NIC 24 allows the server 12A of the data center 10 to be connected to the internet 26, or to any other communication networks, through a plurality of switches 28 and a router 30. The plurality of switches 28 can include a Top of Rack (TOR) switch, a regular switch or any other kinds of switches, such as an OpenFlow switch. The router 30 supports the IPv6 protocol. Referring now to Figures 3 and 4, a method 50 of routing an IPv4 packet over the IPv6 network 18 as an IPv6 packet, according to an embodiment of the present invention, will be described.
The method 50 of Figure 3 starts with step 52 in which an IPv4 packet, issued by a first VM (or an originating VM), such as VM1 associated with a first tenant, e.g. T2 (also denoted as VM1/T2), is received. For example, the hypervisor 20 of the server 12A can receive the IPv4 packet. The IPv4 packet is addressed to a second VM (or the destination VM), such as VM2 associated with a second tenant T2 (also denoted as VM2/T2).
Once the IPv4 packet is received, the generation of the IPv6 packet based on the IPv4 packet can start and is performed by the hypervisor 20 on the wire. An example of the generated IPv6 packet 120, having a header 122 and a payload 124, is shown in Figure 4.
More specifically, the header 122 of the IPv6 packet 120 is generated in step 54. The header 122 is generated to include an IPv6 address, which is determined by applying a reversible transformation to either a combination of the IPv4 source address 106 and an identifier of the first tenant, or a combination of the IPv4 destination address 108 and the identifier of the second tenant. As mentioned earlier, the first tenant is associated with the originating VM and the second tenant is associated with the destination VM.
It should be noted that when the IPv6 address is determined by applying a first reversible transformation to the combination of the IPv4 source address 106 and the identifier of the first tenant, the determined IPv6 address is the IPv6 source address 126. When the IPv6 address is determined by applying a second reversible transformation to the combination of the IPv4 destination address 108 and the identifier of the second tenant, the determined IPv6 address is then the IPv6 destination address 128. In step 54, only one of the IPv6 addresses (source or destination) can be determined or both of the IPv6 addresses can be determined depending on the first and second tenants. For example, if the first and second tenants are one and the same, then both of the IPv6 source and destination addresses will be determined. If the first tenant is different than the second tenant, then, in a first step, the IPv6 source address will be determined by the hypervisor 20. The determination of the IPv6 destination address will be done in a second step, in another network node, such as a router. However, if the hypervisor 20 supports the VMs from both the first and second tenants, then, the hypervisor 20 can determine both the IPv6 source address and the IPv6 destination address.
In step 56, the payload 124 of the IPv6 packet is generated based on the payload 104 of the received IPv4 packet. As an example, the payload 104 of the IPv4 packet can be inserted in the payload field 124 of the IPv6 packet.
In step 58, the IPv6 packet 120 is generated by assembling the payload 124 as generated in step 56 and the header 122 as generated in step 54.
Referring to Figure 4, the IPv6 packet 120 as generated in steps 54 to 58 is as follows:
the payload 124 contains the payload 104 of the IPv4 packet; and the header 122 comprises the IPv6 source address 126, which includes a first reversible transformation (ΤΊ) of the combination of the IPv4 source address 106 and the identifier of the first tenant associated with the first virtual machine, and/or the IPv6 destination address 128 which includes a second reversible transformation (T2) of the combination of the IPv4 destination address 126 and the identifier of the second tenant associated with the second virtual machine.
It should be noted that the order of the steps 54 and 56 described above is arbitrary. For example, step 54 can be performed before, after or in parallel with step 56, without changing the general results of the IPv6 packet generation based on the IPv4 packet.
Once the IPv6 packet 120 is generated, it is transmitted over the IPv6 network 18 to the second virtual machine by the hypervisor 20, in step 60.
Figure 5 illustrates a method 150 of delivering an IPv4 packet to a VM (such as VM2/T2) as an IPv6 packet, according to an embodiment of the present invention. For example, the IPv6 packet can be generated as described in method 50. In this case, method 150 allows for regenerating the IPv4 packet from the IPv6 packet, received from the IPv6 network 18. Method 150 can be performed by the hypervisor 20 of the server 12B.
More specifically, method 150 starts with step 152 in which the virtual machine associated with a tenant is determined based on the IPv6 destination address of the received IPv6 packet.
In step 154, the header 102 of the IPv4 packet is generated to include an IPv4 destination address determined based on the IPv6 destination address. For example, the IPv4 destination address is determined by applying the reverse transformation to the IPv6 destination address, which contains the reversible transformation. The IPv4 destination address is then inserted in the field 108 of the header of the IPv4 packet. In step 156, the payload 104 of the IPv4 packet is generated based on the payload of the IPv6 packet. For example, the IPv4 packet payload is extracted from the IPv6 packet payload.
In step 158, the IPv4 packet 100 is generated by assembling the header 102 as generated in step 154 and the payload 104 as generated in step 156.
It should be noted that the order of the steps 152 to 156 described above is arbitrary. For example, step 154 can be performed before, after or in parallel with step 156, without changing the general results of the IPv4 packet generation based on the IPv6 packet. In the same manner, step 152 can be performed before, after or in parallel with steps 154 and 156.
Once the IPv4 packet 100 is generated, in step 160, the hypervisor 20 routes the IPv4 packet 100 to the virtual machine VM2/T2, as determined in step 152.
Figure 6 illustrates a network node 200 for routing or delivering an IPv4 packet according to an embodiment of the present invention. The network node 200 could be exemplified by the server 12, the router 30 or any switches 28 in the data center 10.
The network node 200 comprises a communication interface 202, a processor 204 operationally connected to the communication interface 202, an instruction repository 206 operationally connected to the processor 204, and optionally a mapping table 208 of tenant identifiers. The network node 200 can be configured either to carry out method 50, method 150 or a combination thereof.
The network node 200 can further comprise additional processors, memories and other components for performing tasks and procedures of the present invention and other asks and procedures as is well-known in the art. When the network node 200 is configured to carry out method 50, the communication interface 202 is used to receive the IPv4 packet 100 from the first virtual machine 14 and to send out the IPv6 packet 120 to the IPv6 network 18. The IPv6 packet is generated based on the received IPv4 packet and is addressed to the second virtual machine.
The instruction repository 206 stores instructions that when executed cause the processor 204 to generate the IPv6 packet 120 based on the received IPv4 packet 100 according to the method 50.
More specifically, the processor 204 generates the header 122 of the IPv6 packet 120 to include an IPv6 address determined based on the IPv4 address and an identifier of a tenant. For example, to determine the IPv6 source address, the processor 204 applies a first reversible transformation to the combination of the IPv4 source address 106 and the identifier of the first tenant associated with the first VM. To determine the IPv6 destination address, the processor 204 applies a second reversible transformation to the combination of the IPv4 destination address 108 and the identifier of the second tenant associated with the second VM. The processor 204 may use the mapping table 208 to obtain the identifiers corresponding to the first and second tenants.
The processor 204 further generates the payload 124 of the IPv6 packet based on the payload 104 of the received IPv4 packet. Then, the processor 204 assembles the payload generated for the IPv6 packet with the header generated for the IPv6 packet to form the IPv6 packet 120.
The sequence of the different operations performed by the processor 204 is arbitrary. Other sequences can be used, as will be appreciated by a person skilled in the art. When the network node 200 is configured to carry out method 150, the communication interface 202 is used to receive the IPv6 packet 120 from the IPv6 network 18 and to transmit the IPv4 packet 100, generated based on the received IPv6 packet, to the destination virtual machine.
The instruction repository 216 stores instructions that when executed cause the processor 204 to determine the virtual machine associated with a tenant based on the IPv6 destination address and to generate the IPv4 packet based on the received IPv6 packet, according to method 150.
More specifically, the processor 204 generates the header 102 of the IPv4 packet to include an IPv4 destination address determined based on the IPv6 destination address. The processor 204 further generates the payload 104 of the IPv4 packet from the payload 124 of the received IPv6 packet. Then, the processor 204 assembles the payload generated for the IPv4 packet with the header generated for the IPv4 packet to form the IPv4 packet 100. The processor 204 also determines the VM associated with the tenant based on the IPv6 destination address of the received IPv6 packet.
The order of the different operations performed by the processor 204 is arbitrary. Other orders can be used as will be appreciated by skilled persons in the art.
Now, with reference to Figure 7, a flow diagram of an exemplary implementation of a communication between a first virtual machine and a second virtual machine over the IPv6 network 18, according to an embodiment of the present invention, will be described.
For example, the first virtual machine has an IPv4 address. The first virtual machine is instantiated on the server 12A that has an IPv6 address and is connected to the IPv6 network 18. Also a second server (12B) is connected to the IPv6 network 18; the second server provides an instantiation of the second virtual machine which has an IPv4 address. When the first virtual machine, e.g. VM1 associated with tenant T2 (VM1/T2), wants to send a packet to the second virtual machine, e.g. VM2 associated with tenant T2 (VM2/T2), it creates an IPv4 packet having a source address corresponding to its own IPv4 address, and a destination address corresponding to the IPv4 address of the second virtual machine.
Then, in step 302, VM1/T2 sends the IPv4 packet to the hypervisor 20 provided by the first server 12A, the IPv4 packet being addressed to VM2/T2.
After reception of the IPv4 packet, the hypervisor 20, which effectively sits at the IPv4/IPv6 boundary, performs an IPv4-to-IPv6 translation, among other services. More specifically, it generates an IPv6 packet 120 based on the received IPv4 packet (step 304) on the wire, in accordance with steps 52 to 58 of method 50.
Also, it should be noted that the data center in which the servers 12A and
12B reside has an assigned chunk of IPv6 addresses. The chunk of IPv6 addresses is distributed among the plurality of tenants and other entities in the data center. Thus, each tenant in the data center is provided with a block of IPv6 addresses. For the sake of a simplified discussion, the block of address assigned to each tenant will be assumed to be a contiguous block. If each tenant is provided a 32-bit address space of IPv6 addresses, the first 96 bits of the IPv6 address will be identical across each VM associated with the same tenant (regardless of which server the VM is instantiated on), according to an embodiment of the invention. This 96 bit block, which will be referred to as a prefix, can be used as a tenant identifier, as will be described in more detail hereinbelow. According to an embodiment of the present invention, in order to generate an IPv6 address based on an IPv4 address, a reversible transformation or function is applied to the IPv4 address. A simple example of such a reversible transformation could be a function that concatenates a prefix and an IPv4 address to form the IPv6 address, the prefix corresponding to an identifier of the tenant. This concatenation of the prefix and the IPv4 address is reversible, i.e. it can be undone at the receiving end. Each tenant is assigned a unique prefix which uniquely identifies that tenant. The hypervisor 20 can use a mapping table, such as the mapping table 208 of Figure 6 to map a tenant to the prefix which has been assigned thereto. The mapping table can be as follows:
Table 1 : Prefix mapping table
The first column of Table 1 indicates the different VMs 14, the second column indicates the tenants associated with the different VMs and finally the third column indicates the prefix assigned to the tenants.
More particularly, in step 304, the generation of the IPv6 packet is as follows. After the hypervisor 20 receives the IPv4 packet, it looks up the mapping table 208 to determine the prefix corresponding to the tenant associated with the first VM. In this example, it determines that the prefix is P2, which has been assigned to tenant T2. It also extracts the IPv4 source address and the IPv4 destination address from the header of the received IPv4 packet.
Then, it creates the IPv6 source address by concatenating the prefix P2 with the extracted IPv4 source address. The created IPv6 source address is [P2|IPv4 source address]. In the same manner, the IPv6 destination address is created to be [P2|IPv4 destination address].
It should be noted that the prefix, such as P2, is 96 bit long and any of the IPv4 addresses is 32 bit long. By concatenating the prefix with the IPv4 address, an address of 128 bits is obtained, which corresponds to the size of an IPv6 address. Also, it should be noted that the tenant identifier and the IPv4 address, taken in combination, will uniquely identify a VM to which the IPv4 packet is to be delivered.
It has been assumed that the address block assigned to each tenant is contiguous. However, where the address block assigned to each tenant is noncontiguous, it can still be arranged so that there are 96 bits which are the same for each VM associated with the same tenant. This would result in an interleaved tenant identifier.
Also, it should be understood that, in a preferred embodiment of the present invention, the tenant identifier is a prefix. However, in other embodiments the tenant identifier can be a suffix or can be interleaved with other address bits so that it is non-contiguous. There may be implementation specific advantages to having the tenant identifier used as a prefix in that the concatenation of two values is a rather simple processing task, and that having the identifier as a prefix allows for a smaller block of IPv6 addresses to be needed. It will be appreciated by those skilled in the art that any other transformation or function is possible, for address conversions, as long as the transformation is reversible.
Regarding the generation of the IPv6 packet payload, the hypervisor 20 simply inserts the IPv4 packet payload into the IPv6 packet payload. The payload of the IPv6 payload may include other data.
Remaining fields in the IPv6 header can be either generated in accordance with values in the IPv4 header or can be generated by conventional means. The resulting IPv6 header should contain valid data to prevent it from being dropped by other nodes.
The generated IPv6 packet is transmitted over the IPv6 network 18, in step
306.
In step 308, the hypervisor 20 of the server 12B hosting VM2 associated with tenant T2 receives the IPv6 packet.
In step 310, the hypervisor 20 extracts the prefix from the IPv6 destination address, looks the extracted prefix up in the mapping table 208 to determine the tenant corresponding to the prefix, and determines the virtual machine associated with the identified tenant. The determination of the tenant fixes 96 bits of the 128 bit IPv6 address. The remaining 32 bits of the IPv6 address can be determined in accordance with the 32 bit IPv4 address. More specifically, the hypervisor 20 extracts the IPv4 destination address from the IPv6 destination address and the IPv4 source address from the IPv6 source address. The extracted IPv4 source and destination addresses are then included in the header of the IPv4 packet. The hypervisor 20 further extracts the payload of the IPv4 packet from the payload of the IPv6 packet. Then, the hypervisor 20 assembles the extracted payload with the header of the IPv4 packet, which includes the extracted IPv4 source and destination addresses. Once the IPv4 packet is assembled (or generated), the hypervisor 20 routes it to VM2/T2.
The above example has been described for routing and delivering IPv4 packets between two virtual machines associated with the same tenant.
It is also possible that VMs from different tenants communicate with each other. For example, suppose that VM1 associated with tenant T1 initiates a communication session with VM1 associated with tenant T2. In this case, when the hypervisor 20 of the server hosting VM1 associated with tenant T1 receives the IPv4 packet, it generates an IPv6 packet having an IPv6 source address as generated in step 304 by concatenating the prefix corresponding to tenant T1 with the IPv4 source address. However, for the IPv6 destination address, it will indicate the address of the router 30, which is an IPv6 address. Once the router 30 receives the IPv6 packet, it generates a new IPv6 destination address, based on the IPv4 destination address. It generates the IPv6 destination address by concatenating the prefix assigned to tenant T2 with the IPv4 destination address.
It should be noted that, using such a transformation, when a same IPv4 address is assigned to virtual machines associated with different tenants, the generated IPv6 address based on the IPv4 address is different for each of the virtual machines, because of the unique prefix assigned to each of the tenants.
As mentioned above, embodiments of the present invention allow data centers to deploy an IPv6 network while supporting legacy IPv4 applications running in the virtual machines. They provide for simple Networking Address Management while supporting IPv4 and IPv6 applications. They are also transparent to the virtual machines and to the applications running on the virtual machines.
It should be appreciated that in the preceding discussion, terms such as "first", "second", and the like, are used to distinguish various elements from one another and are not intended to imply a particular order or priority, unless the context clearly indicates otherwise. Like terms refer to like elements throughout the description. Likewise, as used herein, the terms "having", "containing", "including", "comprising" and the like are open ended terms that indicate the presence of stated elements or features, but do not preclude additional elements or features. The articles "a", "an" and "the" are intended to include the plural as well as the singular, unless the context clearly indicates otherwise. When a process is illustrated or claimed herein, it should be understood that the steps or operations of that process may be performed in any order unless the context clearly requires otherwise.
Embodiments of the invention may be represented as a software product stored in a machine-readable medium (also referred to as a computer-readable medium, a processor-readable medium, or a computer usable medium having a computer readable program code embodied therein). The machine-readable medium may be any suitable tangible medium including a magnetic, optical, or electrical storage medium including a diskette, compact disk read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM) memory device (volatile or non-volatile), or similar storage mechanism. The machine-readable medium may contain various sets of instructions, code sequences, configuration information, or other data, which, when executed, cause a processor to perform steps in a method according to an embodiment of the invention. Those of ordinary skill in the art will appreciate that other instructions and operations necessary to implement the described invention may also be stored on the machine-readable medium. Software running from the machine-readable medium may interface with circuitry to perform the described tasks.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.

Claims

CLAIMS What is claimed is:
1. A method, for use in a data center having tenants, of routing an Internet
Protocol version 4 (IPv4) packet, having a payload and a header that includes IPv4 source and destination addresses, over an Internet Protocol version 6 (IPv6) network as an IPv6 packet having a payload and a header, the method comprising:
- receiving the IPv4 packet from a first virtual machine associated with a first tenant, the IPv4 packet addressed to a second virtual machine associated with a second tenant;
- generating the header of the IPv6 packet to include an IPv6 address determined by applying a reversible transformation to one of:
a combination of the IPv4 source address and an identifier of the first tenant, and
a combination of the IPv4 destination address and an identifier of the second tenant;
- generating the payload of the IPv6 packet based on the payload of the received IPv4 packet;
- generating the IPv6 packet by assembling the generated payload of the IPv6 packet with the generated header of the IPv6 packet; and
- transmitting the generated IPv6 packet over the IPv6 network to the second virtual machine.
2. The method of claim 1 , wherein the step of generating the header of the IPv6 packet to include an IPv6 address further includes determining an IPv6 source address by applying the reversible transformation to the combination of the IPv4 source address and the identifier of the first tenant.
3. The method of claim 1 , wherein the step of generating the header of the IPv6 packet to include an IPv6 address further includes determining an IPv6 destination address by applying the reversible transformation to the combination of the IPv4 destination address and the identifier of the second tenant.
4. The method of claim 1 , wherein the step of generating the header of the IPv6 packet to include an IPv6 address further includes:
determining an IPv6 source address by applying a first reversible transformation to the combination of the IPv4 source address and the identifier of the first tenant: and
determining an IPv6 destination address by applying a second reversible transformation to the combination of the IPv4 destination address and the identifier of the second tenant.
5. The method of claim 4, wherein the step of determining the IPv6 source address and the IPv6 destination address further includes mapping the identifier of the first tenant to a first prefix and the identifier of the second tenant to a second prefix.
6. The method of claim 1 , wherein the first tenant and the second tenant are one and the same.
7. The method of claim 5, wherein the steps of determining the IPv6 source address further includes concatenating the first prefix with the IPv4 source address and determining the IPv6 destination address further includes concatenating the second prefix with the IPv4 destination address.
8. The method of claim 1 , wherein the step of generating the payload of the IPv6 packet further includes inserting the payload of the received IPv4 packet into the payload of the IPv6 packet.
9. A method, for use in a data center having tenants, of delivering an Internet Protocol version 4 (IPv4) packet to a virtual machine, the IPv4 packet being received as an IPv6 packet having a payload and a header which includes an IPv6 destination address, the method comprising:
- determining the virtual machine associated with a tenant based on the IPv6 destination address;
- generating a header of the IPv4 packet to include an IPv4 destination address determined based on the IPv6 destination address;
- generating a payload of the IPv4 packet based on the payload of the IPv6 packet;
- generating the IPv4 packet by assembling the generated header with the generated payload; and
- routing the generated IPv4 packet to the determined virtual machine associated with the tenant.
10. The method of claim 9, wherein the step of determining the virtual machine associated with a tenant further includes extracting a prefix from the IPv6 destination address, the prefix being assigned to the tenant.
1 1. The method of claim 9, wherein the step of generating the header of the IPv4 packet to include the IPv4 destination address further includes extracting the IPv4 destination address from the IPv6 destination address.
12. The method of claim 9, wherein the step of generating the payload of the IPv4 packet further includes extracting the payload of the IPv4 packet from the payload of the IPv6 packet.
13. A network node, in a data center having tenants, for routing an Internet
Protocol version 4 (IPv4) packet, having a payload and a header that includes IPv4 source and destination addresses, over an Internet Protocol version 6 (IPv6) network as an IPv6 packet having a payload and a header, the network node comprising:
- a communication interface for receiving the IPv4 packet from a first virtual machine associated with a first tenant, the IPv4 packet addressed to a second virtual machine associated with a second tenant; and
- a processor operationally connected to the communication interface and configured to:
generate the header of the IPv6 packet to include an IPv6 address determined by applying a reversible transformation to one of:
a combination of the IPv4 source address and an identifier of the first tenant, and
a combination of the IPv4 destination address and an identifier of the second tenant;
generate the payload of the IPv6 packet based on the payload of the received IPv4 packet; and
generate the IPv6 packet by assembling the generated payload of the
IPv6 packet with the generated header of the IPv6 packet;
wherein the communication interface further transmits the generated IPv6 packet over the IPv6 network to the second virtual machine.
14. The network node of claim 13, wherein the processor further determines an IPv6 source address by applying a first reversible transformation to the combination of the IPv4 source address and the identifier of the first tenant, and an IPv6 destination address by applying a second reversible transformation to the combination of the IPv4 destination address and the identifier of the second tenant.
15. The network node of claim 14, wherein the processor further maps the identifier of the first tenant to a first prefix and the identifier of the second tenant to a second prefix.
16. The network node of claim 15, wherein the processor further determines the IPv6 source address by concatenating the first prefix with the IPv4 source address and determines the IPv6 destination address by concatenating the second prefix with the IPv4 destination address.
17. The network node of claim 13, wherein the processor further inserts the payload of the IPv4 packet into the payload of the IPv6 packet.
18. A network node, in a data center having tenants, for delivering an Internet Protocol version 4 (IPv4) packet to a virtual machine, the IPv4 packet being received as an IPv6 packet having a payload and a header which includes an IPv6 destination address, the network node comprising:
- a processor configured to:
determine the virtual machine associated with a tenant based on the IPv6 destination address;
generate a header of the IPv4 packet to include an IPv4 destination address determined based on the IPv6 destination address;
generate a payload of the IPv4 packet based on the payload of the IPv6 packet; and generate the IPv4 packet by assembling the generated header with the generated payload; and
- a communication interface in connection with the processor for routing the generated IPv4 packet to the virtual machine associated with the tenant.
19. The network node of claim 18, wherein the processor further extracts a prefix from the IPv6 destination address, the prefix being assigned to the tenant.
20. The network node of claim 18, wherein the processor further extracts the IPv4 destination address from the IPv6 destination address.
21. The network of claim 18, wherein the processor further extracts the payload of the IPv4 packet from the payload of the IPv6 packet.
EP13765774.8A 2012-06-29 2013-06-27 Method and a network node, for use in a data center, for routing an ipv4 packet over an ipv6 network Withdrawn EP2868070A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261666279P 2012-06-29 2012-06-29
US13/676,718 US20140006638A1 (en) 2012-06-29 2012-11-14 Method and a network node, for use in a data center, for routing an ipv4 packet over an ipv6 network
PCT/IB2013/055297 WO2014002055A1 (en) 2012-06-29 2013-06-27 Method and a network node, for use in a data center, for routing an ipv4 packet over an ipv6 network

Publications (1)

Publication Number Publication Date
EP2868070A1 true EP2868070A1 (en) 2015-05-06

Family

ID=49779400

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13765774.8A Withdrawn EP2868070A1 (en) 2012-06-29 2013-06-27 Method and a network node, for use in a data center, for routing an ipv4 packet over an ipv6 network

Country Status (4)

Country Link
US (1) US20140006638A1 (en)
EP (1) EP2868070A1 (en)
CN (1) CN104584517A (en)
WO (1) WO2014002055A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9191454B2 (en) * 2011-06-27 2015-11-17 Microsoft Technology Licensing, Llc Host enabled management channel
US9787499B2 (en) * 2014-09-19 2017-10-10 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US10015093B2 (en) * 2015-05-05 2018-07-03 Dell Products L.P. Communication transmission system for communication protocol failures
US20170142234A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc Scalable addressing mechanism for virtual machines
CN107645389B (en) * 2016-07-21 2021-10-29 上海诺基亚贝尔股份有限公司 Network communication method and device
US20180375762A1 (en) * 2017-06-21 2018-12-27 Microsoft Technology Licensing, Llc System and method for limiting access to cloud-based resources including transmission between l3 and l7 layers using ipv6 packet with embedded ipv4 addresses and metadata
CN111654443B (en) * 2020-06-05 2022-08-23 浪潮云信息技术股份公司 Method for directly accessing public network by virtual machine IPv6 address in cloud environment
US11671354B2 (en) * 2021-10-18 2023-06-06 Cisco Technology, Inc. Collection of segment routing IPV6 (SRV6) network telemetry information
US20230216825A1 (en) * 2021-12-31 2023-07-06 T-Mobile Innovations Llc Gateway based ip address translation in communication networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060251088A1 (en) * 2005-05-06 2006-11-09 Pascal Thubert Private network gateways interconnecting private networks via an access network
US20090248896A1 (en) * 2008-03-31 2009-10-01 Cohn Daniel T Embedding overlay virtual network addresses in underlying substrate network addresses

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010040895A1 (en) * 2000-03-16 2001-11-15 Templin Fred Lambert An IPv6-IPv4 compatibility aggregatable global unicast address format for incremental deployment of IPv6 nodes within IPv4
EP1420559A1 (en) * 2002-11-13 2004-05-19 Thomson Licensing S.A. Method and device for supporting a 6to4 tunneling protocol across a network address translation mechanism
US7443880B2 (en) * 2004-06-25 2008-10-28 Cisco Technology, Inc. Arrangement for reaching IPv4 public network nodes by a node in a IPv4 private network via an IPv6 access network
CN103401952B (en) * 2008-03-31 2018-04-20 亚马逊技术有限公司 Configure the communication between computer node
KR100948693B1 (en) * 2008-10-08 2010-03-18 한국전자통신연구원 Ip conversion apparatus and method for supporting interoperability between different networks using virtualization platform
US8406232B2 (en) * 2010-06-17 2013-03-26 Microsoft Corporation 4to6 network stack for IPv4 applications
CN102487407B (en) * 2010-12-03 2015-03-25 华为终端有限公司 Network address translating method and equipment and system
CN102098356A (en) * 2011-03-25 2011-06-15 清华大学 Method for translating Internet protocol version 4 (IPv4)/Internet protocol version 6 (IPv6) initiating communication by using IPv4 based on cloud service
WO2012170016A1 (en) * 2011-06-07 2012-12-13 Hewlett-Packard Development Company, L.P. A scalable multi-tenant network architecture for virtualized datacenters
US8856518B2 (en) * 2011-09-07 2014-10-07 Microsoft Corporation Secure and efficient offloading of network policies to network interface cards
US8943000B2 (en) * 2012-01-20 2015-01-27 Cisco Technology, Inc. Connectivity system for multi-tenant access networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060251088A1 (en) * 2005-05-06 2006-11-09 Pascal Thubert Private network gateways interconnecting private networks via an access network
US20090248896A1 (en) * 2008-03-31 2009-10-01 Cohn Daniel T Embedding overlay virtual network addresses in underlying substrate network addresses

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2014002055A1 *

Also Published As

Publication number Publication date
CN104584517A (en) 2015-04-29
WO2014002055A1 (en) 2014-01-03
US20140006638A1 (en) 2014-01-02

Similar Documents

Publication Publication Date Title
US20140006638A1 (en) Method and a network node, for use in a data center, for routing an ipv4 packet over an ipv6 network
US10541836B2 (en) Virtual gateways and implicit routing in distributed overlay virtual environments
US10664301B2 (en) Methods and systems for establishing connections associated with virtual machine migrations
US8725898B1 (en) Scalable port address translations
KR101912073B1 (en) Virtualization gateway between virtualized and non-virtualized networks
US8958293B1 (en) Transparent load-balancing for cloud computing services
CN112039768B (en) Intermediate logical interface in a virtual distributed routing environment
US9042384B2 (en) Distributed routing domains in multi-tenant datacenter virtual networks
US9191454B2 (en) Host enabled management channel
US9590820B1 (en) Methods and apparatus for improving load balancing in overlay networks
US20090063706A1 (en) Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing
WO2021108104A1 (en) Multi-carrier access to provider substrate extensions
US20150124823A1 (en) Tenant dhcp in an overlay network
CN116210204A (en) System and method for VLAN switching and routing services
US10999244B2 (en) Mapping a service into a virtual network using source network address translation
US11533259B2 (en) Building a platform to scale control and data plane for virtual network functions
US11206212B2 (en) Disambiguating traffic in networking environments with multiple virtual routing and forwarding (VRF) logical routers
US11743349B2 (en) Service request handling with protocol translation
CN113302884A (en) Service insertion in a public cloud environment
CN110383796B (en) System and method for transmitting pseudo tunnel information during session initialization
CN107508845B (en) Networking system, network sharing method and system
WO2013185352A1 (en) Registration method, device, and system
WO2023166626A1 (en) Communication system, allocation computation device, setting imparting device, communication method, and program
Srinidhi et al. Tunnel based IPv6 Transition with automatic bandwidth management
CN115913819A (en) Communication method and related device

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20150129

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20160429

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20160910