WO2023158889A2 - Multidiffusion sans état avec sauts mobiles - Google Patents

Multidiffusion sans état avec sauts mobiles Download PDF

Info

Publication number
WO2023158889A2
WO2023158889A2 PCT/US2023/024718 US2023024718W WO2023158889A2 WO 2023158889 A2 WO2023158889 A2 WO 2023158889A2 US 2023024718 W US2023024718 W US 2023024718W WO 2023158889 A2 WO2023158889 A2 WO 2023158889A2
Authority
WO
WIPO (PCT)
Prior art keywords
node
link
tree
multicast
loose
Prior art date
Application number
PCT/US2023/024718
Other languages
English (en)
Other versions
WO2023158889A3 (fr
Inventor
Huaimo Chen
Original Assignee
Futurewei Technologies, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Futurewei Technologies, Inc. filed Critical Futurewei Technologies, Inc.
Publication of WO2023158889A2 publication Critical patent/WO2023158889A2/fr
Publication of WO2023158889A3 publication Critical patent/WO2023158889A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Definitions

  • the present disclosure is generally related to network communication, and is specifically related to a mechanism to create a multicast path using segment routing in an internet protocol (IP) network using path segments containing loose hops links.
  • IP internet protocol
  • Certain networks employ network states to route network packets.
  • a controller can create a path across a network by assigning forwarding states to nodes along the path.
  • Each node may store one or more states for each path that crosses the node, for example in a forwarding table in memory.
  • the forwarding tables of such nodes can become progressively more crowded.
  • the memory assigned to such tables may limit the number of paths that can cross a node.
  • path states employ increasing memory and processing resources as the number of paths in a network increase.
  • networks that use states to describe paths are not as scalable as stateless networks.
  • the disclosure includes a method implemented by a network device, the method comprising: receiving a multicast packet; and communicating the multicast packet across a network via a multicast traffic engineering (TE) tree containing one or more predetermined fixed path segments and at least one loose hop segment including a shortest path determined at run time from the network device to a loose hop node acting as a destination of the loose hop segment.
  • TE traffic engineering
  • Multicast trees may not be configured to use loose hops as multicast tree links and hence cannot use loose hops as point to multi-point (P2MP) path segments.
  • P2MP point to multi-point
  • using loose hops in a multicast tree may create certain difficulties in a stateless example because the predetermined end points cannot be stored on the nodes in a stateless implementation.
  • the present example includes a mechanism for using loose hops as links in a multicast tree, and hence as P2MP path segments.
  • network nodes can each be configured to contain a loose hop table containing a current shortest path to every other node in the network.
  • Each network node can also be configured to contain a neighbor table containing each link exiting the node.
  • the links can contain a loose hop link, which can be a pseudo link indicated by link number that does not have a set destination end point.
  • a packet can be received at a source node that is routed by using a loose hop link.
  • a header of the packet can indicate the loose hop link (e.g., by a flag, a loose hop link number, etc.) and indicate destination of the loose hop link.
  • the source node can use the neighbor table to determine the link is a loose hop link.
  • the source node can then use the loose hop table to determine the current shortest path to the indicated destination of the loose hop link.
  • the source node can then forward the packet across the loose hop link as indicated in the packet header.
  • the present disclosure includes several example encodings that can be used to encode loose hops as part of a multicast tree.
  • the encodings can be included in a multicast routing header included as a layer 2.5 header or a layer 3 header in an IP routing header, such as an IP version six (IPv6) routing header.
  • IPv6 IP version six
  • each node in the network can implement a corresponding section of a multicast tree in a stateless manner (e.g. without storing the multicast tree links as state data on the node.)
  • another implementation of the aspect provides, further comprising maintaining a neighbor table containing a pseudo link identifier indicating the loose hop segment.
  • another implementation of the aspect provides, further comprising: maintaining a loose hop table containing next hops along shortest paths from the network device to each node in the network: and communicating the multicast packet across the loose hop segment based on the shortest path in the loose hop table.
  • the multicast packet comprises a header containing data indicating the multicast TE tree
  • the header comprises, for the loose hop segment, a flag indicating a segment is the loose hop segment, a node number of a loose hop node acting as a destination node of the loose hop segment, a number of branches from the loose hop node, and a pointer to a start of branches from the loose hop segment.
  • the multicast packet comprises a header containing data indicating the multicast TE tree, wherein the header comprises, for the loose hop segment, a link number indicating a pseudo link identifier of the loose hop segment, a node number of a loose hop node acting as a destination node of the loose hop segment, a number of branches from the loose hop node, and a pointer to a start of branches of the loose hop node.
  • the header further comprises a bit string (B) set to indicate branches from a node are indicated by a bit string, a size of bit string field, and a bit string indicating each link, branching from the node, that is on the multicast TE tree.
  • B bit string
  • the header further comprises, for a first fixed path segment to a first node, a link number of the first fixed path segment, a number of branches from the first node, and a pointer to a start of branches from the first node.
  • the header is a layer 2.5 multicast routing header
  • the layer 2.5 multicast routing header contains a type field, a header length field, and a sub-tree field containing data indicating a remaining multicast TE tree.
  • the layer 2.5 multicast routing header further comprises a number of branches field indicating a number of links at a receiving node that act as branches of the multicast TE tree.
  • the header is a layer 3 multicast routing header
  • the layer 3 multicast routing header contains a next header field, a header extension length field, a routing type field, a segments left field containing a pointer to a start of the sub-tree in the multicast TE tree from a receiving node, and a sub-tree field containing the data indicating the multicast TE tree.
  • the layer 3 multicast routing header further comprises a bits (b) flag and a number of branches (N-Br) field, and wherein the b flag indicates whether branches from a receiving node are indicated by a bit string, and the N-Br indicates a number of links on the multicast TE tree from a receiving node.
  • another implementation of the aspect provides, further comprising duplicating the multicast packet based on a number of branches of the multicast TE tree extending downstream from the network device.
  • another implementation of the aspect provides, further comprising encapsulating the multicast packet with the header prior to communicating the multicast packet across the network when the network device is an ingress node of the multicast TE tree.
  • another implementation of the aspect provides, further comprising adding a loose hop segment from the network device to a loose hop node as a branch extending from a receiving node into branches from the receiving node when a next hop node to the loose hop node in the loose hop table is the receiving node.
  • another implementation of the aspect provides, further comprising updating a pointer in the header to point to a position in the multicast TE tree at a receiving node prior to communicating the multicast packet across the network.
  • another implementation of the aspect provides, further comprising updating a sub-tree field in the header to include a remaining multicast TE tree at a receiving node prior to communicating the multicast packet across the network
  • another implementation of the aspect provides, further comprising: determining a presence of the loose hop segment based on the pseudo link identifier in the neighbor table; determining a next hop along a shortest path toward a destination node of the loose hop segment based on the loose hop table; and setting a destination address of the multicast packet to the next hop prior to communicating the multicast packet.
  • the disclosure includes a network device comprising: at least one processor, at least one receiver coupled to the processor, at least one memory coupled to the processor, and at least one transmitter coupled to the processor, wherein the processor, receiver, memory, and transmitter are configured to perform the method of any of the preceding aspects.
  • the disclosure includes a non-transitory computer readable medium comprising a computer program product for use by a network device, the computer program product comprising computer executable instructions stored on the non-transitory computer readable medium such that when executed by at least one processor cause the network device to perform the method of any of the preceding aspects.
  • the disclosure includes a network device comprising: a receiving means for receiving a multicast packet; and a transmitting means for communicating the multicast packet across a network via a multicast traffic engineering (TE) tree containing one or more predetermined fixed path segments and at least one loose hop segment including a shortest path determined at run time between two predetermined network nodes.
  • TE traffic engineering
  • any one of the foregoing embodiments may be combined with any one or more of the other foregoing embodiments to create a new embodiment within the scope of the present disclosure.
  • FIG. 1 is a schematic diagram of an example IP network configured to employ loose hops in a point to multipoint (P2MP) multicast tree.
  • P2MP point to multipoint
  • FIG. 2 is a schematic diagram of an example network node.
  • FIG. 3 is a schematic diagram of an example loose hop table.
  • FIG. 4 is a schematic diagram of an example neighbor table.
  • FIG. 5 is a schematic diagram of an example encoding of a multicast tree with loose hops.
  • FIG. 6 is a schematic diagram of another example encoding of a multicast tree with loose hops.
  • FIG. 7 is a schematic diagram of another example encoding of a multicast tree with loose hops.
  • FIG. 8 is a schematic diagram of an example layer 2.5 multicast routing header containing a multicast tree with loose hops.
  • FIG. 9 is a schematic diagram of another example layer 2.5 multicast routing header containing a multicast tree with loose hops.
  • FIG. 10 is a schematic diagram of an example layer 3 header containing a multicast routing header with a multicast tree with loose hops.
  • FIG. 11 is a schematic diagram of an example layer 3 multicast routing header with a multicast tree with loose hops.
  • FIG. 12 is a schematic diagram of another example layer 3 multicast routing header with a multicast tree with loose hops.
  • FIG. 13 is a flowchart of an example method of communicating packets across a stateless multicast tree containing loose hops.
  • FIG. 14 is an example of a device for communicating packets across a stateless multicast tree containing loose hops.
  • a network is a group of connected nodes that communicate using a shared set of communication protocols.
  • An IP version six (IPv6) network is a network that uses the IPv6 protocol, which is a communication protocol for communicating packets over the Internet using a 128 -bit address mechanism.
  • An ingress node is a node positioned at the edge of a network and that provides handling mechanisms to allow a corresponding packet to enter the network.
  • a transit node is a node in a network configured to forward packets according to predetermined protocols.
  • An egress node is a node positioned at the edge of a network and that provides handling mechanisms to allow a corresponding packet to leave the network.
  • a packet is a data unit sized for routing/s witching by a node and organized according to a predetermined format.
  • a P2MP path is a path that proceeds from a single origin to multiple destinations.
  • a P2MP path may be implemented as a tree, and hence may be referred to as a multicast tree.
  • a tree is a network structure with a single root and multiple leaves connected via a plurality of branches.
  • a sub-tree is a portion of a tree that contains less than all of the elements in the tree, and hence a sub-tree is a multicast tree of a larger multicast tree.
  • a packet communicated over a multicast tree may be referred to as a multicast packet.
  • a state is remembered information used for processing data.
  • a multicast tree that is implemented such that forwarding instructions are contained in the multicast packet and not stored in nodes along the P2MP path is referred to as a stateless multicast tree.
  • a multicast tree includes a series of path segments, which may also be referred to as branches or links.
  • a next hop is a subsequent node in a path.
  • a destination address is information identifying a node and/or link to which a packet is being sent.
  • a downstream interface is a port where a node communicates with a link in a downstream direction relative to a corresponding communication.
  • An upstream interface is a port where a node communicates with a link in an upstream direction relative to a corresponding communication.
  • a copy of a packet is a new packet that is a reproduction of an original packet, where the new packet includes a substantially similar (e.g., identical) payload to the original packet and potentially different routing data
  • Multicast trees generally employ a predetermined fixed path using fixed path segments.
  • a network can have a P2MP path which is a multicast tree from a root node to a set of leaf nodes.
  • a root of the tree is also known as an ingress or ingress node of the tree.
  • a leaf or leaf node of the tree is also known as an egress or egress node of the tree.
  • the multicast tree includes a series of links, also known as path segments. When a single link enters a node from the upstream direction and multiple links exit the node toward the downstream direction, a packet is duplicated at the node to create enough copies of the packet to be transmitted on all of the downstream links on the tree.
  • a traffic engineering (TE) routing system can determine an efficient set of path segments from the root of a tree to each of the leaf nodes.
  • the links are generally static.
  • a loose hop link is a type of link that has a static endpoint, but allows the network to dynamically select a best path (e.g, shortest path) to the end point at run time.
  • Loose hop links allow a network to generally set a path across the network while allowing for dynamic changes at run time based on changes in network traffic, topology, etc.
  • multicast trees are not configured to use loose hops as multicast tree links and hence cannot use loose hops as P2MP path segments.
  • network nodes can each be configured to contain a loose hop table containing a cunent shortest path to every other node in the network.
  • Each network node can also be configured to contain a neighbor table containing each link exiting the node.
  • the links can contain a loose hop link, which can be a pseudo link indicated by link number that does not have a set destination end point.
  • a packet can be received at a source node that is routed by using a loose hop link.
  • a header of the packet can indicate the loose hop link (e.g., by a flag, a loose hop link number, etc.) and indicate destination of the loose hop link.
  • the source node can use the neighbor table to determine the link is a loose hop link.
  • the source node can then use the loose hop table to determine the current shortest path to the indicated destination of the loose hop link.
  • the source node can then forward the packet across the loose hop link as indicated in the packet header.
  • the present disclosure includes several example encodings that can be used to encode loose hops as part of a multicast tree.
  • the encodings can be included in a multicast routing header included as a layer 2.5 header or a layer 3 header in an IP routing header, such as an IPv6 routing header.
  • a multicast routing header included as a layer 2.5 header or a layer 3 header in an IP routing header, such as an IPv6 routing header.
  • FIG. 1 is a schematic diagram of an example IP network configured to employ loose hops in apointto multipoint (P2MP) multicast tree.
  • the network 100 is configured to employ various routing protocols that operate by encapsulating packets with a multicast routing header that describes a tree of path of segments through the network 100, for example as a P2MP path/tree. Encapsulation can be used to append a multicast routing header to the packet (e.g., the front of the packet) so that the packet is routed based on data in the multicast routing header instead of based on the data in the packet.
  • a multicast routing header e.g., the front of the packet
  • the nodes of the network 100 are configured to employ encapsulation algorithms to encapsulate packets with multicast routing headers, obtain data indicating multicast tree link and/or path segments from packets as the packets traverse the network 100, duplicate packets, update the multicast routing headers, and/or route the packets according to the data indicating multicast tree link and/or path segments.
  • the network 100 is an IPv6 network. IPv6 networks communicate by employing the IPv6 protocol.
  • the IPv6 protocol is a communication protocol for communicating packets over the Internet using a 128-bit address mechanism.
  • the network 100 includes an arbitrary number of nodes. Only the relevant nodes are depicted in FIG. 1.
  • the network 100 includes edge nodes 101 and transit nodes 103.
  • An edge node 101 is any node connected to both the network 100 and some external network or node.
  • Edge nodes 101 in network 100 are named as PE nodes.
  • network 100 includes PEI through PE10.
  • a transit node 103 connects only to other nodes in the network 100.
  • Transit nodes 103 in network 100 are named as P nodes.
  • network 100 includes Pl through P5.
  • Edge nodes 101 are configured to transition packets from other networks into/out of the network 100, for example by providing network security and/or transitioning between external protocols and protocols used by the network 100.
  • an edge node 101 can act as either an ingress node or an egress node.
  • An ingress node is an edge node 101 that accepts a packet from external source(s) for communication across the network.
  • an ingress node is a node positioned at the edge of a network 100 and that provides handling mechanisms to allow a corresponding packet to enter the network 100.
  • An egress node is an edge node 101 that accepts packets from within the network 100 and forwards such packets toward destination(s) outside the network 100. The egress node may also transition packets from the protocols used by the network 100 to external protocols.
  • the network 100 also includes transit nodes 103.
  • a transit node 103 is an internal node in network 100 configured to forward packets according to predetermined protocols.
  • the transit nodes 103 are connected to each other and the edge nodes 101 using links 106.
  • Such links 106 may include optical links, optical electrical links, electrical links, and/or wireless links.
  • Such links 106 connect to the nodes at interfaces.
  • An interface is a port where a node connects to a link 106.
  • the links 106 between the nodes are depicted as lines between the nodes. Depending on the example, a node, a node’s interface, or both may be assigned identifiers to support routing packets.
  • Such identifiers may include a locally or globally unique set of characters that identifies a corresponding component (e.g., link, node, pseudo link, pseudo node, etc.) for switching and/or routing purposes.
  • a link 106 from a source node to a destination node may be identified by a locally unique identifier at the source node and different locally unique identifier at the destination node.
  • each node may contain a pseudo link 106 used for implementing loose hop links.
  • each fixed link is identified by a corresponding number depicted adjacent to the node interface for the link and each pseudo link is identified by a value of one.
  • a traffic source 105 is connected to the network 100.
  • a traffic source 105 is any device capable of transmitting a stream of packets to one or more destinations via the network 100.
  • the stream of packets from the traffic source 105 can be referred to as traffic 110 and is depicted as a block arrow pointing in the direction of the traffic flow.
  • the traffic source 105 is connected to an edge node 101 denoted as PEI.
  • PEI acts as an ingress node for traffic communicated by the traffic source 105.
  • the traffic 110 is communicated across the network 100 toward further edge nodes 101 acting as egress nodes.
  • the egress nodes are PE2, PE3, PE4, PE5, PE6, PE7, PE8, and PE9. The egress nodes can then forward the traffic 110 from the traffic source 105 to the final destinations of the traffic.
  • the network 100 includes a P2MP path 107, which is a path that proceeds from a single origin to multiple destinations.
  • the P2MP path 107 can be used for communicating a stream of packets from a single source (e g., a point, an ingress node) to multiple destinations (e.g., multiple points, multiple egress nodes).
  • a P2MP path 107 can also be referred to as a multicast tree.
  • the source is referred to as a root or ingress
  • the destinations are referred to as leaves or egresses
  • any link included in a split in the P2MP path 107 is referred to as a branch.
  • a P2MP path 107 proceeds from a source towards the destinations. From any point along the P2MP path, relative direction can be described as upstream or downstream.
  • Upstream is in the direction of the source from the perspective of a current link and/or node.
  • Downstream is in the direction of a destination from the perspective of a current link and/or node.
  • each node includes upstream interface(s) and dow nstream interface(s).
  • An upstream interface is a port where a node communicates with a link in an upstream direction relative to a corresponding communication.
  • a downstream interface is a port where a node communicates with a link in a downstream direction relative to a corresponding communication.
  • the P2MP path 107 is depicted as a series of broken line arrows in bold.
  • the P2MP path 107 includes fixed path segments 108 depicted as bold dashed arrows and loose hop segments 109 depicted as bold dotted arrows.
  • the fixed path segments 108 may also be referred to as fixed links, and the loose hop segments 109 may also be referred to as loop hop links.
  • a fixed path segment 108 is a predetermined link 106 that is set from a source node to a destination node when the P2MP path 107 is created. Once a fixed path segment 108 is selected, packets traversing the P2MP path 107 always traverse the same link(s) from the corresponding source to destination nodes.
  • a loose hop segment 109 is a shortest or best path from a source node to a destination node. Accordingly, a source and a destination node of a loose hop segment 109 are set when the P2MP path 107 is created, but the network is allowed to select a shortest path (from the source) to the destination node at run time.
  • a loose hop segment 109 extends from Pl to P4. In some cases, a packet traversing the loose hop segment 109 from Pl to P4 may traverse P3, and in other cases a packet traversing the loose hop segment 109 from Pl to P4 may traverse P5.
  • the usage of loose hops allows the network 100 to set up a P2MP path 107 with fixed path segments 108, while allowing individual loose hop segments to be rerouted dynamically as desired to avoid network congestion.
  • the P2MP path 107 enters the network 100 at PEI acting as an ingress node to transport a stream of packets from the traffic source 110.
  • PEI encapsulates packets in the stream with a multicast routing header as described below as well as performs any other protocol translations used to transition packets into network 100.
  • the P2MP path 107 leaves the PEI on one or more downstream interfaces and proceeds toward the upstream interfaces of the egress nodes (e g., PE2-PE9) associated with various destinations. In some instances, the P2MP path 107 also proceeds to upstream interfaces of transit nodes 103 and through downstream interfaces of such transit nodes 103 toward the egress nodes.
  • the egress nodes remove any remaining encapsulation and perform any other relevant protocol translation to transition packets out of the network 100 for transmission tow ard destinations.
  • the corresponding node In the event that the P2MP path 107 indicates a branch at any node, the corresponding node generates one or more copies of each packet in order to allow each multicast packet received on an upstream interface to be transmitted on all downstream interfaces associated with the P2MP path 107.
  • the multicast routing header attached to each packet can contain the entire P2MP path 107 including the fixed path segments 108 and loose hop segments 109 or a sub-tree of the multicast tree implemented by the P2MP path 107.
  • the multicast routing header applied to traffic 110 upon entering the ingress node may contain link identifiers, node identifiers, or other identifiers that indicate each path segment in the P2MP path 107.
  • the multicast routing header also contains a pointer to a cunent position in the packet relative to the multicast tree. In this way, the pointer can be advanced as the packet moves through the P2MP path 107.
  • each path can contain data indicating the entire P2MP path 107, which allows the nodes to avoid rewriting the multicast tree data in the multicast routing header at each node (also referred to as a hop along the path).
  • each current node can obtain the multicast data from the multicast routing header, remove data relating to portions of the multicast tree that are not relevant to downstream nodes, and put a sub-tree of the multicast tree into the multicast routing header.
  • a sub-tree is a portion of a tree that contains less than all of the elements in the tree.
  • a portion of a P2MP path 107 that proceeds downstream from a corresponding node can be referred to as a sub-tree rooted at the corresponding node.
  • a sub-tree of the P2MP path 107 rooted at P4 contains portions of the P2MP path 107 related to PE4, PE5, PE6, and PE7 as all such links are downstream from P4.
  • portions of the P2MP path 107 related to PE2, PE3, PE8, and PE9 do not traverse P4, and are therefore removed from the multicast tree to result in the sub-tree when the corresponding packets are processed by nodes upstream from P4.
  • some networks that employ a P2MP path 107 are not capable of employing loose hop segments 109.
  • a P2MP path 107 is created using only fixed path segments 108. In such a case, the P2MP path 107 cannot self-adjust based on changes in network traffic.
  • Some networks employ loose hops segments 109 in paths by storing such segments as states at the nodes. This requires the nodes to allocate memory to maintain a forwarding state so that the loose hop segment 109 can function. This may create problems with scalability as a number of forwarding states that can be stored on a node, and hence the total number of multicast trees that can be allocated in the network, is limited by the nodes memory capacity.
  • the present design discloses a mechanism to employ loose hop segments 109 as part of a P2MP path 107, and hence in a multicast tree, and to do so in a stateless manner to support scalability.
  • each node may maintain a loose hop table containing next hops along shortest paths from a current node to each other node in the network.
  • each node can maintain a neighbor table containing a pseudo link identifier indicating a loose hop segment 109.
  • a multicast routing header can then be used to indicate the presence of a loose hop segment 109, a source node of the loose hop segment 109, and a destination node of the loose hop segment 109.
  • a destination node of the loose hop segment is also referred as a loose hop node.
  • a current node can determine a loose hop segment is implicated based on the multicast routing header and/or the neighbor table. Further, the current node can determine a shortest and/or best path from the current node, including the source node, to the destination node of the loose hop segment 109 based on the multicast routing header and/or the loose hop table. The current node can update the multicast routing header as desired, duplicate the packet as desired, and then forward the packet(s) along fixed paths to destination nodes along fixed path segments 108 and/or along shortest and/or best paths to destination nodes along loose hop segments 109.
  • Network 100 includes nodes PEI to PE10, which are potential egress nodes.
  • Network 100 also includes nodes Pl to P5, which are transit nodes. These nodes are numbered or indexed from 1 to 15, respectively.
  • a special link called loose hop (LH for short) link is represented by a dotted line connected to a node. For each of the links connected to a node, a number called local link number (or link number for short) is assigned.
  • PEI has four links including a loose hop link, a link from PEI to Pl, a link from PEI to PE10, and link from PEI to traffic source 105.
  • Links can be numbered as link numbers 1, 2, 3, and 4, respectively, on PEI.
  • Pl has seven links including a loose hop link, Pl to P2, Pl to P5, Pl to P3, Pl to PE8, Pl to PE9, and Pl to PEI. These seven links can be numbered as link numbers 1 , 2, 3, 4, 5, 6, and 7, respectively, on Pl .
  • the remaining nodes may employ similar locally significant link identification mechanisms.
  • the P2MP path 107 from ingress PEI towards egresses PE2 to PE9 includes a loose hop segment 109 from Pl to P4 and a loose hop segment 109 from PEI to PE9.
  • No explicit path segment is indicated from Pl to P4 or from PEI to PE9 on the multicast tree.
  • Pl can send the multicast packet to P3 or P5 according to the shortest path to P4 at run time. For example, when P5 is the next hop of the shortest path to P4, Pl sends the packet to P5, which sends the packet to P4 along the shortest path to P4.
  • the explicit/fixed path segments in the tree are represented by link numbers and bits along the tree such as a link number 2 at PEI and link bits representing link numbers 4, 5, 6 and 7 at P4.
  • ingress node PEI After receiving a packet from traffic source 105, ingress node PEI encapsulates the packet in a multicast routing header with a P2MP tree.
  • the packet in the multicast routing header is transmitted along the tree to the leaves/egresses of the tree.
  • a node e g., Pl
  • the node also gets each of the node numbers for next loose hop nodes, finds the addresses of the next hop to the loose hop node from the loose hop table using the loose hop node number, and sends the packet to the next hop.
  • path and tree, branch and sub-tree, leaf and egress, node number and node index may be used interchangeably herein.
  • FIG. 2 is a schematic diagram of an example network node 200 for operation in an IPv6 network, such as a node in network 100.
  • network node 200 can be employed to implement a traffic source 105, an edge node 101, and/or a transit node 103.
  • the network node 200 is suitable for implementing the disclosed examples/ embodiments as described herein.
  • the network node 200 comprises downstream ports 220, upstream ports 250, and/or transceiver units (Tx/Rx) 210, including transmitters and/or receivers for communicating data upstream and/or downstream over a network.
  • Tx/Rx 210 may be implemented as a receiver, receiver circuitry, a transmitter, transmitter circuitry, or combinations thereof.
  • the network node 200 also includes a processor 230 including a logic unit and/or central processing unit (CPU) to process the data and a memory 232 for storing the data.
  • the network node 200 may also comprise optical-to-electrical (OE) components, electrical-to-optical (EO) components, and/or wireless communication components coupled to the upstream ports 250 and/or downstream ports 220 for communication of data via electrical, optical, and/or wireless communication networks.
  • OE optical-to-electrical
  • EO electrical-to-optical
  • the processor 230 is implemented by hardware and software.
  • the processor 230 may be implemented as one or more CPU chips, cores (e.g., as a multi-core processor), field- programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), and digital signal processors (DSPs).
  • the processor 230 is in communication with the downstream ports 220, Tx/Rx 210, upstream ports 250, and memory 232.
  • the processor 230 comprises a P2MP module 214.
  • the P2MP module 214 implements the disclosed embodiments described herein.
  • the P2MP module 214 may maintain loose hop tables and/or neighbor tables, read and/or write multicast routing headers, and forward packets along P2MP paths containing loose hop path segments Accordingly, the P2MP module 214 may be configured to perform mechanisms to address one or more of the problems discussed above. As such, the P2MP module 214 improves the functionality of the network node 200 as well as addresses problems that are specific to the network communication arts. Further, P2MP module 214 effects a transformation of the network node 200 to a different state. Alternatively, the P2MP module 214 can be implemented as instructions stored in the memory 232 and executed by the processor 230 (e g., as a computer program product stored on a non-transitory medium).
  • the memory 232 comprises one or more memory types such as disks, tape drives, solid-state drives, read only memory (ROM), random access memory (RAM), flash memory, ternary content-addressable memory (TCAM), static random-access memory (SRAM), etc.
  • the memory 232 may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution.
  • FIG. 3 is a schematic diagram of an example loose hop table 300 of node Pl.
  • the loose hop table 300 includes a node number field 301, an IPv6 address of next hop field 303, and a media access control (MAC) address of next hop field 305.
  • the loose hop table 300 contain a complete list of nodes in the network as indicated by a corresponding identifier in the node number field 301.
  • the loose hop table 300 also contains a layer three IPv6 address and a layer two MAC address of the corresponding next hop in the IPv6 address of next hop field 303 and the media access control (MAC) address of next hop field 305, respectively.
  • MAC media access control
  • each node in the network is indicated by node number and the IPv6 address and MAC address of the corresponding next hop in the direction from node P 1.
  • a loose hop destination node can be indicated in a multicast routing header.
  • a cunent node e.g., node Pl
  • FIG. 3 shows an example Loose Hop table 300 of node Pl in FIG. 1.
  • the table comprises 15 rows of node number, IPv6 address, and MAC address.
  • nodes PEI to PE10 and Pl to P5 are assigned node numbers 1 to 10 and 11 to 15, respectively.
  • the next hops from node Pl to PEI through PE10 are PEI, P2, P2, P5, P5, P5, P5, PE8, PE9, and PEI, respectively.
  • the next hops from node Pl through P2 to P5 are P2, P3, P5, and P5, respectively.
  • the 15 rows comprise node numbers for PEI to PE10 and Pl to P5 and the IPv6 addresses and MAC addresses of the next hops to PEI to PE10 and P2 to P5, respectively.
  • the next hops to Pl is NULL since there is no next hop to Pl from PL [0069]
  • the first row comprises node number 1 for PEI, the IPv6 address and MAC address of the next hop node to PEI, which is IPv6 address of PEI and MAC address of PEI since the next hop to PEI is PEL
  • the 2nd row comprises node number 2 for PE2, the IPv6 address and MAC address of the next hop node to PE2, which are IPv6 address and MAC address of P2 since the next hop to PE2 is P2.
  • the 4-th row comprises node number 4 for PE4, the IPv6 address and MAC address of the next hop node to PE4, which are IPv6 address and MAC address of P5 since the next hop to PE4 is P5.
  • the 8-th row comprises node number 8 for PE8, the IPv6 address and MAC address of the next hop to PE8, which are IPv6 address and MAC address of PE8 since the next hop to PE8 is PE8.
  • the 10-th row comprises node number 10, which is the node number of PEI 0, the IPv6 address and MAC address of the next hop to PE10, which are IPv6 address and MAC address of PEI since the next hop to PE10 is PEL
  • the 11-th row comprises node number 11, which is the node number of Pl, the IP address and MAC address of the next hop to Pl, which are NULL since there is no next hop to Pl from PL
  • the 12-th row comprises node number 12, which is the node number of P2, the IP address and MAC address of the next hop to P2, which are IPv6 address and MAC address of P2 since the next hop to P2 is P2.
  • the 15-th row comprises node number 15, which is the node number of P5, the IP address and MAC address of the next hop to P5, which are IPv6 address and MAC address of P5 since the next hop to P5 is P5.
  • FIG. 4 is a schematic diagram of an example neighbor table 400.
  • the neighbor table
  • the link number field 401 includes a link number field 401, a link type field 403, an IPv6 address of next hop field 405, a MAC address of next hop field 407, and an index of next hop field 409.
  • the 401 contains an indicator of a link connected to the corresponding node.
  • the corresponding node in this case Pl has one pseudo link (e.g., a loose hop link) and six physical links for a total of seven links.
  • the link type field 403 contains data indicating the type of link corresponding to the link number.
  • link number 1 is for a loose hop link and links 2-7 are for physical point to point links connected to the node’s physical interfaces.
  • the IPv6 address of next hop field 405 and MAC address of next hop field 407 contain the IPv6 and MAC addresses, respectively, acting as a next hop, and hence are directly connected to, the link.
  • Link 1 is a pseudo loose hop link and can be defined to connect to any other node.
  • IP address and MAC address of the next hop for the loose hop link are set to NULL.
  • the remaining physical links are set to the IPv6 and MAC addresses of the next hops connected to the corresponding links.
  • the index of next hop field 409 contains an indicator of next hop node connected to the link, and hence the same node addressed in the IPv6 address of next hop field 405 and MAC address of next hop field 407.
  • Link 1 is a pseudo loose hop link and can be defined to connect to any other node.
  • next hop index for the loose hop link is set to NULL.
  • the index of next hop fields 409 are set to the indices of the next hops connected to the corresponding links.
  • FIG 4 shows an example neighbor table of Pl in FIG. 1.
  • the table comprises seven rows of link number, link type, IPv6 address, MAC address, and index of next hop node.
  • the first row comprises link number 1 and link type LH (Loose Hop) for the loose hop link of PL
  • the other columns in the first row are NULL (empty).
  • the second row comprises link number 2 and link type P2P (Point to Point) for the link from Pl to next hop P2, IPv6 address of next hop P2, MAC address of next hop P2, and index of next hop node P2.
  • the third row comprises link number 3, link type P2P for the link from Pl to next hop P5, IPv6 address of P5, MAC address of P5, and index of P5.
  • the fourth row comprises link number 4, link type P2P for the link from Pl to next hop P3, IPv6 address of P3, MAC address of P3, and index of P3.
  • the fifth row comprises link number 5, link type P2P for the link from Pl to next hop PE8, IPv6 address of PE8, MAC address of PE8, and index of PE8.
  • the 6- th row comprises link number 6, link type P2P for the link from Pl to next hop PE9, IPv6 address of PE9, MAC address of PE9, and index of PE9.
  • the 7-th row comprises link number 7, link type P2P for the link from Pl to next hop PEI, IPv6 address of PEI, MAC address of PEI, and index of PEL
  • Pl can determine that the link with link number 1 is a loose hop link from the table. Accordingly, Pl can send any packet with link number 1 towards the loose hop node (i. e. , loose hop destination node such as P4) along the shortest IGP path.
  • FIG. 5 is a schematic diagram of an example encoding 500 of a multicast tree with loose hops.
  • the encoding 500 includes a link node type (L) flag 501, a loose hop link (N) flag 503, a link number field 505, a number of branches field 507, a pointer field 509, and a node number field 511.
  • the L flag 501 indicates whether the node connected to the link is a transit node or an egress node
  • the N flag 503 indicates whether the link is a loose hop link or a fixed link.
  • the link number field 505 indicates a link number, for example using a locally significant link number at a transmitting node.
  • the number of branches field 507 indicates a number of downstream branches extending downstream from the node at the destination of the link number.
  • the pointer field 509 indicates a start position of the next set of links connected to the node at the destination of the link number.
  • the node number field 511 specifies the destination node of a loose hop link corresponding to a node number in a loose hop table.
  • a node can forward packets according to a multicast tree that employs a combination of fixed links and loose hop links. For example, a node can review the N flag 503 to determine whether a link is a fixed link or a loose hop link. In the present example, the N flag 503 can be set to zero when the link is fixed.
  • the packet is transmitted across the link indicated by the link number in the link number field 505.
  • the packet is duplicated as needed based on the number of branches in the number of branches field 507. The packet can then be transmitted across the branches based on the information pointed to by the pointer in the pointer field 509.
  • the N flag 503 can also indicate a link is a loose hop link.
  • the N flag 503 can be set to one when the link is a loose hop link.
  • a current node looks to the node number in the node number field 511 to determine the destination node of the loose hop link. The current node can then use the node number in the node number field 511 to look up a next hop along a shortest path to the destination node of the loose hop link, which returns the IPv6 address and/or the MAC address of the next hop node in the direction from the current node to the loose hop link destination node.
  • the packet can then be forwarded to the next hop node, which performs a similar process until the packet is sent to the destination node of the loose hop link.
  • the loose hop link can be associated with branches.
  • the node number field 511 can also be associated with number of branches field 507 and a pointer field 509, which operate in a manner that is substantially similar to usage in conjunction with a fixed link.
  • FIG. 5 illustrates an embodiment of encoding the P2MP tree/path.
  • the explicit hops on the tree are encoded by the link numbers of the links on the tree.
  • FIG. 6 is a schematic diagram of another example encoding 600 of a multicast tree with loose hops.
  • Encoding 600 is similar to encoding 500, but encoding 600 explicitly encodes pseudo link numbers instead of aN flag.
  • the encoding 600 includes a L flag 601, a link number field 605, a number of branches field 607, apointer field 609, and anode number field 611, which are each substantially similar to L flag 501, link number field 505, number of branches field 507, pointer field 509, and node number field 511, respectively.
  • encoding 600 uses link number field 605 to indicate a loose hop link by using a pseudo link number, which is set to a link number of one in the example shown. This allows the N flag to be omitted, which results in a more compact encoding.
  • the encoding 600 otherwise indicates the multicast tree in a manner that is substantially similar to encoding 500.
  • FIG. 6 illustrates another embodiment of encoding the P2MP tree/path in FIG. 1.
  • a link from an upstream node to a downstream (e.g., next hop) node on the tree is encoded by three or two fields.
  • the first field, L occupies one bit, which is set to 1 or 0 indicating the link is to a leaf (e.g., egress) or a transit node respectively.
  • the third field P2-Branches of a few bits, such as 6 bits, stores the value acting as a pointer pointing to the start of the branches of the tree from the next hop.
  • L and Link-No two fields for the link since there is no branches from a leaf.
  • a loose hop from a node on the tree is encoded by four or three fields.
  • the first three fields are substantially similar to the three fields for a link from an upstream node to a downstream node.
  • the fourth field is Node-No of some bits such as 15 bits stores the index or number of the loose hop node.
  • the branches (or links) of a node are encoded by the N-Branches field and the encoding of the links of the node and loose hops from the node on the tree.
  • FIG. 7 is a schematic diagram of another example encoding 700 of a multicast tree with loose hops.
  • Encoding 700 is similar to encoding 600, but encoding 700 is configured to encode branches from P4 to leaf nodes and/or edge nodes as a bit string 715.
  • the encoding 700 includes a L flag 701, a link number field 705, a number of branches field 707, a pointer field 709, and anode number field 711, which are each substantially similar to L flag 601, link number field 605, number of branches field 607, pointer field 609, and node number field 611.
  • Encoding 700 also includes a bit string (B) flag 713.
  • the B flag 713 can be set to a first value, such as zero, to indicate a corresponding set of branches are encoded individually by link numbers explicitly.
  • the B flag 713 can also be set to a second value, such as one, to indicate that the corresponding set ofbranches are encoded collectively as abit string 715.
  • the bit string 715 contains a complete list of all links exiting a node on the P2MP path/tree, in this case P4.
  • Each of these links that are branches on the P2MP path can be indicated with a first value of a bit, such as one, and each of these links that are not branches on the P2MP path can be indicated with a second value of a bit, such as zero.
  • the encoding 700 can also include a size of bit string 717, which indicates a length of the bit string 715.
  • FIG. 7 illustrates a third embodiment of encoding the P2MP tree/path in FIG 1. All the links and loose hops are encoded in the same way as those in FIG. 6 except for the links of P4 and B flag of 1 bit at the start of the branches from a node.
  • the links or branches from P4 on the tree are encoded using four fields: B flag of one bit, L flag of one bit, Size of Bit String (S-Bits) and Bits (bitstring).
  • S-Bits 1 indicates that the size of the Bits (e.g., bitstring) is one (1) byte.
  • FIG. 8 is a schematic diagram 800 of an example layer 2.5 multicast routing header 803 containing a multicast tree with loose hops.
  • the multicast routing header 803 can be used to contain an encoding 500, 600, and/or 700.
  • the diagram 800 includes a header with a layer two header 801 containing a destination MAC address and a source MAC address for the packet.
  • the diagram 800 also includes a layer three IP multicast packet 805 containing layer three IP routing data and a packet payload.
  • the layer 2.5 multicast routing header 803 is positioned between the layer two header 801 and the layer three IP multicast packet 805.
  • the layer 2.5 multicast routing header 803 can contain a type field, a header length (HL) field and a sub-tree field.
  • HL header length
  • the sub-tree field can contain an entire encoding 500, 600, and/or 700 when the header is added to a packet at a root node. As the packet is passed along the P2MP path, the encoding 500, 600, and/or 700 is reduced to a relevant sub-tree of the original P2MP path at each node.
  • FIG. 9 is a schematic diagram 900 of another example layer 2.5 multicast routing header containing a multicast tree with loose hops.
  • Diagram 900 depicts a header with a layer two header 901, a multicast routing header 903, and a layer three IP multicast packet 905, which are similar to two header 801, multicast routing header 803, and layer three IP multicast packet 805, respectively.
  • the multicast routing header 903 also includes anumber of branches field (N- BR) that indicates a number of branches coupled to the node receiving the packet.
  • N- BR umber of branches field
  • FIG. 9 shows an embodiment of a Multicast Routing Header (MRH) between layer two and layer three.
  • This MRH can be called layer two and half (L2.5 for short) MRH.
  • the layer two data include a destination address and a source address of layer two, such as destination MAC address and source MAC address.
  • the layer two addresses are from a special range. For example, MAC addresses from 01-00-5E 80-00-00 to 01-00-5E 8F-FF-FF can be used.
  • the Type field should have a value assigned exclusively for this purpose (e.g., the values assigned for other purposes such as 0x8847 and 0x8848 used for Multiprotocol Label Switching (MPLS) could not be used for this purpose since this address range is also used by MPLS).
  • MPLS Multiprotocol Label Switching
  • MAC addresses from an unused MAC multicast address ranges such as 01-00-5E A0-00-00 to 01-00-5E AF-FF- FF are used.
  • the Type is an Ethertype.
  • MAC addresses are normal MAC addresses and the Type field has a value assigned exclusively for this purpose.
  • the layer three includes an IP multicast packet.
  • the MRH comprises a Type field with a value indicating that the packet is multicast packet encapsulated in this special MRH, a HL field with a value indicating the length of the MRH excluding the Type field and HL field, a N-BR field with a value indicating the number of branches or links of/Trom the node receiving the packet, and a sub-tree field which is an encoding of a sub-tree.
  • the encoding of a sub-tree in the MRH is as illustrated in FIG 5.
  • FIG. 8 shows another example of an MRH between layer two and layer three. This MRH is the same as the one as shown in FIG. 9 except that this MRH does not have a N-BR field.
  • the encoding of a sub-tree in the MRH is as illustrated in FIG. 6 or FIG. 7.
  • PEI constructs a layer 2 packet for each sub-tree and sends the layer 2 packet containing an MRH and the IP multicast packet to the next hop along the sub-tree.
  • the number of sub-trees from PEI is the number of different next hop nodes from PEI to the egress nodes (e.g., PE2 to PE9).
  • PEI gets the MAC address of the next hop to the loose egress node PE9 using PEl’s loose hop table with the node number of PE9, which is 9.
  • the MAC address of the next hop is the MAC address of PL
  • PEI adds the encoding of the loose hop link from Pl to PE9 (e.g., Pl to PE9(L) ) as a third link/branch from Pl into the sub-tree (i.e., branches) from PL
  • PEI sets a destination address (DA) of the layer 2 packet to Pl ’s MAC and source address (SA) of the layer 2 packet to PEl’s MAC.
  • PEI builds the MRH based on the encoding of the tree in FIG.
  • Pl determines whether the packet contains the special MRH through checking the Type following the SA and/or the range of the DA and/or SA in the packet.
  • Pl duplicates the layer 2 packet for each branch/sub-tree from Pl and sends the layer 2 packet copy with an updated MRH to the next hop along the branch/sub-tree.
  • Pl gets the value of N-Branches from the sub-tree pointed by HL in MRH, which is 4 indicating there are 4 branches/links from Pl or other next hops of Pl.
  • Pl For the first branch/link from Pl to P2, Pl sets DA of the layer 2 packet copy to P2’s MAC address and SA of the layer 2 packet to Pl ’s MAC. Pl builds the MRH based on the encoding of the tree through including the information/indi cation about the sub-tree from P2 and setting HL to the value of P2-Branches in the encoding of the link from Pl to P2. The packet is then set to P2.
  • Pl gets the MAC addresses of the next hops to the loose hop nodes P4 and PE9 using Pl ’s loose hop table with the node numbers 14 and 9 of P4 and PE9, respectively.
  • the MAC addresses of the next hops are different, which are the MAC address of P5 and MAC address of PE9.
  • Pl creates two packet copies for these two loose hops.
  • Pl sets DA and SA of one layer 2 packet copy to P5’s MAC and Pl’s MAC, respectively, and builds the MRH based on the encoding of the tree through including the information/indication about the sub-tree from P5 and setting HL to the starting position of the sub-tree from P5.
  • the sub-free from P5 comprises a value of one (1) in N-Branches field directly followed by the fields for storing the data about the loose hop link (from Pl) to P4 and followed by the fields for storing the data about 4 branches from P4.
  • Pl sets DA and SA of the other layer 2 packet copy to PE9’s MAC and Pl’s MAC, respectively, and builds the MRH through setting HL to 0 since there is no sub-tree from leaf/egress PE9. The packet copies are then sent to P5 (toward P4) and PE9 respectively.
  • Pl sets DA and SA of the layer 2 packet copy to PE8’s MAC and Pl ’s MAC, respectively, and builds the MRH through setting HL to 0 since there is no sub-tree from leaf/egress PE8. The packet is then sent to PE8.
  • P2 After receiving the layer 2 packet from Pl, P2 determines whether the packet contains the special MRH. When the packet contains the special MRH, P2 duplicates the layer 2 packet for each branch/sub-tree from P2 and sends the layer 2 packet copy with an updated MRH to the next hop along the branch/sub-tree.
  • P2 gets the value of N-Branches from the sub-tree pointed by HL in MRH, which is 2 indicating there are 2 branches/links from P2.
  • P2 sets DA and SA of the layer 2 packet copy to PE2’s MAC and P2’s MAC, respectively, and builds the MRH through setting HL to 0 since there is no sub-tree from leaf/egress PE2.
  • P2 sends another layer 2 packet copy to PE3.
  • the leaf/egress sends the IP multicast packet to the multicast layer of the leaf/egress.
  • P5 determines whether the packet contains the special MRH. When the packet contains the special MRH. P5 duplicates the layer 2 packet for each branch/sub-tree from P5 and sends the layer 2 packet copy with an updated MRH to the next hop along the branch/sub-tree. P5 gets the value of N-Branches from the sub-tree pointed by HL in MRH, which is 1 indicating there is 1 branch/link from P5 since HL points to a loose hop link with link number 1 to loose hop node P4. P5 gets the MAC address of the next hop to the loose node P4 using its Loose Hop Table with the node number of P4, which is 14.
  • P5 sets DA and SA of the layer 2 packet to P4’s MAC and P5’s MAC respectively and builds the MRH based on the encoding of the tree in packet received through including the information/indication about the sub-tree from P4 and setting HL to 2. The resulting packet is sent to P4.
  • P4 After receiving the layer 2 packet from P5, P4, determines whether the packet contains the special MRH. When the packet contains the special MRH, P4 duplicates the layer 2 packet for each branch/sub-tree from P4 and sends the layer 2 packet copy with an updated MRH to the next hop along the branch/sub-tree.
  • P4 sends one layer 2 packet copy to PE4.
  • P4 also sends a layer 2 packet copy to each of PE5, PE6, and PE7.
  • the leaf/egress sends the IP multicast packet to the multicast layer of the leaf/egress.
  • FIG. 10 is a schematic diagram 1000 of an example layer 3 header containing a multicast routing header 1003 with a multicast tree with loose hops.
  • the header shown in diagram 1000 includes an IPv6 header 1001, a multicast routing header 1003, and an IP multicast datagram 1005.
  • the IPv6 header 1001 contains a source IPv6 address and a destination IPv6 address.
  • the IPv6 header 1001 also contains an indication that the next header is the multicast routing header 1003.
  • the multicast routing header 1003 contains a header extension length field indicating the length of the multicast routing header 1003, a next header field pointing to a next header, a routing type, a sub-tree including the multicast tree/sub-tree, a number of segments left which point to the cunent position in the multicast tree, which is a starting position (start for short) of the sub-tree (i. e. , branches) from a node receiving a packet with the MRH. Accordingly, each node can update the number of segments left pointer to point to the correct location in the multicast tree and avoid rewriting the multicast routing header 1003 at each node.
  • the IP multicast datagram 1005 contains an IP datagram header and the packet payload data.
  • FIG. 11 is a schematic diagram of an example layer 3 multicast routing header 1100 with a multicast tree with loose hops.
  • the multicast routing header 1100 can be used to implement the multicast routing header 1003.
  • the multicast routing header 1100 comprises a 8-bit next header field 1121 with a value indicating the IP multicast datagram header in the packet, a 8-bit header extension length 1123 field with a value indicating the length of the multicast routing header 1100 in a unit of 64 bits (in 8 bytes) excluding the first 8 bytes, a 8-bit routing type field 1125 with a value indicating that the routing header is a Multicast Routing Header (MRH), a 8-bit segments left field 1127 with a value indicating the start of the sub-tree remaining, and a sub-tree field 1129 which is an encoding of a multicast tree/sub-tree.
  • the subtree field 1129 may contain encoding 500, 600, and/or 700.
  • FIG. 12 is a schematic diagram of another example layer 3 multicast routing header 1200 with a multicast tree with loose hops.
  • the multicast routing header 1200 contains a next header field 1221, a header extension length 1223 field, a routing type field 1225, a segments left field 1227, and a sub-tree field 1229, which are substantially similar to next header field 1121, header extension length 1123 field, routing type field 1125, segments left field 1127, and subtree field 1129.
  • the segments left field 1127 can contain a value that acts as a pointer pointing to the top/start of the sub-tree remaining.
  • the multicast routing header 1200 also contains a branches (b) flag 1131 and a number of branches (N-Br) field 1133 following the segments left field 1127.
  • the b flag 1131 indicates whether there are branches from the root of the sub-tree that is encoded using bitstring (i.e., link bits) and the N-Br field 1133 indicates the number of branches from the root of the sub-free, when present.
  • the top is the encoding of the first link of the sub-tree (e.g., the first link from the root of the sub-tree).
  • the top is the encoding of the link bits.
  • the b flag 1131 is set to value zero indicating the first case and N-Br field 1133 has a value indicating the number of branches/links from the root of the sub-free in the first case.
  • the b flag 1131 is set to value one indicating the second case and N-Br field 1133 is not used in the second case.
  • FIG. 7 A mechanism for using the MRH in FIG. 10, FIG. 11. and/or FIG. 12 is now described.
  • the P2MP path/tree from PEI towards PE2 to PE9 in FIG. 1 is encoded as illustrated in FIG. 7.
  • PEI constructs a layer 3 packet for each sub-tree and sends the packet containing an MRH and the IP multicast packet to the next hop along the sub-tree.
  • the number of sub-trees from PEI is the number of different next hop nodes from PEI to the egress nodes (e.g., PE2 to PE9).
  • PEI gets the IPv6 address of the next hop to the loose egress node PE9 using its Loose Hop Table with the node number of PE9, which is 9.
  • the IPv6 address of the next hop is the IPv6 address of Pl.
  • Pl there is one sub-tree from PEI via Pl towards PE2 to PE9.
  • PEI adds the encoding of the loose hop link from Pl to PE9 (e g., Pl to PE9(L) ) as a third link/b ranch into the sub-tree (i.e., branches) from Pl.
  • PEI sets DA (destination address) and SA (source address) of the layer 3 packet to Pl ’s IPv6 address and PEI ’s IPv6 address, respectively, and builds the MRH based on the setting segments left (SL) to a value of 16 as a pointer pointing to the start of the branches from Pl.
  • Value 16 is the value (which is 13) of P2-Branches for link PEI to Pl plus the size (which is 3 bytes) of the space for storing the encoding of the loose hop link to PE9.
  • the N-Branches field for/from node Pl is set to 4 indicating 4 branches/links from Pl and is followed by the encoding of the 4 branches/links from Pl (i.e., link from Pl to P2, loose hop link from Pl to P4(L), loose hop link from Pl to PE9(L) and link from Pl to PE8).
  • the layer 3 packet is sent to Pl.
  • Pl determines whether the packet’s next header is an MRH through checking if the next header is routing header and routing type in the routing header is TBD for MRH. When the next header is the MRH, Pl duplicates the packet for each link/branch/sub-tree from Pl and sends the packet copy with an updated MRH to the next hop along the branch.
  • Pl gets the value of N-Branches from the sub-tree pointed by SL in MRH, which is 4 indicating there are 4 branches/links from Pl or other next hops of PL
  • the first branch/link is in the encoding of the link from Pl to P2.
  • the layer 3 packet copy is sent to P2.
  • Pl gets the IPv6 addresses of the next hops to the loose hop nodes P4 and PE9 using its Loose Hop Table with the node numbers 14 and 9 of P4 and PE9, respectively.
  • the IPv6 addresses of the next hops are different, which are the IPv6 address of P5 and IPv6 address of PE9.
  • there are two sub-trees for the two loose hops one from Pl via P5 towards PE4 to PE7 and the other from Pl to PE9.
  • Pl creates two packet copies for these two loose hops.
  • Pl sets DA of one layer 3 packet copy to P5’s IPv6 address and updates the MRH based on the encoding of the tree in the packet received through changing the value in N-Branches for node Pl from 4 to 1, and moving the four fields for loose hop link from Pl to P4 up to directly follow N-Branches field for node Pl.
  • the layer 3 packet copy is sent to P5.
  • Pl sets DA of the other layer 3 packet copy to PE9’s IPv6b address and updates the MRH through setting SL to 0 since there is no sub-tree from leaf/egress PE9.
  • the layer 3 packet copy is sent to PE9.
  • Pl sets DA of the layer 3 packet copy to PE8’s IPv6 address and updates the MRH through setting SL to 0 since there is no sub-tree from leaf/egress PE8.
  • the layer 3 packet copy is sent to PE8.
  • P2 After receiving the layer 3 packet from Pl, P2 determines whether the packet’s next header is an MRH. When the next header is the MRH, P2 duplicates the packet for each link/branch/sub-tree from P2 and sends the packet copy with an updated MRH to the next hop along the branch.
  • P2 gets the value of N-Branches from the sub-tree pointed by SL in MRH, which is 2 indicating there are 2 branches/links from P2.
  • P2 sets DA of the layer 3 packet copy to PE2’s IPv6 address and updates the MRH through setting SL to 0 since there is no sub-tree from leaf/egress PE2.
  • the layer 3 packet copy is sent to PE2.
  • P2 sends another layer 3 packet copy to PE3.
  • P5 After receiving the layer 3 packet from Pl, P5 determines whether the packet’s next header is an MRH. When the next header is the MRH, P5 duplicates the packet for each link/branch/sub-tree from P5 and sends the packet copy with an updated MRH to the next hop along the branch.
  • P5 gets the value of N-Branches from the sub-tree pointed by SL in MRH, which is 1 indicating there is 1 branch/link from P5.
  • This one (1) link/branch is a loose hop link with special link number 1 to loose hop node P4.
  • P5 gets the IPv6 address of the next hop to the loose node P4 using its Loose Hop Table with the node number of P4, which is 14.
  • P5 sets DA of the layer 3 packet to P4’s IPv6 address and updates the MRH through setting SL to 2, which is the value of P2-Branches in the loose hop link.
  • the layer 3 packet is sent to P4.
  • P4 sends one layer 3 packet copy to PE4.
  • the layer 3 packet is sent to PE4 and a copy is sent to each of PE5, PE6, and PE7.
  • the ingress of the P2MP path/tree duplicates the packet for each sub- tree/branch of the P2MP path/tree branching from the ingress, encapsulates the packet copy in an MRH containing the sub-tree and sends the encapsulated packet copy to the next hop node along the sub-tree.
  • the sub-tree is from ingress PEI via next hop node Pl towards PE2 to PE9.
  • the contents of the MRH may be used in a layer 2.5 header or a layer 3 header, as shown in FIGs. 8-12, using an encoding such as encoding 500, 600, and/or 700.
  • a transit node of a P2MP path/tree receives a packet transported by the P2MP path/tree, the packet is encapsulated in an MRH.
  • the MRH contains the encoding/representation of the sub-trees/branches from the node.
  • the contents of the MRH may be used in a layer 2.5 header or a layer 3 header, as shown in FIGs. 8-12, using an encoding such as encoding 500, 600, and/or 700.
  • a transit node of a P2MP path/tree receives a packet transported by the P2MP path/tree, the packet is encapsulated in an MRH.
  • the node determines whether the MRH is a L3 MRH. After determining that the MRH is a L3 MRH, the node executes the procedure to duplicate the packet for each of the downstream links of the node on the P2MP path/tree and send the packet copy to next hop (e.g., downstream node) of the link.
  • the transit node may receive the packet from an upstream link from an upstream node to the transit node and there are n downstream links from the transit node on the P2MP path/tree (e.g., there are n branches/sub-trees from the transit node on the P2MP path/tree, wherein n is greater than zero).
  • n downstream links The information about n downstream links is pointed by SL.
  • B 0, the number of branches/hnks from the transit node is the value in N-Branches field following B flag.
  • the information about each of n downstream links is encoded by the fields following the N-Branches from/for the transit node.
  • the information about n downstream links is encoded by the Bits.
  • the transit node For each of the downstream links of the transit node, the transit node duplicates the packet for the link, sets SL in the packet copy accordingly. If the next hop is a leaf/egress, the transit node sets SL to 0; otherwise, the transit node sets SL to the value of P2 -Branches for the link.
  • the transit node finds the IPv6 address of the next hop (e.g., the downstream node) of the link from the neighbor table of the transit node using the link number of the link, sets the DA of the packet copy to the IPv6 address of the next hop, and sends the packet copy to the next hop of the link.
  • the transit node sets SL to the start of the link.
  • the MRH in FIG. 11 is used, value in the N-Branches from/for the transit node in the sub-tree in the MRH is changed/set to 1, and the fields for the loose hop link is moved to directly follow the N-Branches field from/for the transit node.
  • the MRH in FIG. 11 is used, value in the N-Branches from/for the transit node in the sub-tree in the MRH is changed/set to 1, and the fields for the loose hop link is moved to directly follow the N-Branches field from/for the transit node.
  • the transit node gets the IPv6 address of the next hop to the loose hop node using its Loose Hop Table with the loose hop node number, sets DA of the layer 3 packet copy to the IPv6 address of the next hop, and sends the packet copy to the next hop.
  • Pl duplicates the packet for the link, and sets SL to 5 (which is the value of the P2-Branches field for the link).
  • Pl finds the IPv6 address of the next hop P2 of the link from the neighbor table of Pl using the link number 2 of the link, sets the DA of the packet copy to the P2’s IPv6 address, and sends the packet copy to P2.
  • the packet copy is received by P2.
  • Pl gets the IPv6 address of the next hop to the loose transit node P4 using its Loose Hop Table with P4’s node number 14.
  • the IPv5 address ofthe next hop is the IPv6 address of P5.
  • Pl sets DA of the layer 3 packet copy to P5’s IPv6 address.
  • Pl sends the packet copy to P5. The packet copy is received by P5.
  • Pl For the third downstream link from Pl (e.g., the link from Pl to PE9(L), which is a loose hop link from Pl to PE9), Pl duplicates the packet for the link, and sets SL to 0 since PE9 is directly connected to Pl and is a leaf. Pl sets the DA of the packet copy to the PE9’s IPv6 address and sends the packet copy to PE9.
  • Pl For the 4-th downstream link from Pl (e.g., link from Pl to PE8), Pl duplicates the packet for the link, and sets SL to 0 since PE8 is a leaf (i.e., egress). Pl finds the IPv6 address of the next hop PE8 of the link from the neighbor table of Pl using the link number 5 of the link, sets the DA of the packet copy to the PE8’s IPv6 address and sends the packet copy to PE8.
  • the transit node gets the IPv6 addresses of the next hops to the nodes using its Loose Hop Table with the node numbers of the nodes. If a group of nodes has the same next hop (IPv6 address), the transit node sends a packet copy to the next hop for these nodes with the same next hop. The transit node sets DA of the layer 3 packet copy to the next hop’s IPv6 address. It updates the MRH through setting SL as a pointer pointing to the start of the branches from the next hop.
  • the node adds the encoding of the loose hop (“link”) to the loose hop node into the sub-tree (e.g., branches) from the transit node.
  • the sub-tree e.g., branches
  • a transit node of a P2MP path/tree receives a packet transported by the P2MP path/tree, the packet is encapsulated in an MRH.
  • the node determines whether the MRH is a L2.5 MRH. After determining that the MRH is a L2.5 MRH, the node executes the procedure to duplicate the packet for each of the downstream links of the node on the P2MP path/tree and send the packet copy to the next hop (e.g., downstream node) of the link.
  • the transit node receives the packet from an upstream link from an upstream node to the transit node and there are n downstream links from the transit node on the P2MP path/tree (e.g., there are n branches/sub-trees from the transit node on the P2MP path/tree, wherein n is greater than zero).
  • the information about n downstream links is pointed by HL.
  • B 0, the number of branches/links from/for the transit node is the value in N-Branches field following B flag.
  • the information about each of n downstream links is encoded in the fields following the N-Branches.
  • the information about n downstream links is encoded by the Bits.
  • the transit node duplicates the packet for the link, sets HL in the packet copy as a pointer pointing to the start of the sub- tree/branches from the next hop of the link, makes the L2.5 MRH contain the information about the sub-tree/branches from the next hop, finds the MAC address of the next hop (e.g., the downstream node) of the link from the neighbor table of the transit node using the link number of the link, sets the DA of the packet copy to the MAC address of the next hop, sets the SA of the packet copy to the MAC address of the transit node, and sends the packet copy to the next hop of the link.
  • the next hop e.g., the downstream node
  • the transit node makes the L2.5 MRH contain the information about a sub-tree, wherein the sub-tree comprises a loose hop link from the next hop node to the loose hop node and the branches from the loose hop node.
  • the transit node sets HL in the packet copy as a pointer pointing to the start of the sub-tree.
  • the transit node gets the MAC address of the next hop to the node using its Loose Hop Table with the node number, sets DA of the layer 2 packet copy to the MAC address of the next hop and SA of the layer 2 packet copy to the transit node’s MAC address, and sends the packet copy to the next hop.
  • HL is set to the value of the P2 -Branches field for the first downstream link minus the value of the P2 -Branches field for the second downstream link with P2-Branches field.
  • the information about the links on the sub-trees from the next hop is in the area indicated by the value of the P2-Branches field for the first downstream link as a starting point and the value of the P2-Branches field for the second downstream link plus 1 as an ending point.
  • HL is set to the value of the P2-Branches field for the i-th downstream link minus the value of the P2-Branches field for the (i+ 1 )-th downstream link with P2-Branches field.
  • the information about the links on the sub- tree/branches from the next hop is in the area indicated by the value of the P2-Branches field for the i-th downstream link as a starting point and the value of the P2-Branches field for the (i+1)- th downstream link plus 1 as an ending point.
  • HL is set to the value of the P2-Branches field for the i-th downstream.
  • the information about the links on the sub- tree/branches from the next hop is in the area indicated by the value of the P2-Branches field for the i-th downstream link as a starting point and 1 as an ending point.
  • Pl duplicates the packet for the link, sets HL to 3 (which is the value 5 of the P2-Branches field for the link from Pl to P2 minus the value 2 of the P2 -Branches field for the link from Pl to P4(L).
  • the information about the links on the sub-tree/branches from next hop P2 is in the area from 5 to 3 (e.g., from byte 5 to byte 3, where byte is counted from bottom to top).
  • Pl makes the L2.5 MRH to contain the information about the links on the sub-tree/branches from P2 in 3 bytes.
  • Pl sets the DA of the packet copy to the P2’s MAC address, sets the SA of the packet copy to the Pl ’s MAC address, and sends the packet copy to P2.
  • the packet copy is received by P2.
  • the packet copy is received by P5.
  • the third link which is a loose hop link from Pl to PE9
  • Pl gets the MAC address of the next hop to the loose leaf/egress node PE9 using its Loose Hop Table with PE9’s node number 9.
  • Pl duplicates the packet for the link, sets HL to 0 since PE9 is directly connected to Pl and is a leaf.
  • Pl sets the DA and SA of the packet copy to the PE9’s MAC address and Pl’s MAC address respectively and sends the packet copy to PE9.
  • the transit node sets DA of the layer 2 packet copy to the next hop’s MAC and SA of the layer 2 packet copy to transit node’s MAC. It builds the MRH through including the information/indication about the sub-tree from the next hop and setting HL as a pointer pointing to the start of the sub-tree. If a loose hop link from a node to a loose hop node has the same next hop as a link from the node to a transit node, the node adds the encoding of the loose hop link to the loose hop node into the sub-tree (e.g., branches) from the transit node.
  • the sub-tree e.g., branches
  • the DA of the packet is the address of the egress node and there is an indication in the MRH for the leaf/ egress.
  • the DA of the packet is the MAC address of the egress node and the MRH is a L2.5 MRH.
  • the egress node decapsulates the packet and sends the IP multicast datagram to the IP multicast forwarding module.
  • the DA of the packet is the IPv6 address of the egress node and the MRH is a L3 MRH.
  • PE3 determines whether the packet’s next header is an MRH. When the packet’s next header is the MRH, PE3 checks if PE3 itself is a leaf (e.g., egress) through checking whether SL is 0. When PE3 is a leaf, PE3 decapsulates the packet and sends the IP multicast datagram to the IP multicast forwarding system.
  • FIG. 13 is a flowchart of an example method 1300 of communicating packets across a stateless multicast tree containing loose hops, such as network 100, by using a loose hop table 300 and/or a neighbor table 400 in conjunction with a packet containing a multicast routing header (multicast header for short) with an encoding of a multicast tree, for example a multicast routing header in a layer 2.5 header or a layer 3 header, as shown in FIGs. 8-12, using an encoding such as encoding 500, 600, and/or 700.
  • a multicast routing header multicast header for short
  • a network device/node such as an ingress node, egress node, edge node, and/or transit node, maintains a neighbor table containing a pseudo link identifier indicating the loose hop segment, such as neighbor table 400.
  • the network device/node maintains a loose hop table containing next hops along shortest paths from the network device/node to each node in the network, such as loose hop table 300.
  • the network device/node receives a multicast packet. If the network device is an ingress node, the network device receives a packet along with an indication that the packet should be encapsulated routing information for a multicast tree. If the network device is a transit node or an egress node, the packet already contains a header with the multicast tree or a sub-tree thereof.
  • the network device may obtain a multicast header from the multicast packet, for example via decapsulation. This occurs when the network device is a transit node or an egress node. Otherwise, the data for the multicast packet is preconfigured onto the network device when a P2MP path is created.
  • the network device may duplicate the multicast packet based on a number of multicast TE tree branches extending downstream from the network device. For example, when the multicast header indicates the multicast packet should be sent along two or more branches extending from the network device, the netw ork device duplicates the packet until there are enough copies to be sent along each branch.
  • the network device determines any directly connected fixed path segments based on the multicast header. Further, the network device determines loose hop segments extending from the network device based on the neighbor table and loose hop table. In an example, a presence of the loose hop segment can be determined based on the pseudo link identifier in the neighbor table. The network device can also determine a next hop along a shortest path toward a destination node of the loose hop segment based on the loose hop table. The network device can also set a destination address of the multicast packet to the next hop prior to communicating the multicast packet.
  • the network device updates the multicast header when the network device is a transit node or an egress node. For example, when the multicast header is implemented as a layer 3 header, apointer is changed to point to the root of a sub-tree at a next hop node (or destination node). When the multicast header is implemented as a layer 2.5 header, the multicast header is rewritten to contain only the sub-tree at a next hop node (or destination node). When the network device is an ingress node, the multicast header is generated. Once the multicast header is generated or updated, the multicast header is applied to the packet(s) for example via encapsulation.
  • the network device communicates the multicast packet across a network via a multicast TE tree containing one or more predetermined fixed path segments and at least one loose hop segment including a shortest path determined at run time from the network device to a loose hop node.
  • the multicast packet can be communicated across the loose hop segment based on a shortest path in the loose hop table.
  • the multicast packet may comprise a header containing data indicating the multicast TE tree.
  • the header may comprise, for the loose hop segment, a flag indicating a segment is the loose hop segment, a node number of a destination node of the loose hop segment (or loose hop node for short), a number of branches from the loose hop segment (i.e., from the loose hop node), and a pointer to a start of the branches from the loose hop segment (i.e., the loose hop node).
  • the header comprises, for the loose hop segment, a link number indicating a pseudo link identifier of the loose hop segment, a node number of a destination node of the loose hop segment, a number of branches from the loose hop segment (i.e., from the loose hop node), and a pointer to a start of the branches from the loose hop segment (i.e., the loose hop node).
  • the header further comprises a B flag set to indicate branches from a node are indicated by a bit string, a size of bit string field, and a bit string indicating each link, connected to the node.
  • the header further comprises, for a first fixed path segment, a link number, a number of branches from the first fixed path segment, and a pointer to a start of the branches from the first fixed path segment.
  • the header is a layer 2.5 multicast routing header.
  • the layer 2.5 multicast routing header contains a type field, a header length field, and a sub-tree field containing data indicating a remaining multicast TE tree.
  • the layer 2.5 multicast routing header further comprises a number of branches field indicating a number of links at a receiving node that act as branches of the multicast TE tree.
  • the header is a layer 3 multicast routing header.
  • the layer 3 multicast routing header contains a next header field, a header extension length field, a routing type field, a segments left field containing a pointer to a starting position (or start for short) in the multicast TE tree at a receiving node (i.e., start of the sub-tree from the receiving node), and a sub-tree field containing the data indicating the multicast TE tree.
  • the layer 3 multicast routing header further comprises a b flag indicating whether branches from the receiving node are indicated by a bit string, and a N-Br field indicating a number of links at a receiving node that act as branches of the multicast TE tree (i.e., number of links from the receiving node).
  • FIG. 14 is an example of a device 1400 for communicating packets across a stateless multicast tree containing loose hops.
  • the device 1400 includes a receiving module 1401 for receiving a multicast packet.
  • the device 1400 also includes a processing module 1403 for processing multicast packet.
  • the device 1400 includes a storing module 1405 for storing the multicast packet.
  • the device 1400 also includes a transmitting module 1407 for communicating the multicast packet across a network via a multicast traffic engineering (TE) tree containing one or more predetermined fixed path segments and at least one loose hop segment including a shortest path determined at run time from a receiving node to a loose hop node (i.e., a destination of a loose hop segment).
  • TE multicast traffic engineering
  • a first component is directly coupled to a second component when there are no intervening components, except for a line, a trace, or another medium between the first component and the second component.
  • the first component is indirectly coupled to the second component when there are intervening components other than a line, a trace, or another medium between the first component and the second component.
  • the term “coupled” and its variants include both directly coupled and indirectly coupled. The use of the term “about” means a range including ⁇ 10% of the subsequent number unless otherwise stated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un mécanisme mis en œuvre par un dispositif de réseau, tel qu'un nœud dans un réseau de protocole Internet (IP). Le mécanisme comprend la réception d'un paquet de multidiffusion. Le dispositif de réseau communique ensuite le paquet de multidiffusion à travers un réseau par l'intermédiaire d'un arbre d'ingénierie de trafic de multidiffusion (TE) contenant un ou plusieurs segments de trajet fixes prédéterminés et au moins un segment de saut lâche comprenant un trajet le plus court déterminé au moment de l'exécution entre deux nœuds de réseau prédéterminés.
PCT/US2023/024718 2022-06-17 2023-06-07 Multidiffusion sans état avec sauts mobiles WO2023158889A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263353287P 2022-06-17 2022-06-17
US63/353,287 2022-06-17

Publications (2)

Publication Number Publication Date
WO2023158889A2 true WO2023158889A2 (fr) 2023-08-24
WO2023158889A3 WO2023158889A3 (fr) 2023-10-12

Family

ID=87070840

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2023/024718 WO2023158889A2 (fr) 2022-06-17 2023-06-07 Multidiffusion sans état avec sauts mobiles

Country Status (1)

Country Link
WO (1) WO2023158889A2 (fr)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10164907B2 (en) * 2015-11-25 2018-12-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for completing loosely specified MDTs

Also Published As

Publication number Publication date
WO2023158889A3 (fr) 2023-10-12

Similar Documents

Publication Publication Date Title
US20230121236A1 (en) Segment routing point to multipoint path
EP3777055B1 (fr) Mise en correspondance de préfixe le plus long
CN107534613B (zh) 使用子树标识符的多区域源路由组播方法
WO2019205806A1 (fr) Procédé et appareil de traitement de paquets de données, support de données et dispositif électronique
WO2021227746A1 (fr) Procédés de transmission et de transfert de paquet, nœud d'en-tête, nœud de transfert et support de stockage
US8718053B2 (en) Packet transport for network device clusters
CN107968753A (zh) 修改媒体接入控制地址转发表的方法和装置
WO2023158889A2 (fr) Multidiffusion sans état avec sauts mobiles
US20230143419A1 (en) Segment Routing MPLS Point To Multipoint Path
CN116094987A (zh) 转发路径的确定方法及装置
CN109672617B (zh) 一种mpls层次化保护倒换的方法、装置及存储介质
WO2023168134A1 (fr) Multidiffusion sans état avec indice de nœud et chaîne de bits flexible
WO2023164320A1 (fr) Arbre de multidiffusion à codage optimal utilisant un numéro de liaison et un bit
US20240146642A1 (en) BIER-TE Encapsulation With Multiple Sets
US20230283558A1 (en) Bit Index Explicit Replication Traffic Engineering Fast Reroute
WO2023147477A1 (fr) En-tête de routage de multidiffusion utilisant un numéro de liaison
US11949594B2 (en) Bit index explicit replication traffic engineering for broadcast link
WO2023196689A2 (fr) Multidiffusion au mieux sans état optimal
EP4300913A1 (fr) Procédé et dispositif d'envoi de paquets de multidiffusion
US20240163200A1 (en) BGP for BIER-TE Path
WO2023288146A2 (fr) Multidiffusion de routage de segment compact pour ipv6
US20230388219A1 (en) IGP Extensions for BIER-TE
WO2023114351A1 (fr) Multidiffusion à routage rapide de segment pour ipv6
US20230261969A1 (en) Stateless and secure packet forwarding
CN115733796A (zh) 通信方法及装置