Network device and method for entropy-based segment routing in networks
Patent Information
- Application Number
- PCT/EP2025/054761
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-21
- Publication Date
- 2026-08-27
Smart Images

Figure EP2025054761_27082026_PF_FP_ABST
Abstract
Description
[0001] NETWORK DEVICE AND METHOD FOR ENTROPY-BASED SEGMENT ROUTING IN NETWORKS
[0002] TECHNICAL FIELD
[0003] The present disclosure relates generally to the field of communication systems and more specifically, to a network device and a method for the network device for entropy-based segment routing in networks.
[0004] BACKGROUND
[0005] Segment Routing in IPv6 (SRv6) is a routing method that allows a source of a packet to determine the path of the packet by incorporating a list of routers in a header of the transmitted packet. The segment routing, defined for IPv6, uses a Segment Routing Header (SRH) as an extension header, which includes a list of Segment Identifiers (SIDs) representing routers along the packet's path.
[0006] Conventional SRv6 methods and systems face challenges with entropy-based load balancing, such as the requirement of dedicated entropy fields in packet headers for load balancing, being limited to using the same entropy value across all segments of a routing path and lacking flexibility in implementing entropy-based load balancing across different protocols. Additionally, the conventional SRv6 methods and systems that support entropy-based load balancing in segment routing are constrained by their dependency on protocol-specific entropy fields, which may not be available in all protocols thereby limiting their widespread applicability and effectiveness in diverse network environments. However, the conventional SRv6 methods and systems have significant limitations in enabling packet spraying and entropy-based load balancing without requiring a dedicated entropy field, particularly when different entropy values are needed in different segments. Thus, there exists a technical problem of how to perform entropy-based load balancing in segment routing without dedicating any entropy field while allowing different entropy values in different segments. Therefore, in light of the foregoing discussion, there exists a need to overcome the aforementioned drawbacks associated with the conventional compression techniques in order to improve entropy-based segment routing in networks.
[0007] SUMMARY
[0008] The present disclosure provides a network device and a method for the network device for entropy-based segment routing in the networks. The present disclosure provides a solution to the existing technical problem of how to perform entropy-based load balancing in segment routing without dedicating any entropy field while allowing different entropy values in different segments. An objective of the present disclosure is to provide a solution that overcomes at least partially the problems encountered in the prior art and provides an improved network device and the method for the network device for entropy-based segment routing in networks.
[0009] One or more objectives of the present disclosure are achieved by the solutions provided in the enclosed independent claims. Advantageous implementations of the present disclosure are further defined in the dependent claims.
[0010] In one aspect, the present disclosure provides a network device comprising a controller configured to perform segment routing over an internet protocol for a data packet. Moreover, the data packet comprises a set of one or more segment identifiers indicating a segment path and one or more of the segment identifiers comprises an address of a node in thesegment path and an entropy field indicating an entropy value, the entropy value indicating an entropy for the segment path of the segment identifier.
[0011] Advantageously, the network device is configured to combine segment routing with an entropy field for dynamic load balancing in order to enable efficient distribution of network traffic across multiple paths, reducing congestion and optimizing resource utilization. Moreover, the network device is also configured to eliminate the need for maintaining per-flow state at intermediate nodes thereby enhancing scalability and reducing the overall complexity in large-scale networks. Furthermore, the inclusion of an entropy field allows for granular, per-segment traffic management, ensuring that different packets within the same flow can take diverse paths for improved network resilience and performance. As a result, the network device is configured to bridge the gap between segment routing and load balancing, providing a robust and scalable solution for modem IP-based networks.
[0012] In another aspect, the present disclosure provides the method for a network device, the method comprising performing segment routing over an internet protocol for a data packet. Moreover, the data packet comprises a set of one or more segment identifiers indicating a segment path, and the one or more segment identifiers comprises an address of a node in the segment path and an entropy field indicating an entropy value, the entropy value indicating an entropy for the segment path of the segment identifier.
[0013] The method has all the advantages and technical effects of the network device of the present disclosure.
[0014] It is to be appreciated that all the aforementioned implementation forms can be combined.
[0015] It has to be noted that all devices, elements, circuitry, units and means described in the present application could be implemented in the software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity that performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respective software or hardware elements or any kind of combination thereof. It will be appreciated that features of the present disclosure are susceptible to being combined in various combinations without departing from the scope of the present disclosure as defined by the appended claims.
[0016] Additional aspects, advantages, features, and objects of the present disclosure would be made apparent from the drawings and the detailed description of the illustrative implementations construed in conjunction with the appended claims that follow.
[0017] BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The summary above, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the present disclosure, exemplary constructions of the disclosure are shown in the drawings. However, the present disclosure is not limited to specific methods and instrumentalities disclosed herein. Moreover, those in the art will understand that the drawings are not to scale. Wherever possible, like elements have been indicated by identical numbers.Embodiments of the present disclosure will now be described, by way of example only, with reference to the following diagrams wherein:
[0019] FIG. 1 is a block diagram of a network device to perform segment routing, in accordance with an embodiment of the present disclosure;
[0020] FIG. 2 is a flow chart of a method for the network device for performing segment routing, in accordance with an embodiment of the present disclosure;
[0021] FIG. 3 is a diagram that depicts the incorporation of an entropy field into a segment of one or more segments, in accordance with an embodiment of the present disclosure;
[0022] FIG. 4A is a diagram that depicts segment routing with an entropy-based one or more segment identifiers, in accordance with an embodiment of the present disclosure;
[0023] FIG. 4B is another diagram that depicts segment routing with an entropy-based one or more segment identifiers, in accordance with an embodiment of the present disclosure;
[0024] FIG. 4C is a diagram that depicts segment routing with entropy-based multiple-segment identifiers for traffic balancing, in accordance with an embodiment of the present disclosure; and
[0025] FIG. 5 is a diagram that represents segment routing with an entropy-based SID, in accordance with an embodiment of the present disclosure.
[0026] In the accompanying drawings, an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent. A non-underlined number relates to an item identified by a line linking the non-underlined number to the item. When a number is non-underlined and accompanied by an associated arrow, the non-underlined number is used to identify a general item at which the arrow is pointing.
[0027] DETAILED DESCRIPTION OF EMBODIMENTS
[0028] The following detailed description illustrates embodiments of the present disclosure and ways in which they can be implemented. Although some modes of carrying out the present disclosure have been disclosed, those skilled in the art would recognize that other embodiments for carrying out or practicing the present disclosure are also possible. FIG. 1 is a block diagram of a network device, in accordance with an embodiment of the present disclosure. With reference to FIG. 1, there is shown the block diagram 100 of a network device 102 that includes a controller 104, a memory 106, and a network interface 108.
[0029] The network device 102 refers to a device operating in a network system that is configured to perform entropy-based segment routing in networks segment routing over an internet protocol for a data packet. In an example, the network device 102 may include but are not limited to, a transmitter, a transceiver, an encoder, a user terminal of a cellular network, a customized hardware for wireless telecommunication, or any other portable or non-portable electronic device, client device, user equipment, and the like.
[0030] The controller 104 of the network device 102 is configured to perform segment routing over an internet protocol for a data packet. Examples of the controller 104 may include but are not limited to, a hardware processor, a digital signal processor (DSP), a microprocessor, a microcontroller, a complex instruction set computing (CISC) processor, an application-specific integrated circuit (ASIC) processor, a reduced instruction set (RISC) processor, a very long instruction word (VLIW) processor, a state machine, a data processing unit, a graphics processing unit (GPU), and other processors or control circuitry.The memory 106 is used to store data packets comprising one or more segment identifiers. Examples of implementation of the memory 106 may include but are not limited to, Electrically Erasable Programmable Read-Only Memory (EEPROM), Dynamic Random Access Memory (DRAM), Random Access Memory (RAM), Read-Only Memory (ROM), Elard Disk Drive (EIDD), Flash memory, a Secure Digital (SD) card, Solid-State Drive (SSD), and / or CPU cache memory. The network interface 108 is used by the network device the controller 104 to communicate with the memory 106 and the like. Moreover, examples of implementation of the network interface 108 may include but are not limited to a network interface, a computer port, a network socket, a network interface controller (NIC), and any other network interface device.
[0031] In operation, the controller 104 is configured to perform segment routing over an internet protocol for a data packet. Moreover, segment routing enables defining a specific path for data packets through a network by using one or more segment identifiers (SIDs), which indicate nodes or functions along the path in order to allow flexible and efficient entropy-based segment routing by eliminating the need for per-flow state maintenance at intermediate routers while reducing overall enabling dynamic path optimization without requiring dedicated entropy fields in all protocols thereby bridging the gap between segment routing and entropy-based load balancing.
[0032] Furthermore, the data packet includes a set of one or more segment identifiers indicating a segment path. Moreover, the one or more of the segment identifiers comprises an address of a node in the segment path and an entropy field indicating an entropy value, the entropy value indicating an entropy for the segment path of the segment identifier. The inclusion of the entropy field in the one or more segment identifiers facilitates entropy-based load balancing across the network that enables efficient traffic distribution, prevents congestion, and optimizes resource utilization by allowing diverse paths for data packets even within the same flow. In an implementation, the segment identifier specifies the destination node or function for each segment and integrates an entropy field as part of the packet header that influences the segment routing decisions, such as by enabling intermediate nodes to apply hash-based load balancing. As a result, the entropy value ensures that data packets are dynamically spread across multiple paths to improve the efficiency and resilience of the network system and enables fine-grained, per-segment load balancing without requiring additional fields in the protocol.
[0033] In accordance with an embodiment, the controller 104 is further configured to perform the segment routing based on the segment identifier of the next segment thereby including the entropy value, whereby the entropy value provides a load balancing based on entropy. The utilization of the entropy value in segment routing ensures efficient load balancing by distributing network traffic dynamically across available paths that minimizes congestion, optimizes resource utilization, and improves overall network performance. In other words, the controller 104 is configured to include the entropy value within the routing decision while processing the one or more segment identifiers for the corresponding next segments. As a result, the entropy value is used to apply hash-based load balancing and dynamically determine the path for the data packet transmission while reducing the likelihood of any bottlenecks.
[0034] In accordance with an embodiment, the controller 104 is further configured to perform the segment routing based on determining a hash value for the segment identifier and zero or more other fields of the packet header. In an implementation, the controller 104 is configured to calculate a hash value using the segment identifier and optionally other fields, such as the source IP, destination IP, or protocol. Moreover, such hash value determines the path or next hop for the data packet within the network. Therefore, by leveraging the variability of the hash computation, the controller 104 is configured to ensure traffic distribution across available paths while maintaining flow consistency for packets with shared header fields.In accordance with an embodiment, the entropy value for a first data packet is different from the entropy value of a second data packet. In other words, for each data packet, the controller 104 is configured to assign a unique entropy value, which is embedded in the packet's header, which is used in hash-based load balancing by intermediate routers, allowing each packet to take potentially different paths through the network based on the calculated hash value. As a result, by assigning distinct entropy values to different packets the controller 104 is configured to ensure that traffic is distributed dynamically across multiple network paths and optimize the utilization of network resources thereby improving the overall traffic management while maintaining the integrity of segment routing mechanisms.
[0035] In accordance with an embodiment, the entropy value for a first-segment path is different from the entropy value of a second-segment path. In an implementation, for each segment path, the controller 104 is configured to generate a unique entropy value that is embedded in the segment identifier. Therefore, the controller 104 is configured to ensure even traffic distribution and optimized utilization of network resources.
[0036] In accordance with an embodiment, the segment identifier comprises an argument field and the entropy field is comprised in the argument field. By including the entropy field within the argument field, the controller 104 is configured to eliminate the need for a dedicated entropy field in the packet header thereby simplifying the structure and maintaining compatibility with existing routing protocols.
[0037] In accordance with an embodiment, the argument field consists of the entropy field. The argument field within the segment identifier is entirely dedicated to the entropy field, which represents the entropy value for routing decisions. Moreover, by dedicating the argument field solely to the entropy field, the controller 104 is configured to enhance the focus on entropy-based load balancing, such as by eliminating any ambiguity while utilizing the argument field in order to ensure an efficient and precise implementation of entropy-based load balancing.
[0038] In accordance with an embodiment, the segment identifier further includes a function field indicating that the argument field comprises an entropy field. In an implementation, the function field ensures clarity and precision by explicitly signaling to routers that the argument field contains an entropy field that enhances the overall compatibility of the network device 102 and reduces potential processing errors. Moreover, the function field indicates the utilization of the entropy field in the argument field in order to identify the value of entropy and incorporate the same into the corresponding load-balancing decisions while ensuring efficient and accurate routing.
[0039] In accordance with an embodiment, one or more of the segment identifiers comprises one or more compressed segment identifiers in turn comprising the entropy field. In an implementation, each of the one or more compressed segment identifiers replaces the traditional full-size segment identifiers along with the entropy field that reduces the computational overhead of the segment routing, such as by reducing the size of the routing header.
[0040] In accordance with an embodiment, the internet protocol is Internet Protocol version 6 (IPv6). The IPv6 provides extension headers that are used for networking requirements, such as segment routing in order to ensure scalability and compatibility with evolving network infrastructures and support complex networks while maintaining compatibility with global deployments.
[0041] In accordance with an embodiment, the controller 104 is further configured to ignore the entropy field in the segment identifier of the current segment when the network device 102 is a segment endpoint. In other words, when the network device 102 recognizes the segment endpoint, then, in that case, the controller 104 is configured to process the function and arguments of the segment identifier while skipping the entropy field in order to ensure that the endpoint performs only the necessary operations related to the segment's termination. As a result, the controller 104 is configured toprevent any unnecessary data processing while facilitating load balancing during the traversal of the data packets between the one or more segments.
[0042] Advantageously, the network device 102 is configured to combine segment routing with an entropy field for dynamic load balancing in order to enable an efficient distribution of network traffic across multiple paths, reducing congestion and optimizing resource utilization. Moreover, the network device 102 is also configured to eliminate the need for maintaining per-flow state at intermediate nodes thereby enhancing scalability and reducing the overall complexity in large-scale networks. Furthermore, the inclusion of an entropy field allows for granular, per-segment traffic management, ensuring that different packets within the same flow can take diverse paths for improved network resilience and performance. As a result, the network device 102 is configured to bridge the gap between segment routing and load balancing, providing a robust and scalable solution for modem IP-based networks.
[0043] FIG. 2 is a flow chart of a method for a network device for performing segment routing, in accordance with an embodiment of the present disclosure. With reference to FIG. 2, there is shown a flow chart of a method 200 of performing segment routing.
[0044] At step 202, the method 200 includes performing the segment routing over an internet protocol for a data packet. Moreover, the data packet includes a set of one or more segment identifiers indicating a segment path, and wherein the one or more segment identifiers comprise an address of a node in the segment path and an entropy field indicating an entropy value, the entropy value indicating an entropy for the segment path of the segment identifier. The inclusion of the entropy field in the one or more segment identifiers facilitates entropy-based load balancing across the network that enables an efficient traffic distribution, prevents congestion, and optimizes resource utilization by allowing diverse paths for data packets even within the same flow. In an implementation, the segment identifier specifies the destination node or function for each segment and integrates an entropy field as part of the packet header that influences the segment routing decisions, such as by enabling intermediate nodes to apply hash-based load balancing. As a result, the entropy value ensures that data packets are dynamically spread across multiple paths to improve the efficiency and resilience of the network system enabling fine-grained, per-segment load balancing without requiring additional fields in the protocol.
[0045] In accordance with an embodiment, the method 200 further includes performing the segment routing based on the segment identifier of the next segment thereby including the entropy value, whereby the entropy value provides a load balancing based on entropy. The utilization of the entropy value in segment routing ensures efficient load balancing by distributing network traffic dynamically across available paths that minimizes congestion, optimizes resource utilization, and improves overall network performance.
[0046] In accordance with an embodiment, the method 200 further includes performing the segment routing based on determining a hash value for the segment identifier and zero or more other fields of the packet header. By leveraging the variability of the hash computation, the controller 104 is configured to ensure traffic distribution across available paths while maintaining flow consistency for packets with shared header fields.
[0047] In accordance with an embodiment, the internet protocol is Internet Protocol version 6 (IPv6). The IPv6 provides extension headers that are used for networking requirements, such as segment routing in order to ensure scalability and compatibility with evolving network infrastructures and support complex networks while maintaining compatibility with global deployments.
[0048] Advantageously, the method 200 is used to combine segment routing with an entropy field for dynamic load balancing in order to enable an efficient distribution of network traffic across multiple paths, reducing congestion and optimizingresource utilization. Moreover, the method 200 is used to eliminate the need for maintaining a per-flow state at intermediate nodes thereby enhancing scalability and reducing the overall complexity in large-scale networks. Furthermore, the inclusion of an entropy field allows for granular, per-segment traffic management, ensuring that different packets within the same flow can take diverse paths for improved network resilience and performance. As a result, the method 200 is used to is configured to bridge the gap between segment routing and load balancing, providing a robust and scalable solution for modem IP-based networks.
[0049] There is further provided, a computer program product comprising program instructions for performing the method 200 when executed by the controller 104 in the network system. The computer program product is implemented as an algorithm, embedded in a software stored in a non-transitory computer-readable storage medium. The non-transitory computer-readable storage means may include but are not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. Examples of implementation of computer-readable storage medium, but are not limited to, Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RAM), Read Only Memory (ROM), Hard Disk Drive (HDD), Flash memory, a Secure Digital (SD) card, Solid-State Drive (SSD), a computer-readable storage medium, and / or CPU cache memory.
[0050] FIG. 3 is a diagram that depicts an incorporation of an entropy field into a segment of one or more segments, in accordance with an embodiment of the present disclosure. With reference to FIG. 3, there is shown a diagram 300 that depicts the incorporation of the entropy field into the segment.
[0051] In an implementation scenario, the entropy field can be incorporated in three different ways as shown by different operations, such as at operation 302, operation 304, and operation 306. At operation 302, the entropy field 312 is directly appended to the function field 310, making it the sole argument. The locator field 308 and the function field 310 work together with the entropy field to enable basic segment routing with entropy-based load balancing. At operation 304, the entropy field 320 is included alongside other arguments 318, providing additional flexibility where multiple parameters may be needed alongside entropy-based routing decisions. For compressed segment routing implementations, operation 306 demonstrates the incorporation of the entropy field 326 between the compressed segment identifiers (i.e., C-SIDs), with C-SID-1 324 through C-SID-N 330 thereby allowing for entropy-based load balancing in scenarios where multiple segments are compressed for efficient routing. The locator field (e.g., the locator fields 308, 314, and 322) in all three structures ensures an accurate and reliable node identification while maintaining the entropy-based routing capabilities.
[0052] FIG. 4A is a diagram that depicts segment routing with an entropy-based one or more segment identifiers, in accordance with an embodiment of the present disclosure. With reference to FIG. 4A, there is shown a diagram 400A that depicts segment routing with an entropy-based one or more segment identifiers, such as through a first node 402, a second node 404, a third node 406, a fourth node 408, a fifth node 410, a sixth node 412, and a seventh node 414. Additionally, the diagram 400A depicts the path of two data packets with two different entropy values, which causes the selection of two different paths (e.g., through operation 416 and through operation 418) according to a hash-based load balancing decision that includes the packet’s IPv6 addresses and specifically includes the entropy sub-field.
[0053] In an exemplary scenario, a data packet is routed from the first node 402 to the second node 404 with a segment routing header (SRH). In an implementation, the data packet is forwarded through three segments, such as at operation 416.
[0054] Firstly, the data packet is routed to the third node 406 from the first node 402. Thereafter, the data packet is routed to the fourth node 408, and the fifth node 410 in order to route the data packet to the second node 404. Moreover, in each segment, the IPv6 Destination Address (DA) of the data packet represents the SR endpoint of the current segment. Forexample, the segment destination address in the segment from the third node 406 to the sixth node 412 is SID3, which incorporates an entropy sub-field. As a result, the controller 104 is configured to perform entropy-based load balancing in segment routing without dedicating any entropy field while allowing different entropy values in the one or more segments.
[0055] FIG. 4B is another diagram that depicts segment routing with an entropy-based one or more segment identifiers, in accordance with an embodiment of the present disclosure. With reference to FIG. 4B, there is shown a diagram 400B that depicts segment routing with an entropy-based one or more segment identifiers, such as through a first node 402, the third node 406, the fourth node 408, the fifth node 410, the sixth node 412, and the second node 404. Additionally, the data packets are routed through the paths with two different entropy values, which causes the selection of two different paths (e.g., at operation 416 and at operation 418) according to a hash-based load balancing decision that includes the packet's IPv6 addresses and specifically includes the entropy sub-field. In an exemplary scenario, the data packet is routed from the first node 402 to the second node 404 with a segment routing header (SRH). In an implementation, the data packet is forwarded through four segments. Moreover, the fourth node 408 changes the IPv6 destination address to SID3, which includes a locator indicating the location of the sixth node 412 and the function indicating that there is an entropy argument including the entropy sub-field, without further arguments. As a result, the fourth node 408 serves as both a segment endpoint for the third node 406 and the fourth node 408 segments and as a load-balancing node for the fourth node 408 and sixth node 412 segments. When the fourth node 408 receives the data packet, it processes it as a segment endpoint and then performs hash-based load balancing based on SID3, which includes the entropy sub-field, which results in different flows taking different paths depending on their entropy values and when the data packet reaches the sixth node 412, then, in that case, the controller 104 is configured to ignore the entropy sub-field as it's the segment endpoint. As a result, the controller 104 is configured to provide an efficient load balancing at segment endpoints without requiring additional protocol overhead and perform entropy-based load balancing using the entropy sub-field embedded in the SID structure.
[0056] FIG. 4C is a diagram that depicts segment routing with entropy-based multiple segment identifiers for traffic balancing, in accordance with an embodiment of the present disclosure. With reference to FIG. 4C, there is shown a diagram 400C that depicts segment routing from the first node 402 to the second node 404 through multiple paths using entropy-based load balancing.
[0057] In an exemplary scenario, the traffic is forwarded from the first node 402 to the second node 404 using two distinct paths for high bandwidth utilization. The first node 402 transmits traffic through two ports, such as through operation 416 by using SID-A, which includes a locator pointing to the fifth node 410, a function indicating the entropy field, and an argument containing the entropy value. Similarly, at operation 418, by using ng SID-B, which includes a locator, a function indicating the entropy field, and an argument including the entropy value. Moreover, the traffic flows from the first node 402 through intermediate nodes, such as the third node 406 to the fourth node 408, which then distributes the traffic between the fifth node 410 and the seventh node 414 based on the entropy fields in SID-A and SID-B. The entropy fields enable load balancing of traffic among multiple paths until reaching the fifth node 410 or the seventh node 414, after which the traffic converges at the sixth node 412 before reaching the second node 404. As a result, the controller 104 is configured to provide an efficient bandwidth utilization through entropy-based traffic distribution across multiple available paths in the network.
[0058] FIG. 5 is a diagram that represents segment routing with an entropy-based SID, in accordance with an embodiment of the present disclosure. With reference to FIG. 5, there is shown a diagram 500 illustrating a data center network architecture utilizing entropy-based segment routing for traffic distribution.In an exemplary implementation, to provide high bandwidth between a source and destination, traffic is distributed using two ports: traffic through port a is sent with SID-A (containing a locator identifying Router A, a function indicating the entropy field, and an argument containing the entropy value), while traffic through port b is sent with SID-B (containing a locator identifying Router B, a function indicating the entropy field, and an argument containing the entropy value). The entropy field is used for balancing the traffic among the multiple paths until it reaches Router A or B . When a data packet arrives at a network tier, the network nodes use the entropy value in the SID to make load-balancing decisions, distributing traffic across different available paths within the network structure, which is beneficial in data center environments where spraying among multiple paths is a common requirement, as it allows for even distribution of network load, prevents congestion through intelligent path selection, and maintains consistent flow paths through entropy-based routing decisions. As a result, the multiple interconnections between spine sets and network tiers provide redundancy and enable the network to scale horizontally while maintaining efficient traffic distribution through entropy-based load balancing.
[0059] Modifications to embodiments of the present disclosure described in the foregoing are possible without departing from the scope of the present disclosure as defined by the accompanying claims. Expressions such as "including", "comprising", "incorporating", "have", "is" used to describe, and claim the present disclosure are intended to be construed in a non-exclusive manner, namely allowing for items, components or elements not explicitly described also to be present. Reference to the singular is also to be construed to relate to the plural. The word "exemplary" is used herein to mean "serving as an example, instance or illustration". Any embodiment described as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or to exclude the incorporation of features from other embodiments. The word "optionally" is used herein to mean "is provided in some embodiments and not provided in other embodiments". It is appreciated that certain features of the present disclosure, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable combination or as suitable in any other described embodiment of the disclosure.
Claims
CLAIMS1. A network device (102) comprising a controller (104) configured to:perform segment routing over an internet protocol for a data packet, wherein the data packet comprises a set of one or more segment identifiers indicating a segment path, and wherein one or more of the segment identifiers comprises:an address of a node in the segment path andan entropy field indicating an entropy value, the entropy value indicating an entropy for the segment path of the segment identifier.
2. The network device (102) according to claim 1, wherein the controller (104) is further configured to perform the segment routing based on the segment identifier of a next segment thereby including the entropy value, whereby the entropy value provides a load balancing based on entropy.
3. The network device (102) according to claim 1 or 2, wherein the controller (104) is further configured to perform the segment routing based on determining a hash value for the segment identifier and zero or more other fields of the packet header.
4. The network device (102) according to any preceding claim, wherein the entropy value for a first data packet is different from the entropy value of a second data packet.
5. The network device (102) according to any preceding claim, wherein the entropy value for a first segment path is different from the entropy value of a second segment path.
6. The network device (102) according to any preceding claim, wherein the segment identifier comprises an argument field, and wherein the entropy field is comprised in the argument field.
7. The network device (102) according to any preceding claim, wherein the argument field consists of the entropy field.
8. The network device (102) according to claim 6 or 7, wherein the segment identifier further comprises a function field indicating that the argument field comprises an entropy field.
9. The network device (102) according to any preceding claim, wherein one or more of the segment identifiers comprises one or more compressed segment identifiers in turn comprising the entropy field.
10. The network device (102) according to any preceding claim, wherein the internet protocol is Internet Protocol version 6, IPv6.
11. The network device (102) according to any preceding claim, wherein the controller (104) is further configured to ignore the entropy field in the segment identifier of the current segment when the network device (102) is a segment endpoint.
12. A method (200) for a network device (102), the method (200) comprising:perform segment routing over an internet protocol for a data packet, wherein the data packet comprises a set of one or more segment identifiers indicating a segment path, and wherein the one or more segment identifiers comprises:an address of a node in the segment path andan entropy field indicating an entropy value, the entropy value indicating an entropy for the segment path of the segment identifier.
13. The method (200) according to claim 12, wherein the method (200) further comprises performing the segment routing based on the segment identifier of a next segment thereby including the entropy value, whereby the entropy value provides a load balancing based on entropy.
14. The method (200) according to claims 12 or 13, wherein the method (200) further comprises performing the segment routing based on determining a hash value for the segment identifier and zero or more other fields of the packet header.
15. The method (200) according to claims 12, 13, or 14, wherein the internet protocol is Internet Protocol version 6, IPv6.
16. A computer program product comprising program instructions for performing the method (200) according to any of claims 12-15, when executed by one or more processors in a network system.