Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
NODE INDEX DISTRIBUTION FOR MULTICAST
Document Type and Number:
WIPO Patent Application WO/2023/177927
Kind Code:
A2
Abstract:
A method, implemented by a network node in a network, comprising generating a message comprising a node index type length value (TLV) or sub-TLV, wherein each node index TLV or sub-TLV comprises a node index corresponding to the network node, and wherein the node index TLV is an open shortest path first (OSPF) node index TLV or an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the node index sub-TLV is an IS-IS node index sub-TLV; and distributing the message to one or more other network nodes in the network through originating a link state advertisement (LSA) with the OSPF node index TLV, link state protocol data unit (PDU) (LSP) with the IS-IS node index TLV, or LSP with IS-IS node index sub-TLV.

Inventors:
CHEN HUAIMO (US)
EASTLAKE III (US)
Application Number:
PCT/US2023/026355
Publication Date:
September 21, 2023
Filing Date:
June 27, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FUTUREWEI TECHNOLOGIES INC (US)
Other References:
IJ. WIJNANDS ET AL., MULTICAST USING BIT INDEX EXPLICIT REPLICATION (BIER, November 2017 (2017-11-01)
Attorney, Agent or Firm:
DIETRICH, William, H. et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A method implemented by a network node in a network, comprising: generating a message comprising a node index type length value (TLV) or sub-TLV, wherein each node index TLV or sub-TLV comprises a node index corresponding to the network node, and wherein the node index TLV is an open shortest path first (OSPF) node index TLV or an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the node index sub-TLV is an IS-IS node index sub-TLV; and distributing the message to one or more other network nodes in the network through originating a link state advertisement (LS A) with the OSPF node index TLV, link state protocol data unit (PDU) (LSP) with the IS-IS node index TLV, or LSP with IS-IS node index sub-TLV.

2. The method of claim 1 , wherein the OSPF node index TLV comprises a first Type field, a first Length field, and a first Node Index field with a first value indicating the node index, wherein the IS-IS node index TLV comprises a second Type field, a second Length field, and a second Node Index field with a second value indicating the node index, and wherein the ISIS node index sub-TLV comprises a third Type field, a third Length field, and a third Node Index field with a third value indicating the node index.

3. The method of any of claims 1 -2, wherein the OSPF node index TLV is distributed to each network node in an OSPF router information (RI) link state advertisement (LSA).

4. The method of any of claims 1-2, wherein the IS-IS node index TLV is distributed to each network node in the LSP, wherein the IS-IS node index sub-TLV is distributed to each network node in a TLV in the LSP, and wherein the TLV is an IS-IS Router CAPABILITY TLV.

5. The method of claim 1, wherein each network node orders all network nodes in the network by node identifiers in an ascending order, and wherein the positions of the node identifiers are indicative of node indexes corresponding to the network nodes in the network.

6. The method of any of claims 1 -5, further comprising building and maintaining a node index table, wherein the node index table comprises one or more of node indexes of egress nodes, internet protocol version 6 (IPv6) addresses of next hops, internet protocol version 4 (IPv4) addresses of next hops, media access control (MAC) addresses of the next hops, next hop interfaces, or next hop node indexes. . A method implemented by a controller, comprising generating a message comprising a node index type length value (TLV) for network nodes in a network, wherein the node index TLV comprises node identifiers whose positions in the TLV are indicative of node indexes corresponding to the network nodes; and distributing the message to each network node in the network through originating a path computation update request (PCUpd), link state advertisement (LSA), or link state protocol data unit (PDU) (LSP) with the node index TLV.

8. The method of claim 7, wherein the PCUpd comprising an Open Shortest Path First (OSPF) node index TLV, and wherein the OSPF node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

9. The method of claim 7, wherein the LSA is an Open Shortest Path First (OSPF) router information (RI) LSA comprising an OSPF node index TLV, and wherein the OSPF node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

10. The method of claim 7, wherein the LSP comprising an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the IS-IS node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

11. A network node in a network, comprising: a memory configured to store instructions; and one or more processors configured to execute the instructions stored in the memory to cause the network node to: generate a message comprising a node index type length value (TLV) or sub- TLV, wherein each node index TLV or sub-TLV comprises a node index corresponding to the network node, and wherein the node index TLV is an open shortest path first (OSPF) node index TLV or an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the node index sub-TLV is an IS-IS node index sub-TLV; and distribute the message to one or more other network nodes in the network through originating a link state advertisement (LSA) with the OSPF node index TLV, link state protocol data unit (PDU) (LSP) with the IS-IS node index TLV, or LSP with IS-IS node index sub-TLV.

12. The network node of claim 11, wherein the OSPF node index TLV comprises a first Type field, a first Length field, and a first Node Index field with a first value indicating the node index, wherein the IS -IS node index TLV comprises a second Type field, a second Length field, and a second Node Index field with a second value indicating the node index, and wherein the IS-IS node index sub-TLV comprises a third Type field, a third Length field, and a third Node Index field with a third value indicating the node index.

13. The network node of any of claims 11-12, wherein the OSPF node index TLV is distributed to each network node in an OSPF router information (RI) link state advertisement (LSA).

14. The network node of any of claims 11-12, wherein the IS-IS node index TLV is distributed to each network node in the LSP, wherein the IS-IS node index sub-TLV is distributed to each network node in a TLV in the LSP, and wherein the TLV is an IS-IS Router CAPABILITY TLV.

15. The network node of claim 1 1 , wherein each network node orders all network nodes in the network by node identifiers in an ascending order, and wherein the positions of the node identifiers are indicative of node indexes corresponding to the network nodes in the network.

16. The network node of claim 11, wherein the one or more processors are configured to further cause the network node to build and maintain a node index table, and wherein the node index table comprises one or more of node indexes of egress nodes, internet protocol version 6 (IPv6) addresses of next hops, internet protocol version 4 (IPv4) addresses of next hops, media access control (MAC) addresses of the next hops, next hop interfaces, or next hop node indexes.

17. A controller, comprising: a memory configured to store instructions; and one or more processors configured to execute instructions stored in the memory to cause the controller to: generate a message comprising a node index type length value (TLV) for network nodes in a network, wherein the node index TLV comprises node identifiers whose positions in the TLV are indicative of node indexes corresponding to the network nodes; and distribute the message to each network node in the network through originating a path computation update request (PCUpd), link state advertisement (LSA), or link state protocol data unit (PDU) (LSP) with the node index TLV.

18. The controller of claim 17, wherein the PCUpd comprising an OSPF node index TLV, and wherein the OSPF node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

19. The controller of claim 17, wherein the LSA is an Open Shortest Path First (OSPF) router information (RI) LSA comprising an OSPF node index TLV, and wherein the OSPF node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

20. The controller of claim 17, wherein the LSP comprising an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the IS-IS node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

21. A non-transitory computer readable medium comprising a computer program product for use by a network node, the computer program product comprising computer executable instructions stored on the non-transitory computer readable medium that, when executed by one or more processors, cause the network node to execute the method in any of claims 1-6.

22. A non-transitory computer readable medium comprising a computer program product for use by a controller, the computer program product comprising computer executable instructions stored on the non-transitory computer readable medium that, when executed by one or more processors, cause the controller to execute the method in any of claims 7-10.

23. A network node, comprising: a processing means for generating a message comprising a node index type length value (TLV) or sub-TLV, wherein each node index TLV or sub-TLV comprises a node index corresponding to the network node, wherein the node index TLV is an open shortest path first (OSPF) node index TLV or an intermediate system to intermediate system (TS-TS) node index TLV, and wherein the node index sub-TLV is an IS-TS node index sub-TLV; and a transmitting means for distributing the message to one or more other network nodes in the network through originating a link state advertisement (LSA) with the OSPF node index TLV, link state protocol data unit (PDU) (LSP) with the IS-IS node index TLV, or LSP with IS -IS node index sub-TLV.

24. A controller, comprising: a processing means for generating a message comprising a node index type length value

(TLV) for network nodes in a network, wherein the node index TLV comprises node identifiers whose positions in the TLV are indicative of node indexes corresponding to the network nodes; and a transmitting means for distributing the message to each network node in the network through originating a path computation update request (PCUpd), link state advertisement (LSA), or link state protocol data unit (PDU) (LSP) with the node index TLV.

Description:
Node Index Distribution for Multicast

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This patent application claims the benefit of U.S. Provisional Patent Application No. 63/367,150 filed June 28, 2022 by Futurewei Technologies, Inc., and titled “Node Index Distribution for Multicast,” which is hereby incorporated by reference.

TECHNICAL FIELD

[0002] The present disclosure is generally related to the field of network communication and, in particular, to stateless multicast tree with node index.

BACKGROUND

[0003] Bit Index Explicit Replication (BIER) mechanisms provide optimized forwarding of multicast data packets through a BIER domain. There are multiple BIER forwarding tables (BIFTs) on every node in the BIER domain, which imposes substantial communication and processing overheads. BIER is described in further detail in Internet Engineering Task Force (IETF) document Request for Comments (RFC) 8279 entitled “Multicast Using Bit Index Explicit Replication (BIER)” by IJ. Wijnands, et al., published November 2017.

SUMMARY

[0004] The disclosed aspects/embodiments provide for distributing node indexes configured on network nodes for an efficient stateless multicast in a network. The IGP extensions are utilized to distribute the node indexes configured on the network nodes in the network. Therefore, packet routing within the stateless multicast is improved. [0005] A first aspect relates to a method implemented by a network node in a network, comprising generating a message comprising a node index type length value (TLV) or sub-TLV, wherein each node index TLV or sub-TLV comprises anode index corresponding to the network node, wherein the node index TLV is an open shortest path first (OSPF) node index TLV or an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the node index sub-TLV is an IS-IS node index sub-TLV; and distributing the message to one or more other network nodes in the network through originating a link state advertisement (LSA) with the OSPF node index TLV or link state protocol data unit (PDU) (LSP) with the IS-IS node index TLV or IS-IS node index sub-TLV.

[0006] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the OSPF node index TLV comprises a first Type field, a first Length field, and a first Node Index field with a first value indicating the node index, wherein the IS-IS node index TLV comprises a second Type field, a second Length field, and a second Node Index field with a second value indicating the node index, and wherein the IS-IS node index sub-TLV comprises a third Type field, a third Length field, and a third Node Index field with a third value indicating the node index.

[0007] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the OSPF node index TLV is distributed to each network node in an OSPF router information (RI) link state advertisement (LSA).

[0008] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the IS-IS node index TLV is distributed to each network node in the LSP, wherein the IS-IS node index sub-TLV is distributed to each network node in a TLV in the LSP, and wherein the TLV is an IS-IS Router CAPABILITY TLV.

[0009] Optionally, in any of the preceding aspects, another implementation of the aspect provides that each network node orders all network nodes in the network by node identifiers in an ascending order, wherein the node identifiers are indicative of node indexes corresponding to the network nodes in the network

[0010] Optionally, in any of the preceding aspects, another implementation of the aspect provides building and maintaining a node index table, wherein the node index table comprises one or more of node indexes of egress nodes, internet protocol version 6 (IPv6) addresses of next hops, internet protocol version 4 (IPv4) addresses of next hops, media access control (MAC) addresses of the next hops, next hop interfaces, or next hop node indexes.

[0011] A second aspect relates to a method implemented by a controller, comprising generating a message comprising a node index type length value (TLV) for network nodes in a network, wherein the node index TLV comprises node identifiers whose positions in the TLV are indicative of node indexes corresponding to the network nodes; and distributing the message to each network node in the network through originating a path computation update request (PCUpd), link state advertisement (LSA), or link state protocol data unit (PDU) (LSP) with the node index TLV.

[0012] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the PCUpd comprising an OSPF node index TLV, and wherein the OSPF node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

[0013] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the LSA is an Open Shortest Path First (OSPF) router information (RI) LSA comprising an OSPF node index TLV, and wherein the OSPF node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

[0014] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the LSP comprising an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the IS-IS node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

[0015] A third aspect relates to network node in a network, comprising a memory storing instructions; and one or more processors configured to execute the instructions stored in the memory to cause the network node to generate a message comprising a node index type length value (TLV) or sub-TLV, wherein each node index TLV or sub-TLV comprises a node index corresponding to the network node, wherein the node index TLV is an open shortest path first (OSPF) node index TLV or an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the node index sub-TLV is an IS-IS node index sub-TLV; and distribute the message to one or more other network nodes in the network through originating a link state advertisement (LS A) with the OSPF node index TLV or link state protocol data unit (PDU) (LSP) with the IS-IS node index TLV or IS-IS node index sub-TLV.

[0016] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the OSPF node index TLV comprises a first Type field, a first Length field, and a first Node Index field with a first value indicating the node index, wherein the IS-IS node index TLV comprises a second Type field, a second Length field, and a second Node Index field with a second value indicating the node index, and wherein the IS-IS node index sub-TLV comprises a third Type field, a third Length field, and a third Node Index field with a third value indicating the node index.

[0017] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the OSPF node index TLV is distributed to each network node in an OSPF router information (RI) link state advertisement (LSA).

[0018] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the IS-IS node index TLV is distributed to each network node in the LSP, wherein the IS-IS node index sub-TLV is distributed to each network node in a TLV in the LSP, and wherein the TLV is an IS-IS Router CAPABILITY TLV.

[0019] Optionally, in any of the preceding aspects, another implementation of the aspect provides that each network node orders all network nodes in the network by node identifiers in an ascending order, wherein the node identifiers are indicative of node indexes corresponding to the network nodes in the network.

[0020] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the one or more processors are configured to further cause the network node to build and maintain a node index table, wherein the node index table comprises one or more of node indexes of egress nodes, internet protocol version 6 (IPv6) addresses of next hops, internet protocol version 4 (IPv4) addresses of next hops, media access control (MAC) addresses of the next hops, next hop interfaces, or next hop node indexes.

[0021] A fourth aspect relates to controller, comprising a memory configured to store instructions; and one or more processors configured to execute instructions stored in the memory to cause the controller to generate a message comprising a node index type length value (TLV) for network nodes in a network, wherein the node index TLV comprises node identifiers whose positions in the TLV are indicative of node indexes corresponding to the network nodes; and distribute the message to each network node in the network through originating a path computation update request (PCUpd), link state advertisement (LSA), or link state protocol data unit (PDU) (LSP) with the node index TLV.

[0022] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the PCUpd comprising an OSPF node index TLV, and wherein the OSPF node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes. [0023] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the LSA is an Open Shortest Path First (OSPF) router information (RI) LSA comprising an OSPF node index TLV, and wherein the OSPF node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

[0024] Optionally, in any of the preceding aspects, another implementation of the aspect provides that the LSP comprising an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the IS-IS node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

[0025] A fifth aspect relates to a non-transitory computer readable medium comprising a computer program product for use by a network node, the computer program product comprising computer executable instructions stored on the non-transitory computer readable medium that, when executed by one or more processors, cause the network node to generate a message comprising a node index ty pe length value (TLV) or sub-TLV, wherein each node index TLV or sub-TLV comprises a node index corresponding to the network node, wherein the node index TLV is an open shortest path first (OSPF) node index TLV or an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the node index sub-TLV is an IS-IS node index sub-TLV; and distribute the message to one or more other network nodes in the network through originating a link state advertisement (LSA) with the OSPF node index TLV or link state protocol data unit (PDU) (LSP) with the IS-IS node index TLV or IS-IS node index sub-TLV.

[0026] A sixth aspect relates to a non-transitory computer readable medium comprising a computer program product for use by a controller, the computer program product comprising computer executable instructions stored on the non-transitory computer readable medium that, when executed by one or more processors, cause the controller to generate a message comprising a node index type length value (TLV) for network nodes in a network, wherein the node index TLV comprises node identifiers whose positions in the TLV are indicative of node indexes corresponding to the network nodes; and distribute the message to each network node in the network through originating a path computation update request (PCUpd), link state advertisement (LSA), or link state protocol data unit (PDU) (LSP) with the node index TLV.

[0027] A seventh aspect relates to a network node, comprising means for generating a message comprising a node index type length value (TLV) or sub-TLV, wherein each node index TLV or sub-TLV comprises a node index corresponding to the network node, wherein the node index TLV is an open shortest path first (OSPF) node index TLV or an intermediate system to intermediate system (IS-IS) node index TLV, and wherein the node index sub-TLV is an IS-IS node index sub-TLV; and means for distributing the message to one or more other network nodes in the network through originating a link state advertisement (LSA) with the OSPF node index TLV or link state protocol data unit (PDU) (LSP) with the IS-IS node index TLV or IS-IS node index sub-TLV.

[0028] An eight aspect relates to a controller, comprising means for generating a message comprising a node index type length value (TLV) for network nodes in a network, wherein the node index TLV comprises node identifiers whose positions in the TLV are indicative of node indexes corresponding to the network nodes; and means for distributing the message to each network node in the network through originating a path computation update request (PCUpd), link state advertisement (LSA) or link state protocol data unit (PDU) (LSP) with the node index TLV.

[0029] For the purpose of clarity, 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.

[0030] These and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.

[0032] FIG. 1 is a schematic diagram of an example network with a controller and network nodes according to an embodiment of the disclosure.

[0033] FIGS. 2A-2B are schematic diagrams of a node index TLV distributed to each network node by a controller according to an embodiment of the disclosure.

[0034] FIG. 3 is a schematic diagram of an IS-IS Node Index TLV distributed to each network node by a controller according to an embodiment of the disclosure.

[0035] FIGS. 4A-4B are schematic diagrams of an OSPF node index TLV of a network node according to an embodiment of the disclosure.

[0036] FIGS. 5A-5B are schematic diagrams of an IS-IS Node Index TLV or sub-TLV of a network node according to an embodiment of the disclosure.

[0037] FIG. 6 is a schematic diagram of a node index IPv6 address table of a network node according to an embodiment of the disclosure.

[0038] FIG. 7 is a schematic diagram of a node index MAC address table of a network node according to an embodiment of the disclosure.

[0039] FIG. 8 is a schematic diagram of a node index table of a network node according to an embodiment of the disclosure.

[0040] FIG. 9 is a method implemented by a network node according to an embodiment of the disclosure.

[0041] FIG. 10 is a method implemented by a controller according to an embodiment of the disclosure. [0042] FIG. 11 is a schematic diagram of a network apparatus according to an embodiment of the disclosure.

[0043] FIG. 12 is an example of a device 1200 for communicating a packet comprising node index.

DETAILED DESCRIPTION

[0044] It should be understood at the outset that although an illustrative implementation of one or more embodiments are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether currently known or in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.

[0045] BIER is a current solution for stateless multicast without Traffic Engineering (TE). BIER mechanisms provide optimized forwarding of multicast data packets through a BIER domain. There are multiple BIER forwarding tables (BIFTs) on every network node in the BIER domain, which imposes substantial communication and processing overheads, and there are no interior gateway protocol (IGP) (e.g., Open Shortest Path First version 2 (OSPFv2), Open Shortest Path First version 3 (OSPFv3), or Intermediate System to Intermediate System (IS-IS)) extensions that can be used to improve overhead and network scalability.

[0046] Disclosed herein are techniques to distribute node indexes configured on network nodes in a network for an efficient stateless multicast. In order to facilitate the techniques, the present disclosure utilizes IGP extensions to distribute the node index configured on a node. The extensions are implemented using type length value (TLV) structures and sub-TLV structures that extend OSPFv2, OSPFv3, or IS-IS. TLV structures or sub-TLV structures are used in packets/messages to advertise the routing information. TLVs can be nested as sub- TLVs to provide more flexibility for future extensions. Using the extensions, packet routing within the stateless multicast domain is improved relative to existing techniques as the network nodes do not need to maintain any multicast flow forw arding state information or multiple BIFTs. [0047] FIG. 1 is a schematic diagram of a network topology 100 of a network 102 supporting stateless multicast. The network 102 receives packets 140 from a content source 104. The content source 104 may be a network node, a server, a data center, or other telecommunications device configured to receive and respond to requests for content. The network 102 comprises a plurality of network nodes (or simply, nodes) 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, and 134. While fifteen network nodes 106-134 are shown in the network 102, more or fewer nodes may be included in practical applications.

[0048] Each of the network nodes 106-134 may comprise a router, switch, or other telecommunications device configured to receive, route, store, and transmit packets 140. Some of the network nodes, namely the network nodes 106, 118, 120, 122, 124, 126, 128, 130, 132, and 134 are disposed at an edge of the network 102. The network nodes 106, 1 18, 120, 122, 124, 126, 128, 130, 132, and 134 receiving multicast packets from outside the network 102 may be referred to as an ingress network node (or simply, an ingress node). The network nodes 106, 118, 120, 122, 124, 126, 128, 130, 132, and 134 transmitting multicast packets out of the network 102 may be referred to as an egress network node (or simply, an egress node). Depending on the direction of multicast packet traffic, each of the network nodes 106, 118, 120, 122, 124, 126, 128, 130, 132, and 134 may function as an ingress network node or an egress network node. The network nodes 108, 110, 112, 114, and 116 forwarding multicast packets in the network 102 may be referred to as a transit network node. The network 102 may responds to the requests for content through content sources 136-142. [0049] The content sources 104 and 136-142, and network nodes 106-134 in FIG. 1 are coupled to, and communicate with each other, via links 150. The links 150 may be wired, wireless, or some combination thereof. In an embodiment, each of the links 150 may have a cost. The cost of each of the links 150 may be the same or different, depending on the network topology 100 and the conditions therein.

[0050] For ease of reference, the various network nodes have been given a letter and number designation in FIG. 1. For example, the content source 104 is designated CE1, the network nodes 106-134 are designated PEI, Pl to P5, PE2 to PE10, and so on. In an embodiment, network nodes 106-134 in the network 102 are numbered or indexed from 1 to the number of the nodes. For example, egress network nodes PEI to PE10 have node numbers or node indexes 1 to 10 respectively, and transit network nodes Pl to P5 are numbered or indexed from 11 to 15, respectively. That is, each node 106-134 in the network 102 may be assigned a node number or a node index. The node index of each network node is unique in the network 102.

[0051] In an embodiment, the network 102 is controlled by a network controller 180 (or simply, a controller). The network controller 180 receives multicast join request(s) from the one or more of egress network nodes 1 18-124. After receiving multicast join request, the network controller 180 sends a point-to-multipoint (P2MP) path/tree 160 to the ingress network node 106. In an embodiment, the network controller 180 have the information about the node indexes. The network controller 180 sends the P2MP path/tree 160 from the ingress network node 106 towards the egress network nodes 118-124. The P2MP path/tree 160 is encoded by using node indexes of egress network nodes 118-124 (designated as PE2-PE5), which are 2, 3, 4 and 5, respectively. The P2MP path/tree 160 is used to distribute the packets 140 within the network 102 to the entity or device (not shown) that requested the content included in the packets 140. For an efficient packet routing for the stateless multicast in the network 102, every network node (e.g., network nodes 106-134) and the controller 180 desire to have the same view on the node indexes.

[0052] There are different approaches to achieve an efficient stateless multicast along the P2MP path/tree 160 using the node indexes of the network nodes 106-134.

[0053] FIGS. 2A-2B are schematic diagrams of a node index TLV distributed to each network node in the network 102 by the controller 180. In a first approach to achieve the efficient stateless multicast, the controller 180 generates node indexes to represent the network nodes 106-134 in the network 102. For example, the controller generates/assigns node indexes 1 to 10 and 11 to 15 to the network nodes PEI to PE 10 and Pl to P5, respectively. After the controller generates the node indexes for each network node, the controller 180 further distributes the generated node indexes to one or more other network nodes 106-134 in the network 102. In an embodiment, the network controller 180 generates a message comprising a node index type length value (TLV) for network nodes 106- 134 in the network 102 and distributes the node index TLV to every' node in the network 102 through sending the node index TLV in the message to every node. The node index TLV comprises node identifiers indicative of node indexes corresponding to the network nodes. The node index of each network node is unique in the network 102.

[0054] FIG. 2A represents of a node index TLV 200 for network nodes. The node index TLV 200 comprises a type field 202, a length field 204, and a node identifiers field 206. The type field 202 includes a value that identifies a type of TLV and is upto 2 bytes in length. The value is to be assigned by the Internet Assigned Numbers Authority (IAN A) and is to be determined (TBD1). The length field 204 includes a value that identifies a length of the field 206 and is upto 2 bytes in length. The node identifiers field 206 comprises values of node identifiers for networks nodes 1 to N in order and each value is upto 4 bytes in length. The positions of the node identifiers in the TLV are indicative of node indexes corresponding to the network nodes. That is that the position of the node identifier of anode in the TLV indicates the node index of the node. A node having its identifier at the first position in the TLV has node index 1 of the node. A node having its identifier at the second position has node index 2 of the node. A node having its identifier at the N-th position has node index N of the node. For example, the node identifier for network node 1 is at the first position in the TLV, the node index of Nodel is 1 ; the node identifier for network node 2 is at the second position in the TLV, the node index of Node2 is 2; and the node identifier for network node N is at the N-th position in the TLV, the node index of NodeN is N.

[0055] FIG. 2B represents an example of a node index TLV 220 for network nodes 106-134 in the network 102. The node index TLV 220 comprising the type field 202, the length field 204, and a node identifiers field 208. The node identifiers field 208 comprises values of node identifiers. The positions of the node identifiers are indicative of node indexes corresponding to the network nodes. For example, a node identifier for network node PEI is at the first position in the TLV, which indicates that node index of the network node PEI is 1, a node identifier for network node PE10 is at 10-th position in the TLV, which indicates that node index of the network node PE2 is 10, a node identifier for network node Pl is at the 1 1 -th position in the TLV, which indicates that node index of the network node Pl is 11, a node identifier for network node P5 is at the 15-th position in the TLV, which indicates that node index of the network node P5 is 15, and so on. As such, the node Index TLV 220 represents that the node indexes of nodes PEI to PE10 and Pl to P5 are 1 to 10 and 11 to 15, respectively. The controller 180 generates and distributes these node indexes to the network nodes in different ways.

[0056] In an embodiment, when the network controller 180 is a PCE controller, the network controller 180 distributes a path computation update request message (e.g., a PCUpd message) comprising the node index TLV for the network nodes 106-134 in the network 102. [0057] In an embodiment, the controller utilizes IGP extensions (e.g., OSPFv2, OSPFv3, or IS-IS extensions) for distributing/ advertising node indexes configured on the network nodes 106- 134 in the network 102. For example, when the controller 180 runs an IGP extension to obtain the network topology information, the controller 180 uses the IGP to distribute the node indexes to every node in the network through originating a link state advertisement (LSA) with the node index TLV. In an embodiment, when the IGP is OSPFv2, the controller originates the LSA including the node index TLV. The LSA with the node index TLV is distributed to every node in the network automatically through OSPFv2 mechanism. In an embodiment, the LSA is an opaque LSA of LS Type 10 and a new opaque type for node indexes. In an embodiment, when the IGP is OSPFv3, the controller originates the LSA including the node index TLV. The LSA is anew OSPFv3 LSA called as node index LSA, having a function code of TBD2.

[0058] FIG. 3 is a schematic diagram of an IS-IS Node Index TLV 300 distributed to each network node by the controller 180. In an embodiment, when the controller 1 0 runs an IGP extension to obtain the network topology information, the controller 180 uses the IGP to distribute the node indexes to every node in the network through originating a link state protocol data unit (PDU) (LSP) with the node index TLV. For example, when the IGP is IS-IS, the controller originates an LSP including an IS-IS node index TLV. The LSP with the IS-IS node index TLV is distributed to every node in the network automatically through IS-IS mechanism. The IS-IS node index TLV 300 comprises a type field 302, a length field 304, and node identifiers field 306. The type field 302 includes a value that identifies a type of TLV and is upto 1 byte in length. In an embodiment, the value is to be assigned by the 1ANA and is TBD3. The length field 204 includes a value that identifies a length of the field 306 and is upto 1 byte in length. The node identifiers field 306 comprises values of IS-IS system node identifiers for networks nodes 1 to N in order and each value is upto 6 bytes in length. The positions of the node identifiers in the TLV are indicative of node indexes corresponding to the network nodes. [0059] In a second approach to achieve an efficient stateless multicast, every node generates a message comprising a node index type length value (TLV) and distributes the message to all other network nodes in the network. The node index TLV comprising a node index corresponding to the network node. The controller 180 gets the node index of each node from the network 102. This approach utilizes IGP extensions (e.g., OSPFv2, OSPFv3, or IS-IS extensions) for distributing/ advertising node indexes configured on the network nodes 106-134 in the network 102. The node index of each node is unique in the network 102.

[0060] FIGS . 4 A-4B are schematic diagrams of an OSPF node index TLV of a network node. In an embodiment, as shown in FIG. 4A, when OSPF runs in the network, the OSPF running on every node includes an OSPF node index TLV 400 for the node in a Router Information (RI) LSA. The RI LSA is used to advertise optional router information using RI LSA TLVs. The RI LSA TLV, called OSPF node index TLV, is defined to carry the node index configured on the node originating the RI LSA. For example, when OSPFv2 runs in the network, the OSPFv2 running on each node includes the OSPF node index TLV 400 The OSPF node index TLV 400 for the node comprises a type field 402, a length field 404, and anode index field 406. The type field 402 includes a value that identifies a type of TLV and is upto 2 bytes in length. The value is to be assigned by the IANA and is TBD4. The length field 404 includes a value that identifies a length of the field 406 and is upto 2 bytes in length. The value is set to 2. The node index field 406 comprises a value of node index configured on a node and is upto 2 bytes in length. The OSPF node index TLV 400 is applicable to both OSPFv2 and OSPFv3. For advertising a node index, the area-scoped RI LSA including the OSPF node index TLV 400 is used.

[0061] FIG. 4B represents an example OSPF node index TLV 420 for a network node. The OSPF node index TLV 420 comprising the type field 402, the length field 404, and anode index field 408. The node index field 408 comprises a value of node index for network node PE10 set to 10. The OSPFv2 running on PE10 includes the OSPF node index TLV 420 in the RI LSA originated by PE10. The OSPFv2 mechanism distributes the RI LSA to all the other nodes in the network. After receiving the RI LSA originated by PE10, each of the other nodes in the network knows that PElO’s node index is 10.

[0062] FIGS. 5A-5B are schematic diagrams of an IS-IS Node Index TLV or sub-TLV for a network node. In an embodiment as shown in FIG. 5A, when IS-IS runs in the network, the ISIS running on every node includes an IS-IS node index TLV or sub-TLV 500 for the node in an LSP. The IS-IS node index TLV or sub-TLV 500 is defined to carry the node index configured on the node originating the TLV or sub-TLV in its LSP. The IS-IS node index TLV or sub-TLV 500 comprises a type field 502, a length field 504, and node index field 506. The type field 502 includes a value that identifies a type of TLV or sub-TLV and is upto 1 byte in length. The value is to be assigned by the IANA and is TBD5. The length field 504 includes a value that identifies a length of the field 506 and is upto 1 byte in length. The value is set to 2. The node index field 506 comprises a value of node index configured on a node in the LSP of the node and is upto 2 bytes in length. For advertising a node index, the area-scoped LSP including a node index TLV or sub-TLV 500 is used. In one implementation, when IS-IS runs in the network, every node includes an IS-IS node index TLV 500 for the node in an LSP of the node. In another implementation, when IS-IS runs in the network, every node includes an IS-IS node index sub- TLV 500 for the node in a TLV in an LSP of the node, and wherein the TLV is an IS-IS Router CAPABILITY TLV.

[0063] FIG. 5B represents an example IS-IS node index TLV or sub-TLV 520 for a network node. The IS-IS node index TLV or sub-TLV 520 comprising the type field 502, the length field 504, and a node index field 508. The node index field 508 comprises a value of node index for network node P2 set to 12. In one implementation, the IS-IS running on P2 includes IS-IS node index TLV 520 in the LSP originated by P2. In another implementation, the IS-IS running on P2 includes IS-IS node index sub-TLV 520 in the IS-IS Router CAPABILITY TLV in the LSP originated by P2. The IS -IS mechanism distributes the LSP to all the other nodes in the network. After receiving the LSP originated by P2, each of the other network nodes in the network knows that P2’s node index is 12.

[0064] In a third approach to achieve an efficient stateless multicast, every network node in the network 102 orders the network nodes of the network 102 in a standard way or rule. For example, every node orders the network nodes in the network by the IDs of the nodes in an ascending order. After ordering the network nodes, every network node has the same sequence of the network nodes. The sequence of network nodes has the node index 1, 2, and so on respectively. The controller does the same work as a node and obtains the node indexes of the nodes. For example, suppose that the node IDs of the nodes PEI, PE2 to PE10 are 100010, 100009 to 100001 respectively. These network nodes are ordered by the IDs of the nodes in an ascending order as PE10 (with node ID 100001) to PE2 (with node ID 100009), PEI (with node ID 100010). Thus, PE10 has node index 1, PE2 has node index 9, PEI has node index 10, and so on. Every node orders the nodes in the same way and has the same node index for each node.

[0065] FIG. 6 is a schematic diagram of a node index address table 600 for a network node. After having the node indexes of the network nodes 106-134 in the network 102, every node builds and maintains a node index address table 600 for each type of layer 3 addresses. The node index address table 600 depicted in FIG. 6 is a representative portion of the node index IPv6 address table (layer 3) built on the network node 106 (e.g., PEI). As shown, the node index address table 600 includes two columns of information. The first column 602 identifies the node index (or number) of egress nodes PEI to PE10. The second column 604 identifies the IPv6 addresses of the next hops of the shortest paths to PEI to PE 10, respectively. The information such as next hop interface is used to forward a packet to the IPv6 address as a next hop is not shown in the table, which is the same as the corresponding information in the Forwarding

Information Base (FIB) of PEI. [0066] As shown in FIG. 6, the node index address table 600 comprises 10 rows of node index (or number) and IPv6 address of next hop. For example, the first row comprises node index 1 of network node PEI and the IPv6 address of next hop to PEI itself is NULL. The second row comprises node index 2 of egress node PE2 and the IPv6 address of the next hop node of the shortest path to PE2, which is IPv6 address of P 1 since the next hop to PE2 is P 1. The information such as the interface from PEI to Pl used to forward a packet to Pl (or IPv6 address of Pl) is not shown in the table. The third to ninth rows comprise node indexes 3-9 corresponding to egress nodes PE3-PE9, respectively and the IPv6 address of Pl since the next hop to each of PE2 to PE9 is PL The tenth row comprises node index 10 of egress node PE10 and the IPv6 address of the next hop to PE10, which is IPv6 address of PEI 0 since the next hop to PE10 is PE10. The information such as the interface from PEI to PE10 used to forward a packet to PE10 (or IPv6 address of PEI 0) is not shown in the table.

[0067] FIG. 7 is a schematic diagram of a node index MAC address table700 for a network node. After having the node indexes of the network nodes 106-1 4 in the network 102, every node builds and maintains a node index table for each type of layer 2 addresses. The node index table depicted in FIG. 7 is a representative portion of the node index MAC address table 700 (layer 2) built on the network node 106 (i. e. PEI ). As shown, the node index MAC address table 700 includes two columns of information. The first column 702 identifies the node index (or number) of egress nodes PEI to PE10. The second column 704 identifies the MAC addresses of the next hops of the shortest paths to PEI to PE10, respectively. The information such as next hop interface used to forward a packet to the MAC address as a next hop is not shown in the table, which is the same as the corresponding information in the Forwarding Information Base (FIB) of PEL

[0068] As shown in FIG. 7, the node index MAC address table 700 comprises 10 rows of node index (or number) and MAC address of next hop. For example, the first row comprises node index 1 of network node PEI and the MAC address of next hop to PEI itself is NULL. The second row comprises node index 2 of egress node PE2 and the MAC address of the next hop node of the shortest path to PE2, which is MAC address of Pl since the next hop to PE2 is PL The third to ninth rows comprise node indexes 3-9 corresponding to egress nodes PE3-PE9, respectively and the MAC address of Pl since the next hop to each of PE2 to PE9 is PL The tenth row comprises node index 10 of egress node PEI 0 and the MAC address of the next hop to PE10, which is MAC address of PE10 since the next hop to PE10 is PE10.

[0069] FIG. 8 is a schematic diagram of a node index table 800 for a network node. After having the node indexes of the network nodes 106-134 in the network 102, every node builds and maintains the node index table 800. As shown, the node index table 800 includes seven columns of information. The first column 802 identifies the node indexes (or numbers) of corresponding egress nodes. The second column 804 identifies the next hop interfaces from a network node to next hop nodes, respectively. The third column 806 identifies next hop node index. The fourth column 808 identifies IPv6 addresses of next hop nodes. The fifth column 810 identifies IPv4 addresses of next hop nodes. The sixth column 812 identifies MAC addresses of next hop nodes The seventh column 814 identifies another layer 2 address of next hop nodes.

[0070] As shown in FIG. 8, the node index table 800 of the network node Pl comprises 10 rows of node index (or number), next hop interface, next hop node index, two types of layer 3 addresses of next hop node, and two types of layer 2 addresses of next hop node. The 10 rows comprise node indexes of egress nodes PEI to PE10, next hop interfaces from Pl to next hop nodes, node indexes of next hop nodes, IPv6 addresses (layer 3) of next hop nodes, IPv4 addresses (layer 3) of next hop nodes, MAC addresses (layer 2) of next hop nodes and another layer 2 addresses of next hop nodes. For example, the node indexes of egress nodes PEI to PE10 are 1 to 10, respectively. The node indexes of transit nodes Pl to P5 are 11 to 15, respectively.

For example, the first row comprises node index 1 of egress node PEI, next hop interface Pl ->PEI . next hop node PEl’s index 1, next hop node PEl’s IPv6 address, next hop node PEl’s IPv4 address, next hop node PEl’s (layer 2) MAC address, and next hop node PEl ’s another type of layer 2 address. The second row comprises node index 2 of egress node PE2, next hop interface P I ->P2. next hop node P2’s index 12, next hop node P2’s IPv6 address, next hop node P2’s IPv4 address, next hop node P2’s (layer 2) MAC address, and next hop node P2’s another type of layer 2 address. The fourth row comprises node index 4 of egress node PE4, next hop interface Pl -AP5. next hop node P5’s index 15, P5’s IPv6 address, P5’s IPv4 address, P5’s (layer 2) MAC address, and P5’s another type of layer 2 address. The tenth row comprises node index 10 of egress node PE10, next hop interface P1 - PE1, next hop node PEl’s index 1, PEl’s IPv6 address, PEl ’s IPv4 address, PEl’s (layer 2) MAC address, and PEl’s another type of layer 2 address.

[0071] FIG. 9 is a method implemented by a network node according to an embodiment of the disclosure. The method may be performed by the network node to facilitate the distribution of the node index configured on the node to network nodes within the network. In block 902, the network node generates a message comprising a node index type length value (TLV) or sub-TLV. The node index TLV or sub-TLV comprising a node index corresponding to the network node, wherein the node index TLV is an open shortest path first (OSPF) node index TLV or an intermediate system-intermediate system (IS-IS) node index TLV, and wherein the node index sub-TLV is an IS-IS node index sub-TLV used in a TLV. In block 904, the network node distributes the message to one or more other network nodes in the network through originating a link state advertisement (LSA) with the OSPF node index TLV. In block 906, the network node distributes the message to one or more other network nodes in the network through originating a link state protocol data unit (PDU) (LSP) with the IS-IS node index TLV. In block

908, the network node distributes the message to one or more other network nodes in the network through originating a link state protocol data unit (PDU) (LSP) with IS-IS node index sub-TLV. In an embodiment, the OSPF node index TLV comprises a first Type field, a first Length field, and a first Node Index field with a first value indicating the node index, wherein the IS -IS node index TLV comprises a second Type field, a second Length field, and a second Node Index field with a second value indicating the node index, and wherein the IS -IS node index sub-TLV comprises a third Type field, a third Length field, and a third Node Index field with a third value indicating the node index. In an embodiment, the OSPF node index TLV is distributed to each network node in an OSPF router information (RI) link state advertisement (LSA). In an embodiment, the IS-IS node index TLV is distributed to each network node in the LSP. In an embodiment, the IS-IS node index sub-TLV is distributed to each network node in a TLV in the LSP, and wherein the TLV is an IS-IS Router CAPABILITY TLV. In an embodiment, each network node orders all network nodes in the network by node identifiers in an ascending order, and wherein the positions of the node identifiers are indicative of node indexes corresponding to the network nodes in the network.

[0072] FIG. 10 is a method implemented by a controller according to an embodiment of the disclosure. The method may be performed by the controller to facilitate the distribution of the node index configured on the node to network nodes within the network. In block 1002, the controller generates a message comprising a node index type length value (TLV) for network nodes in a network, wherein the node index TLV comprises node identifiers, wherein the positions of the node identifiers are indicative of node indexes corresponding to the network nodes. In block 1004, the controller distributes the message to each network node in the network through originating a path computation update request (PCUpd), link state advertisement (LSA) or link state protocol data unit (PDU) (LSP) with the node index TLV. In an embodiment, the PCUpd comprising an Open Shortest Path First (OSPF) node index TLV, and wherein the

OSPF node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes. In an embodiment, the LSA is an Open Shortest Path First (OSPF) router information (RI) LSA comprising an OSPF node index TLV, and wherein the OSPF node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes. In an embodiment, the LSP comprising an intermediate system-intermediate system (IS-IS) node index TLV, and wherein the IS-IS node index TLV comprises the node identifiers whose positions in the TLV are indicative of the node indexes.

[0073] FIG. 11 is a schematic diagram of a network apparatus 1100 (e.g., a network node, a destination node, a neighbor node, etc.). The network apparatus 1100 is suitable for implementing the disclosed embodiments as described herein. The network apparatus 1100 comprises ingress ports/ingress means 1110 and receiver units (Rx)/receiving means 1120 for receiving data; a processor, logic unit, or central processing unit (CPU)/processing means 1130 to process the data; transmitter units (Tx)/transmitting means 1140 and egress ports/egress means 1150 for transmitting the data; and a memory/memory means 1160 for storing the data. The network apparatus 1100 may also comprise optical-to-electrical (OE) components and electrical-to- optical (EO) components coupled to the ingress ports/ingress means 1110, the receiver units/receiving means 1 120, the transmitter units/transmitting means 1 140, and the egress ports/egress means 1 150 for egress or ingress of optical or electrical signals.

[0074] The processor/processing means 1130 is implemented by hardware and software. The processor/processing means 1130 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/processing means 1130 is in communication with the ingress ports/mgress means 1110, receiver units/receiving means 1120, transmitter units/transmitting means 1140, egress ports/egress means 1150, and memory/memory means 1160. The processor/processing means 1130 comprises a routing module 1170. The routing module 1170 is able to implement the methods disclosed herein. The inclusion of the routing module 1170 therefore provides a substantial improvement to the functionality of the network apparatus 1100 and effects a transformation of the network apparatus 1100 to a different state. Alternatively, the routing module 1170 is implemented as instructions stored in the memory/memory means 1160 and executed by the processor/processing means 1130.

[0075] The network apparatus 1100 may also include input and/or output (I/O) devices or I/O means 1180 for communicating data to and from a user. The I/O devices or I/O means 1180 may include output devices such as a display for displaying video data, speakers for outputting audio data, etc. The I/O devices or I/O means 1180 may also include input devices, such as a keyboard, mouse, trackball, etc., and/or corresponding interfaces for interacting with such output devices.

[0076] The memory/memory means 1160 comprises one or more disks, tape drives, and solid-state drives and 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. The memory/memory means 1160 may be volatile and/or non-volatile and may be read-only memory (ROM), random access memory (RAM), ternary content-addressable memory (TCAM), and/or static random-access memory (SRAM).

[0077] FIG. 12 is an example of a device 1200 for communicating a packet comprising node index. In an example, the device 1200 includes a receiving module 1201 for receiving a packet. The device 1200 also includes a processing module 1203 for processing the packet. The device 1200 includes a storing module 1205 for storing the packet. The device 1200 also includes a transmitting module 1207 for communicating the packet across a network.

[0078] While several embodiments have been provided in the present disclosure, it may be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.

[0079] In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, components, techniques, or methods without departing from the scope of the present disclosure. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and may be made without departing from the spirit and scope disclosed herein.