Packet transmission method, apparatus, and system
AssigneeHuawei Technologies Co., Ltd.
InventorShaofu Zuo
Life of this patent
Estimating the term…
Abstract
This application provides a packet transmission method, an apparatus, and a system in an overlay network. Network address translation and reverse network address translation are implemented at a demarcation point: an IP tunnel end point, between the logical network and the physical network, an IP option is expanded to carry a source-end network element identifier and a destination-end network element identifier, and a virtual machine in an upper-layer logical network is interconnected with a peer-end virtual machine through a lower-layer physical network by using an IP tunnel.
Claims19
A method, comprising:
- receiving, by a first internet protocol (IP) tunnel end point, a raw packet, wherein the raw packet is being sent by a first virtual machine to a second virtual machine;
- replacing, by the first IP tunnel end point, a source IP address of the raw packet with an IP address of the first IP tunnel end point, replacing a destination IP address of the raw packet with an IP address of a second IP tunnel end point connected to the second virtual machine, and adding a network element identifier of the first virtual machine and a network element identifier of the second virtual machine to an IP option in an existing IP data header of the raw packet, to generate a modified packet;
- sending, by the first IP tunnel end point, the modified packet to the second IP tunnel end point over a network;
- receiving, by the second IP tunnel end point, the modified packet;
- replacing, by the second IP tunnel end point, the source IP address of the modified packet with an IP address of the first virtual machine based on the network element identifier of the first virtual machine in the IP option in the IP data header of the modified packet;
- replacing, by the second IP tunnel end point, a source Media Access Control (MAC) address of the modified packet with a MAC address of the first virtual machine based on the network element identifier of the first virtual machine in the IP option in the IP data header of the modified packet;
- replacing, by the second IP tunnel end point, the destination IP address of the modified packet with an IP address of the second virtual machine based on the network element identifier of the second virtual machine in the IP option in the IP data header of the modified packet;
- replacing a destination MAC address of the modified packet with a MAC address of the second virtual machine based on the network element identifier of the second virtual machine in the IP option in the IP data header of the modified packet;
- and
- sending, by the second IP tunnel end point, the modified packet to the second virtual machine.
A system, comprising:
- a plurality of servers;
- a first internet protocol (IP) tunnel end point;
- a second IP tunnel end point;
- and
- a plurality of virtual machines, wherein a virtual machine of the plurality of virtual machines runs on each server of the plurality of servers;
- wherein the first IP tunnel end point is configured to:
- receive a raw packet, the raw packet being sent by a first virtual machine of the plurality of virtual machines to a second virtual machine of the plurality of virtual machines;
- replacing, by the first IP tunnel end point, a source IP address of the raw packet with an IP address of the first IP tunnel end point, replacing a destination IP address of the raw packet with an IP address of a second IP tunnel end point connected to the second virtual machine, and adding a network element identifier of the first virtual machine and a network element identifier of the second virtual machine to an IP option in an existing IP data header of the raw packet, to generate a modified packet;
- and
- send the modified packet to the second IP tunnel end point over a network;
- and
- wherein the second IP tunnel end point is configured to:
- receive the modified packet;
- replace the source IP address of the modified packet with an IP address of the first virtual machine based on the network element identifier of the first virtual machine in the IP option in the IP data header of the modified packet;
- replace a source media access control (MAC) address of the modified packet with a MAC address of the first virtual machine based on the network element identifier of the first virtual machine in the IP option in the IP data header of the modified packet;
- replace the destination IP address of the modified packet with an IP address of the second virtual machine based on the network element identifier of the second virtual machine in the IP option in the IP data header of the modified packet;
- replace a destination MAC address of the modified packet with a MAC address of the second virtual machine based on the network element identifier of the second virtual machine in the IP option in the IP data header of the modified packet;
- and
- send the modified packet to the second virtual machine.
A server, comprising:
- a processor;
- and
- a non-transitory memory, wherein the non-transitory memory has a plurality of instructions stored thereon, that when executed by the processor, cause the processor to:
- run a first virtual machine and a first internet protocol (IP) tunnel end point on the server;
- cause the first virtual machine to send a raw packet to the first IP tunnel end point in a process of sending the raw packet from the first virtual machine to a second virtual machine;
- and
- run the first IP tunnel end point to:
- receive the raw packet;
- replace a source IP address of the raw packet with an IP address of the first IP tunnel end point, replace a destination IP address of the raw packet with an IP address of a second IP tunnel end point connected to the second virtual machine, and add a network element identifier of the first virtual machine and a network element identifier of the second virtual machine to an IP option in an existing IP data header of the raw packet, to generate a modified packet;
- and
- send the modified packet to the second IP tunnel end point over a network.
Dependencies are inferred from the claim text.