Search

US-12627595-B2 - Efficient distribution of multi-destination packets in an overlay network

US12627595B2US 12627595 B2US12627595 B2US 12627595B2US-12627595-B2

Abstract

A network device operating as a tunnel endpoint in an overlay network is provided. During operation, the network device can receive a multi-destination packet associated with a virtual local area network (VLAN) via an edge port of the network device. The network device can determine a multicast group assigned for distributing multi-destination traffic of the VLAN from a data structure in forwarding hardware of the network device. The network device can then forward the multi-destination packet via a root-path multicast tree associated with the multicast group. Subsequently, the network device can receive forwarding information shared by a second network device of the overlay network based on a control packet sent by the second network device. The network device can then program, in the forwarding hardware, a shortest-path multicast tree associated with the multicast group, wherein the shortest-path multicast tree is for distributing traffic belonging to the VLAN.

Inventors

  • TATHAGATA NANDY
  • Somnath Bhimaram Lohar

Assignees

  • HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Dates

Publication Date
20260512
Application Date
20240319
Priority Date
20240110

Claims (20)

  1. 1 . A method, comprising: receiving, by a first network device in an overlay network, a multi-destination packet associated with a virtual local area network (VLAN) via an edge port of the first network device; determining, by the first network device, a multicast group assigned for distributing multi-destination traffic of the VLAN from a data structure stored in forwarding hardware of the first network device; forwarding, by the first network device, the multi-destination packet via a root-path multicast tree associated with the multicast group; receiving, by the first network device, forwarding information shared by a second network device of the overlay network based on a control packet sent by the second network device; and programming, in the data structure stored in the forwarding hardware, a shortest-path multicast tree associated with the multicast group, wherein the shortest-path multicast tree is for distributing traffic belonging to the VLAN.
  2. 2 . The method of claim 1 , further comprising: pruning, by the first network device, the root-path multicast tree for the multicast group; and forwarding, by the first network device, a second multi-destination packet belonging to the VLAN via the shortest-path multicast tree.
  3. 3 . The method of claim 1 , wherein the overlay network deploys an Ethernet virtual private network, and wherein the control packet is a route update packet associated with the Ethernet virtual private network.
  4. 4 . The method of claim 1 , wherein the forwarding information comprises one or more of: a new media access control (MAC) address learned on the VLAN at the second network device; and a new route determined by the second network device.
  5. 5 . The method of claim 1 , wherein a respective entry in the data structure in the forwarding hardware is associated with a multicast group corresponding to a VLAN configured in the overlay network, and wherein a source of the multicast group indicated in the entry refers to a respective source of the multicast group in the overlay network.
  6. 6 . The method of claim 1 , wherein the root-path multicast tree and the shortest-path multicast tree are deployed in an underlay network for the overlay network.
  7. 7 . The method of claim 1 , further comprising: determining, by the first network device, the second network device as a source of the multicast group; identifying a port of the first network device corresponding to the second network device based on routing information of the first network device; and allocating the port to the shortest-path multicast tree.
  8. 8 . The method of claim 7 , further comprising providing, in response to receiving the forwarding information, a notification to a multicast daemon running on the network device, wherein the notification indicates the second network device as the source of the multicast group.
  9. 9 . The method of claim 1 , wherein the root-path multicast tree is rooted at a network device of the overlay network, and wherein the network device is configured as a Rendezvous Point (RP) of the multicast group.
  10. 10 . A non-transitory computer-readable storage medium storing instructions that, when executed by a processor of a first network device in an overlay network, cause the processor to perform a method, the method comprising: receiving a multi-destination packet associated with a virtual local area network (VLAN) via an edge port of the first network device; determining a multicast group assigned for distributing multi-destination traffic of the VLAN from a data structure stored in forwarding hardware of the first network device; forwarding the multi-destination packet via a root-path multicast tree associated with the multicast group; receiving forwarding information shared by a second network device of the overlay network based on a control packet sent by the second network device; and programming, in the data structure stored in the forwarding hardware, a shortest-path multicast tree associated with the multicast group, wherein the shortest-path multicast tree is for distributing traffic belonging to the VLAN.
  11. 11 . The non-transitory computer-readable storage medium of claim 10 , wherein the method further comprises: pruning, by the first network device, the root-path multicast tree for the multicast group; and forwarding, by the first network device, a second multi-destination packet belonging to the VLAN via the shortest-path multicast tree.
  12. 12 . The non-transitory computer-readable storage medium of claim 10 , wherein the overlay network deploys an Ethernet virtual private network, and wherein the control packet is a route update packet associated with the Ethernet virtual private network.
  13. 13 . The non-transitory computer-readable storage medium of claim 10 , wherein the forwarding information comprises one or more of: a new media access control (MAC) address learned on the VLAN at the second network device; and a new route determined by the second network device.
  14. 14 . The non-transitory computer-readable storage medium of claim 10 , wherein a respective entry in the data structure in the forwarding hardware is associated with a multicast group corresponding to a VLAN configured in the overlay network, and wherein a source of the multicast group indicated in the entry refers to a respective source of the multicast group in the overlay network.
  15. 15 . The non-transitory computer-readable storage medium of claim 10 , wherein the root-path multicast tree and the shortest-path multicast tree are deployed in an underlay network for the overlay network.
  16. 16 . The non-transitory computer-readable storage medium of claim 10 , wherein the method further comprises: determining, by the first network device, the second network device as a source of the multicast group; identifying a port of the first network device corresponding to the second network device based on routing information of the first network device; and allocating the port to the shortest-path multicast tree.
  17. 17 . The non-transitory computer-readable storage medium of claim 16 , wherein the method further comprises providing, in response to receiving the forwarding information, a notification to a multicast daemon running on the network device, wherein the notification indicates the second network device as the source of the multicast group.
  18. 18 . The non-transitory computer-readable storage medium of claim 10 , wherein the root-path multicast tree is rooted at a network device of the overlay network, and wherein the network device is configured as a Rendezvous Point (RP) of the multicast group.
  19. 19 . A computer system, comprising: at least one processing resource; a set of ports; forwarding hardware; and a storage device storing instructions executable by the at least one processing resource to: operate the computer system as a tunnel endpoint in an overlay network; receive a multi-destination packet associated with a virtual local area network (VLAN) via an edge port of the set of ports; determine a multicast group assigned for distributing multi-destination traffic of the VLAN from a data structure stored in the forwarding hardware; forward the multi-destination packet via a root-path multicast tree associated with the multicast group; receive forwarding information shared by a second computer system in the overlay network based on a control packet sent by the second computer system; and program, in the data structure stored in the forwarding hardware, a shortest-path multicast tree associated with the multicast group, wherein the shortest-path multicast tree is for distributing traffic belonging to the VLAN.
  20. 20 . The computer system of claim 19 , wherein the instructions executable by the at least one processing resource to: prune the root-path multicast tree for the multicast group; and forward a second multi-destination packet belonging to the VLAN via the shortest-path multicast tree.

Description

BACKGROUND In a network, a network device, such as a switch, may support different protocols and services. For example, the network device can support an overlay network formed based on tunneling and virtual private networks (VPNs). The network device can then facilitate overlay routing for a VPN over the tunnels. BRIEF DESCRIPTION OF THE FIGURES FIG. 1 illustrates an example of an overlay network supporting efficient distribution of multi-destination traffic, in accordance with an aspect of the present application. FIG. 2A illustrates an example of a root-path multicast tree (RPMT) in an underlay network distributing multi-destination traffic in an overlay network, in accordance with an aspect of the present application. FIG. 2B illustrates an example of switching to a source-specific multicast tree (SPMT) in an underlay network for distributing multi-destination traffic in an overlay network, in accordance with an aspect of the present application. FIG. 3 presents a flowchart illustrating an example of a process of a network device efficiently distributing multi-destination traffic in an overlay network based on underlay multicast distribution, in accordance with an aspect of the present application. FIG. 4 presents a flowchart illustrating an example of a process of a network device initiating the distribution of multi-destination traffic in an overlay network using an SPMT in an underlay network, in accordance with an aspect of the present application. FIG. 5 presents a flowchart illustrating an example of a process of a network device switching to an SPMT in an underlay network for efficiently distributing multi-destination traffic in an overlay network, in accordance with an aspect of the present application. FIG. 6 illustrates an example of a network device supporting the efficient distribution of multi-destination traffic in an overlay network based on underlay multicast distribution, in accordance with an aspect of the present application. In the figures, like reference numerals refer to the same figure elements. DETAILED DESCRIPTION In various Internet applications, multicast is frequently used to distribute content from a source to multiple hosts via one or more network devices, such as switches. Efficient distribution of multicast traffic can improve the performance of a network. A network-layer multicast protocol, such as protocol-independent multicast (PIM), can be used for distributing content in a heterogeneous network. In some scenarios, a host can send a client join request (e.g., an Internet Group Management Protocol (IGMP) join request or a Multicast Listener Discovery (MLD) join request) to an upstream network device. The network device can be in an overlay network formed based on overlay routing for a VPN over a set of tunnels. For example, an Ethernet VPN (EVPN) can be deployed as an overlay over a set of virtual extensible local area networks (VXLANs). To deploy a VPN over the tunnels, a respective tunnel endpoint may map a respective client VLAN to a corresponding tunnel network identifier (TNI), which can identify a virtual network for a tunnel. The TNI may appear in a tunnel header that encapsulates a packet and is used for forwarding the encapsulated packet via a tunnel. For example, if the tunnel is formed based on VXLAN, the TNI can be a virtual network identifier (VNI) of a VXLAN header, and a tunnel endpoint can be a VXLAN tunnel endpoint (VTEP). A TNI can also be mapped to the virtual routing and forwarding (VRF) associated with the tunnels if layer-3 routing and forwarding are needed. A VPN can be distributed across an overlay network. An overlay network with a VPN can also be referred to as a distributed tunnel fabric. Since the fabric is an overlay network, a respective network device in the fabric can be a tunnel endpoint of one or more tunnels. The fabric can include a gateway device that can facilitate external communication for the fabric. As a result, any other network device of the fabric can communicate with a network device outside the fabric via the gateway device, thereby facilitating communication between networks. On the other hand, internal unicast communication between a network device pair within a fabric can be via a tunnel between the pair. However, the distribution of multi-destination traffic, such as broadcast, unknown unicast, and multicast (BUM) traffic, can then include traffic replication at a respective tunnel. The aspects described herein address the problem of efficiently distributing multi-destination traffic in an overlay network by (i) distributing multi-destination traffic in the overlay network using a multicast tree in the underlay network; (ii) maintaining a single multicast state associated with an RPMT for a respective virtual local area network (VLAN); and (iii) switching to an SPMT based on the discovery of the VLAN at another network device in the overlay network. Typically, when multicast traffic is distributed from a source of the