Aggregate multicast trees for multicast virtual private networks
First Claim
1. A method comprising:
- establishing a multicast tree comprising a point-to-multipoint (P2MP) tunnel for transporting layer three (L3) multicast data packets through a network, wherein the P2MP tunnel includes a source device providing an ingress to the multicast tree and a plurality of destination devices providing a plurality of different egresses from the multicast tree, wherein each of the plurality of destination devices belongs to at least one multicast virtual private network (MVPN); and
transmitting the (L3) multicast data packets for a plurality of different MVPNs from the source device through the P2MP tunnel to the plurality of destination devices on the multicast tree,wherein establishing the multicast tree comprises;
discovering, with the source device, the MVPNs of which the destination devices are members;
mapping more than one of the discovered MVPNs to the multicast tree;
allocating a different inner label with the source device for each of the more than one MVPNs mapped to the multicast tree;
advertising mapping information from the source device to the one or more destination devices, wherein the mapping information specifies which of the discovered MVPNs are mapped to the multicast tree by the source device;
with the source device, including the allocated inner labels within the mapping information advertised from the source device to the destination devices to allow the destination devices to demultiplex the multicast data packets received over the multicast tree for the more than one MVPNs;
in response to the mapping information advertised by the source device, maintaining, within each destination device, a separate label space for the multicast tree, wherein the label space within each destination device includes forwarding entries for the inner labels allocated by the source device, andwherein transmitting the multicast data packets from the source device comprises encapsulating each of the multicast data packets at the source device with an outer label and one of the inner labels, wherein the outer label identifies the label space within the destination device that corresponds to the multicast tree, and wherein the inner label is based on the MVPN with which the multicast data packet is associated.
1 Assignment
0 Petitions
Accused Products
Abstract
Principles of the invention are described for providing multicast virtual private networks (MVPNs) across a public network that are capable of carrying high-bandwidth multicast traffic with increased scalability. In particular, the MVPNs may transport layer three (L3) multicast traffic, such as Internet Protocol (IP) packets, between remote sites via the public network. The principles described herein may reduce the overhead of protocol independent multicast (PIM) neighbor adjacencies and customer control information maintained for MVPNs. The principles may also reduce the state and the overhead of maintaining the state in the network by removing the need to maintain at least one dedicated multicast tree per each MVPN.
-
Citations
24 Claims
-
1. A method comprising:
-
establishing a multicast tree comprising a point-to-multipoint (P2MP) tunnel for transporting layer three (L3) multicast data packets through a network, wherein the P2MP tunnel includes a source device providing an ingress to the multicast tree and a plurality of destination devices providing a plurality of different egresses from the multicast tree, wherein each of the plurality of destination devices belongs to at least one multicast virtual private network (MVPN); and transmitting the (L3) multicast data packets for a plurality of different MVPNs from the source device through the P2MP tunnel to the plurality of destination devices on the multicast tree, wherein establishing the multicast tree comprises; discovering, with the source device, the MVPNs of which the destination devices are members; mapping more than one of the discovered MVPNs to the multicast tree; allocating a different inner label with the source device for each of the more than one MVPNs mapped to the multicast tree; advertising mapping information from the source device to the one or more destination devices, wherein the mapping information specifies which of the discovered MVPNs are mapped to the multicast tree by the source device; with the source device, including the allocated inner labels within the mapping information advertised from the source device to the destination devices to allow the destination devices to demultiplex the multicast data packets received over the multicast tree for the more than one MVPNs; in response to the mapping information advertised by the source device, maintaining, within each destination device, a separate label space for the multicast tree, wherein the label space within each destination device includes forwarding entries for the inner labels allocated by the source device, and wherein transmitting the multicast data packets from the source device comprises encapsulating each of the multicast data packets at the source device with an outer label and one of the inner labels, wherein the outer label identifies the label space within the destination device that corresponds to the multicast tree, and wherein the inner label is based on the MVPN with which the multicast data packet is associated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A network device comprising:
-
a control unit that establishes a multicast tree comprising a point-to-multipoint (P2MP) tunnel for transporting layer three (L3) multicast data packets through a network, wherein the point-to-multipoint (P2MP) includes a source device providing an ingress to the P2MP tunnel and a plurality of destination devices providing a plurality of destinations for the P2MP tunnel within the network, wherein each of the destination devices belongs to at least one multicast virtual private network (MVPN); an auto-discovery module that discovers the MVPNs of which the destination devices are members; a binding module that maps more than one of the discovered MVPNs to the multicast tree; and one or more output interfaces that transmit the L3 multicast data packets for more than one of the MVPNs through the P2MP tunnel on the multicast tree, wherein the control unit allocates a different inner label for each of the more than one MVPNs mapped to the multicast tree that identifies the MVPN and advertises mapping information to the one or more destination devices, wherein the mapping information specifies which of the discovered MVPNs are mapped to the multicast tree and includes the allocated inner labels to allow the destination devices to demultiplex the multicast data packets received over the multicast tree for the more than one MVPNs, and wherein the control unit encapsulates each of the L3 multicast data packets with an outer label and one of the inner labels, wherein the outer label identifies a label space within the destination device that corresponds to the multicast tree. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A computer-readable storage medium comprising instructions stored thereon that cause a programmable processor to:
-
discover, with a source device, a plurality of multicast virtual private networks (MVPNs) of which a plurality of destination devices are members; establish a multicast tree comprising a point-to-multipoint (P2MP) tunnel for transporting layer three (L3) multicast data packets through a network, wherein the multicast tree includes a source device providing an ingress to the multicast tree and the plurality of destination devices providing egresses from the multicast tree, wherein each of the destination devices belongs to at least one of the MVPNs; map more than one of the discovered MVPNs to the multicast tree; allocate a different inner label with the source device for each of the more than one MVPNs mapped to the multicast tree; advertise mapping information from the source device to the one or more destination devices, wherein the mapping information specifies which of the discovered MVPNs are mapped to the multicast tree by the source device; include the allocated inner labels within the mapping information advertised from the source device to the destination devices to allow the destination devices to demultiplex the multicast data packets received over the multicast tree for the more than one MVPNs; encapsulate the multicast data packets at the source device with an outer label and one of the inner labels, wherein the outer label identifies the label space within the destination device that corresponds to the multicast tree, and wherein the inner label is based on the MVPN with which the multicast data packet is associated; and transmit the encapsulated multicast data packets for a plurality of different MVPNs from the source device through the P2MP tunnel to the plurality of destination devices on the multicast tree.
-
-
24. A system comprising:
-
a source device within a network, wherein the source device provides an ingress to a multicast tree comprising a point-to-multipoint (P2MP) tunnel that transmits layer three (L3) multicast data packets for more than one of the MVPNs; one or more destination devices within the network that provide egresses to the P2MP tunnel, wherein each of the destination devices belongs to at least one multicast virtual private network (MVPN), wherein the source device allocates a different inner label for each of the more than one MVPNs and communicates the allocated inner labels to the destination devices, wherein each of the destination devices maintain a label space that includes forwarding entries for the inner labels allocated by the source device, wherein the source device encapsulates each of the multicast data packets with an outer label and one of the inner labels, wherein the outer label identifies the label space within the receiving destination device that corresponds to the P2MP tunnel, and the inner label identifies the MVPN for which the L3 multicast data packets are intended, and wherein the destination devices demultiplex the multicast data packets received over the multicast tree for the more than one MVPNs and select a virtual routing and forward (VRF) for forwarding the multicast data packets based on the different inner labels of the multicast data packets.
-
Specification