Multicast service in virtual networks
First Claim
1. A method comprising:
- creating, with a virtual network controller of a virtual network, a multicast tree for endpoint servers of a multicast group in the virtual network, wherein the virtual network includes respective virtual switches executing on the endpoint servers to provide an emulated layer 2 network for virtual machines executing on the endpoint servers;
storing the multicast tree in a memory within the virtual network controller; and
communicating, with the virtual network controller, the multicast tree to one or more of the endpoint servers of the multicast group in order to instruct the virtual switches executing on the endpoint servers to replicate and forward layer 2 multicast packets according to the multicast tree, the layer 2 multicast packets destined for one or more of the virtual machines executing on the endpoint servers.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described to provide multicast service within a virtual network using a virtual network controller and endpoint replication without requiring multicast support in the underlying network. The virtual network controller is configured to create a multicast tree for endpoint devices of a multicast group in the virtual network at a centralized location instead of in a distributed fashion. The virtual network controller communicates the multicast tree to one or more of the endpoint devices of the multicast group to instruct the endpoint devices to replicate and forward multicast packets to other endpoint devices according to the multicast tree. The replication and forwarding of multicast packets is performed by virtual switches executed on the endpoint devices in the virtual network. No replication is performed within the underlying network. The techniques enable multicast service within a virtual network without requiring multicast support in the underlying network.
76 Citations
37 Claims
-
1. A method comprising:
-
creating, with a virtual network controller of a virtual network, a multicast tree for endpoint servers of a multicast group in the virtual network, wherein the virtual network includes respective virtual switches executing on the endpoint servers to provide an emulated layer 2 network for virtual machines executing on the endpoint servers; storing the multicast tree in a memory within the virtual network controller; and communicating, with the virtual network controller, the multicast tree to one or more of the endpoint servers of the multicast group in order to instruct the virtual switches executing on the endpoint servers to replicate and forward layer 2 multicast packets according to the multicast tree, the layer 2 multicast packets destined for one or more of the virtual machines executing on the endpoint servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
receiving, with an endpoint server of a multicast group in a virtual network, layer 2 multicast packets to be forwarded on the virtual network according to a multicast tree for the multicast group, the multicast tree created by a virtual network controller of the virtual network, wherein the virtual network includes a virtual switch executing on the endpoint server to provide an emulated L2 network for one or more virtual machines executing on the endpoint server; replicating, with the virtual switch executed on the endpoint server, the layer 2 multicast packets for the multicast group according to the multicast tree; and forwarding, with the virtual switch executed on the endpoint server, the replicated layer 2 multicast packets using tunnel encapsulations to one or more other endpoint servers of the multicast group according to the multicast tree. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A virtual network controller of a virtual network comprising:
-
a memory; and one or more processors coupled to the memory and configured to; create a multicast tree for endpoint servers of a multicast group in the virtual network, wherein the virtual network includes respective virtual switches configured to execute on the endpoint servers to provide an emulated layer 2 network for virtual machines configured to execute on the endpoint servers, store the multicast tree in the memory of the virtual network controller, and communicate the multicast tree to one or more of the endpoint servers of the multicast group in order to instruct the virtual switches executing on the endpoint servers to replicate and forward layer 2 multicast packets according to the multicast tree, the layer 2 multicast packets destined for one or more of the virtual machines configured to execute on the endpoint servers. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. An endpoint server in a virtual network, the endpoint server comprising:
-
one or more processors configured to receive layer 2 multicast packets for a multicast group to which the endpoint server belongs to be forwarded on the virtual network according to a multicast tree for the multicast group, wherein the multicast tree is created by a virtual network controller of the virtual network; and a virtual switch executed on the processors configured to; provide, as part of the virtual network, an emulated L2 network for one or more virtual machines configured to execute on the endpoint server, and replicate the multicast packets for the multicast group according to the multicast tree, and forward the replicated layer 2 multicast packets using tunnel encapsulations to one or more other endpoint servers of the multicast group according to the multicast tree. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34)
-
-
35. A system of a virtual network, the system comprising:
-
a virtual network controller configured to create a multicast tree for endpoint servers of a multicast group in the virtual network, store the multicast tree in a memory within the virtual network controller, and communicate the multicast tree to one or more of the endpoint servers of the multicast group, wherein the virtual network includes respective virtual switches executing on the endpoint servers to provide an emulated layer 2 network for virtual machines executing on the endpoint servers; and one of the endpoint servers of the multicast group configured to receive layer 2 multicast packets for the multicast group to be forwarded on the virtual network, and execute a virtual switch to replicate the layer 2 multicast packets for the multicast group according to the multicast tree, and forward the replicated layer 2 multicast packets using tunnel encapsulations to one or more of the other endpoint servers of the multicast group according to the multicast tree.
-
-
36. A non-transitory computer-readable storage medium comprising instructions that when executed cause one or more processors to:
-
create, with a virtual network controller of a virtual network, a multicast tree for endpoint servers of a multicast group in the virtual network, wherein the virtual network includes respective virtual switches executing on the endpoint servers to provide an emulated layer 2 network for virtual machines executing on the endpoint servers; store the multicast tree in a memory within the virtual network controller; and communicate, with the virtual network controller, the multicast tree to one or more of the endpoint servers of the multicast group in order to instruct the virtual switches executing on the endpoint servers to replicate and forward layer 2 multicast packets according to the multicast tree, the layer 2 multicast packets destined for one or more of the virtual machines executing on the endpoint servers.
-
-
37. A non-transitory computer-readable storage medium comprising instructions that when executed cause one or more processors to:
-
receive, with an endpoint server of a multicast group in a virtual network, layer 2 multicast packets to be forwarded on the virtual network according to a multicast tree for the multicast group, the multicast tree created by a virtual network controller of the virtual network, wherein a virtual switch executing on the endpoint server to provides an emulated L2 network for one or more virtual machines executing on the endpoint server; replicate, with the virtual switch executed on the endpoint server, the layer 2 multicast packets for the multicast group according to the multicast tree; and forward, with the virtual switch executed on the endpoint server, the replicated layer 2 multicast packets using tunnel encapsulations to one or more other endpoint servers of the multicast group according to the multicast tree.
-
Specification