WO2020049577A1 - Network node, first node, second node and methods performed thereby for routing a packet through a path - Google Patents
Network node, first node, second node and methods performed thereby for routing a packet through a path Download PDFInfo
- Publication number
- WO2020049577A1 WO2020049577A1 PCT/IN2018/050580 IN2018050580W WO2020049577A1 WO 2020049577 A1 WO2020049577 A1 WO 2020049577A1 IN 2018050580 W IN2018050580 W IN 2018050580W WO 2020049577 A1 WO2020049577 A1 WO 2020049577A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- path
- node
- nodes
- packet
- single identifier
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
Definitions
- Figure 7 is a schematic diagram illustrating an example of routing of a packet in a communications network, according to embodiments herein.
- FIG. 2 An example of this fourth problem is depicted in the example depicted by the schematic diagram of Figure 2.
- three types of traffic 20 flow between two nodes in a communications network, from a head end node 21, to a tail end node 22: low latency traffic 23, Voice Over Internet Protocol (VOIP) traffic 24 and data traffic 25.
- VOIP Voice Over Internet Protocol
- SR Voice Over Internet Protocol
- the programmed SIDs at the head end node 21 will remain the same for all 3 streams. In this scenario, the head end node 21 and the tail end node 22 are not able to prioritize one traffic over another.
- any of the first link 141, the second link 142, the third link 143 and the respective links may be understood to be able to be comprised of a plurality of individual links. Any of the first link 141, the second link 142, the third link 143 and the respective links may be a direct link or it may go via one or more computer systems or one or more core networks in the communications network 100, which are not depicted in Figure 3, or it may go via an optional intermediate network.
- the intermediate network may be one of, or a combination of more than one of, a public, private or hosted network; the intermediate network, if any, may be a backbone network or the Internet; in particular, the intermediate network may comprise two or more sub-networks, which is not shown in Figure 3.
- the network node 101 may need to instruct at least one of the first nodes in the plurality of first nodes 110 about how to route the packet based on the determined path. This may typically be head node of the path.
- the network node 101 determines a single identifier. The single identifier identifies the path, comprising the plurality of first nodes 110 and their order, to be followed by the packet in the communications network 100.
- the communications network 100 may be an SR network
- the plurality of first nodes 110 and their order in the path may be understood to correspond to a plurality of segments, and their order.
- An advantage provided by this Action 401 is that the complete path and/or flow may be programmed by a single identifier, e.g., a single SID.
- the network node 101 e.g., the controller, may be able to program the path, which may be an LSP path, very quickly.
- the above configured information may be flooded in the domain by the first second node 111 in the path or by any other node, for example, by using IGPs with the help of new options.
- This information may be available on every node in the domain with, e.g., the Link State Database (LSDB) flooding.
- LSDB Link State Database
- SPFs Shortest Paths First
- the information may be advertised by using a new packet type also, so that IGPs may avoid the SPF calculation when this information may be received.
- the network node 101 may be able to program the complete path just by communicating with the first first node 111, here the headend node, since the network node 101 may be understood to no longer need to be concerned with any hardware constraint in the first nodes in the plurality of first nodes 110 limiting their ability to a certain number of identifiers, e.g., their MSD.
- An advantage provided by this Action 403 is that the network node 101 may be able to reduce the programming time of the path.
- the network node 101 may obtain, from a second node, e.g., the first second node 121, in the plurality of second nodes 120, information on traffic of packets in the plurality of second nodes 120.
- the network node 101 may make use of that existing second single identifier so that delay in provisioning the path may be avoided.
- the network node 101 may monitor the real time traffic, so that it may take decisions in switching the paths with less operator involvement.
- the network node 101 may be enabled to dynamically switch the paths based on real time traffic, without maintaining any state in the intermediate first nodes.
- the network node 101 may, in this Action 406, send, to another first node, e.g., the second first node 112, in the first path, a second instruction to route the packet through the second path.
- the second instruction may comprise a second indicator of the second single identifier.
- the method may comprise one or more of the following actions.
- Several embodiments are comprised herein. In some embodiments all the actions may be performed. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. It should be noted that the examples herein are not mutually exclusive. Components from one example may be tacitly assumed to be present in another example and it will be obvious to a person skilled in the art how those components may be used in the other examples. In Figure 5, optional actions are indicated with dashed boxes. The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the network node 101, and will thus not be repeated here to simplify the description.
- the communications network 100 may be an SR network.
- the path may be an LSP.
- the first first node 111 receives , from the network node 101 operating in the communications network 100, the first instruction to route the packet through the path.
- the routing is based on the single identifier.
- the single identifier identifies the path, comprising the plurality of first nodes 110 and their order, to be followed by the packet in the communications network 100.
- the first instruction comprises an indicator of the single identifier.
- the receiving in this Action 501 may be implemented, e.g., via the first link 141.
- the single identifier may further indicate the one or more of the one or more constraints.
- the single identifier may further indicate the flow of the plurality of flows routed between any two first nodes of the plurality of first nodes 110.
- the single identifier may be a single SID.
- the first first node 111 sends the indicator of the single identifier to the remaining second nodes 120 in the communications network 100.
- the sending in this Action 502 may be understood as advertising, or flooding.
- the sending in this Action 502 may be implemented, e.g., via the fourth link 144.
- the Label Forwarding Information Base may look as follows. Since the first first node 111, with IP address 1.1.1.1, is in the top of the list, the first first node 111 may push this indicator of the single identifier:
- the traffic type is identified by the DSCP value.
- the first first node 111 may initiate the routing of the packet through the path, based on the received first instruction. That is, the first first node 111, in this Action 503, may initiate forwarding the packet to the next first node in the path, as indicated by the indicator.
- the initiating the routing may comprise setting a tunnel, based on the received first instruction.
- the initiating of the routing in this Action 503 may be implemented, e.g., via the fourth link 144.
- the sending in this Action 504 may be implemented, e.g., via the first link 141.
- the single identifier may be considered the first single identifier
- the path may be considered the first path
- the indicator may be considered the first indicator.
- the first first node 111 may receive, from the network node 101, the second instruction to route the packet through the second path.
- the second instruction may comprise the second indicator of the second single identifier.
- the first first node 111 in this Action 506, may initiate the routing of the packet through the second path, based on the received second instruction.
- the method is for routing the packet through the path.
- the path comprises the plurality of first nodes 110 out of the plurality of second nodes 120.
- the second first node 112 and the plurality of second nodes 120 operate in the communications network 100.
- the method may comprise one or more of the following actions.
- Several embodiments are comprised herein. In some embodiments all the actions may be performed. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. It should be noted that the examples herein are not mutually exclusive. Components from one example may be tacitly assumed to be present in another example and it will be obvious to a person skilled in the art how those components may be used in the other examples. In Figure 6, optional actions are indicated with dashed boxes.
- the communications network 100 may be an SR network.
- the path may be an LSP.
- the second first node 112, in this Action 601 receives, from the first first node 111 operating in the communications network 100, the indicator of the single identifier.
- the single identifier identifies the path, comprising the plurality of first nodes 110 and their order, to be followed by the packet in the communications network 100.
- the receiving in this Action 601 may be implemented, e.g., via the fourth link 144.
- the single identifier may further indicate the one or more of the one or more constraints.
- the single identifier may further indicate the flow of the plurality of flows routed between any two first nodes of the plurality of first nodes 110.
- the single identifier may be a single SID.
- the LFIB entry may look as follows:
- the second first node 112 routes the packet through the path, based on the received indicator, in the absence from direct signalling from a network node 101 operating in the communications network 100.
- the network node 101 being the controller of the path.
- the routing in this Action 602 may comprise setting a tunnel, based on the received indicator.
- the routing in this Action 602 may be implemented, e.g., via the eighth link 148.
- the second first node 112 in the example of Figure 3, with IP address 2.2.2.2, may be understood to know that its downstream node in the plurality of first nodes 110 is the fifth first node 115, with IP address 6.6.6.6, as per the first instruction. Therefore, it may pass the incoming packet in the“6.6.6.6” direction. If there is an Equal Cost Multi Path (ECMP) path to 6.6.6.6, it may be used as it is. That is, it may be ECMP aware. This may be understood, in this example, as that if there are multiple links between R2 and R6, all may be used to load balance the traffic.
- ECMP Equal Cost Multi Path
- the LFIB programming may look as follows:
- the second first node 112 in examples wherein the second first node 112 may be the egress node, which does not correspond to the example depicted in Figure 3, may know that this is the last node in the configuration. Therefore, it may remove that label, 70, and Lookup may happen on Next Header.
- the second first node 112 may, in this Action 603, send, to the network node 101, the information on the traffic of packets in the plurality of second nodes 120.
- the sending in this Action 603 may be implemented, e.g., via the second link 142.
- the single identifier may be considered the first single identifier
- the path may be considered the first path
- the indicator may be considered the first indicator.
- the second first node 112, in this Action 604 may receive, from the network node 101, the second instruction to route the packet through the second path.
- the second instruction may comprise the second indicator of the second single identifier.
- the second single identifier may identify the second path for routing the packet. The receiving in this Action 604 of the second instruction may be based on the information sent to the network node 101 in Action 603.
- the receiving in this Action 603 may be implemented, e.g., via the second link 142.
- the second instruction may be received only by the headend node, e.g., the first first node 111 in the non-limiting example of Figure 3. And therefore the second path may also originate from the headend node.
- the second first node 112, in this Action 605, may route the packet through the second path, based on the received second instruction.
- Figure 7 is a schematic diagram depicting a non-limiting example of routing of a packet, according to embodiments herein.
- the network node 101 at run time, performs traffic monitoring by obtaining, according to Action 404, the information on the traffic, as provided by the first first node 111 at Action 504, and the second first node 112, at Action 603.
- the network node 101 based on traffic load, performs dynamic path provisioning via PCEP, whereby the network node 101 may switch the path to be followed by the packet dynamically.
- the network node 101 may find an alternate path such as the second path in Action 405, and program it to the underlying forwarding nodes using, in this particular example, PCEP, according to this Action 406.
- the network node 101 via PCEP, may then forward this to the IGPs.
- the first first node 111 at Action 505, and the second first node 112, at Action 604, receive the second instruction, and the IGPs, at 703, may then flood this information in the whole plurality of second nodes 120, that is, the entire domain using, for example, LSDB flooding.
- all nodes in the plurality of second nodes 120 may be programmed with the second single identifier, e.g., a new SID, dynamically at run time.
- the network node 101 may map the incoming traffic at the headend node with this second single identifier.
- the network node 101 may be able to dynamically program the paths based on real time traffic monitoring.
- LSP Label Switched Path
- Yet another advantage of embodiments herein is that they allow to eliminate the restriction with MSD. Therefore, users may be enabled to use the hardware of their choice, which in turn may be understood to reduce the overall cost for the users.
- Embodiments herein may provide for 100% Topology Independent Loop Free Alternate (TI-LFA) protection with only one identifier, e.g. a SID.
- TI-LFA Topology Independent Loop Free Alternate
- Another advantage of embodiments herein is that they enable the network node 101, or the network operator, complete control of the path, such as RSVP path provisioning, irrespective of MSD of the nodes. This may solve lot of problems that 5G is facing. Based on the customer SLA, the network node 101, or the network operator, may forward the traffic based on the one or more requirements.
- forwarding nodes may easily differentiate the traffic, even though multiple streams may be going on the common path.
- the different type of traffic may be encoded with different identifiers, e.g., SIDs, and the same identifier, SID, may be maintained across the path, e.g., SR path. Therefore, the QoS may be applied more effectively. And the same QoS policies may be programmed on all nodes.
- each stream may be able to carry a different identifier, e.g., SID, based on the policy.
- embodiments herein enable centralized QoS, because of the common identifier.
- IGPs may be enhanced to flood the QoS policies across the domain, so configuring on one node/at controller is sufficient. This may be understood to reduce the burden of the network operator, heavily by eliminating the need to configure the QoS policy on every node.
- the complete path and/or flow may be represented by a single SID.
- the network node 101, or the network operator, may be able to configure the path without needing to worry about hardware limitations and binding SIDs.
- debugging is lot simpler. Because complete flow is represented by a single identifier, e.g., 1-SID, which is unique across the domain, and it is not shared with other type of traffic. In contrast, with prior methods in SR, the same identifier, e.g., the same SID, may be used by multiple streams, so a user may not be able to differentiate the traffic.
- 1-SID a single identifier
- SID e.g., the same SID
- embodiments herein enable better traffic distribution across multiple paths using telemetry.
- a controller may be able to monitor real time traffic using telemetry, and do the load balancing using weightage across the paths.
- embodiments herein enable efficient path utilization in case of ECMP/ Link aggregation (LAG). That is, if there are two paths to reach a destination, by monitoring the traffic load on both paths, it may be avoided that traffic may go on one path, and other path is idle.
- LAG Link aggregation
- Another advantage of embodiments herein is that the number of identifiers, e.g., SIDs, that may be needed in the domain will be much less when compared to previous methods. This is because the same identifier, e.g. SID, may be used for multiple streams which may need common treatment.
- Figure 8 depicts two different examples in panels a) and b), respectively, of the arrangement that the network node 101 may comprise to perform the method actions described above in relation to Figure 4.
- the network node 101 may comprise the following arrangement depicted in Figure 8a.
- the network node 101 is configured to route the packet through the path.
- the path is configured to comprise the plurality of first nodes 110 out of the plurality of second nodes 120.
- the network node 101 and the plurality of second nodes 120 are configured to operate in the communications network 100.
- the network node 101 is configured to, e.g. by means of a determining unit 801 within the network node 101 configured to, determine the single identifier.
- the single identifier is configured to identify the path, comprising the plurality of first nodes 110 and their order, to be followed by the packet in the communications network 100,
- the network node 101 may be further configured to, e.g. by means of the determining unit 801 within the network node 101 further configured to, determine the second single identifier for the second path for routing the packet.
- the determining of the second path may be configured to be based on the information configured to be received from the first second node 121.
- the network node 101 is also configured to, e.g. by means of a sending unit 802 within the network node 101 configured to, send, to the first first node 111 in the path, the first instruction to route the packet through the path.
- the first instruction is configured to comprise the indicator of the single identifier.
- the single identifier may be further configured to indicate one or more of the one or more constraints.
- the single identifier may be further configured to indicate the flow of a plurality of flows configured to be routed between any two first nodes of the plurality of first nodes 110.
- the network node 101 may be further configured to, e.g. by means of a refraining unit 803 within the network node 101 configured to, refrain from sending the first instruction to any of the remaining first nodes in the plurality of first nodes 110.
- the single identifier may be considered the first single identifier
- the path may be considered the first path
- the indicator may be considered the first indicator.
- the network node 101 may be further configured to, e.g. by means of an obtaining unit 804 within the network node 101 configured to, obtain, from the first second node 121 configured to be in the plurality of second nodes 120, the information on the traffic of packets in the plurality of second nodes 120.
- the network node 101 may be further configured to, e.g. by means of the sending unit 802 within the network node 101 configured to, send, to the second first node 112 in the first path, the second instruction to route the packet through the second path.
- the second instruction may be configured to comprise the second indicator of the second single identifier.
- the single identifier may be a single SID.
- the network node 101 may further comprise a memory 806 comprising one or more memory units.
- the memory 806 is arranged to be used to store obtained information, store data, configurations, schedulings, and applications etc. to perform the methods herein when being executed in the network node 101.
- the processor 805 in the network node 101 may be further configured to transmit or send information to e.g., the first first node 111, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121, and/or any of the second nodes in the plurality of second nodes 120, through a sending port 808, which may be in communication with the processor 805, and the memory 806.
- a sending port 808 which may be in communication with the processor 805, and the memory 806.
- the determining unit 801, the sending unit 802, the refraining unit 803, and the obtaining unit 804 described above may refer to a combination of analog and digital circuits, and/or one or more processors configured with software and/or firmware, e.g., stored in memory, that, when executed by the one or more processors such as the processor 805, perform as described above.
- processors as well as the other digital hardware, may be included in a single Application- Specific Integrated Circuit (ASIC), or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a System-on-a-Chip (SoC).
- ASIC Application- Specific Integrated Circuit
- SoC System-on-a-Chip
- any of the determining unit 801, the sending unit 802, the refraining unit 803, and the obtaining unit 804 described above may be the processor 805 of the network node 101, or an application running on such processor 805.
- the methods according to the embodiments described herein for the network node 101 may be respectively implemented by means of a computer program 809 product, comprising instructions, i.e., software code portions, which, when executed on at least one processor 805, cause the at least one processor 805 to carry out the actions described herein, as performed by the network node 101.
- the computer program 809 product may be stored on a computer-readable storage medium 810.
- the computer-readable storage medium 810, having stored thereon the computer program 809 may comprise instructions which, when executed on at least one processor 805, cause the at least one processor 805 to carry out the actions described herein, as performed by the network node 101.
- the computer-readable storage medium 810 may be a non-transitory computer-readable storage medium, such as a CD ROM disc, a memory stick, or stored in the cloud space.
- the computer program 809 product may be stored on a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium 810, as described above.
- the network node 101 may comprise an interface unit to facilitate communications between the network node 101 and other nodes or devices, e.g., the first first node 111.
- the interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
- the network node 101 may comprise the following arrangement depicted in Figure 8b.
- the network node 101 may comprise a processing circuitry 805, e.g., one or more processors such as the processor 805, in the network node 101 and the memory 806.
- the network node 101 may also comprise a radio circuitry 811, which may comprise e.g., the receiving port 807 and the sending port 808.
- the processing circuitry 805 may be configured to, or operable to, perform the method actions according to Figure 4, in a similar manner as that described in relation to Figure 4a.
- the radio circuitry 411 may be configured to set up and maintain at least a wireless connection with the first first node 111, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121 and/or any of the second nodes in the plurality of second nodes 120. Circuitry may be understood herein as a hardware component.
- embodiments herein also relate to the network node 101 operative to route the packet through the path.
- the path may be operative to comprise the plurality of first nodes 110 out of the plurality of second nodes 120.
- the network node 101 and the plurality of second nodes 120 may be operative to operate in the communications network 100.
- the network node 101 may comprise the processing circuitry 805 and the memory 806, said memory 806 containing instructions executable by said processing circuitry 805, whereby the network node 101 is further operative to perform the actions described herein in relation to the network node 101, e.g., in Figure 4.
- the path may be a Label Switched Path (LSP).
- LSP Label Switched Path
- the network node 101 is configured to, e.g. by means of a receiving unit 901 within the first first node 111 configured to, receive, from the network node 101 configured to operate in the communications network 100, the first instruction to route the packet through the path.
- the routing is configured to be based on the single identifier.
- the single identifier is configured to identify the path, comprising the plurality of first nodes 110 and their order, to be followed by the packet in the communications network 100.
- the first instruction is configured to comprise the indicator of the single identifier.
- the first first node 111 may be further configured to, e.g. by means of the receiving unit 901 within the first first node 111 further configured to, receive, from the network node 101, the second instruction to route the packet through the second path.
- the second instruction may be configured to comprise the second indicator of the second single identifier.
- the second single identifier may be configured to identify the second path for routing the packet.
- the receiving of the second instruction may be configured to be based on the information configured to be sent to the network node 101.
- the first first node 111 is also configured to, e.g. by means of a sending unit 902 within the first first node 111 configured to, send the indicator of the single identifier to the remaining second nodes 120 in the communications network 100.
- the single identifier may be further configured to indicate one or more of the one or more constraints.
- the single identifier may be further configured to indicate the flow of a plurality of flows configured to be routed between any two first nodes of the plurality of first nodes 110.
- the first first node 111 may be further configured to, e.g. by means of an initiating unit 903 within the first first node 111 configured to, initiate the routing of the packet through the path, based on the first instruction configured to be received.
- the single identifier may be considered the first single identifier
- the path may be considered the first path
- the indicator may be considered the first indicator.
- the first first node 111 may be further configured to, e.g. by means of an obtaining unit 804 within the first first node 111 configured to, obtain, from the first second node 121 configured to be in the plurality of second nodes 120, the information on the traffic of packets in the plurality of second nodes 120.
- the single identifier may be considered the first single identifier
- the path may be considered the first path
- the indicator may be considered the first indicator
- the first first node 111 may be further configured to, e.g. by means of the sending unit 902 within the first first node 111 configured to, send, to the network node 101, the information on the of packets in the plurality of second nodes 120.
- the first first node 111 may be further configured to, e.g. by means of the initiating unit 903 within the first first node 111 configured to, initiate the routing of the packet through the second path, based on the second instruction configured to be received.
- the single identifier may be a single SID.
- the communications network 100 may be an SR network.
- the first first node 111 may receive information from, e.g., the network node 101, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121, and/or any of the second nodes in the plurality of second nodes 120, through a receiving port 906.
- the receiving port 906 may be, for example, connected to one or more antennas in first first node 111.
- the network node 101 first first node 111 may receive information from another structure in the communications network 100 through the receiving port 906. Since the receiving port 906 may be in communication with the processor 904, the receiving port 906 may then send the received information to the processor 904.
- the receiving port 906 may also be configured to receive other information.
- the processor 904 in the first first node 111 may be further configured to transmit or send information to e.g., the network node 101, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121, and/or any of the second nodes in the plurality of second nodes 120, through a sending port 907, which may be in communication with the processor 904, and the memory 905.
- a sending port 907 which may be in communication with the processor 904, and the memory 905.
- any of the receiving unit 901, the sending unit 902, and the initiating unit 903 described above may be the processor 904 of the first first node 111, or an application running on such processor 904.
- the methods according to the embodiments described herein for the first first node 111 may be respectively implemented by means of a computer program 908 product, comprising instructions, i.e., software code portions, which, when executed on at least one processor 904, cause the at least one processor 904 to carry out the actions described herein, as performed by the first first node 111.
- the computer program 908 product may be stored on a computer-readable storage medium 909.
- the computer-readable storage medium 909, having stored thereon the computer program 908, may comprise instructions which, when executed on at least one processor 904, cause the at least one processor 904 to carry out the actions described herein, as performed by the first first node 111.
- the computer-readable storage medium 909 may be a non-transitory computer-readable storage medium, such as a CD ROM disc, a memory stick, or stored in the cloud space.
- the computer program 908 product may be stored on a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium 909, as described above.
- the first first node 111 may comprise an interface unit to facilitate communications between the first first node 111 and other nodes or devices, e.g., the network node 101.
- the interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
- the first first node 111 may comprise the following arrangement depicted in Figure 9b.
- the first first node 111 may comprise a processing circuitry 904, e.g., one or more processors such as the processor 904, in the first first node
- the first first node 111 may also comprise a radio circuitry 910, which may comprise e.g., the receiving port 906 and the sending port 907.
- the processing circuitry 904 may be configured to, or operable to, perform the method actions according to Figure 5, in a similar manner as that described in relation to Figure 5a.
- the radio circuitry 411 may be configured to set up and maintain at least a wireless connection with the network node 101, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121 and/or any of the second nodes in the plurality of second nodes 120. Circuitry may be understood herein as a hardware component.
- inventions herein also relate to the first first node 111 operative to route the packet through the path.
- the path may be operative to comprise the plurality of first nodes 110 out of the plurality of second nodes 120.
- the first first node 111 and the plurality of second nodes 120 may be operative to operate in the communications network 100.
- the network node 101 may comprise the processing circuitry 904 and the memory 905, said memory 905 containing instructions executable by said processing circuitry 904, whereby the first first node 111 is further operative to perform the actions described herein in relation to the first first node 111, e.g., in Figure 5.
- Figure 10 depicts two different examples in panels a) and b), respectively, of the arrangement that the second first node 112 may comprise to perform the method actions described above in relation to Figure 6.
- the second first node 112 may comprise the following arrangement depicted in Figure 10a.
- the second first node 112 is configured to route the packet through the path.
- the path is configured to comprise the plurality of first nodes 110 out of the plurality of second nodes 120.
- the path may be a Label Switched Path (LSP).
- LSP Label Switched Path
- the second first node 112 is configured to, e.g. by means of a receiving unit 1001 within the second first node 112 configured to, receive, from the first first node 111 operating in the communications network 100, the indicator of the single identifier.
- the single identifier is configured to identify the path, comprising the plurality of first nodes 110, and their order, to be followed by the packet in the communications network 100.
- the second first node 112 may be further configured to, e.g. by means of the receiving unit 1001 within the second first node 112 further configured to, receive, from the network node 101, the second instruction to route the packet through the second path.
- the second instruction may be configured to comprise the second indicator of the second single identifier.
- the second single identifier may be configured to identify the second path for routing the packet.
- the receiving of the second instruction may be configured to be based on the information configured to be sent to network node 101.
- the second first node 112 is further configured to, e.g. by means of a routing unit 1002 within the second first node 112 configured to, route the packet through the path, based on the indicator configured to be received, in the absence from direct signalling from the network node 101 configured to operate in the communications network 100.
- the network node 101 is configured to be the controller of the path.
- the communications network 100 may be an SR network.
- the processor 1004 in the second first node 112 may be further configured to transmit or send information to e.g., the network node 101, the first first node 111, any of the other first nodes in the plurality of first nodes 110, the first second node 121, and/or any of the second nodes in the plurality of second nodes 120, through a sending port 1007, which may be in communication with the processor 1004, and the memory 1005.
- a sending port 1007 which may be in communication with the processor 1004, and the memory 1005.
- the methods according to the embodiments described herein for the second first node 112 may be respectively implemented by means of a computer program 1008 product, comprising instructions, i.e., software code portions, which, when executed on at least one processor 1004, cause the at least one processor 1004 to carry out the actions described herein, as performed by the second first node 112.
- the computer program 1008 product may be stored on a computer-readable storage medium 1009.
- the computer- readable storage medium 1009, having stored thereon the computer program 1008, may comprise instructions which, when executed on at least one processor 1004, cause the at least one processor 1004 to carry out the actions described herein, as performed by the second first node 112.
- the computer-readable storage medium 1009 may be a non-transitory computer-readable storage medium, such as a CD ROM disc, a memory stick, or stored in the cloud space.
- the computer program 1008 product may be stored on a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium 1009, as described above.
- the second first node 112 may comprise an interface unit to facilitate communications between the second first node 112 and other nodes or devices, e.g., the first first node 111.
- the interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
- the second first node 112 may comprise the following arrangement depicted in Figure 10b.
- the second first node 112 may comprise a processing circuitry 1004, e.g., one or more processors such as the processor 1004, in the second first node 112 and the memory 1005.
- the second first node 112 may also comprise a radio circuitry 1010, which may comprise e.g., the receiving port 1006 and the sending port 1007.
- the processing circuitry 1004 may be configured to, or operable to, perform the method actions according to Figure 6, in a similar manner as that described in relation to Figure 6a.
- the radio circuitry 411 may be configured to set up and maintain at least a wireless connection with the network node 101, the first first node 111, any of the other first nodes in the plurality of first nodes 110, the first second node 121 and/or any of the second nodes in the plurality of second nodes 120. Circuitry may be understood herein as a hardware component.
- embodiments herein also relate to the second first node 112 operative to route the packet through the path.
- the path may be operative to comprise the plurality of first nodes 110 out of the plurality of second nodes 120.
- the second first node 112 and the plurality of second nodes 120 may be operative to operate in the communications network 100.
- the second first node 112 may comprise the processing circuitry 1004 and the memory 1005, said memory 1005 containing instructions executable by said processing circuitry 1004, whereby the second first node 112 is further operative to perform the actions described herein in relation to the second first node 112, e.g., in Figure 6.
- the expression“at least one of:” followed by a list of alternatives separated by commas, and wherein the last alternative is preceded by the“and” term may be understood to mean that only one of the list of alternatives may apply, more than one of the list of alternatives may apply or all of the list of alternatives may apply.
- This expression may be understood to be equivalent to the expression“at least one of:” followed by a list of alternatives separated by commas, and wherein the last alternative is preceded by the“or” term.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Methods for routing a packet through a path are described herein. The path comprises a plurality of first nodes (110) out of a plurality of second nodes (120). The plurality of second nodes (120) operate in a communications network (100). A network node (101) operating in the communications network (100) determines (401) a single identifier. The single identifier identifies the path, comprising the plurality of first nodes (110) and their order, to be followed by the packet. The network node (101) also sends (402), to a first first node (111) in the path, a first instruction to route the packet through the path. The first instruction comprises an indicator of the single identifier. The first first node (111) receives the first instruction and sends the indicator of the single identifier to the remaining second nodes (120). A second first node (112) operating in the communications network (100) routes the packet, based on the indicator.
Description
NETWORK NODE, FIRST NODE, SECOND NODE AND METHODS PERFORMED THEREBY FOR ROUTING A PACKET THROUGH A PATH
TECHNICAL FIELD
The present disclosure relates generally to a network node and methods performed thereby for for routing a packet through a path. The present disclosure also relates generally to a first first node, and methods performed thereby for routing a packet through a path. The present disclosure also relates generally to a second first node, and methods performed thereby for routing a packet through a path.
BACKGROUND
Computer systems in a communications network may comprise one or more nodes, which may also be referred to simply as nodes. A node may comprise one or more processors which, together with computer program code may perform different functions and actions, a memory, a receiving and a sending port. A node may be, for example, a router.
Segment Routing (SR) may be understood as a form of computer networking, which leverages the source routing paradigm. In SR, a node may steer, or route, a packet through an ordered list of instructions, called segments. A segment may be understood to indicate a particular path a packet may have to follow in a communications network to go from a source to a destination. A segment may represent any instruction, e.g.,“go to node X using the shortest path”, topological, e.g.,“go to node X via node Y and node Z” or service-based, e.g.,“apply service W”. SR routing may be implemented by having a head node or ingress node prepended packets with a header that may comprise a list of segments, which may comprise forwarding instructions to be executed on subsequent nodes in the network. A segment may have a semantic local to an SR node, or global within an SR domain. SR may be understood to allow to enforce a flow through any topological path, while maintaining per-flow state, that is, any requirements the traffic may have, only at the ingress nodes to the SR domain.
A segment may be encoded as a label, e.g., a Multiprotocol Label Switching (MPLS) label. Therefore, a ordered list of segments, e.g., representing a path may be encoded as a stack of labels, wherein the segment to process by a node may be found on the top of the stack. After completion of a segment, the related label is removed from the stack.
The SR architecture may be understood to support any type of control-plane: distributed, centralized or hybrid. In a distributed scenario, the segments may be allocated and signaled by Intermediate System to Intermediate System (IS-IS) or Open Shortest Path First (OSPF) or Border Gateway Protocol (BGP). Routing information may be exchanged between nodes, that is, gateways or routers, through an interior gateway protocol (IGP), or with exterior gateway protocols. In the context of an IGP-based distributed control-plane, two topological segments may be defined: a) an IGP adjacency segment; and b) an IGP prefix segment.
An IGP-Prefix Segment may be understood as an IGP Segment representing an IGP prefix. That is, a segment ID comprising an IP address prefix calculated by an IGP in the service provider core network. Prefix SIDs may be understood to be globally unique. When an IGP-Prefix Segment is global within the SR IGP instance/topology, it may identify an instruction to forward the packet along the path computed using the routing algorithm specified in the algorithm field, in the topology and the IGP instance where it may be advertised.
An IGP-Adjacency Segment may be understood as an IGP Segment attached to a unidirectional adjacency or a set of unidirectional adjacencies. An adjacency SID may be understood as a link between two routers. By default, an IGP-Adjacency Segment is local, unless explicitly advertised otherwise, to the node that may be advertising it. Since the adjacency SID may be understood to be relative to a specific router, it may be understood as being locally unique.
Current methods to handle traffic in an SR network suffer from a number of problems. Programming of paths to be followed by packets in SR may be a convoluted and time- consuming process. Moreover, certain hardware constraints of the nodes in the network may result in faulty protection, as well as increased latency of the traffic, uneven traffic distribution, with overused and underused parts of the communications network, as well as an inability to provide proper Quality of Service (QoS), which may be requested by a source for routing the packet through the communications network.
SUMMARY
It is an object of embodiments herein to improve the routing of packets in a communications network. A particular object of embodiments herein is to improve the routing of packets in a SR network.
According to a first aspect of embodiments herein, the object is achieved by a method performed by a network node. The method is for routing a packet through a path. The path
comprises a plurality of first nodes out of a plurality of second nodes. The network node and the plurality of second nodes operate in a communications network. The network node determines a single identifier. The single identifier identifies the path, comprising the plurality of first nodes and their order, to be followed by the packet in the communications network. The network node then sends, to a first first node in the path, a first instruction to route the packet through the path. The first instruction comprises an indicator of the single identifier.
According to a second aspect of embodiments herein, the object is achieved by a method performed by the first first node. The method is for routing the packet through the path. The path comprises the plurality of first nodes out of the plurality of second nodes. The first first node and the plurality of second nodes operate in the communications network. The first first node receives, from the network node operating in the communications network, the first instruction to route the packet through the path. The routing is based on the single identifier. The single identifier identifies the path, comprising the plurality of first nodes and their order, to be followed by the packet in the communications network. The first instruction comprises the indicator of the single identifier. The first first node then sends the indicator of the single identifier to the remaining second nodes in the communications network.
According to a third aspect of embodiments herein, the object is achieved by a method performed by a second first node. The method is for routing the packet through the path. The path comprises the plurality of first nodes out of the plurality of second nodes. The second first node and the plurality of second nodes operate in the communications network. The second first node receives, from the first first node operating in the communications network, the indicator of the single identifier. The single identifier identifies the path, comprising the plurality of first nodes, and their order, to be followed by the packet in the communications network. The second first node then routes the packet through the path, based on the received indicator, in the absence from direct signalling from the network node operating in the communications network. The network node is a controller of the path.
According to a fourth aspect of embodiments herein, the object is achieved by the network node, configured to route the packet through the path. The path is configured to comprise the plurality of first nodes out of the plurality of second nodes. The network node and the plurality of second nodes are configured to operate in the communications network. The network node is further configured to determine the single identifier. The single identifier is configured to identify the path, comprising the plurality of first nodes and their
order, to be followed by the packet in the communications network. The network node is also configured to send, to the first first node in the path, the first instruction to route the packet through the path. The first instruction is configured to comprise the indicator of the single identifier.
According to a fifth aspect of embodiments herein, the object is achieved by the first first node, configured to route the packet through the path. The path is configured to comprise the plurality of first nodes out of the plurality of second nodes. The first first node and the plurality of second nodes are configured to operate in the communications network. The first first node is also configured to, from the network node configured to operate in the communications network, the first instruction to route the packet through the path. The routing is configured to be based on the single identifier. The single identifier is configured to identify the path, comprising the plurality of first nodes and their order, to be followed by the packet in the communications network. The first instruction is configured to comprise the indicator of the single identifier. The first first node is further configured to send the indicator of the single identifier to the remaining second nodes in the communications network.
According to a sixth aspect of embodiments herein, the object is achieved by the first node, configured to route the packet through the path. The path is configured to comprise the plurality of first nodes out of the plurality of second nodes. The second first node and the plurality of second nodes are configured to operate in the communications network. The second first node is also configured to receive, from the first first node operating in the communications network, the indicator of the single identifier. The single identifier is configured to identify the path, comprising the plurality of first nodes, and their order, to be followed by the packet in the communications network. The first second node is further configured to route the packet through the path, based on the indicator configured to be received. This is configured to be performed in the absence from direct signalling from the network node configured to operate in the communications network. The network node is configured to be the controller of the path.
By the network node determining the single identifier identifying the path, and sending the first instruction to the first first node, multiple advantages are provided. First, the time taken to program the end-to-end path is minimized, irrespective of the number of nodes in the path. Second, the signalling overhead is reduced as the first first node need no longer communicate with many nodes. The restriction with MSD is also eliminated,
which means that users may be enabled to use the hardware of their choice and reduce hardware costs. Protection is also enabled with only one identifier.
Moreover, an operator of the communications network is enabled to have complete control of the path, irrespective of MSD of the nodes. Furthermore, embodiments herein enable centralized QoS, because of the common identifier.
These and other advantages of embodiments herein are explained in detail later.
BRIEF DESCRIPTION OF THE DRAWINGS
Examples of embodiments herein are described in more detail with reference to the accompanying drawings, according to the following description.
Figure 1 is a schematic diagram illustrating an example of an SR architecture.
Figure 2 is a schematic diagram illustrating a routing of different flows between two nodes in a network.
Figure 3 is a schematic diagram illustrating a non-limiting example of a communications network, according to embodiments herein.
Figure 4 is a flowchart depicting embodiments of a method in a network node, according to embodiments herein.
Figure 5 is a flowchart depicting embodiments of a method in a first first node, according to embodiments herein.
Figure 6 is a schematic diagram illustrating an example of a method in a second first node, according to embodiments herein.
Figure 7 is a schematic diagram illustrating an example of routing of a packet in a communications network, according to embodiments herein.
Figure 8 is a schematic block diagram illustrating two non-limiting examples, a) and b), of a network node, according to embodiments herein.
Figure 9 is a schematic block diagram illustrating two non-limiting examples, a) and b), of a first first node, according to embodiments herein.
Figure 10 is a schematic block diagram illustrating two non-limiting examples, a) and b), of a second first node, according to embodiments herein.
DETAILED DESCRIPTION
As part of the development of embodiments herein, a number of problems with exiting methods will first be identified and discussed.
As discussed earlier, in SR, every segment may be identified by an identifier, which may be referred to as a Segment Identifier (SID). A SID may allow a node in a
communications network to determine an outgoing interface of a next hop in a path. The SID may be distributed throughout the network.
As mentioned in the Background section, nodes in a communications network may have hardware constraints. A particularly limiting constraint may be an inability of the nodes to handle a number of segment identifiers above a maximum number of identifiers, which may be known as Maximum SID Depth (MSD). The MSD may be understood to represent the maximum number of SIDs that a node may be able to push on an incoming packet. When the forwarding hardware capability of the nodes is limited in such a way, it may not be possible to realize all current SR features in various topologies. Examples of such features may be e.g., traffic engineering, that is, the usage of different paths for different types of traffic for a same destination, or protection, that is, pre-computing an alternate path when a primary path has failed, so that traffic may be quickly re-routed. Also, inherently, SR may not be able to differentiate various traffic flows. Therefore, a centralized control of Quality of service (QoS) and/or flow monitoring may not be possible. The particular limitations that may result from a node being constrained by an MSD will be further described now.
A first problem that may be encountered in existing methods relates to programming of a path, which may be a Label switched path (LSP). An LSP may be understood as a unidirectional Multiprotocol Label Switching (MPLS) Tunnel. In segment routing, a path may be instantiated by a set of prefix and adjacency segments. In case of a strict provisioning mode, wherein all nodes in path are included using SIDs, the SID-depth to construct an end-to-end path will be much longer. Most of the time, a complete SID stack will not fit in the MSD of a node, so a controller that may be in charge of the routing, may have to program this path by using binding SIDs, that is, splitting the single path into multiple small paths.
In case of low end nodes, which may generally become the trend with centralized deployments, where the nodes may support low MSDs, the controller may have to communicate with many intermediate nodes to program an end-to-end LSP. Lor example, if a path is represented by 10 SIDs and the headend MSD is 5, the controller may be able to push a maximum of 5 SIDs. The remaining 5 SIDs have to be pushed by another intermediate node. In addition, in case of any path failure, in order to program a repair tunnel, the controller may need to take more time to communicate with more nodes. That is, all the nodes that may have been initially programmed.
As an illustrative example, it may be assumed that a requirement may be to send
traffic through a path comprising a plurality of routers (Rs) in the following order:“R1-R2- R6-R4-R5”. This requirement may be, irrespective of the cost, assuming there is no need of adjacency SIDs. In existing methods, this may be able to be achieved by pushing all the SIDs“20-60-40-50” corresponding to the routers selected for routing the traffic. However, the head end node of the path may have an MSD that may not be able to support processing or storing a stack of four different SIDs. In such a situation, the path may need to be split by using Binding SIDs. That, in existing methods, routing of a packet may entail a controller having to contact multiple nodes in the path and provide a binding SID to forward the packet to, which involves a lot of time, signalling, and processing resources.
A second problem that may be encountered in existing methods relates to protection, in particular with the Topology Independent Loop Free Alternate (TI-LFA) solution. TI- LFA may be understood as a pre-computed alternate path that may be programmed so that traffic may switch to this alternate path when the primary path has failed. The percentage of supported protection will keep increasing with the number of segments that are pushed. That , the protection coverage will be based on the number of SIDs pushed. Ideally, TI-LFA may achieve 100% protection in any topology, if there are no restrictions on the number of segments that are pushed.
However, in case there is a restriction on the MSD, the amount of prefixes that may be protected with TI-LFA, that is, the number of nodes in a network, will be limited. This may be a serious problem in the access/aggregation network, where low cost routers having low- MSD support may be deployed using a centralized solution. To illustrate this second problem, the example depicted in Figure 1 may be used. Figure is a schematic diagram illustrating a different components of a network supporting SR: the internet 11, an aggregation network 12, an access network 13, and a number of nodes 14, Node-l to Node- N. A packet may be routed on a primary path 15. A backup path 16 may be configured in case the primary path fails. In the example of Figure 1, assuming at Node-l that two segments may be needed on the backup path to reach the aggregation network when the primary path is broken, if the MSD supported by the Node-l node is‘L, protection is not possible. This may be a serious limitation, since in such a scenario, all the traffic which may be going via this node will be impacted.
A third problem that may be encountered in existing methods relates to management of administration tasks in the communications network. Segment routing may solve many transport problems in 5G, and it may also enable network slicing, since with SR, a network node performing packet forwarding tasks may instruct the traffic to go on all possible paths
to a destination, since with the introduction of adjacency SID in SR, there are no problems with traffic loops. Traffic loops may be understood to cause traffic to come back to a source due to a cost of links involved in a path.
Today, in conventional MPLS forwarding, a network node performing packet forwarding tasks may be able to instruct the traffic path based on the customer requirements with the help of the Resource Reservation Protocol (RSVP) by defining an Egress Object (ERO). However, RSVP needs lot of signaling to achieve this. This signaling overhead may be avoided by using the source routing paradigm with the help of SR. With SR, the complete path may be programmed at a headend node with a stack of SIDs, no states may need to be defined in the middle end nodes. However, this may increase the stack depth considerably in order to be able to program the end-to-end path. However, if one or more nodes in the network are constrained by hardware resources, e.g., if they have an MSD limitation, the advantages that may be obtained with SR may be limited.
A fourth problem that may be encountered in existing methods relates to the handling of QoS requirements. One of the main requirements for a network operator may be considered to be differentiated services for different types of customers based on agreed Service Level Agreements (SLA). However, when all types of traffic are being routed with common SIDs, there is no way to differentiate one type of traffic over another. Another problem is that QoS may not be unified across all nodes, because the active segment, that is, the top of a label stack, may keep changing across the path, as SIDs will be removed as nodes in the path are reached.
An example of this fourth problem is depicted in the example depicted by the schematic diagram of Figure 2. In Figure 2, three types of traffic 20 flow between two nodes in a communications network, from a head end node 21, to a tail end node 22: low latency traffic 23, Voice Over Internet Protocol (VOIP) traffic 24 and data traffic 25. According to existing methods, in SR, since the path is common to the three types of traffic, the programmed SIDs at the head end node 21 will remain the same for all 3 streams. In this scenario, the head end node 21 and the tail end node 22 are not able to prioritize one traffic over another.
A fifth problem that may be encountered in existing methods relates to traffic distribution on equal cost multi paths. In case of multiple paths, the outgoing path may be chosen based on the hashing of some pre-determined fields, that is, based on a predetermined algorithm. A problem with this approach is that some paths may be highly
utilized, while some others may be underutilized based on the type of traffic. In case of high utilization of some paths, there may be a possibility of traffic drops because of congestion.
Several embodiments are comprised herein, which address these problems of the existing methods. Embodiments herein may be understood to relate to an enhancement of routing of packets with a single path identifier. Particularly, embodiments herein may be understood to relate to an enhancement of SR use cases with a single path SID. According to embodiments herein, instead of relying on a stack of identifiers, e.g., SIDs, the complete path may be represented by a single identifier, e.g., a single SID, which may be, in some embodiments, referred to as a flow-SID. By using a mapping server, or a controller, this single identifier, e.g., a flow-SID, may be flooded in an entire routing network, e.g., an entire IGP domain. The programming effort of configuring all nodes in the path with a particular path to be used for a packed is thereby advantageously simplified.
The embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which examples are shown. In this section, embodiments herein are illustrated by exemplary embodiments. It should be noted that these embodiments are not mutually exclusive. Components from one embodiment or example may be tacitly assumed to be present in another embodiment or example and it will be obvious to a person skilled in the art how those components may be used in the other exemplary embodiments.
Although terminology from SR has been used in this disclosure to exemplify the embodiments herein, this should not be seen as limiting the scope of the embodiments herein to only the aforementioned system. Other systems supporting similar or equivalent functionality may also benefit from exploiting the ideas covered within this disclosure. In future network access, the terms used herein may need to be reinterpreted in view of possible terminology changes in future radio access technologies.
Figure 3 is a schematic diagram depicting a non-limiting example of a communications network 100, in which embodiments herein may be implemented. The communications network 100 may be understood as a computer network, as depicted in in the non-limiting example of Figure 3. The communications network 100 may be a Segment Routing (SR) network, or a routing system enabling similar functionality. The communications network 100 may support e.g., MPLS or IPv6.
The communications network 100 comprises a plurality of network nodes, whereof a network node 101 is depicted in Figure 3. The communications network 100 further comprises a plurality of nodes, whereof a plurality of first nodes 110 and a plurality of second nodes 120 are depicted in Figure 3. The network node 101 may be understood to
perform the function of a controller, that is, to manage routing of packets via the plurality of second nodes 120. The network node 101 may be for example, an OpenFlow controller. Particularly, the network node 101 may be understood to be able to determine a path to be followed by the packet via the plurality of first nodes 110.
The plurality of first nodes 110 is comprised in, that is, is a subset of, the plurality of second nodes 120. The plurality of first nodes 110 comprises in turn at least a first first node 111, and a second first node 112. In the particular example of Figure 3, the plurality of first nodes 110 further comprises a third first node 113, a fourth first node 114, and a fifth first node 115. In Figure 3, the first nodes in the plurality of first nodes 110 are depicted with white circles. The plurality of second nodes 120 in turn further comprises at least a first second node 121. The first second node 121, which is depicted as a striped circle in Figure 3, is not comprised in the plurality of first nodes 110. Since the plurality of first nodes 110 is comprised in the plurality of second nodes 120, in the particular example of Figure 3, the plurality of second nodes 120 further comprises the first first node 111, the second first node 112, the third first node 113, the fourth first node 114, and the fifth first node 115. Each of the network node 101, the first nodes in the plurality of first nodes 110, and the second nodes in the plurality of second nodes 120 may be understood, respectively, as a first computer system, a plurality of second computer systems, and a plurality of third computer systems. In Figure 3, and for illustrative purposes only, each of the first nodes and the second nodes are depicted with their respective Internet Protocol (IP) address in a box located over the respective node, followed by a respective different identifier in parenthesis, here, their respective SID.
The network node 101 may be implemented, as depicted in the non-limiting example of Figure 3, as a standalone server in e.g., a host computer in the cloud 130. The network node 101 may in some examples be a distributed node or distributed server, with some of its functions being implemented locally, e.g., by a client manager, and some of its functions implemented in the cloud 130, by e.g., a server manager. Yet in other examples, the network node 101 may also be implemented as processing resources in a server farm.
Each second node in the plurality of second nodes 120 may be understood to be a router, that is, a networking device that may be enabled to forward data packets between nodes. The plurality of second nodes 120 may be understood to be a network of routers a packet may need to go through from a source entity to a destination entity, e.g., a pipeline. The subset of nodes in the plurality of second nodes 120 the network node 101 may choose to route a particular packet between the source entity and the destination entity may be
understood to correspond to the plurality of first nodes 110. In the non-limiting example of Figure 3, the plurality of second nodes 120 comprises six different second nodes, wherein the first first node 111 may be e.g., a first router, Router 1 (Rl), the second first node 112 may be e.g., a second router Router 2 (R2), the first second node 121 may be e.g., a third router, Router 3 (R3), the third first node 113 may be e.g., a fourth router, Router 4 (R4), the fourth first node 114 may be e.g., a fifth router, Router 5 (R5) and the sixth first node 115 may be e.g., a sixth router, Router 6 (R6). The first first node 111 may be a head node in the path.
Each of the network node 101, the first nodes in the plurality of first nodes 110, and the second nodes in the plurality of second nodes 120 may be understood to be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider.
Typically, as depicted in the example of Figure 3, the network node 101 may be a separate entity from any of the first nodes in the plurality of first nodes 110, and the second nodes in the plurality of second nodes 120. However, in some examples, the network node 101 may be co-located or be the same entity as any of the first nodes in the plurality of first nodes 110, or the second nodes in the plurality of second nodes 120. All the possible combinations are not depicted in Figure 3 to simplify the Figure.
The network node 101 is configured to communicate within the communications network 100 with the first first node 111 over a first link 141. The network node 101 is configured to communicate within the communications network 100 with the second first node 112 over a second link 142. The network node 101 may be configured to communicate in the communications network 100 with the first second node 121 over a third link 143. The network node 101 is similarly configured to communicate within the communications network 100 with any of the remaining nodes in the plurality of second nodes 120, and therefore in the plurality of first nodes 110, over a respective link, e.g., a radio link, a wired link, etc..., which are not depicted in Figure 3 to simplify the Figure. The first first node 111 is configured to communicate within the communications network 100 with the second first node 112 over a fourth link 144. The second first node 112 is configured to communicate within the communications network 100 with the first second node 121 over a fifth link 145. The first second node 121 is configured to communicate within the communications network 100 with the third first node 113 over a sixth link 146. The third first node 113 is configured to communicate within the communications network 100 with the fourth first node 114 over a seventh link 147. The second first node 112 is
configured to communicate within the communications network 100 with the fifth first node 115 over an eighth link 148. The fourth first node 114 is configured to communicate within the communications network 100 with the fifth first node 115 over a ninth link 148.
Any of the first link 141, the second link 142, the third link 143, the respective links, the fourth link 144, the fifth link 145, the sixth link 146, the seventh link 147, the eighth link 148, and the ninth link 149 may be typically a wired link. Although they may also be, e.g., a radio link, an infrared link, etc...
Any of the first link 141, the second link 142, the third link 143 and the respective links may be understood to be able to be comprised of a plurality of individual links. Any of the the first link 141, the second link 142, the third link 143 and the respective links may be a direct link or it may go via one or more computer systems or one or more core networks in the communications network 100, which are not depicted in Figure 3, or it may go via an optional intermediate network. The intermediate network may be one of, or a combination of more than one of, a public, private or hosted network; the intermediate network, if any, may be a backbone network or the Internet; in particular, the intermediate network may comprise two or more sub-networks, which is not shown in Figure 3.
In general, the usage of “first”,“second”,“third”,“fourth”,“fifth”,“sixth” and/or “seventh” herein may be understood to be an arbitrary way to denote different elements or entities, and may be understood to not confer a cumulative or chronological character to the nouns they modify.
Embodiments of a method performed by the network node 101, will now be described with reference to the flowchart depicted in Figure 4. The method may be understood to be for routing a packet through a path. The path comprises the plurality of first nodes 110 out of the plurality of second nodes 120. The network node 101 and the plurality of second nodes 120 operate in the communications network 100. In some embodiments, the communications network 100 may be a Segment Routing (SR) network. The path may be a Label Switched Path (LSP).
The method may comprise the actions described below. Several embodiments are comprised herein. In some embodiments some of the actions may be performed. In some embodiments all the actions may be performed. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. It should be noted that the examples herein are not mutually exclusive. Components from one example may be tacitly assumed to be present in another example
and it will be obvious to a person skilled in the art how those components may be used in the other examples. In Figure 4, optional actions are indicated with dashed boxes.
Action 401
In the course of operations of the communications network 100, it may be necessary to determine the path, that is, the route, that a packet may take out of the plurality of second nodes 120, to reach its destination from its source. The determination of the path to be followed by the packet may be understood to comprise determining which of the plurality of second nodes 120 will be chosen to be comprised in the plurality of first nodes 110, as well as in what order. Typically, the path may be based on one or more constraints to be met when routing the packet through the path. The one or more constraints may comprise for example, a certain QoS parameter, a minimum bandwidth, link propagation delay, an admin color, etc...
Once the network node 101 may have determined the path to be followed by the packet, it may need to instruct at least one of the first nodes in the plurality of first nodes 110 about how to route the packet based on the determined path. This may typically be head node of the path. In order to provide this instruction, according to embodiments herein, the network node 101, in this Action 401, determines a single identifier. The single identifier identifies the path, comprising the plurality of first nodes 110 and their order, to be followed by the packet in the communications network 100. In embodiments wherein the communications network 100 may be an SR network, the plurality of first nodes 110 and their order in the path may be understood to correspond to a plurality of segments, and their order.
The single identifier may be a value, e.g., a number, such as a single SID, identifying the path, that is, a plurality of segments, and their order.
In some embodiments, the path may be based on the one or more constraints to be met when routing the packet through the path, and the single identifier may further indicate one or more of the one or more constraints.
To illustrate this Action 401, the example discussed earlier may be followed, wherein a requirement one of the one or more constraints, may be to send the traffic through a path comprising the following plurality of first nodes 110, in the following order:“R1-R2-R6- R4-R5”. It may be assumed that with configured link costs, traffic may be always sent to the immediate node without the need of adjacency identifiers, e.g., SIDs. According to embodiments herein, in contrast with the existing methods, the routing may be achieved with a single SID, by the network node 101 determining the single identifier for the path to
be, e.g.,“70” in this illustrative example, for the path“20-60-40-50”.
In some embodiments, the network node 101 may determine the single identifier, e.g., a SID, from either a global or a local space. A restriction that the network node 101 may take into consideration is that if it determines the single identifier from a Segment Routing Local Block (SRLB), all the first nodes in the path may need to support the same SRLB. The SRLB may be understood as a range from where SIDs may be allocated. SRLB may be understood to be private to the nodes, whereas an SRGB may be understood to be global to a network. In case of a mismatch of SRLB, the network node 101 may determine the single identifier from the Global Space, Segment Routing Global Block (SRGB) safely. A global single identifier may also be understood to address vendor inter-operation issues.
Additionally, in some embodiments, the single identifier may further indicate a flow of a plurality of flows routed between any two first nodes of the plurality of first nodes 110. The single identifier may therefore be, in some examples, also referred to as a flow-SID. For example,“70” may identify the path followed by traffic for company X, whereas a different single identifier may be used to identify the same path, but followed by traffic for company Y.
An advantage provided by this Action 401 is that the complete path and/or flow may be programmed by a single identifier, e.g., a single SID. The network node 101, e.g., the controller, may be able to program the path, which may be an LSP path, very quickly.
Action 402
Once the network node 101 has determined the single identifier, in order to initiate routing the packet through the path, in this Action 402, the network node 101 sends, to the first first node 111 in the path, a first instruction to route the packet through the path. The first instruction comprises an indicator of the single identifier. The first first node 111 may be understood as the ingress node, or the head node of the path.
The sending in this Action 401 may be implemented, e.g., via the first link 141.
Continuing with the example provided earlier, the network node 101 may configure the first second node 111 in the path, or any node in the plurality of second nodes 120, with the following information, e.g., Forwarding Equivalent Classes (FEC), where“70”, in this example, is the indicator of the single identifier, and the Differentiated Services Code Point (DSCP) is 24:
The above configured information may be flooded in the domain by the first second node 111 in the path or by any other node, for example, by using IGPs with the help of new options. This information may be available on every node in the domain with, e.g., the Link State Database (LSDB) flooding. To avoid unnecessary Shortest Paths First (SPFs) computations, the information may be advertised by using a new packet type also, so that IGPs may avoid the SPF calculation when this information may be received.
Upon receiving this information, IGPs may program the Label Forwarding Information base (LFIB) dynamically. Second nodes in the plurality of second nodes 120 which are not listed in this path may be enabled to ignore this update, that is, the above advertised information. For example, in the above described illustrative example, the first second node 121, R3, may be enabled to ignore this path update. The remaining nodes, that is, the first nodes in the plurality of first nodes 110, may program the tunnel based on the downstream node out of the plurality of first nodes 110.
In examples of the embodiments wherein the single identifier may further indicate the flow of the plurality of flows routed between any two first nodes of the plurality of first nodes 110, by using the above configuration, an operator of the communications network 100 may be enabled to manually configure a backup path also with a second single SID. This may be understood to provide enhanced protection by enabling that there may no longer be a need of pushing all the SIDs in the path. According to embodiments herein, unlike the adjacency SIDs used in existing methods, there may be multiple SIDs which may be mapping to a same path, e.g., in the event that different flows may follow the same path.
An advantage provided by this Action 402 is that the network node 101 may be able to program the complete path just by communicating with the first first node 111, here the Headend Node, irrespective of the length of the path. Therefore, the programming time of the path may be optimized.
Furthermore, in embodiments wherein the different types of traffic may be encoded with different single identifiers, and a same single identifier may be maintained across the path, the one or more requirements, e.g., QoS, may be applied more effectively, and the same QoS policies may be programmed on all first nodes. Additionally, the first nodes in the plurality of first nodes 110 may be enabled to distinguish the traffic flows and apply the QoS policies. An operator of the communications network 100 may be also enabled to configure the QoS policy at one first node and by leveraging IGPs, and QoS policies may be flooded across the domain, so that it the operator may be enabled to more easily configure the communications network 100.
Action 403
The network node 101 may also, in this Action 403, refrain from sending the first instruction to any of the remaining first nodes in the plurality of first nodes 110. That is, the network node 101, according to embodiments herein, may not need to send any further instructions to the intermediate nodes, such as the second first node 112, the third first node 113, the fourth first node 114, or the tail node in the path, that is, the fifth first node 115. As mentioned earlier, the network node 101 may be able to program the complete path just by communicating with the first first node 111, here the headend node, since the network node 101 may be understood to no longer need to be concerned with any hardware constraint in the first nodes in the plurality of first nodes 110 limiting their ability to a certain number of identifiers, e.g., their MSD.
An advantage provided by this Action 403 is that the network node 101 may be able to reduce the programming time of the path.
Action 404
In order to monitor the load in the path, to enable avoiding overuse or underuse of the path, or other paths in the plurality of second nodes 120, in this Action 404, the network node 101 may obtain, from a second node, e.g., the first second node 121, in the plurality of second nodes 120, information on traffic of packets in the plurality of second nodes 120.
Obtaining may be understood as e.g., receiving. The obtaining in this Action 404 may be implemented, e.g., via the third link 143. However, the first second node 121 in this
Action 404, may be any second node in the network, that is any node in the plurality of first nodes 110, such as the first first node 111, and/or the second first node 112, or another second node not comprised in the plurality of first nodes 110.
The information on the traffic of packets may be for example an observation on the traffic, or a measure of a state of the links.
An advantage provided by this Action 404 is that the network node 101 may be able to improve the traffic distribution across multiple paths using telemetry. By performing Action 404 the network node 101 may be able to monitor real time traffic using telemetry, and be enabled to perform load balancing using weightage across the paths.
Action 405
Based on the information on the traffic of packets that the network node 101 may have obtained in Action 404, the network node 101 may then need to find another path to be followed by the packet, e.g., if the original or primary path is overloaded, and for example the one or more constraints may no longer be guaranteed. Bearing into consideration that the single identifier, as determined in Action 401, may be considered a first single identifier, the path may be considered a first path, and the indicator may be considered a first indicator, in this Action 405, the network node 101 may then, determine a second single identifier for a second path for routing the packet. The determining in this Action 405 of the second path may be based on the information received from the first second node 121. The determining of the second path may otherwise be performed similarly to how it the first path may have been determined.
If there is an already existing second single identifier for a particular flow associated with the packet, the network node 101 may make use of that existing second single identifier so that delay in provisioning the path may be avoided.
Since a complete flow may, according to embodiments herein, be represented by a single identifier, the network node 101 may monitor the real time traffic, so that it may take decisions in switching the paths with less operator involvement.
Furthermore, by performing this Action 405, the network node 101 may be enabled to dynamically switch the paths based on real time traffic, without maintaining any state in the intermediate first nodes.
Action 406
In order to re-route the packet via the determined second path, the network node 101 may, in this Action 406, send, to another first node, e.g., the second first node 112, in the
first path, a second instruction to route the packet through the second path. The second instruction may comprise a second indicator of the second single identifier.
The sending in this Action 406 may be implemented, e.g., via the second link 142.
Embodiments herein advantageously enable auto -provision from the network node 101. At run time, based on traffic load, the network node 101 may switch the path to be followed by the packet dynamically. For example, if the first path does not handle the load, the network node 101 may find an alternate path such as the second path in Action 405, and program it to the underlying forwarding nodes using e.g., PCEP or another suitable other protocol, according to this Action 406. The network node 101 may then, via PCEP, forward this to the IGPs, and the IGPs may then flood this information in the entire domain using, for example, LSDB flooding.
Therefore, all nodes in the plurality of second nodes 120 may be programmed with the second single identifier, e.g., a new SID, dynamically at run time. After a pre-defined time to give sufficient time for programming the forwarding path, the network node 101 may map the incoming traffic at the headend node of the second path with this second single identifier.
Embodiments of a method performed by a first first node 111, will now be described with reference to the flowchart depicted in Figure 5. The method is for routing the packet through the path. The path comprises the plurality of first nodes 110 out of the plurality of second nodes 120. The first first node 111 and the plurality of second nodes 120 operate in the communications network 100.
The method may comprise one or more of the following actions. Several embodiments are comprised herein. In some embodiments all the actions may be performed. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. It should be noted that the examples herein are not mutually exclusive. Components from one example may be tacitly assumed to be present in another example and it will be obvious to a person skilled in the art how those components may be used in the other examples. In Figure 5, optional actions are indicated with dashed boxes.
The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the network node 101, and will thus not be repeated here to simplify the description. For example, the communications network 100 may be an SR network.
The path may be an LSP.
Action 501
The first first node 111, in this Action 501, receives , from the network node 101 operating in the communications network 100, the first instruction to route the packet through the path. The routing is based on the single identifier. As described earlier, the single identifier identifies the path, comprising the plurality of first nodes 110 and their order, to be followed by the packet in the communications network 100. The first instruction comprises an indicator of the single identifier.
The receiving in this Action 501 may be implemented, e.g., via the first link 141.
In some embodiments, wherein the path may be based on the one or more constraints to be met when routing the packet through the path, the single identifier may further indicate the one or more of the one or more constraints.
In some embodiments, the single identifier may further indicate the flow of the plurality of flows routed between any two first nodes of the plurality of first nodes 110.
The single identifier may be a single SID.
Action 502
In this Action 502, the first first node 111 sends the indicator of the single identifier to the remaining second nodes 120 in the communications network 100.
The sending in this Action 502 may be understood as advertising, or flooding.
The sending in this Action 502 may be implemented, e.g., via the fourth link 144.
Following the illustrative example used earlier when describing the method performed by the network node 101, at the first first node 111, in the example of Figure 3, the node with IP address 1.1.1.1, the Label Forwarding Information Base (LFIB) may look as follows. Since the first first node 111, with IP address 1.1.1.1, is in the top of the list, the first first node 111 may push this indicator of the single identifier:
In this example, the traffic type is identified by the DSCP value.
Action 503
In this Action 503, the first first node 111 may initiate the routing of the packet through the path, based on the received first instruction. That is, the first first node 111, in this Action 503, may initiate forwarding the packet to the next first node in the path, as indicated by the indicator.
In some embodiments, the initiating the routing may comprise setting a tunnel, based on the received first instruction.
Since in the example provided herein the next first node in the path is the second first node 112, the initiating of the routing in this Action 503 may be implemented, e.g., via the fourth link 144.
Action 504
The first first node 111 may, in this Action 504, send, to the network node 101, the information on the traffic of packets in the plurality of second nodes 120.
The sending in this Action 504 may be implemented, e.g., via the first link 141.
Action 505
As described earlier, in some embodiments, the single identifier may be considered the first single identifier, the path may be considered the first path, and the indicator may be considered the first indicator. In such embodiments, the first first node 111, may receive, from the network node 101, the second instruction to route the packet through the second path. The second instruction may comprise the second indicator of the second single identifier. The second single identifier may identify the second path for routing the packet. The receiving in this Action 505 of the second instruction may be based on the information sent to the network node 101 in Action 504.
Action 506
The first first node 111, in this Action 506, may initiate the routing of the packet through the second path, based on the received second instruction.
Embodiments of a method performed by the second first node 112, will now be described with reference to the flowchart depicted in Figure 6. The method is for routing the packet through the path. The path comprises the plurality of first nodes 110 out of the plurality of second nodes 120. The second first node 112 and the plurality of second nodes 120 operate in the communications network 100.
The method may comprise one or more of the following actions. Several embodiments are comprised herein. In some embodiments all the actions may be performed. One or more embodiments may be combined, where applicable. All possible
combinations are not described to simplify the description. It should be noted that the examples herein are not mutually exclusive. Components from one example may be tacitly assumed to be present in another example and it will be obvious to a person skilled in the art how those components may be used in the other examples. In Figure 6, optional actions are indicated with dashed boxes.
The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the network node 101, and will thus not be repeated here to simplify the description. For example, the communications network 100 may be an SR network.
The path may be an LSP.
Action 601
The second first node 112, in this Action 601, receives, from the first first node 111 operating in the communications network 100, the indicator of the single identifier. As described earlier, the single identifier identifies the path, comprising the plurality of first nodes 110 and their order, to be followed by the packet in the communications network 100.
The receiving in this Action 601 may be implemented, e.g., via the fourth link 144.
In some embodiments, wherein the path may be based on the one or more constraints to be met when routing the packet through the path, the single identifier may further indicate the one or more of the one or more constraints.
In some embodiments, the single identifier may further indicate the flow of the plurality of flows routed between any two first nodes of the plurality of first nodes 110.
The single identifier may be a single SID.
Following the illustrative example used earlier when describing the method performed by the network node 101, at the second first node 112, in the example of Figure 3, with IP address 2.2.2.2, as well as at the remaining intermediate nodes in the path, the LFIB entry may look as follows:
Action 602
In this Action 602, the second first node 112 routes the packet through the path, based on the received indicator, in the absence from direct signalling from a network node 101 operating in the communications network 100. The network node 101 being the controller of the path.
The routing in this Action 602 may comprise setting a tunnel, based on the received indicator.
Since in the example provided herein the next first node in the path is the fifth first node 115, the routing in this Action 602 may be implemented, e.g., via the eighth link 148.
Following the illustrative example used earlier when describing the method performed by the network node 101, the second first node 112, in the example of Figure 3, with IP address 2.2.2.2, may be understood to know that its downstream node in the plurality of first nodes 110 is the fifth first node 115, with IP address 6.6.6.6, as per the first instruction. Therefore, it may pass the incoming packet in the“6.6.6.6” direction. If there is an Equal Cost Multi Path (ECMP) path to 6.6.6.6, it may be used as it is. That is, it may be ECMP aware. This may be understood, in this example, as that if there are multiple links between R2 and R6, all may be used to load balance the traffic.
In examples wherein the second first node 112 may be an egress node, which does not correspond to the illustrative example of Figure 3, the LFIB programming may look as follows:
The second first node 112, in examples wherein the second first node 112 may be the egress node, which does not correspond to the example depicted in Figure 3, may know that this is the last node in the configuration. Therefore, it may remove that label, 70, and Lookup may happen on Next Header.
Action 603
In some embodiments, as described earlier, the second first node 112 may, in this Action 603, send, to the network node 101, the information on the traffic of packets in the plurality of second nodes 120.
The sending in this Action 603 may be implemented, e.g., via the second link 142.
Action 604
As described earlier, in some embodiments, the single identifier may be considered the first single identifier, the path may be considered the first path, and the indicator may be considered the first indicator. In such embodiments, the second first node 112, in this Action 604, may receive, from the network node 101, the second instruction to route the packet through the second path. The second instruction may comprise the second indicator of the second single identifier. The second single identifier may identify the second path for
routing the packet. The receiving in this Action 604 of the second instruction may be based on the information sent to the network node 101 in Action 603.
The receiving in this Action 603 may be implemented, e.g., via the second link 142.
Typically, the second instruction may be received only by the headend node, e.g., the first first node 111 in the non-limiting example of Figure 3. And therefore the second path may also originate from the headend node.
Action 605
The second first node 112, in this Action 605, may route the packet through the second path, based on the received second instruction.
Figure 7 is a schematic diagram depicting a non-limiting example of routing of a packet, according to embodiments herein. In this particular example, at 701, the network node 101, at run time, performs traffic monitoring by obtaining, according to Action 404, the information on the traffic, as provided by the first first node 111 at Action 504, and the second first node 112, at Action 603. At 702, based on traffic load, the network node 101 performs dynamic path provisioning via PCEP, whereby the network node 101 may switch the path to be followed by the packet dynamically. For example, if the first path does not handle the load, the network node 101 may find an alternate path such as the second path in Action 405, and program it to the underlying forwarding nodes using, in this particular example, PCEP, according to this Action 406. The network node 101, via PCEP, may then forward this to the IGPs. The first first node 111 at Action 505, and the second first node 112, at Action 604, receive the second instruction, and the IGPs, at 703, may then flood this information in the whole plurality of second nodes 120, that is, the entire domain using, for example, LSDB flooding.
Therefore, all nodes in the plurality of second nodes 120 may be programmed with the second single identifier, e.g., a new SID, dynamically at run time. After a pre-defined time to give sufficient time for programming the forwarding path, the network node 101 may map the incoming traffic at the headend node with this second single identifier.
According to the foregoing, embodiments herein provide multiple advantages.
One advantage of embodiments herein is that, the network node 101, a controller, may be able to dynamically program the paths based on real time traffic monitoring.
Another advantage of embodiments herein is that they enable optimizing the programming time of the path, e.g., a Label Switched Path (LSP). This is because a single
identifier, e.g., a SID, represents the complete path to be followed by a packet, the time taken to program the end-to-end LSP will be minimized, irrespective of the number of nodes in the path. The complete path and/or flow may be programmed by a single SID, and the controller may be enabled to program the LSP very quickly. Moreover, the controller may be enabled to program the complete path just by communicating with the headend node, irrespective of the length of the path.
Another advantage of embodiments herein is that they allow to eliminate the binding identifiers, e.g., binding-SID, overhead. Therefore, a controller need not communicate with many nodes. Connecting with the headend node will suffice.
Yet another advantage of embodiments herein is that they allow to eliminate the restriction with MSD. Therefore, users may be enabled to use the hardware of their choice, which in turn may be understood to reduce the overall cost for the users.
Yet a further advantage of embodiments herein is enhancing the protection. Embodiments herein may provide for 100% Topology Independent Loop Free Alternate (TI-LFA) protection with only one identifier, e.g. a SID.
Moreover, another advantage of embodiments herein is that they enable the network node 101, or the network operator, complete control of the path, such as RSVP path provisioning, irrespective of MSD of the nodes. This may solve lot of problems that 5G is facing. Based on the customer SLA, the network node 101, or the network operator, may forward the traffic based on the one or more requirements.
Another advantage of embodiments herein is that, forwarding nodes may easily differentiate the traffic, even though multiple streams may be going on the common path. The different type of traffic may be encoded with different identifiers, e.g., SIDs, and the same identifier, SID, may be maintained across the path, e.g., SR path. Therefore, the QoS may be applied more effectively. And the same QoS policies may be programmed on all nodes. In contrast, with prior methods, when the path is same, all streams may share a common active segment, and a user is not be able to differentiate the traffic. According to embodiments herein, each stream may be able to carry a different identifier, e.g., SID, based on the policy. The controller or the operator may apply different flow-SIDs for each type of traffic. The nodes in the communications network may be able to easily distinguish the traffic flows and apply the QoS policies. Since the SIDs may be common across the domain, that is, the active segment may be common throughout the path, the same policies may be applied on all nodes. In fact, the operator may be able to configure the QoS policy at
one node and by leveraging IGPs QoS, policies may be flood across the domain, so that it will ease the job of the operator in configuring the network.
Furthermore, embodiments herein enable centralized QoS, because of the common identifier.
Also, optionally, IGPs may be enhanced to flood the QoS policies across the domain, so configuring on one node/at controller is sufficient. This may be understood to reduce the burden of the network operator, heavily by eliminating the need to configure the QoS policy on every node. According to embodiments herein, the complete path and/or flow may be represented by a single SID. The network node 101, or the network operator, may be able to configure the path without needing to worry about hardware limitations and binding SIDs.
Additionally, according to embodiments herein, debugging is lot simpler. Because complete flow is represented by a single identifier, e.g., 1-SID, which is unique across the domain, and it is not shared with other type of traffic. In contrast, with prior methods in SR, the same identifier, e.g., the same SID, may be used by multiple streams, so a user may not be able to differentiate the traffic.
Further, embodiments herein enable better traffic distribution across multiple paths using telemetry. By using the mapped flow-SID, a controller may be able to monitor real time traffic using telemetry, and do the load balancing using weightage across the paths. For example embodiments herein enable efficient path utilization in case of ECMP/ Link aggregation (LAG). That is, if there are two paths to reach a destination, by monitoring the traffic load on both paths, it may be avoided that traffic may go on one path, and other path is idle.
Another advantage of embodiments herein is that the number of identifiers, e.g., SIDs, that may be needed in the domain will be much less when compared to previous methods. This is because the same identifier, e.g. SID, may be used for multiple streams which may need common treatment.
Figure 8 depicts two different examples in panels a) and b), respectively, of the arrangement that the network node 101 may comprise to perform the method actions described above in relation to Figure 4. In some embodiments, the network node 101 may comprise the following arrangement depicted in Figure 8a. The network node 101 is configured to route the packet through the path. The path is configured to comprise the plurality of first nodes 110 out of the plurality of second nodes 120. The network node 101
and the plurality of second nodes 120 are configured to operate in the communications network 100.
Several embodiments are comprised herein. Components from one embodiment may be tacitly assumed to be present in another embodiment and it will be obvious to a person skilled in the art how those components may be used in the other exemplary embodiments. The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the network node 101, and will thus not be repeated here. For example, the path may be a Label Switched Path (LSP).
In Figure 8, optional modules are indicated with dashed boxes.
The network node 101 is configured to, e.g. by means of a determining unit 801 within the network node 101 configured to, determine the single identifier. The single identifier is configured to identify the path, comprising the plurality of first nodes 110 and their order, to be followed by the packet in the communications network 100,
The network node 101 may be further configured to, e.g. by means of the determining unit 801 within the network node 101 further configured to, determine the second single identifier for the second path for routing the packet. The determining of the second path may be configured to be based on the information configured to be received from the first second node 121.
The network node 101 is also configured to, e.g. by means of a sending unit 802 within the network node 101 configured to, send, to the first first node 111 in the path, the first instruction to route the packet through the path. The first instruction is configured to comprise the indicator of the single identifier.
In some embodiments wherein the path may be configured to be based on the one or more constraints to be met when routing the packet through the path, the single identifier may be further configured to indicate one or more of the one or more constraints.
In some embodiments the single identifier may be further configured to indicate the flow of a plurality of flows configured to be routed between any two first nodes of the plurality of first nodes 110.
The network node 101 may be further configured to, e.g. by means of a refraining unit 803 within the network node 101 configured to, refrain from sending the first instruction to any of the remaining first nodes in the plurality of first nodes 110.
In some embodiments, the single identifier may be considered the first single identifier, the path may be considered the first path, and the indicator may be considered the first indicator. In such embodiments, the network node 101 may be further configured to,
e.g. by means of an obtaining unit 804 within the network node 101 configured to, obtain, from the first second node 121 configured to be in the plurality of second nodes 120, the information on the traffic of packets in the plurality of second nodes 120.
In some embodiments wherein the single identifier may be considered the first single identifier, the path may be considered the first path, and the indicator may be considered the first indicator, the network node 101 may be further configured to, e.g. by means of the sending unit 802 within the network node 101 configured to, send, to the second first node 112 in the first path, the second instruction to route the packet through the second path. The second instruction may be configured to comprise the second indicator of the second single identifier.
In some embodiments, the single identifier may be a single SID.
In some embodiments, the communications network 100 may be an SR network.
The embodiments herein may be implemented through one or more processors, such as a processor 805 in the network node 101 depicted in Figure 8, together with computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the in the network node 101. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the network node 101.
The network node 101 may further comprise a memory 806 comprising one or more memory units. The memory 806 is arranged to be used to store obtained information, store data, configurations, schedulings, and applications etc. to perform the methods herein when being executed in the network node 101.
In some embodiments, the network node 101 may receive information from, e.g., the first first node 111, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121, and/or any of the second nodes in the plurality of second nodes 120, through a receiving port 807. In some examples, the receiving port 807 may be, for example, connected to one or more antennas in network node 101. In other embodiments, the network node 101 may receive information from another structure in the communications network 100 through the receiving port 807. Since the receiving port 807 may be in communication with the processor 805, the receiving port 807 may then send the
received information to the processor 805. The receiving port 807 may also be configured to receive other information.
The processor 805 in the network node 101 may be further configured to transmit or send information to e.g., the first first node 111, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121, and/or any of the second nodes in the plurality of second nodes 120, through a sending port 808, which may be in communication with the processor 805, and the memory 806.
Those skilled in the art will also appreciate that the determining unit 801, the sending unit 802, the refraining unit 803, and the obtaining unit 804 described above may refer to a combination of analog and digital circuits, and/or one or more processors configured with software and/or firmware, e.g., stored in memory, that, when executed by the one or more processors such as the processor 805, perform as described above. One or more of these processors, as well as the other digital hardware, may be included in a single Application- Specific Integrated Circuit (ASIC), or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a System-on-a-Chip (SoC).
Those skilled in the art will also appreciate that any of the determining unit 801, the sending unit 802, the refraining unit 803, and the obtaining unit 804 described above may be the processor 805 of the network node 101, or an application running on such processor 805.
Thus, the methods according to the embodiments described herein for the network node 101 may be respectively implemented by means of a computer program 809 product, comprising instructions, i.e., software code portions, which, when executed on at least one processor 805, cause the at least one processor 805 to carry out the actions described herein, as performed by the network node 101. The computer program 809 product may be stored on a computer-readable storage medium 810. The computer-readable storage medium 810, having stored thereon the computer program 809, may comprise instructions which, when executed on at least one processor 805, cause the at least one processor 805 to carry out the actions described herein, as performed by the network node 101. In some embodiments, the computer-readable storage medium 810 may be a non-transitory computer-readable storage medium, such as a CD ROM disc, a memory stick, or stored in the cloud space. In other embodiments, the computer program 809 product may be stored on a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium 810, as described above.
The network node 101 may comprise an interface unit to facilitate communications between the network node 101 and other nodes or devices, e.g., the first first node 111. In some particular examples, the interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
In other embodiments, the network node 101 may comprise the following arrangement depicted in Figure 8b. The network node 101 may comprise a processing circuitry 805, e.g., one or more processors such as the processor 805, in the network node 101 and the memory 806. The network node 101 may also comprise a radio circuitry 811, which may comprise e.g., the receiving port 807 and the sending port 808. The processing circuitry 805 may be configured to, or operable to, perform the method actions according to Figure 4, in a similar manner as that described in relation to Figure 4a. The radio circuitry 411 may be configured to set up and maintain at least a wireless connection with the first first node 111, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121 and/or any of the second nodes in the plurality of second nodes 120. Circuitry may be understood herein as a hardware component.
Hence, embodiments herein also relate to the network node 101 operative to route the packet through the path. The path may be operative to comprise the plurality of first nodes 110 out of the plurality of second nodes 120. The network node 101 and the plurality of second nodes 120 may be operative to operate in the communications network 100. The network node 101 may comprise the processing circuitry 805 and the memory 806, said memory 806 containing instructions executable by said processing circuitry 805, whereby the network node 101 is further operative to perform the actions described herein in relation to the network node 101, e.g., in Figure 4.
Figure 9 depicts two different examples in panels a) and b), respectively, of the arrangement that the first first node 111 may comprise to perform the method actions described above in relation to Figure 5. In some embodiments, the first first node 111 may comprise the following arrangement depicted in Figure 9a. The first first node 111 is configured to route the packet through the path. The path is configured to comprise the plurality of first nodes 110 out of the plurality of second nodes 120. The first first node 111 and the plurality of second nodes 120 are configured to operate in the communications network 100.
Several embodiments are comprised herein. Components from one embodiment may be tacitly assumed to be present in another embodiment and it will be obvious to a person
skilled in the art how those components may be used in the other exemplary embodiments. The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the first first node 111, and will thus not be repeated here. For example, the path may be a Label Switched Path (LSP).
In Figure 9, optional modules are indicated with dashed boxes.
The network node 101 is configured to, e.g. by means of a receiving unit 901 within the first first node 111 configured to, receive, from the network node 101 configured to operate in the communications network 100, the first instruction to route the packet through the path. The routing is configured to be based on the single identifier. The single identifier is configured to identify the path, comprising the plurality of first nodes 110 and their order, to be followed by the packet in the communications network 100. The first instruction is configured to comprise the indicator of the single identifier.
The first first node 111 may be further configured to, e.g. by means of the receiving unit 901 within the first first node 111 further configured to, receive, from the network node 101, the second instruction to route the packet through the second path. The second instruction may be configured to comprise the second indicator of the second single identifier. The second single identifier may be configured to identify the second path for routing the packet. The receiving of the second instruction may be configured to be based on the information configured to be sent to the network node 101.
The first first node 111 is also configured to, e.g. by means of a sending unit 902 within the first first node 111 configured to, send the indicator of the single identifier to the remaining second nodes 120 in the communications network 100.
In some embodiments wherein the path may be configured to be based on the one or more constraints to be met when routing the packet through the path, the single identifier may be further configured to indicate one or more of the one or more constraints.
In some embodiments the single identifier may be further configured to indicate the flow of a plurality of flows configured to be routed between any two first nodes of the plurality of first nodes 110.
The first first node 111 may be further configured to, e.g. by means of an initiating unit 903 within the first first node 111 configured to, initiate the routing of the packet through the path, based on the first instruction configured to be received.
In some embodiments, the single identifier may be considered the first single identifier, the path may be considered the first path, and the indicator may be considered the first indicator. In such embodiments, the first first node 111 may be further configured to,
e.g. by means of an obtaining unit 804 within the first first node 111 configured to, obtain, from the first second node 121 configured to be in the plurality of second nodes 120, the information on the traffic of packets in the plurality of second nodes 120.
In some embodiments wherein the single identifier may be considered the first single identifier, the path may be considered the first path, and the indicator may be considered the first indicator, the first first node 111 may be further configured to, e.g. by means of the sending unit 902 within the first first node 111 configured to, send, to the network node 101, the information on the of packets in the plurality of second nodes 120.
The first first node 111 may be further configured to, e.g. by means of the initiating unit 903 within the first first node 111 configured to, initiate the routing of the packet through the second path, based on the second instruction configured to be received.
In some embodiments, the single identifier may be a single SID.
In some embodiments, the communications network 100 may be an SR network.
The embodiments herein may be implemented through one or more processors, such as a processor 904 in the first first node 111 depicted in Figure 9, together with computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the in the first first node 111. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the first first node 111.
The first first node 111 may further comprise a memory 905 comprising one or more memory units. The memory 905 is arranged to be used to store obtained information, store data, configurations, schedulings, and applications etc. to perform the methods herein when being executed in the first first node 111.
In some embodiments, the first first node 111 may receive information from, e.g., the network node 101, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121, and/or any of the second nodes in the plurality of second nodes 120, through a receiving port 906. In some examples, the receiving port 906 may be, for example, connected to one or more antennas in first first node 111. In other embodiments, the network node 101 first first node 111 may receive information from another structure in the communications network 100 through the receiving port 906. Since the receiving port 906 may be in communication with the processor 904, the receiving port
906 may then send the received information to the processor 904. The receiving port 906 may also be configured to receive other information.
The processor 904 in the first first node 111 may be further configured to transmit or send information to e.g., the network node 101, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121, and/or any of the second nodes in the plurality of second nodes 120, through a sending port 907, which may be in communication with the processor 904, and the memory 905.
Those skilled in the art will also appreciate that the receiving unit 901, the sending unit 902, and the initiating unit 903 described above may refer to a combination of analog and digital circuits, and/or one or more processors configured with software and/or firmware, e.g., stored in memory, that, when executed by the one or more processors such as the processor 904, perform as described above. One or more of these processors, as well as the other digital hardware, may be included in a single Application-Specific Integrated Circuit (ASIC), or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a System-on-a-Chip (SoC).
Those skilled in the art will also appreciate that any of the receiving unit 901, the sending unit 902, and the initiating unit 903 described above may be the processor 904 of the first first node 111, or an application running on such processor 904.
Thus, the methods according to the embodiments described herein for the first first node 111 may be respectively implemented by means of a computer program 908 product, comprising instructions, i.e., software code portions, which, when executed on at least one processor 904, cause the at least one processor 904 to carry out the actions described herein, as performed by the first first node 111. The computer program 908 product may be stored on a computer-readable storage medium 909. The computer-readable storage medium 909, having stored thereon the computer program 908, may comprise instructions which, when executed on at least one processor 904, cause the at least one processor 904 to carry out the actions described herein, as performed by the first first node 111. In some embodiments, the computer-readable storage medium 909 may be a non-transitory computer-readable storage medium, such as a CD ROM disc, a memory stick, or stored in the cloud space. In other embodiments, the computer program 908 product may be stored on a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium 909, as described above.
The first first node 111 may comprise an interface unit to facilitate communications between the first first node 111 and other nodes or devices, e.g., the network node 101. In some particular examples, the interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
In other embodiments, the first first node 111 may comprise the following arrangement depicted in Figure 9b. The first first node 111 may comprise a processing circuitry 904, e.g., one or more processors such as the processor 904, in the first first node
111 and the memory 905. The first first node 111 may also comprise a radio circuitry 910, which may comprise e.g., the receiving port 906 and the sending port 907. The processing circuitry 904 may be configured to, or operable to, perform the method actions according to Figure 5, in a similar manner as that described in relation to Figure 5a. The radio circuitry 411 may be configured to set up and maintain at least a wireless connection with the network node 101, the second first node 112, any of the other first nodes in the plurality of first nodes 110, the first second node 121 and/or any of the second nodes in the plurality of second nodes 120. Circuitry may be understood herein as a hardware component.
Hence, embodiments herein also relate to the first first node 111 operative to route the packet through the path. The path may be operative to comprise the plurality of first nodes 110 out of the plurality of second nodes 120. The first first node 111 and the plurality of second nodes 120 may be operative to operate in the communications network 100. The network node 101 may comprise the processing circuitry 904 and the memory 905, said memory 905 containing instructions executable by said processing circuitry 904, whereby the first first node 111 is further operative to perform the actions described herein in relation to the first first node 111, e.g., in Figure 5.
Figure 10 depicts two different examples in panels a) and b), respectively, of the arrangement that the second first node 112 may comprise to perform the method actions described above in relation to Figure 6. In some embodiments, the second first node 112 may comprise the following arrangement depicted in Figure 10a. The second first node 112 is configured to route the packet through the path. The path is configured to comprise the plurality of first nodes 110 out of the plurality of second nodes 120. The second first node
112 and the plurality of second nodes 120 are configured to operate in the communications network 100.
Several embodiments are comprised herein. Components from one embodiment may be tacitly assumed to be present in another embodiment and it will be obvious to a person
skilled in the art how those components may be used in the other exemplary embodiments. The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the second first node 112, and will thus not be repeated here. For example, the path may be a Label Switched Path (LSP).
In Figure 10, optional modules are indicated with dashed boxes.
The second first node 112 is configured to, e.g. by means of a receiving unit 1001 within the second first node 112 configured to, receive, from the first first node 111 operating in the communications network 100, the indicator of the single identifier. The single identifier is configured to identify the path, comprising the plurality of first nodes 110, and their order, to be followed by the packet in the communications network 100.
The second first node 112 may be further configured to, e.g. by means of the receiving unit 1001 within the second first node 112 further configured to, receive, from the network node 101, the second instruction to route the packet through the second path. The second instruction may be configured to comprise the second indicator of the second single identifier. The second single identifier may be configured to identify the second path for routing the packet. The receiving of the second instruction may be configured to be based on the information configured to be sent to network node 101.
The second first node 112 is further configured to, e.g. by means of a routing unit 1002 within the second first node 112 configured to, route the packet through the path, based on the indicator configured to be received, in the absence from direct signalling from the network node 101 configured to operate in the communications network 100. The network node 101 is configured to be the controller of the path.
In some embodiments wherein the single identifier may be considered the first single identifier, the path may be considered the first path, and the indicator may be considered the first indicator, the second first node 112 may be further configured to, e.g. by means of the routing unit 1002 within the second first node 112 configured to, route the packet through the second path, based on the second instruction configured to be received.
In some embodiments, the single identifier may be considered the first single identifier, the path may be considered the first path, and the indicator may be considered the first indicator. In such embodiments, the second first node 112 may be further configured to, e.g. by means of a sending unit 1003 within the second first node 112 configured to, send, to the network node 101, the information on the traffic of packets in the plurality of second nodes 120.
In some embodiments wherein the path may be configured to be based on the one or more constraints to be met when routing the packet through the path, the single identifier may be further configured to indicate one or more of the one or more constraints.
In some embodiments the single identifier may be further configured to indicate the flow of a plurality of flows configured to be routed between any two first nodes of the plurality of first nodes 110.
In some embodiments, the single identifier may be a single SID.
In some embodiments, the communications network 100 may be an SR network.
The embodiments herein may be implemented through one or more processors, such as a processor 1004 in the second first node 112 depicted in Figure 10, together with computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the in the second first node 112. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the second first node 112.
The second first node 112 may further comprise a memory 1005 comprising one or more memory units. The memory 1005 is arranged to be used to store obtained information, store data, configurations, schedulings, and applications etc. to perform the methods herein when being executed in the second first node 112.
In some embodiments, the second first node 112 may receive information from, e.g., the network node 101, the first first node 111, any of the other first nodes in the plurality of first nodes 110, the first second node 121, and/or any of the second nodes in the plurality of second nodes 120, through a receiving port 1006. In some examples, the receiving port 1006 may be, for example, connected to one or more antennas in second first node 112. In other embodiments, the second first node 112 may receive information from another structure in the communications network 100 through the receiving port 1006. Since the receiving port 1006 may be in communication with the processor 1004, the receiving port 1006 may then send the received information to the processor 1004. The receiving port 1006 may also be configured to receive other information.
The processor 1004 in the second first node 112 may be further configured to transmit or send information to e.g., the network node 101, the first first node 111, any of the other first nodes in the plurality of first nodes 110, the first second node 121, and/or any of the
second nodes in the plurality of second nodes 120, through a sending port 1007, which may be in communication with the processor 1004, and the memory 1005.
Those skilled in the art will also appreciate that the receiving unit 1001, the routing unit 1002, and the sending unit 1003 described above may refer to a combination of analog and digital circuits, and/or one or more processors configured with software and/or firmware, e.g., stored in memory, that, when executed by the one or more processors such as the processor 1004, perform as described above. One or more of these processors, as well as the other digital hardware, may be included in a single Application-Specific Integrated Circuit (ASIC), or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a System-on-a-Chip (SoC).
Those skilled in the art will also appreciate that any of the receiving unit 1001, the routing unit 1002, and the sending unit 1003 described above may be the processor 1004 of the second first node 112, or an application running on such processor 1004.
Thus, the methods according to the embodiments described herein for the second first node 112 may be respectively implemented by means of a computer program 1008 product, comprising instructions, i.e., software code portions, which, when executed on at least one processor 1004, cause the at least one processor 1004 to carry out the actions described herein, as performed by the second first node 112. The computer program 1008 product may be stored on a computer-readable storage medium 1009. The computer- readable storage medium 1009, having stored thereon the computer program 1008, may comprise instructions which, when executed on at least one processor 1004, cause the at least one processor 1004 to carry out the actions described herein, as performed by the second first node 112. In some embodiments, the computer-readable storage medium 1009 may be a non-transitory computer-readable storage medium, such as a CD ROM disc, a memory stick, or stored in the cloud space. In other embodiments, the computer program 1008 product may be stored on a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium 1009, as described above.
The second first node 112 may comprise an interface unit to facilitate communications between the second first node 112 and other nodes or devices, e.g., the first first node 111. In some particular examples, the interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
In other embodiments, the second first node 112 may comprise the following arrangement depicted in Figure 10b. The second first node 112 may comprise a processing circuitry 1004, e.g., one or more processors such as the processor 1004, in the second first node 112 and the memory 1005. The second first node 112 may also comprise a radio circuitry 1010, which may comprise e.g., the receiving port 1006 and the sending port 1007. The processing circuitry 1004 may be configured to, or operable to, perform the method actions according to Figure 6, in a similar manner as that described in relation to Figure 6a. The radio circuitry 411 may be configured to set up and maintain at least a wireless connection with the network node 101, the first first node 111, any of the other first nodes in the plurality of first nodes 110, the first second node 121 and/or any of the second nodes in the plurality of second nodes 120. Circuitry may be understood herein as a hardware component.
Hence, embodiments herein also relate to the second first node 112 operative to route the packet through the path. The path may be operative to comprise the plurality of first nodes 110 out of the plurality of second nodes 120. The second first node 112 and the plurality of second nodes 120 may be operative to operate in the communications network 100. The second first node 112 may comprise the processing circuitry 1004 and the memory 1005, said memory 1005 containing instructions executable by said processing circuitry 1004, whereby the second first node 112 is further operative to perform the actions described herein in relation to the second first node 112, e.g., in Figure 6.
Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and/or is implied from the context in which it is used. All references to a/an/the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and/or where it is implicit that a step must follow or precede another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features and advantages of the enclosed embodiments will be apparent from the following description.
As used herein, the expression“at least one of:” followed by a list of alternatives separated by commas, and wherein the last alternative is preceded by the“and” term, may
be understood to mean that only one of the list of alternatives may apply, more than one of the list of alternatives may apply or all of the list of alternatives may apply. This expression may be understood to be equivalent to the expression“at least one of:” followed by a list of alternatives separated by commas, and wherein the last alternative is preceded by the“or” term.
When using the word "comprise" or“comprising”, it shall be interpreted as non limiting, i.e. meaning "consist at least of".
The embodiments herein are not limited to the above described preferred embodiments. Various alternatives, modifications and equivalents may be used. Therefore, the above embodiments should not be taken as limiting the scope of the invention.
As used herein, the expression“in some embodiments” has been used to indicate that the features of the embodiment described may be combined with any other embodiment or example disclosed herein.
As used herein, the expression“in some examples” has been used to indicate that the features of the example described may be combined with any other embodiment or example disclosed herein.
Claims
1. A method, performed by a network node (101), for routing a packet through a path, the path comprising a plurality of first nodes (110) out of a plurality of second nodes (120), the network node (101) and the plurality of second nodes (120) operating in a communications network (100), the method comprising:
- determining (401) a single identifier, the single identifier identifying the path, comprising the plurality of first nodes (110) and their order, to be followed by the packet in the communications network (100), and
- sending (402), to a first first node (111) in the path, a first instruction to route the packet through the path, the first instruction comprising an indicator of the single identifier.
2. The method according to claim 1, wherein one or more of:
a. the path is based on one or more constraints to be met when routing the packet through the path, and wherein the single identifier further indicates one or more of the one or more constraints, or
b. the single identifier further indicates a flow of a plurality of flows routed between any two first nodes of the plurality of first nodes (110).
3. The method according to any of claims 1-2, the method further comprising:
- refraining (403) from sending the first instruction to any of the remaining first nodes in the plurality of first nodes (110).
4. The method according to any of claims 1-3, wherein the single identifier is a first single identifier, the path is a first path, and the indicator is a first indicator, and wherein the method further comprises:
- obtaining (404), from a first second node (121) in the plurality of second nodes (120), information on traffic of packets in the plurality of second nodes (120), and
- determining (405) a second single identifier for a second path for routing the packet, the determining (405) of the second path being based on the information received from the first second node (121), and
- sending (406), to a second first node (112) in the first path, a second instruction to route the packet through the second path, the second instruction comprising a second indicator of the second single identifier.
5. The method according to any of claims 1-4, wherein one or more of:
a. the path is a Label Switched Path, LSP;
b. the single identifier is a single Segment Identifier, SID, or
c. the communications network (100) is a Segment Routing, SR, network.
6. A computer-readable storage medium (810), having stored thereon a computer program (809), comprising instructions which, when executed on at least one processor (805), cause the at least one processor (805) to carry out the method according to any one of claims 1 to 5.
7. A method performed by a first first node (111) for routing a packet through a path, the path comprising a plurality of first nodes (110) out of a plurality of second nodes (120), the first first node (111) and the plurality of second nodes (120) operating in a communications network (100), the method comprising:
- receiving (501), from a network node (101) operating in the communications network (100), a first instruction to route the packet through the path, the routing being based on a single identifier, the single identifier identifying the path, comprising the plurality of first nodes (110) and their order, to be followed by the packet in the communications network (100), the first instruction comprising an indicator of the single identifier, and
- sending (502) the indicator of the single identifier to the remaining second nodes (120) in the communications network (100).
8. The method according to claim 7, the method further comprising:
- initiating (503) the routing of the packet through the path, based on the received first instruction.
9. The method according to claim 7-8, wherein one or more of:
a. the path is based on one or more constraints to be met when routing the packet through the path, and wherein the single identifier further indicates one or more of the one or more constraints, or
b. the single identifier further indicates a flow of a plurality of flows routed between any two first nodes of the plurality of first nodes (110).
10. The method according to any of claims 7-9, wherein the single identifier is a first single identifier, the path is a first path, and the indicator is a first indicator, and wherein the method further comprises:
- sending (504), to the network node (101), information on traffic of packets in the plurality of second nodes (120), and
- receiving (505), from the network node (101), a second instruction to route the packet through a second path, the second instruction comprising a second indicator of a second single identifier, the second single identifier identifying a second path for routing the packet, the receiving (505) of the second instruction being based on the information sent to the network node (101); and
- initiating (506) the routing of the packet through the second path, based on the received second instruction.
11. A computer-readable storage medium (909), having stored thereon a computer program (908), comprising instructions which, when executed on at least one processor (904), cause the at least one processor (904) to carry out the method according to any one of claims 7 to 10.
12. A method performed by a second first node (112) for routing a packet through a path, the path comprising a plurality of first nodes (110) out of a plurality of second nodes (120), the second first node (112) and the plurality of second nodes (120) operating in a communications network (100), the method comprising:
- receiving (601), from a first first node (111) operating in the communications network (100), an indicator of a single identifier, a single identifier identifying the path, comprising the plurality of first nodes (110), and their order, to be followed by the packet in the communications network (100), and
- routing (602) the packet through the path, based on the received indicator, in the absence from direct signalling from a network node (101) operating in the communications network (100), the network node (101) being a controller of the path.
13. The method according to claim 12, wherein one or more of:
a. the path is based on one or more constraints to be met when routing the packet through the path, and wherein the single identifier further indicates one or more of the one or more constraints, or
b. the single identifier further indicates a flow of a plurality of flows routed between any two first nodes of the plurality of first nodes (110).
14. The method according to any of claims 12-13, wherein the single identifier is a first single identifier, the path is a first path, and the indicator is a first indicator, and wherein the method further comprises:
- sending (603), to the network node (101), information on traffic of packets in the plurality of second nodes (120),
- receiving (604), from the network node (101), a second instruction to route the packet through a second path, the second instruction comprising a second indicator of a second single identifier, the second single identifier identifying a second path for routing the packet, the receiving (604) of the second instruction being based on the information sent to network node (101), and
- route (605) the packet through the second path, based on the received second instruction.
15. A computer-readable storage medium (1009), having stored thereon a computer program (1008), comprising instructions which, when executed on at least one processor (1004), cause the at least one processor (1004) to carry out the method according to any one of claims 12 to 14.
16. A network node (101) configured to route a packet through a path, the path being configured to comprise a plurality of first nodes (110) out of a plurality of second nodes (120), the network node (101) and the plurality of second nodes (120) being configured to operate in a communications network (100), the network node (101) being further configured to:
- determine a single identifier, the single identifier being configured to identify the path, comprising the plurality of first nodes (110) and their order, to be followed by the packet in the communications network (100), and
- send, to a first first node (111) in the path, a first instruction to route the packet through the path, the first instruction being configured to comprise an indicator of the single identifier.
17. The network node (101) according to claim 16, the network node (101) being further configured to:
- refrain from sending the first instruction to any of the remaining first nodes in the plurality of first nodes (110).
18. The network node (101) according to any of claims 16-17, wherein the single identifier is a first single identifier, the path is a first path, and the indicator is a first indicator, and wherein the network node (101) is further configured to:
- obtain, from a first second node (121) configured to be in the plurality of second nodes (120), information on traffic of packets in the plurality of second nodes (120), and
- determine a second single identifier for a second path for routing the packet, the determining of the second path being configured to be based on the information configured to be received from the first second node (121), and
- send, to a second first node (112) in the first path, a second instruction to route the packet through the second path, the second instruction being configured to comprise a second indicator of the second single identifier.
19. A first first node (111) configured to route a packet through a path, the path being configured to comprise a plurality of first nodes (110) out of a plurality of second nodes (120), the first first node (111) and the plurality of second nodes (120) being configured to operate in a communications network (100), the first first node (111) being further configured to:
- receive, from a network node (101) configured to operate in the communications network (100), a first instruction to route the packet through the path, the routing being configured to be based on a single identifier, the single identifier being configured to identify the path, comprising the plurality of first nodes (110) and their order, to be followed by the packet in the communications network (100), the first instruction being configured to comprise an indicator of the single identifier, and
- send the indicator of the single identifier to the remaining second nodes (120) in the communications network (100).
20. The first first node (111) according to claim 19, the first first node (111) being further configured to:
- initiate the routing of the packet through the path, based on the first instruction configured to be received.
21. The first first node (111) according to any of claims 19-20, wherein the single identifier is a first single identifier, the path is a first path, and the indicator is a first indicator, and wherein the first first node (111) is further configured to:
- send, to the network node (101), information on traffic of packets in the plurality of second nodes (120), and
- receive, from the network node (101), a second instruction to route the packet through a second path, the second instruction being configured to comprise a second indicator of a second single identifier, the second single identifier being configured to identify a second path for routing the packet, the receiving of the second instruction being configured to be based on the information configured to be sent to the network node (101); and
- initiate the routing of the packet through the second path, based on the second instruction configured to be received.
22. A second first node (112) configured to route a packet through a path, the path being configured to comprise a plurality of first nodes (110) out of a plurality of second nodes (120), the second first node (112) and the plurality of second nodes (120) being configured to operate in a communications network (100), the second first node (112) being further configured to:
- receive, from a first first node (111) operating in the communications network (100), an indicator of a single identifier, a single identifier configured to identify the path, comprising the plurality of first nodes (110), and their order, to be followed by the packet in the communications network (100), and
- route the packet through the path, based on the indicator configured to be received, in the absence from direct signalling from a network node (101)
configured to operate in the communications network (100), the network node (101) being configured to be a controller of the path.
23. The second first node (112) according to claim 22, wherein the single identifier is a first single identifier, the path is a first path, and the indicator is a first indicator, and wherein the second first node (112) is further configured to:
- send, to the network node (101), information on traffic of packets in the plurality of second nodes (120),
- receive, from the network node (101), a second instruction to route the packet through a second path, the second instruction being configured to comprise a second indicator of a second single identifier, the second single identifier being configured to identify a second path for routing the packet, the receiving of the second instruction being configured to be based on the information configured to be sent to network node (101), and
- route (605) the packet through the second path, based on the second instruction configured to be received.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/IN2018/050580 WO2020049577A1 (en) | 2018-09-07 | 2018-09-07 | Network node, first node, second node and methods performed thereby for routing a packet through a path |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/IN2018/050580 WO2020049577A1 (en) | 2018-09-07 | 2018-09-07 | Network node, first node, second node and methods performed thereby for routing a packet through a path |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020049577A1 true WO2020049577A1 (en) | 2020-03-12 |
Family
ID=69722357
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IN2018/050580 Ceased WO2020049577A1 (en) | 2018-09-07 | 2018-09-07 | Network node, first node, second node and methods performed thereby for routing a packet through a path |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2020049577A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113542114A (en) * | 2020-04-20 | 2021-10-22 | 华为技术有限公司 | Routing configuration method and routing configuration device |
| CN115134283A (en) * | 2021-03-08 | 2022-09-30 | 北京华为数字技术有限公司 | A kind of ring network protection method and device |
| CN116938787A (en) * | 2022-04-06 | 2023-10-24 | 中兴通讯股份有限公司 | Message forwarding method and device, storage medium and electronic device |
| WO2023202639A1 (en) * | 2022-04-22 | 2023-10-26 | 华为技术有限公司 | Message sending method, network device and communication system |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140369356A1 (en) * | 2013-03-15 | 2014-12-18 | Cisco Technology, Inc. | Opportunistic compression of routing segment identifier stacks |
| WO2015058019A1 (en) * | 2013-10-18 | 2015-04-23 | Cisco Technology, Inc. | Scalable edge node protection using ipv6 segment routing extension header |
| US20180019944A1 (en) * | 2015-01-19 | 2018-01-18 | Zte Corporation | Methods and devices for constructing label and forwarding label packet |
-
2018
- 2018-09-07 WO PCT/IN2018/050580 patent/WO2020049577A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140369356A1 (en) * | 2013-03-15 | 2014-12-18 | Cisco Technology, Inc. | Opportunistic compression of routing segment identifier stacks |
| WO2015058019A1 (en) * | 2013-10-18 | 2015-04-23 | Cisco Technology, Inc. | Scalable edge node protection using ipv6 segment routing extension header |
| US20180019944A1 (en) * | 2015-01-19 | 2018-01-18 | Zte Corporation | Methods and devices for constructing label and forwarding label packet |
Non-Patent Citations (1)
| Title |
|---|
| VICTOR CROITORU ET AL.: "Proposed Packet Routing System Based on Label Switched Method", CONSTANTIN VIOREL MARIAN, 31 October 2013 (2013-10-31), XP032518229 * |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113542114A (en) * | 2020-04-20 | 2021-10-22 | 华为技术有限公司 | Routing configuration method and routing configuration device |
| CN113542114B (en) * | 2020-04-20 | 2022-11-11 | 华为技术有限公司 | Route configuration method and route configuration device |
| US12101249B2 (en) | 2020-04-20 | 2024-09-24 | Huawei Technologies Co., Ltd. | Route configuration method and route configuration apparatus |
| CN115134283A (en) * | 2021-03-08 | 2022-09-30 | 北京华为数字技术有限公司 | A kind of ring network protection method and device |
| CN116938787A (en) * | 2022-04-06 | 2023-10-24 | 中兴通讯股份有限公司 | Message forwarding method and device, storage medium and electronic device |
| WO2023202639A1 (en) * | 2022-04-22 | 2023-10-26 | 华为技术有限公司 | Message sending method, network device and communication system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11743166B2 (en) | Provisioning non-colored segment routing label switched paths via segment routing policies in border gateway protocol | |
| US7522603B2 (en) | Technique for efficiently routing IP traffic on CE-CE paths across a provider network | |
| US10193801B2 (en) | Automatic traffic mapping for multi-protocol label switching networks | |
| EP3979598B1 (en) | Bandwidth constraint for multipath segment routing | |
| US7864765B2 (en) | Anycast-based internet protocol redirection to alleviate partial routing tables | |
| EP3817446A1 (en) | Method and apparatus for creating network slice | |
| CN109314663B (en) | PCEP extends PCECC to support distributed computing, multiple services, and inter-domain routing | |
| US9571387B1 (en) | Forwarding using maximally redundant trees | |
| EP2933958A1 (en) | Segment routing - egress peer engineering (SP-EPE) | |
| WO2014018541A1 (en) | System, method and apparatus conforming path cost criteria across multiple abrs | |
| US20130322253A1 (en) | System and method for inter-domain rsvp-te lsp load balancing | |
| US20220094638A1 (en) | Stateless multicasting over traffic engineered unicast tunnels | |
| EP3682621A1 (en) | Methods, nodes and computer readable media for tunnel establishment per slice | |
| EP3902210A1 (en) | Congruent bidirectional segment routing tunnels | |
| WO2020049577A1 (en) | Network node, first node, second node and methods performed thereby for routing a packet through a path | |
| US12081435B2 (en) | Distribution of SRv6 modes of operation via routing protocols | |
| US11824769B2 (en) | Incrementally eliminating BGP-LU using SR policies and PCE | |
| US12316534B2 (en) | Latency sensitive network plane via SR flex algorithm for layer 1 services | |
| EP4387188A1 (en) | Latency sensitive network plane via sr flex algorithm for layer 1 services | |
| US20240348527A1 (en) | Signaling Service SID Transposition Capability in SRv6 Networks | |
| EP3939219B1 (en) | A system and a method for routing traffic in an mpls network |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18932650 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18932650 Country of ref document: EP Kind code of ref document: A1 |