Load balancing multicast join requests over interior and exterior BGP paths in a MVPN
First Claim
1. A method comprising:
- receiving a join request on a downstream interface of a network device, wherein the join request specifies a source device and a multicast group, wherein the network device is positioned within a core network of a multicast virtual private network (MVPN) that transmits multicast traffic between the source device and a plurality of receivers associated with customer sites; and
determining whether to send the join request to an upstream router positioned on an Exterior Border Gateway Protocol (EBGP) path toward the source device or to an upstream router positioned on an Interior BGP (IBGP) path toward the source device from among a plurality of upstream routers, based at least in part on;
identifying a least-loaded upstream router, wherein state information maintained by the network device indicates that the least-loaded upstream router is currently set as an upstream router for a least number of multicast flows as compared to other upstream routers in the plurality of upstream routers;
when the least-loaded router is on the EBGP path toward the source device, selecting the least-loaded router as the upstream router to which to send the join request; and
when the least-loaded router is on the IBGP path toward the source device, running a hash calculation to select an upstream router on one of a plurality of IBGP paths toward the source device, wherein running the hash calculation ensures that the network device selects the same upstream router for a given combination of multicast source device, rendezvous point, and multicast group; and
sending the join request to the selected upstream router.
1 Assignment
0 Petitions
Accused Products
Abstract
A network device receives a join request on a downstream interface, wherein the join request specifies a source device and multicast group, wherein the network device is positioned within a core network of a multicast virtual private network (MVPN) that transmits multicast traffic between the source device and a plurality of receivers associated with customer sites. The network device selects an upstream router to which to send the join request from among a plurality of upstream routers on paths leading to the source device, so as to avoid creating a join request loop in the core network. At least one of the upstream routers is positioned on an Exterior Border Gateway Protocol (EBGP) path toward the source device, and at least one of the upstream routers is positioned on an Interior BGP (IBGP) path toward the source device. The network device sends the join request to the selected upstream device.
43 Citations
16 Claims
-
1. A method comprising:
-
receiving a join request on a downstream interface of a network device, wherein the join request specifies a source device and a multicast group, wherein the network device is positioned within a core network of a multicast virtual private network (MVPN) that transmits multicast traffic between the source device and a plurality of receivers associated with customer sites; and determining whether to send the join request to an upstream router positioned on an Exterior Border Gateway Protocol (EBGP) path toward the source device or to an upstream router positioned on an Interior BGP (IBGP) path toward the source device from among a plurality of upstream routers, based at least in part on; identifying a least-loaded upstream router, wherein state information maintained by the network device indicates that the least-loaded upstream router is currently set as an upstream router for a least number of multicast flows as compared to other upstream routers in the plurality of upstream routers;
when the least-loaded router is on the EBGP path toward the source device, selecting the least-loaded router as the upstream router to which to send the join request; andwhen the least-loaded router is on the IBGP path toward the source device, running a hash calculation to select an upstream router on one of a plurality of IBGP paths toward the source device, wherein running the hash calculation ensures that the network device selects the same upstream router for a given combination of multicast source device, rendezvous point, and multicast group; and sending the join request to the selected upstream router. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
receiving a join request on a downstream interface of a network device, wherein the downstream interface is a multicast tunnel (MT) interface of the network device, wherein the join request specifies a source device and a multicast group, wherein the network device is positioned within a core network of a multicast virtual private network (MVPN) that transmits multicast traffic between the source device and a plurality of receivers associated with customer sites; checking whether a reverse path forwarding (RPF) interface of the network device is the MT interface; in response to determining that the RPF interface is not the MT interface, selecting a router on an Exterior Border Gateway Protocol (EBGP) path toward the source device as an upstream router to which to send the received join request; in response to determining that the RPF interface is the MT interface, selecting, as the upstream router to which to send the received join request, an RPF neighbor router having a network address that is greater than a network address of the MT interface of the network device; sending the join request to the selected upstream router; installing a forwarding route on the network device for a multicast group when multicast data traffic for the multicast group is received over the MT interface, wherein when the network device has no receiver for the multicast group, the forwarding route is set to a discard route; and setting a timer for the forwarding route such that the forwarding route is removed if multicast data traffic for the multicast group is not received by the network device before the timer expires. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A router comprising:
-
a set of interfaces that transfer control messages and multicast traffic with at least one neighboring downstream router and a plurality of neighboring upstream routers, wherein a downstream one of the set of interfaces receives a join request from the neighboring downstream router, wherein the join request specifies a source device and a multicast group; and a control unit that determines whether to send the join request to an upstream router positioned on an Exterior Border Gateway Protocol (EBGP) path toward the source device or to an upstream router positioned on an Interior BGP (IBGP) path toward the source device from among a plurality of upstream routers, based at least in part on; the control unit identifying an upstream router as a least-loaded upstream router when state information maintained by the router indicates that the least-loaded upstream router is currently set as an upstream router for a least number of multicast groups as compared to other upstream routers in the plurality of upstream routers; wherein when the least-loaded upstream router is on the EBGP path toward the source device, the control unit selects the least-loaded router as the upstream router to which to send the join request, and wherein when the least-loaded router is on the IBGP path toward the source device, the control unit runs a hash calculation to select an upstream router on an IBGP path toward the source device, wherein running the hash calculation ensures that the router selects the same upstream router for a given combination of multicast source device, rendezvous point, and multicast group, wherein the control unit sends the join request to the selected upstream router. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium encoded with instructions for causing one or more programmable processors to:
-
receive a join request on a downstream interface of a network device, wherein the join request specifies a source device and a multicast group, wherein the network device is positioned within a core network of a multicast virtual private network (MVPN) that transmits multicast traffic between the source device and a plurality of receivers associated with customer sites; determine whether to send the join request to an upstream router positioned on an Exterior Border Gateway Protocol (EBGP) path toward the source device or to an upstream router positioned on an Interior BGP (IBGP) path toward the source device from among a plurality of upstream routers, based at least in part on; identifying a least-loaded upstream router, wherein state information maintained by the network device indicates that the least-loaded upstream router is currently set as an upstream router for a least number of multicast flows as compared to other upstream routers in the plurality of upstream routers; when the least-loaded router is on the EBGP path toward the source device, selecting the least-loaded router as the upstream router to which to send the join request; and when the least-loaded router is on the IBGP path toward the source device, running a hash calculation to select an upstream router on one of a plurality of IBGP paths toward the source device, wherein running the hash calculation ensures that the network device selects the same upstream router for a given combination of multicast source device, rendezvous point, and multicast group; and send the join request to the selected upstream router.
-
Specification