Encoding control plane information in transport protocol source port field and applications thereof in network virtualization
First Claim
1. A method operating on a host computer, the method comprising:
- receiving first and second packets belonging to first and second data flows between a source machine and a destination machine;
adding a tunnel encapsulation to each of the first and second packets;
storing in a source port field of the tunnel encapsulation for the first packet a first label from a set of labels received from a network controller and storing in a source port field of the the tunnel encapsulation for the second packet a different, second label from the set of labels, said storing of the different first and second labels to cause the first and second packets to follow different paths to the destination; and
from the host computer, forwarding the first and second packets along a network infrastructure to the destination machine.
0 Assignments
0 Petitions
Accused Products
Abstract
A novel method that uses the source port field in the transport or connection layer (L4) header to encode control plane information is provided. Specifically, the method encodes control plane information in UDP or TCP source port field of data plane tunnels in an overlay network such as VXLAN. Network virtualization is implemented by a network controller over an overlay network on the physical fabric. The network controller provides a mapping table to the data plane hosts for mapping the encoded bits in the source port field to semantically richer information. The data plane hosts in turn uses the encoded source bits and the mapping table to infer this semantically richer information. This semantically richer information is used to allow receivers of proxied traffic to learn the address of the original sender. The semantically richer information can also be used to enable ECMP for the transmitted packets.
-
Citations
20 Claims
-
1. A method operating on a host computer, the method comprising:
-
receiving first and second packets belonging to first and second data flows between a source machine and a destination machine; adding a tunnel encapsulation to each of the first and second packets; storing in a source port field of the tunnel encapsulation for the first packet a first label from a set of labels received from a network controller and storing in a source port field of the the tunnel encapsulation for the second packet a different, second label from the set of labels, said storing of the different first and second labels to cause the first and second packets to follow different paths to the destination; and from the host computer, forwarding the first and second packets along a network infrastructure to the destination machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory machine readable medium storing a program for execution by at least one processing unit of a host computer, the program comprising sets of instructions for:
-
receiving first and second packets belonging to first and second data flows between a source machine and a destination machine; adding a tunnel encapsulation to each of the first and second packets; storing in a source port field of the tunnel encapsulation for the first packet a first label from a set of labels received from a network controller and storing in a source port field of the the tunnel encapsulation for the second packet a different, second label from the set of labels, said storing of the different first and second labels to cause the first and second packets to follow different paths to the destination; and from the host computer, forwarding the first and second packets along a network infrastructure to the destination machine. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification