Path adjustment method and device, communication equipment, storage medium and program product

Through the introduction of time scheduling information in the SR strategy and/or candidate path and/or section list, and dynamically adjust the source routing path, solve the problem of changing business and network status changes when the existing technology fails to adapt. Business transmission and resource use.

CN119363641APending Publication Date: 2025-01-24CHINA MOBILE COMM LTD RES INST +1

Patent Information

Application Number
CN202411441234.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-15
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

The existing source routing mechanism fails to consider the dynamic changes in service traffic and network status over time, resulting in the network transmission path not suitable for time-varying business scenarios.

Method used

Introduce time scheduling information in SR strategy and/or candidate paths and/or sections list. The head node dynamically adjusts the SR strategy and/or paragraph list of the SR strategy and/or paragraphs based on the time scheduling information.

Benefits of technology

A time-varying source routing mechanism is implemented, which is suitable for time-varying business scenarios and improves business transmission efficiency and network resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119363641A_ABST
    Figure CN119363641A_ABST
Patent Text Reader

Abstract

The invention discloses a path adjustment method and device, communication equipment, a storage medium and a program product. The method comprises: a head node obtains one or more SR policies, the SR policies comprising one or more candidate paths, and the candidate paths comprising one or more segment lists with weights; wherein the SR strategy and / or the candidate path and / or the segment list and / or the weight carry time scheduling information; and the head node adjusts an SR strategy and / or a candidate path and / or a segment list used by service forwarding according to the time scheduling information, or adjusts the weight of a part of or all segment lists in a plurality of segment lists.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data communication technology, and in particular to a path adjustment method and apparatus, communication equipment, storage medium, and program product. Background Art

[0002] Segment Routing Internet Protocol Version 6 (SRV6) is a protocol designed based on the source routing concept to forward services on the network.

[0003] In some scenarios, business traffic will change dynamically over time, and in other scenarios, network status (such as network topology, network resources, and network business load) will also change dynamically over time. However, the current source routing mechanism does not take these factors that change dynamically over time into account, resulting in the end-to-end transmission path of the network being unsuitable for time-varying business scenarios. Summary of the invention

[0004] To solve the above technical problems, the present application provides a path adjustment method and apparatus, a communication device, a computer-readable storage medium, and a computer program product.

[0005] The path adjustment method provided in this application includes:

[0006] The head node obtains one or more segment routing (SR) policies, wherein the SR policies include one or more candidate paths, and the candidate paths include one or more segment lists; wherein the SR policies and / or the candidate paths and / or the segment lists carry time scheduling information;

[0007] The head node adjusts the SR strategy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information.

[0008] The path adjustment method provided in this application includes:

[0009] The head node obtains the SR strategy, where the SR strategy includes one or more candidate paths, where the candidate paths include multiple weighted segment lists; wherein the weights include time scheduling information;

[0010] The head node adjusts the weights of some or all of the segment lists in the plurality of segment lists according to the time scheduling information.

[0011] The path adjustment device provided by the present application is applied to a head node, and the device includes:

[0012] An acquisition unit, configured to acquire one or more SR policies, wherein the SR policies include one or more candidate paths, and the candidate paths include one or more segment lists; wherein the SR policies and / or the candidate paths and / or the segment lists carry time scheduling information;

[0013] The adjusting unit is used to adjust the SR strategy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information.

[0014] The path adjustment device provided by the present application is applied to a head node, and the device includes:

[0015] An acquisition unit, configured to acquire an SR strategy, wherein the SR strategy includes one or more candidate paths, and the candidate paths include a plurality of weighted segment lists; wherein the weights include time scheduling information;

[0016] An adjusting unit is used to adjust the weights of some or all of the segment lists in the plurality of segment lists according to the time scheduling information.

[0017] The communication device provided in the present application includes: a processor and a memory, the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to execute any one of the above-mentioned path adjustment methods.

[0018] The computer-readable storage medium provided in the present application is used to store a computer program, and the computer program enables a computer to execute any one of the above-mentioned path adjustment methods.

[0019] The computer program product provided in the present application includes computer program instructions, and the computer program instructions enable a computer to execute any one of the above-mentioned path adjustment methods.

[0020] In the technical solution of the present application, time scheduling information is introduced into the SR strategy and / or candidate path and / or segment list, and the head node dynamically adjusts the SR strategy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information. In this way, a time-varying source routing mechanism is implemented, which improves the service transmission efficiency and the network resource utilization for time-varying service scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Figure 1 This is a schematic diagram of the SRv6 message format;

[0022] Figure 2 This is a schematic diagram of the SID format;

[0023] Figure 3 This is a schematic diagram of SRv6 TE Policy.

[0024] Figure 4This is a schematic diagram of the process of the path adjustment method provided in the embodiment of the present application. Figure 1 ;

[0025] Figure 5 This is a schematic diagram of the format of the sub-TLV provided in the embodiment of the present application. Figure 1 ;

[0026] Figure 6 This is a schematic diagram of the process of the path adjustment method provided in the embodiment of the present application. Figure 2 ;

[0027] Figure 7 This is a schematic diagram of the format of the sub-TLV provided in the embodiment of the present application. Figure 2 ;

[0028] Figure 8 It is a schematic diagram of absolute time representation of start time / end time provided in an embodiment of the present application;

[0029] Fig. 9 This is a schematic diagram of the structure of the path adjustment device provided in the embodiment of the present application. Figure 1 ;

[0030] Fig.10 This is a schematic diagram of the structure of the path adjustment device provided in the embodiment of the present application. Figure 2 ;

[0031] Fig.11 is a schematic structural diagram of a communication device provided in an embodiment of the present application;

[0032] Fig.12 It is a schematic structural diagram of the chip of an embodiment of the present application. DETAILED DESCRIPTION

[0033] It should be noted that the term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the previous and next associated objects are in an "or" relationship. It should also be understood that the "indication" mentioned in this article can be a direct indication, an indirect indication, or an indication of an association relationship. For example, A indicates B, which can mean that A directly indicates B, for example, B can be obtained through A; it can also mean that A indirectly indicates B, for example, A indicates C, and B can be obtained through C; it can also mean that there is an association relationship between A and B.

[0034] To facilitate understanding of the technical solutions of the embodiments of the present application, the relevant technologies of the embodiments of the present application are described below.

[0035] SRv6 implements segment routing based on IPv6 by inserting a Segment Routing Header (SRH) into Internet Protocol Version 6 (IPv6) messages.

[0036] Figure 1 The format of the SRv6 message is shown in Figure 1. Figure 1 As shown in the figure, the SRv6 message includes an IPv6 header (IPv6Header), SRH and IPv6 payload (IPv6 Payload). Among them, SRH includes a segment list (Segment List), which is composed of a group of segment identifiers (Segment ID, SID). The segment list can also be understood as a SID list. Figure 1 In the SRH, segment list [0], segment list [1], ..., segment list [n] each represent a SID. In addition, optionally, the SRH also includes a type-length-value (TLV) field, and the length of the TLV field is variable. The SID list in the SRH represents path information and is used to guide message forwarding. In the SRH, the SID list is arranged in the order of nodes on the message forwarding path from far to near, that is, segment list [0] represents the SID of the last node on the path, segment list [1] represents the SID of the second-to-last node on the path, and so on. Segment list [n] represents the SID of the first node on the path.

[0037] The SID in the SRH is in the form of a 128-bit IPv6 address, which can be called an SRv6 SID. Figure 2 The format of SID is shown as follows: Figure 2 As shown, SID consists of a location (Locator), a function (Function), and parameters (Arguments), where Arguments is optional.

[0038] Locator is an identifier assigned to a node and used to route and forward service messages. The length of the Locator is variable to adapt to networks of different sizes.

[0039] Function is used to identify the forwarding behavior to be performed by the node. Different forwarding behaviors are expressed by different Functions.

[0040] Argument is an optional field used to carry the parameters required when the node performs forwarding behavior.

[0041] The SRv6 service path (also referred to as the service path) includes the following nodes: the head node, one or more intermediate nodes (also known as forwarding nodes), and the tail node. After the head node receives the service message (that is, the IPv6 message) from the user end, it inserts the SRH into the service message according to the SR policy (SR Policy), forms an SRv6 message, and sends the SRv6 message to the next hop node. After each intermediate node receives the SRv6 message, it will complete the hop-by-hop forwarding of the message by updating the destination address in the IPv6 header and the segment offset (Segment Left, SL) in the SRH.

[0042] The SR policy (SRv6 TE Policy) uses the source routing mechanism of segment routing to guide service packets to be forwarded along the specified path on the network by encapsulating an ordered SID list (path information) at the head node. Figure 3 The following figure shows the format of SRv6 TE Policy. Figure 3 As shown in the figure, an SRv6 TE Policy can contain multiple candidate paths with priorities (Preferenc), for example: candidate path (1) with priority (1), candidate path (2) with priority (2), ..., candidate path (n) with priority (n). The valid candidate path with the highest priority can be used as the primary path of the SRv6 TE Policy. Each candidate path can contain multiple segment lists with weights. Taking candidate path (1) as an example, candidate path (1) contains: segment list (11) with weight (11), segment list (12) with weight (12), ..., segment list (1m) with weight (1m). Different candidate paths can contain different numbers of segment lists, and multiple segment lists of the same candidate path can form load balancing. Each segment list is an explicit SID list (i.e., SID stack). Taking segment list (11) as an example, segment list (11) contains: SID11, SID12, ..., SID1i.

[0043] In some scenarios, the traffic volume will change dynamically over time. For example, the traffic volume corresponding to the evening period is large, while the traffic volume corresponding to the daytime period is small. In other scenarios, the network status (such as network topology, network resources, and network traffic load) will also change dynamically over time. For example, for the space-ground integrated network, space satellites are located in different locations at different times, resulting in the time-varying topology, network resources, and traffic load of the space-ground integrated network.

[0044] However, the current source routing mechanism does not take into account these factors that change dynamically over time, resulting in the end-to-end transmission path of the network being unsuitable for time-varying business scenarios. Therefore, it is urgent to establish a source routing mechanism that can change dynamically over time (i.e., a time-varying source routing mechanism) in order to plan ahead to prevent potential business performance degradation (such as packet loss, latency, or bandwidth that does not meet business requirements).

[0045] To this end, the following technical solutions of the embodiments of the present application are proposed. To facilitate understanding of the technical solutions of the embodiments of the present application, the technical solutions of the present application are described in detail below through specific embodiments. The above related technologies can be arbitrarily combined with the technical solutions of the embodiments of the present application as optional solutions, and they all belong to the protection scope of the embodiments of the present application. The embodiments of the present application include at least part of the following contents.

[0046] It should be noted that the node used for service forwarding on the service path may be a router or a switch.

[0047] Figure 4 This is a schematic diagram of the process of the path adjustment method provided in the embodiment of the present application. Figure 1 ,like Figure 4 As shown, the path adjustment method includes the following steps:

[0048] Step 401: The head node obtains one or more SR policies, where the SR policies include one or more candidate paths, and the candidate paths include one or more segment lists; wherein the SR policies and / or candidate paths and / or segment lists carry time scheduling information.

[0049] Step 402: The head node adjusts the SR strategy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information.

[0050] In the embodiment of the present application, the SR policy may also be replaced by SR policy routing.

[0051] In the embodiment of the present application, the head node refers to the head node on the SRv6 service path (referred to as the path for short), and the head node is responsible for encapsulating the SRH in the service message and forwarding the service message encapsulated with the SRH to the next hop node. In this way, each intermediate node on the path can forward the service message according to the SRH in the service message until the service message is forwarded to the tail node on the path.

[0052] In an embodiment of the present application, the head node may obtain one or more SR policies. In some embodiments, the head node obtains one or more SR policies from a network controller. In other embodiments, one or more SR policies are generated in the head node configuration.

[0053] In an embodiment of the present application, the scheduling time information is carried in the SR policy, and the head node parses the scheduling time information in the SR policy and saves the scheduling time information locally. Here, the scheduling time information is used to indicate the effective time of service forwarding. In some embodiments, the effective time of service forwarding can be calculated based on the predicted time of service flow requirements and topology constraints. For service messages that need to be forwarded, the head node dynamically / real-time adjusts the SR strategy and / or candidate path and / or segment list used for service forwarding based on the scheduling time information.

[0054] In an embodiment of the present application, the SR policy includes one or more candidate paths. For the case of multiple SR policies, different SR policies may contain different numbers of candidate paths. Furthermore, a candidate path includes one or more segment lists. For the case of multiple candidate paths, different candidate paths may contain different numbers of segment lists. Multiple segment lists of the same candidate path may form load sharing based on weights. Furthermore, a segment list contains a set of SIDs (i.e., a SID list). For the case of multiple segment lists, different segment lists may contain different numbers of SIDs.

[0055] Here, the content of the SR policy can refer to the above Figure 3 The format shown is the same as Figure 3 The difference is that the SR strategy implemented in this application carries time scheduling information at one or more of the following levels: 1) SR strategy; 2) candidate paths; 3) segment list.

[0056] Specifically, the SR strategy carries the first time scheduling information, and / or the candidate path carries the second time scheduling information, and / or the segment list carries the third time scheduling information. Based on this, the head node adjusts the SR strategy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information, which can be implemented in one or more of the following ways:

[0057] Method 1: The head node adjusts the SR policy used for service forwarding to the first SR policy according to the first time scheduling information; wherein the time indicated by the first time scheduling information carried by the first SR policy is the effective time of service forwarding.

[0058] Exemplarily, multiple SR policies form an SR policy group. For example, the SR policy group contains two SR policies. SR policy 1 carries time scheduling information T1, and SR policy 2 carries time scheduling information T2. ​​Then, in time period T1, the head node uses SR policy 1 to determine the service forwarding path. In time period t2, the head node adjusts SR policy 1 to SR policy 2 and uses SR policy 2 to determine the service forwarding path.

[0059] Method 2: The head node adjusts the candidate path used for service forwarding to the first candidate path according to the second time scheduling information; wherein the time indicated by the second time scheduling information carried by the first candidate path is the effective time for service forwarding.

[0060] Exemplarily, the SR policy includes multiple candidate paths. For example, the SR policy includes two candidate paths. Candidate path 1 carries time scheduling information T1, and candidate path 2 carries time scheduling information T2. ​​Then, in time period T1, the head node uses candidate path 1 to determine the path for service forwarding. In time period t2, the head node adjusts candidate path 1 to candidate path 2, and uses candidate path 2 to determine the path for service forwarding.

[0061] Method three: The head node adjusts the segment list used for service forwarding to the first segment list or the first group of segment lists according to the third time scheduling information; wherein the time indicated by the third time scheduling information carried by each segment list in the first segment list or the first group of segment lists is the effective time for service forwarding.

[0062] Exemplarily, the SR strategy includes candidate path 1, which includes segment list 1 (with weight w1), segment list 2 (with weight w2), segment list 3 (with weight w3) and segment list 4 (with weight w4). Segment list 1 has time scheduling information T1, segment list 2 has time scheduling information T1, segment list 3 has time scheduling information T2, and segment list 4 has time scheduling information T2. ​​Then, in time period T1, the head node uses segment list 1 and segment list 2 to determine the path for service forwarding. In time period T2, the head node uses segment list 3 and segment list 4 to determine the path for service forwarding.

[0063] For method 1, time-varying SR policy adjustment can be implemented. For method 2, time-varying candidate path adjustment can be implemented. For method 3, time-varying segment list adjustment can be implemented. It should be noted that in the case of segment list adjustment, one segment list can be adjusted to another segment list according to time scheduling information, and multiple segment lists can be adjusted to multiple other segment lists. In the case of multiple segment lists, load sharing can be formed between multiple segment lists based on weights.

[0064] In this embodiment of the present application, the time scheduling information includes one or more of the following fields:

[0065] The first field is used to indicate the start time;

[0066] The second field is used to indicate the end time;

[0067] The third field is used to indicate a time level, which is an SR policy level, a candidate path level, or a segment list level;

[0068] The fourth field,field is used to indicate the time period;

[0069] The fifth field is used to indicate the time type of the start time and / or end time.

[0070] In some embodiments, the SR policy is announced through BGP routing. BGP routing announcement refers to the process in which a BGP publisher (such as a network controller) sends routing information (such as SR policy) to other BGP peers (such as head nodes) through an update (UPDATE) message, wherein the UPDATE message publishes the SR policy through network layer reachability information (NLRI).

[0071] Exemplarily, the following Table 1 gives the content of the SR policy of the BGP route announcement, wherein the SR policy (SRPolicy) carries the first time scheduling information (ie, P-Time Information), the candidate path (Candidate Path) carries the second time scheduling information (ie, C-Time Information), and the segment list (Segment List) carries the third time scheduling information (ie, S-Time Information).

[0072]

[0073] Table 1: SR strategy with time scheduling information

[0074] In some implementations, the time scheduling information may be implemented via a sub-TLV. For example, Figure 5 The format of the sub-TLV is illustrated, where Type represents the type of the sub-TLV, Length represents the length of the sub-TLV, Flags represents the flag of the sub-TLV, and Index represents the index of the sub-TLV. Time Policy Level (i.e., the third field) is used to indicate the time level, which is divided into the following three levels: SR policy level, candidate path level, and segment list level. Period (i.e., the fourth field) is used to indicate the time period. This field is an optional field. If this field is not set, it means no period. Start Time (i.e., the first field) is used to indicate the start time. End Time (i.e., the second field) is used to indicate the end time. Through this sub-TLV, a time period from Start Time to End Time can be determined.

[0075] In some embodiments, when the head node fails to successfully obtain the time scheduling information, the service is forwarded according to the default SR policy and / or the default candidate path and / or the default segment list. Here, there are many situations in which the head node fails to successfully obtain the time scheduling information. For example, when the link between the network controller and the head node fails, the head node cannot obtain the time scheduling information from the network controller. For another example, when the head node fails during operation, the head node cannot configure the time scheduling information. The default SR policy and / or the default candidate path and / or the default segment list are fixed, or time-invariant. The path determined according to the default SR policy and / or the default candidate path and / or the default segment list is fixed, or time-invariant.

[0076] In an embodiment of the present application, it is assumed that the path corresponding to the SR strategy and / or candidate path and / or segment list used for service forwarding before adjustment is the first path; the path corresponding to the SR strategy and / or candidate path and / or segment list used for service forwarding after adjustment is the second path; the head node forwards the service through the first path in the first cycle, and forwards the service through the second path in the second cycle.

[0077] It can be understood that the time indicated by the time scheduling information carried by the SR policy and / or candidate path and / or segment list corresponding to the first path is the first period; the time indicated by the time scheduling information carried by the SR policy and / or candidate path and / or segment list corresponding to the second path is the second period.

[0078] At the boundary of two cycles, path switching (i.e., switching from the first path to the second path) is required. Due to the different time delays between the first path and the second path, there may be a message disorder problem during the switching process, i.e., the service message received by the tail node on the first path and the service message received on the second path are out of order. In the embodiment of the present application, the message disorder problem can be solved by one or more of the following solutions.

[0079] Solution 1: If the delay of the first path is less than the delay of the second path, the head node advances the start time of the second period by a first duration relative to the base time; the first duration is determined based on the delay of the first path and the delay of the second path; if the delay of the first path is greater than the delay of the second path, the head node delays the start time of the second period by a second duration relative to the base time; the second duration is determined based on the delay of the first path and the delay of the second path. In some implementations, the first duration is t2-t1, and the second duration is t1-t2, where t1 represents the delay of the first path, and t2 represents the delay of the second path.

[0080] Exemplarily, assume that the delay of the first path is t1 and the delay of the second path is t2; when t1 is less than t2, the start time of the second cycle can be advanced by a maximum of (t2-t1) time relative to the specified time (that is, the base time); when t1 is greater than t2, the start time of the second cycle can be delayed by a maximum of (t1-t2) time relative to the specified time (that is, the base time). In this way, it can be ensured that the tail node starts to receive the service messages of the second cycle after receiving the service messages of the first cycle.

[0081] It should be noted that if the first path is load balanced through multiple segment lists, each segment list corresponds to a path, then the delay of the first path can be defined as the longest delay among the multiple paths corresponding to the multiple segment lists. The same applies to the delay of the second path.

[0082] Solution 2: The head node adds an end mark to the last or a group of business messages forwarded in the first cycle. The end mark is used for the next hop node of the head node to identify the last or a group of business messages in the first cycle. After the head node receives the notification message sent by the next hop node, it determines to start forwarding the business messages in the second cycle. The notification message is used to announce the end of the first cycle.

[0083] Exemplarily, before the end of each cycle, the last message or a group of messages (multi-path scenario) forwarded by the head node in the current cycle is marked with an end (End) mark. The End mark here can be, but is not limited to, carried by fields such as the parameter (Arg) of SRH[0] in the message, the destination options header (DOH), and the SRH TLV. When the next hop node connected to the head node receives the message, it identifies the message as the end message of the current cycle through the analysis of the End mark, and then reversely notifies the head node that the current cycle is over, and that the message of the next cycle can be sent. After receiving the pass, the head node starts path switching and sends the message of the next cycle. Here, the reverse notification message can be implemented by adding a new Internet Control Message Protocol (ICMP) or User Datagram Protocol (UDP) message type.

[0084] Solution 3: The head node adds a first coloring mark to the service message forwarded in the first time period of the first cycle, and adds a second coloring mark to the service message forwarded in the second time period of the second cycle; the first time period and the second time period are adjacent in time; the first coloring mark and the second coloring mark are used by the tail node to identify the service messages in the same cycle.

[0085] Exemplarily, within a time period before the end of each cycle and the beginning of the next cycle (i.e., a time period consisting of a first time period and a second time period, which is configurable, and the length of which is, for example, a few seconds / milliseconds), different coloring marks are carried for the service messages of the current cycle and the next cycle, respectively. For example, the service messages of the current cycle all carry coloring mark 1, and the service messages of the next cycle all carry coloring mark 0. Alternatively, if the service messages of the current cycle and the next cycle carry numbers that increase sequentially, when the tail node receives a service message carrying a coloring mark, it first caches it in the hardware cache. After receiving all the service messages carrying the coloring mark of the current cycle, it sorts and arranges all the service messages of the current cycle before performing subsequent forwarding processing.

[0086] The technical solution of the embodiment of the present application proposes a source routing path adjustment mechanism that can dynamically change over time and adjust as expected, in the hope of planning in advance to prevent potential performance degradation or bottlenecks, packet loss, latency or bandwidth that does not meet business requirements, while maximizing the efficient and reasonable use of resources such as network bandwidth.

[0087] Figure 6 This is a schematic diagram of the process of the path adjustment method provided in the embodiment of the present application. Figure 2 ,like Figure 6 As shown, the path adjustment method includes the following steps:

[0088] Step 601: The head node obtains the SR strategy, which includes one or more candidate paths. The candidate paths include multiple weighted segment lists, wherein the weights carry time scheduling information.

[0089] Step 602: The head node adjusts the weights of some or all of the segment lists in the multiple segment lists according to the time scheduling information.

[0090] In the embodiment of the present application, the SR policy may also be replaced by SR policy routing.

[0091] In the embodiment of the present application, the head node refers to the head node on the SRv6 service path (referred to as the path for short), and the head node is responsible for encapsulating the SRH in the service message and forwarding the service message encapsulated with the SRH to the next hop node. In this way, each intermediate node on the path can forward the service message according to the SRH in the service message until the service message is forwarded to the tail node on the path.

[0092] In an embodiment of the present application, the head node may obtain one or more SR policies. In some embodiments, the head node obtains one or more SR policies from a network controller. In other embodiments, one or more SR policies are generated in the head node configuration.

[0093] In an embodiment of the present application, the scheduling time information is carried in the SR policy, and the head node parses the scheduling time information in the SR policy and saves the scheduling time information locally. Here, the scheduling time information is used to indicate the effective time of service forwarding. In some embodiments, the effective time of service forwarding can be calculated based on the predicted time of service flow requirements and topology constraints. For service messages that need to be forwarded, the head node dynamically / real-time adjusts the weights of some or all of the segment lists in multiple segment lists based on the scheduling time information.

[0094] In an embodiment of the present application, the SR policy includes one or more candidate paths. For the case of multiple SR policies, different SR policies may contain different numbers of candidate paths. Furthermore, a candidate path includes one or more segment lists. For the case of multiple candidate paths, different candidate paths may contain different numbers of segment lists. Multiple segment lists of the same candidate path may form load sharing based on weights. Furthermore, a segment list contains a set of SIDs (i.e., a SID list). For the case of multiple segment lists, different segment lists may contain different numbers of SIDs.

[0095] Here, the content of the SR policy can refer to the above Figure 3 The format shown is the same as Figure 3 The difference is that the SR strategy implemented in this application carries time scheduling information on the weight of the segment list. The weights of multiple segment lists of the same candidate path carry unified time scheduling information; or the weights of multiple segment lists of the same candidate path carry independent time scheduling information.

[0096] Based on this, the head node adjusts the weights of some or all of the segment lists in multiple segment lists according to the time scheduling information. This can be achieved in the following ways:

[0097] The head node adjusts the weights of some or all of the segment lists in the multiple segment lists to a first weight according to the time scheduling information; wherein the time indicated by the time scheduling information carried by the first weight is the effective time for service forwarding.

[0098] Exemplarily, the SR strategy includes candidate path 1, which includes segment list 1, segment list 2, and segment list 3. Segment list 1 has weights w11 (with time scheduling information T1) and w12 (with time scheduling information T2), segment list 2 has weights w21 (with time scheduling information T1) and w22 (with time scheduling information T2), and segment list 3 has weights w31 (with time scheduling information T1) and w32 (with time scheduling information T2). Then, in time period T1, the effective weights of segment list 1, segment list 2, and segment list 3 are w11, w21, and w31, and load sharing is formed among segment list 1, segment list 2, and segment list 3 based on weights w11, w21, and w31. In time period T2, the effective weights of segment list 1, segment list 2, and segment list 3 are w12, w22, and w32, and load sharing is formed among segment list 1, segment list 2, and segment list 3 based on weights w12, w22, and w32.

[0099] In this embodiment of the present application, the time scheduling information includes one or more of the following fields:

[0100] The first field and the fifth field are used to indicate the start time;

[0101] The second field is used to indicate the end time;

[0102] The fourth field,field is used to indicate the time period;

[0103] The fifth field is used to indicate the time type of the start time and / or end time.

[0104] In some embodiments, the SR policy is announced through BGP routing. BGP routing announcement refers to the process in which a BGP publisher (such as a network controller) sends routing information (such as SR policy) to other BGP peers (such as head nodes) through an update (UPDATE) message, wherein the UPDATE message publishes the SR policy through NLRI.

[0105] Exemplarily, the following Table 2 shows the content of the SR policy of the BGP route announcement, wherein the weight (Weight) of the segment list (SegmentList) carries the time scheduling information (ie, W-Time Information).

[0106]

[0107] Table 2: SR strategy with time scheduling information

[0108] In some implementations, the time scheduling information may be implemented via a sub-TLV. For example, Figure 7The format of the sub-TLV is illustrated, where Type represents the type of the sub-TLV, Length represents the length of the sub-TLV, Flags represents the flag of the sub-TLV, and weight represents the weight. Each weight corresponds to a set of TimeRangeType, Start, and End, where TimeRangeType (i.e., the fifth field) is used to indicate the time type. Start (i.e., the first field) is used to indicate the start time. End (i.e., the second field) is used to indicate the end time. Through this sub-TLV, a period from Start to End can be determined.

[0109] In some implementations, when the head node fails to successfully obtain the time scheduling information, the service is forwarded according to the default weights of the multiple segment lists. Here, there are many situations where the head node fails to successfully obtain the time scheduling information, for example, when the link between the network controller and the head node fails, the head node cannot obtain the time scheduling information from the network controller, and for another example, when the head node fails to operate, the head node cannot configure the time scheduling information. The default weight is fixed, or time-invariant, and the load sharing among the multiple segment lists according to the default weight is fixed, or time-invariant.

[0110] In an embodiment of the present application, it is assumed that the path corresponding to the multiple segment lists used for service forwarding before weight adjustment is the first path; the path corresponding to the multiple segment lists used for service forwarding after weight adjustment is the second path; the head node forwards the service through the first path in the first cycle, and forwards the service through the second path in the second cycle.

[0111] It can be understood that the time indicated by the time scheduling information carried by the weights of the multiple segment lists corresponding to the first path is the first period; the time indicated by the time scheduling information carried by the weights of the multiple segment lists corresponding to the second path is the second period.

[0112] At the boundary of two cycles, path switching (i.e., switching from the first path to the second path) is required. Due to the different time delays between the first path and the second path, there may be a message disorder problem during the switching process, i.e., the service message received by the tail node on the first path and the service message received on the second path are out of order. In the embodiment of the present application, the message disorder problem can be solved by one or more of the following solutions.

[0113] Solution 1: If the delay of the first path is less than the delay of the second path, the head node advances the start time of the second period by a first duration relative to the base time; the first duration is determined based on the delay of the first path and the delay of the second path; if the delay of the first path is greater than the delay of the second path, the head node delays the start time of the second period by a second duration relative to the base time; the second duration is determined based on the delay of the first path and the delay of the second path. In some implementations, the first duration is t2-t1, and the second duration is t1-t2, where t1 represents the delay of the first path, and t2 represents the delay of the second path.

[0114] Exemplarily, assume that the delay of the first path is t1 and the delay of the second path is t2; when t1 is less than t2, the start time of the second cycle can be advanced by a maximum of (t2-t1) time relative to the specified time (that is, the base time); when t1 is greater than t2, the start time of the second cycle can be delayed by a maximum of (t1-t2) time relative to the specified time (that is, the base time). In this way, it can be ensured that the tail node starts to receive the service messages of the second cycle after receiving the service messages of the first cycle.

[0115] It should be noted that the first path is load balanced through multiple segment lists, each segment list corresponds to a path, so the delay of the first path can be defined as the longest delay among the multiple paths corresponding to the multiple segment lists. The same is true for the delay of the second path.

[0116] Solution 2: The head node adds an end mark to the last or a group of business messages forwarded in the first cycle. The end mark is used for the next hop node of the head node to identify the last or a group of business messages in the first cycle. After the head node receives the notification message sent by the next hop node, it determines to start forwarding the business messages in the second cycle. The notification message is used to announce the end of the first cycle.

[0117] Exemplarily, before the end of each cycle, the last message or a group of messages (multi-path scenario) forwarded by the head node in the current cycle is marked with an end (End) mark. The End mark here can be, but is not limited to, carried by the parameters (Arg), DOH, SRH TLV and other fields of the SRH[0] in the message. When the next-hop node connected to the head node receives the message, it identifies the message as the end message of the current cycle through the analysis of the End mark, and then reversely notifies the head node that the current cycle has ended, and that messages for the next cycle can be sent. After receiving the message, the head node starts path switching and sends messages for the next cycle. Here, the reverse notification message can be implemented by adding an ICMP or UDP message type.

[0118] Solution 3: The head node adds a first coloring mark to the service message forwarded in the first time period of the first cycle, and adds a second coloring mark to the service message forwarded in the second time period of the second cycle; the first time period and the second time period are adjacent in time; the first coloring mark and the second coloring mark are used by the tail node to identify the service messages in the same cycle.

[0119] Exemplarily, within a time period before the end of each cycle and the beginning of the next cycle (i.e., a time period consisting of a first time period and a second time period, which is configurable, and the length of which is, for example, a few seconds / milliseconds), different coloring marks are carried for the service messages of the current cycle and the next cycle, respectively. For example, the service messages of the current cycle all carry coloring mark 1, and the service messages of the next cycle all carry coloring mark 0. Alternatively, if the service messages of the current cycle and the next cycle carry numbers that increase sequentially, when the tail node receives a service message carrying a coloring mark, it first caches it in the hardware cache. After receiving all the service messages carrying the coloring mark of the current cycle, it sorts and arranges all the service messages of the current cycle before performing subsequent forwarding processing.

[0120] The technical solution of the embodiment of the present application proposes a source routing path adjustment mechanism that can dynamically change over time and adjust as expected, in the hope of planning in advance to prevent potential performance degradation or bottlenecks, packet loss, latency or bandwidth that does not meet business requirements, while maximizing the efficient and reasonable use of resources such as network bandwidth.

[0121] It should be noted that the above Figure 4 and Figure 6 Related plans can be implemented independently or in combination.

[0122] It should be noted that the above Figure 4 and Figure 6 The time type of the start time / end time in the time scheduling information can be implemented in the following ways:

[0123] 1) The time type is the first type. The first type of time is expressed by year, month, day, hour and minute. The first type of time can be understood as absolute time.

[0124] 2) The time type is the second type, and the second type of time is expressed by month, day, hour and minute; the second type of time can be understood as time with a year as a cycle.

[0125] 3) The time type is the third type. The second type of time is expressed by days, hours, and minutes; the third type of time can be understood as time with a monthly cycle.

[0126] 4) The time type is the fourth type, and the fourth type of time is expressed in hours and minutes; the fourth type of time can be understood as time with a day as a cycle.

[0127] Exemplarily, the time type of the start time / end time is the first type, that is, the start time / end time is represented by an absolute time. Figure 8 The absolute time representation of the start time / end time is shown, where the start time is represented by the start year (StartYear), the start month (StartMonth) and the start day (StartDay); the end time is represented by the end year (EndYear), the end month (EndMonth) and the end day (EndDay). The representation of hours and minutes is omitted here.

[0128] Fig. 9 This is a schematic diagram of the structure of the path adjustment device provided in the embodiment of the present application. Figure 1 , applied to the head node, such as Fig. 9 As shown, the path adjustment device includes:

[0129] The acquisition unit 901 is configured to acquire one or more SR policies, wherein the SR policies include one or more candidate paths, and the candidate paths include one or more segment lists; wherein the SR policies and / or the candidate paths and / or the segment lists carry time scheduling information;

[0130] The adjusting unit 902 is used to adjust the SR strategy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information.

[0131] In some implementations, the SR policy carries first time scheduling information, and / or the candidate path carries second time scheduling information, and / or the segment list carries third time scheduling information.

[0132] In some embodiments, the adjustment unit 902 is used to adjust the SR policy used for service forwarding to a first SR policy according to the first time scheduling information; wherein the time indicated by the first time scheduling information carried by the first SR policy is the effective time for service forwarding; and / or, according to the second time scheduling information, adjust the candidate path used for service forwarding to a first candidate path; wherein the time indicated by the second time scheduling information carried by the first candidate path is the effective time for service forwarding; and / or, according to the third time scheduling information, adjust the segment list used for service forwarding to a first segment list or a first group of segment lists; wherein the time indicated by the third time scheduling information carried by each segment list in the first segment list or the first group of segment lists is the effective time for service forwarding.

[0133] In some implementations, the time scheduling information includes one or more of the following fields:

[0134] A first field, wherein the first field is used to indicate a start time;

[0135] A second field, wherein the second field is used to indicate an end time;

[0136] A third field, the third field is used to indicate a time level, where the time level is an SR policy level, a candidate path level, or a segment list level;

[0137] A fourth field, the fourth field is used to indicate a time period;

[0138] A fifth field, wherein the fifth field is used to indicate the time type of the start time and / or end time.

[0139] In some embodiments, the time type is a first type, and the first type of time is expressed by year, month, day, hour and minute; or, the time type is a second type, and the second type of time is expressed by month, day, hour and minute; or, the time type is a third type, and the second type of time is expressed by day, hour and minute; or, the time type is a fourth type, and the fourth type of time is expressed by hour and minute.

[0140] In some implementations, the device further includes: a forwarding unit 903, configured to forward services according to a default SR strategy and / or a default candidate path and / or a default segment list when the time scheduling information is not successfully acquired.

[0141] In some implementations, the path corresponding to the SR strategy and / or candidate path and / or segment list used for service forwarding before adjustment is the first path; the path corresponding to the SR strategy and / or candidate path and / or segment list used for service forwarding after adjustment is the second path;

[0142] The forwarding unit 903 is configured to forward the service through the first path in a first cycle, and forward the service through the second path in a second cycle.

[0143] In some embodiments, the forwarding unit 903 is used to advance the start time of the second period by a first duration relative to a base time if the delay of the first path is less than the delay of the second path; the first duration is determined based on the delay of the first path and the delay of the second path; if the delay of the first path is greater than the delay of the second path, delay the start time of the second period by a second duration relative to the base time; the second duration is determined based on the delay of the first path and the delay of the second path.

[0144] In some embodiments, the forwarding unit 903 is used to add an end mark to the last or a group of service messages forwarded within the first cycle, and the end mark is used for the next hop node of the head node to identify the last or a group of service messages in the first cycle; after receiving the notification message sent by the next hop node, it is determined to start forwarding the service messages in the second cycle, and the notification message is used to announce the end of the first cycle.

[0145] In some embodiments, the forwarding unit 903 is used to mark the service packets forwarded in the first time period of the first cycle with a first coloring mark, and to mark the service packets forwarded in the second time period of the second cycle with a second coloring mark; the first time period and the second time period are adjacent in time; the first coloring mark and the second coloring mark are used by the tail node to identify service packets in the same cycle.

[0146] Those skilled in the art should understand that Fig. 9 The implementation functions of each unit in the path adjustment device shown can be understood by referring to the relevant description of the aforementioned method. Fig. 9 The functions of each unit in the path adjustment device shown can be implemented by a program running on a processor, or by a specific logic circuit.

[0147] Fig.10 This is a schematic diagram of the structure of the path adjustment device provided in the embodiment of the present application. Figure 2 , applied to the head node, such as Fig.10 As shown, the path adjustment device includes:

[0148] The acquisition unit 1001 is used to acquire an SR strategy, wherein the SR strategy includes one or more candidate paths, and the candidate paths include multiple weighted segment lists; wherein the weights include time scheduling information;

[0149] The adjusting unit 1002 is configured to adjust the weights of some or all of the segment lists among the multiple segment lists according to the time scheduling information.

[0150] In some implementations, the weights of multiple segment lists of the same candidate path carry unified time scheduling information; or, the weights of multiple segment lists of the same candidate path carry independent time scheduling information.

[0151] In some embodiments, the adjustment unit 1002 is used to adjust the weights of some or all of the multiple segment lists to a first weight based on the time scheduling information; wherein the time indicated by the time scheduling information carried by the first weight is the effective time for service forwarding.

[0152] In some implementations, the time scheduling information includes one or more of the following fields:

[0153] The first field, the fifth field is used to indicate the start time;

[0154] A second field, wherein the second field is used to indicate an end time;

[0155] A fourth field, the fourth field is used to indicate a time period;

[0156] A fifth field, wherein the fifth field is used to indicate the time type of the start time and / or end time.

[0157] In some embodiments, the time type is a first type, and the first type of time is expressed by year, month, day, hour and minute; or, the time type is a second type, and the second type of time is expressed by month, day, hour and minute; or, the time type is a third type, and the second type of time is expressed by day, hour and minute; or, the time type is a fourth type, and the fourth type of time is expressed by hour and minute.

[0158] In some implementations, the device further includes: a forwarding unit 1003, configured to forward services according to default weights of the multiple segment lists when the time scheduling information is not successfully acquired.

[0159] In some implementations, the path corresponding to the multiple segment lists used for business forwarding before weight adjustment is the first path; the path corresponding to the multiple segment lists used for business forwarding after weight adjustment is the second path;

[0160] The forwarding unit 1003 is configured to forward the service through the first path in a first cycle, and forward the service through the second path in a second cycle.

[0161] In some embodiments, the forwarding unit 1003 is used to advance the start time of the second period by a first duration relative to a base time if the delay of the first path is less than the delay of the second path; the first duration is determined based on the delay of the first path and the delay of the second path; if the delay of the first path is greater than the delay of the second path, delay the start time of the second period by a second duration relative to the base time; the second duration is determined based on the delay of the first path and the delay of the second path.

[0162] In some embodiments, the forwarding unit 1003 is used to mark the last or a group of service packets forwarded within the first cycle with an end mark, and the end mark is used for the next hop node of the head node to identify the last or a group of service packets of the first cycle; after receiving the notification message sent by the next hop node, it is determined to start forwarding the service packets within the second cycle, and the notification message is used to announce the end of the first cycle.

[0163] In some embodiments, the forwarding unit 1003 is used to mark the service packets forwarded in the first time period of the first cycle with a first coloring mark, and to mark the service packets forwarded in the second time period of the second cycle with a second coloring mark; the first time period and the second time period are adjacent in time; the first coloring mark and the second coloring mark are used by the tail node to identify service packets in the same cycle.

[0164] Those skilled in the art should understand that Fig.10 The implementation functions of each unit in the path adjustment device shown can be understood by referring to the relevant description of the aforementioned method. Fig.10 The functions of each unit in the path adjustment device shown can be implemented by a program running on a processor, or by a specific logic circuit.

[0165] Fig.11 It is a schematic structural diagram of a communication device 1100 provided in an embodiment of the present application. Fig.11 The communication device 1100 shown includes a processor 1110, and the processor 1110 can call and run a computer program from a memory to implement the method in the embodiment of the present application.

[0166] Alternatively, if Fig.11 As shown, the communication device 1100 may further include a memory 1120. The processor 1110 may call and run a computer program from the memory 1120 to implement the method in the embodiment of the present application.

[0167] The memory 1120 may be a separate device independent of the processor 1110 , or may be integrated into the processor 1110 .

[0168] Alternatively, if Fig.11 As shown, the communication device 1100 may further include a transceiver 1130, and the processor 1110 may control the transceiver 1130 to communicate with other devices, specifically, may send information or data to other devices, or receive information or data sent by other devices.

[0169] The transceiver 1130 may include a transmitter and a receiver. The transceiver 1130 may further include an antenna, and the number of the antennas may be one or more.

[0170] The communication device 1100 may specifically be the head node of the embodiment of the present application, and the communication device 1100 may implement the corresponding processes implemented by the head node in each method of the embodiment of the present application, which will not be described again for the sake of brevity.

[0171] Fig.12 It is a schematic structural diagram of the chip of an embodiment of the present application. Fig.12 The chip 1200 shown includes a processor 1210, which can call and run a computer program from a memory to implement the method in the embodiment of the present application.

[0172] Alternatively, if Fig.12 As shown, the chip 1200 may further include a memory 1220. The processor 1210 may call and run a computer program from the memory 1220 to implement the method in the embodiment of the present application.

[0173] The memory 1220 may be a separate device independent of the processor 1210 , or may be integrated into the processor 1210 .

[0174] Optionally, the chip 1200 may further include an input interface 1230. The processor 1210 may control the input interface 1230 to communicate with other devices or chips, and specifically, may obtain information or data sent by other devices or chips.

[0175] Optionally, the chip 1200 may further include an output interface 1240. The processor 1210 may control the output interface 1240 to communicate with other devices or chips, and specifically, may output information or data to other devices or chips.

[0176] The chip can be applied to the head node in the embodiments of the present application, and the chip can implement the corresponding processes implemented by the head node in the various methods of the embodiments of the present application. For the sake of brevity, they will not be repeated here.

[0177] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.

[0178] It should be understood that the processor of the embodiment of the present application may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method embodiment can be completed by the hardware integrated logic circuit or software instructions in the processor. The above processor can be a general processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or the hardware and software modules in the decoding processor are combined and performed. The software module can be located in a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, and other mature storage media in the art. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.

[0179] It can be understood that the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0180] It should be understood that the above-mentioned memory is exemplary but not restrictive. For example, the memory in the embodiments of the present application may also be static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (synch link DRAM, SLDRAM) and direct memory bus random access memory (Direct Rambus RAM, DR RAM), etc. That is to say, the memory in the embodiments of the present application is intended to include but not limited to these and any other suitable types of memory.

[0181] The embodiment of the present application also provides a computer-readable storage medium for storing a computer program. The computer-readable storage medium can be applied to the head node in the embodiment of the present application, and the computer program enables the computer to execute the corresponding process implemented by the head node in each method of the embodiment of the present application, which will not be described here for the sake of brevity.

[0182] The present application also provides a computer program product, including computer program instructions. The computer program product can be applied to the head node in the present application, and the computer program instructions enable the computer to execute the corresponding process implemented by the head node in each method of the present application, which will not be described here for brevity.

[0183] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0184] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0185] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0186] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0187] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0188] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0189] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A path adjustment method, characterized in that: The method comprises: The head node obtains one or more segment routing SR policies, wherein the SR policies include one or more candidate paths, and the candidate paths include one or more segment lists; wherein the SR policies and / or the candidate paths and / or the segment lists carry time scheduling information; The head node adjusts the SR strategy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information.

2. The method according to claim 1, characterized in that The SR strategy carries first time scheduling information, and / or the candidate path carries second time scheduling information, and / or the segment list carries third time scheduling information.

3. The method according to claim 2, characterized in that The head node adjusts the SR strategy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information, including: The head node adjusts the SR strategy used for service forwarding to a first SR strategy according to the first time scheduling information; wherein the time indicated by the first time scheduling information carried by the first SR strategy is the effective time of service forwarding; and / or, The head node adjusts the candidate path used for service forwarding to the first candidate path according to the second time scheduling information; wherein the time indicated by the second time scheduling information carried by the first candidate path is the effective time for service forwarding; and / or, The head node adjusts the segment list used for service forwarding to the first segment list or the first group of segment lists according to the third time scheduling information; wherein the time indicated by the third time scheduling information carried by each segment list in the first segment list or the first group of segment lists is the effective time for service forwarding.

4. The method according to any one of claims 1 to 3, characterized in that The time scheduling information includes one or more of the following fields: A first field, wherein the first field is used to indicate a start time; A second field, wherein the second field is used to indicate an end time; A third field, the third field is used to indicate a time level, where the time level is an SR policy level, a candidate path level, or a segment list level; A fourth field, the fourth field is used to indicate a time period; A fifth field, wherein the fifth field is used to indicate the time type of the start time and / or end time.

5. The method according to claim 4, characterized in that The time type is the first type, and the time of the first type is represented by year, month, day, hour and minute; or, The time type is the second type, and the time of the second type is represented by month, day, hour and minute; or, The time type is the third type, and the time of the second type is expressed by day, hour and minute; or, The time type is the fourth type, and the time of the fourth type is expressed by hours and minutes.

6. The method according to any one of claims 1 to 3, characterized in that The method further comprises: When the head node fails to successfully obtain the time scheduling information, the service is forwarded according to the default SR policy and / or the default candidate path and / or the default segment list.

7. The method according to any one of claims 1 to 3, characterized in that The path corresponding to the SR strategy and / or candidate path and / or segment list used for service forwarding before adjustment is the first path; the path corresponding to the SR strategy and / or candidate path and / or segment list used for service forwarding after adjustment is the second path; The method further comprises: The head node forwards the service through the first path in a first cycle, and forwards the service through the second path in a second cycle.

8. The method according to claim 7, characterized in that The method further comprises: If the delay of the first path is less than the delay of the second path, the head node advances the start time of the second period by a first duration relative to the base time; the first duration is determined based on the delay of the first path and the delay of the second path; If the delay of the first path is greater than the delay of the second path, the head node delays the start time of the second cycle by a second duration relative to the base time; the second duration is determined based on the delay of the first path and the delay of the second path.

9. The method according to claim 7, characterized in that: The method further comprises: The head node marks an end mark on the last service message or a group of service messages forwarded in the first cycle, and the end mark is used for the next hop node of the head node to identify the last service message or a group of service messages in the first cycle; After receiving the notification message sent by the next hop node, the head node determines to start forwarding the service messages in the second period, and the notification message is used to announce the end of the first period.

10. The method according to claim 7, characterized in that The method further comprises: The head node adds a first coloring mark to the service message forwarded in the first time period of the first cycle, and adds a second coloring mark to the service message forwarded in the second time period of the second cycle; the first time period and the second time period are adjacent in time; the first coloring mark and the second coloring mark are used by the tail node to identify the service messages in the same cycle.

11. A path adjustment method, characterized in that: The method comprises: The head node obtains the SR strategy, where the SR strategy includes one or more candidate paths, where the candidate paths include multiple weighted segment lists; wherein the weights include time scheduling information; The head node adjusts the weights of some or all of the segment lists in the plurality of segment lists according to the time scheduling information.

12. The method according to claim 11, characterized in that The weights of multiple segment lists of the same candidate path carry unified time scheduling information; or, The weights of multiple segment lists of the same candidate path carry independent time scheduling information.

13. The method according to claim 11, characterized in that The head node adjusts the weights of some or all of the segment lists in the plurality of segment lists according to the time scheduling information, including: The head node adjusts the weights of some or all of the segment lists in the multiple segment lists to a first weight according to the time scheduling information; wherein the time indicated by the time scheduling information carried by the first weight is the effective time for service forwarding.

14. The method according to any one of claims 11 to 13, characterized in that The time scheduling information includes one or more of the following fields: The first field, the fifth field is used to indicate the start time; A second field, wherein the second field is used to indicate an end time; A fourth field, the fourth field is used to indicate a time period; A fifth field, wherein the fifth field is used to indicate the time type of the start time and / or end time.

15. The method according to claim 14, characterized in that The time type is the first type, and the time of the first type is represented by year, month, day, hour and minute; or, The time type is the second type, and the time of the second type is represented by month, day, hour and minute; or, The time type is the third type, and the time of the second type is expressed by day, hour and minute; or, The time type is the fourth type, and the time of the fourth type is expressed by hours and minutes.

16. The method according to any one of claims 11 to 13, characterized in that The method further comprises: When the head node fails to successfully obtain the time scheduling information, the service is forwarded according to the default weights of the multiple segment lists.

17. The method according to any one of claims 11 to 13, characterized in that The path corresponding to the multiple segment lists used for business forwarding before the weight adjustment is the first path; the path corresponding to the multiple segment lists used for business forwarding after the weight adjustment is the second path; The method further comprises: The head node forwards the service through the first path in a first cycle, and forwards the service through the second path in a second cycle.

18. The method according to claim 17, characterized in that The method further comprises: If the delay of the first path is less than the delay of the second path, the head node advances the start time of the second period by a first duration relative to the base time; the first duration is determined based on the delay of the first path and the delay of the second path; If the delay of the first path is greater than the delay of the second path, the head node delays the start time of the second cycle by a second duration relative to the base time; the second duration is determined based on the delay of the first path and the delay of the second path.

19. The method according to claim 17, characterized in that The method further comprises: The head node marks an end mark on the last service message or a group of service messages forwarded in the first cycle, and the end mark is used for the next hop node of the head node to identify the last service message or a group of service messages in the first cycle; After receiving the notification message sent by the next hop node, the head node determines to start forwarding the service messages in the second period, and the notification message is used to announce the end of the first period.

20. The method according to claim 17, characterized in that The method further comprises: The head node adds a first coloring mark to the service message forwarded in the first time period of the first cycle, and adds a second coloring mark to the service message forwarded in the second time period of the second cycle; the first time period and the second time period are adjacent in time; the first coloring mark and the second coloring mark are used by the tail node to identify the service messages in the same cycle.

21. A path adjustment device, characterized in that: Applied to a head node, the device comprises: An acquisition unit, configured to acquire one or more SR policies, wherein the SR policies include one or more candidate paths, and the candidate paths include one or more segment lists; wherein the SR policies and / or the candidate paths and / or the segment lists carry time scheduling information; The adjusting unit is used to adjust the SR strategy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information.

22. A path adjustment device, characterized in that: Applied to a head node, the device comprises: An acquisition unit, configured to acquire an SR strategy, wherein the SR strategy includes one or more candidate paths, and the candidate paths include a plurality of weighted segment lists; wherein the weights include time scheduling information; An adjusting unit is used to adjust the weights of some or all of the segment lists in the plurality of segment lists according to the time scheduling information.

23. A communication device, characterized in that: include: A processor and a memory, the memory being used to store a computer program, the processor being used to call and run the computer program stored in the memory to execute the method according to any one of claims 1 to 20.

24. A computer-readable storage medium, characterized in that: Used to store a computer program, wherein the computer program causes a computer to execute the method according to any one of claims 1 to 20.

25. A computer program product, characterized in that The method comprises computer program instructions which cause a computer to execute the method as claimed in any one of claims 1 to 20.

Citation Information

Patent Citations

  • Method, device, and virtual network system for monitoring virtual network

    CN107996023A

  • Segment routing control method, segment routing node and controller

    CN111565148A

  • Traffic forwarding method and device, SRv6 head node and storage medium

    CN116962277A

  • Segment routing strategy processing method and device

    CN117176631A

  • Apparatus and method for providing dynamic network programming based on selective binding segment of segment routing in communication system

    US20240137316A1

Cited By

  • Path adjustment method and apparatus, communication device, storage medium, and program product

    WO2026081877A1

  • Routing method and related apparatus

    WO2026170862A1