A routing method, apparatus and related device
Patent Information
- Application Number
- CN202611031015.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-10
- Publication Date
- 2026-10-20
AI Technical Summary
然而,这种选路决策是局部和孤立的
[0023]综上可知,本申请实施例提供的选路方法,应用于第一网络设备,所述第一网络设备与第二网络设备之间建立有至少两条转发路径;所述方法包括:接收每条转发路径包括的中间网络设备发送的路由协议扩展报文,其中,一个中间网络设备发送的路由协议扩展报文携带该中间网络设备上用于组成对应转发路径的出接口的可预约带宽和带宽趋势预测值;确定待调度的目标业务和所述目标业务所需带宽;从所述至少两条转发路径中确定候选转发路径;判断所述候选转发路径包括的各出接口的可预约带宽是否大于等于所述目标业务所需带宽;在判定所述候选转发路径包括的各出接口的可预约带宽大于等于所述目标业务所需带宽时,判断所述候选转发路径包括的各出接口的带宽趋势预测值是否小于带宽趋势预测阈值;在判定所述候选转发路径包括的各出接口的带宽趋势预测值小于带宽趋势预测阈值时,将所述候选转发路径作为承载所述目标业务的转发路径。
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This application relates to the field of network communication technology, and in particular to a routing method, apparatus and related equipment. Background Technology
[0002] In SRv6 (Segment Routing over IPv6) branching schemes, there are usually multiple forwarding paths between the source and destination devices. Traditional routing methods make decisions based on factors such as path priority, latency, jitter, packet loss rate, or local interface bandwidth.
[0003] When routing and scheduling are based on local interface bandwidth, the source device only periodically checks the bandwidth utilization of its own outgoing interface. For example, if the local outgoing interface bandwidth utilization of the current path (e.g., path 1) exceeds a threshold, while the local outgoing interface bandwidth utilization of the backup path (e.g., path 2) is below the threshold, the source device will trigger scheduling to path 2. However, this routing decision is local and isolated. The source device cannot perceive the outgoing interface bandwidth status of intermediate network devices on the backup path 2. Even if the source device's own interface bandwidth is sufficient, if the interface of an intermediate node on path 2 is congested, scheduling may still result in packet loss of service packets at the intermediate node or affect other traffic. Summary of the Invention
[0004] This application provides a route selection method, apparatus, and related equipment.
[0005] In a first aspect, this application provides a routing method applied to a first network device, wherein at least two forwarding paths are established between the first network device and a second network device; the method includes: Receive routing protocol extension messages sent by intermediate network devices included in each forwarding path, wherein a routing protocol extension message sent by an intermediate network device carries the reservable bandwidth and bandwidth trend prediction value of the outgoing interface on the intermediate network device used to form the corresponding forwarding path; Determine the target service to be scheduled and the bandwidth required by the target service; Candidate forwarding paths are determined from the at least two forwarding paths; Determine whether the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service; When it is determined that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, it is determined whether the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold. When it is determined that the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold, the candidate forwarding path is used as the forwarding path carrying the target service.
[0006] Optionally, the target service is a new service, or the target service is a service currently carried by the first forwarding path that needs to be scheduled.
[0007] Optionally, if the target service is a new service, the step of determining candidate forwarding paths from the at least two forwarding paths includes: Traverse the at least two forwarding paths and determine the forwarding path with the highest scheduling priority as the candidate forwarding path; If the target service is a service currently carried by the first forwarding path that needs to be scheduled, then the step of determining candidate forwarding paths from the at least two forwarding paths includes: Traverse the at least two forwarding paths and determine the second forwarding path with the highest scheduling priority, excluding the first forwarding path, as a candidate forwarding path.
[0008] Optionally, the method further includes: If the target service is a high-priority service, then if it is determined that there is an interface among the outgoing interfaces included in the candidate forwarding path with a reservable bandwidth less than the bandwidth required by the target service, and the candidate forwarding path is currently carrying a low-priority service, then at least one low-priority service currently carried by the candidate forwarding path will be scheduled to another forwarding path, and the candidate forwarding path will be used as the forwarding path carrying the target service.
[0009] Optionally, if it is determined that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, but there is an interface with a bandwidth trend prediction value greater than or equal to the trend threshold, then based on a preset strategy, the candidate forwarding path is used as the forwarding path to carry the target service, and the bandwidth monitoring cycle of the candidate forwarding path is shortened; or, the execution of determining the candidate forwarding path from the at least two forwarding paths and subsequent steps is triggered.
[0010] Optionally, the method further includes: For the interfaces included in the at least two forwarding paths, configure a dedicated bandwidth reservation ratio or reserved bandwidth to ensure high-priority services.
[0011] Optionally, the routing protocol extension message is an Interior Gateway Protocol (IGP) extension message or a Border Gateway Protocol (BGP) extension message.
[0012] Optionally, the method further includes: Periodically check the bandwidth trend prediction values of each outgoing interface included in each forwarding path; When it is determined from the bandwidth trend prediction value that the target forwarding path currently carrying the target service is about to become congested, the process of determining candidate forwarding paths from the at least two forwarding paths and subsequent steps is triggered to schedule the target service to the alternative forwarding path in advance.
[0013] Secondly, this application provides a routing device applied to a first network device, wherein at least two forwarding paths are established between the first network device and a second network device; the device includes: The receiving unit is used to receive routing protocol extension messages sent by intermediate network devices included in each forwarding path, wherein a routing protocol extension message sent by an intermediate network device carries the reservable bandwidth and bandwidth trend prediction value of the outgoing interface on the intermediate network device used to form the corresponding forwarding path. A determining unit is used to determine the target service to be scheduled and the bandwidth required by the target service; The determining unit is further configured to determine candidate forwarding paths from the at least two forwarding paths; The judgment unit is used to determine whether the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service. When the determination unit determines that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, the determination unit is further configured to determine whether the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold. When the judgment unit determines that the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold, the scheduling unit is used to use the candidate forwarding path as the forwarding path to carry the target service.
[0014] Optionally, the target service is a new service, or the target service is a service currently carried by the first forwarding path that needs to be scheduled.
[0015] Optionally, if the target service is a new service, then when determining the candidate forwarding path from the at least two forwarding paths, the determining unit is specifically used for: Traverse the at least two forwarding paths and determine the forwarding path with the highest scheduling priority as the candidate forwarding path; If the target service is a service currently carried by the first forwarding path that needs to be scheduled, then the step of determining candidate forwarding paths from the at least two forwarding paths includes: Traverse the at least two forwarding paths and determine the second forwarding path with the highest scheduling priority, excluding the first forwarding path, as a candidate forwarding path.
[0016] Optionally, if the target service is a high-priority service, then when the determining unit determines that there is an interface among the outgoing interfaces included in the candidate forwarding path with a reservable bandwidth less than the bandwidth required by the target service, and the candidate forwarding path is currently carrying a low-priority service, the scheduling unit is further configured to schedule at least one low-priority service currently carried by the candidate forwarding path to other forwarding paths, and use the candidate forwarding path as the forwarding path carrying the target service.
[0017] Optionally, if the determination unit determines that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, but there is an interface with a bandwidth trend prediction value greater than or equal to the trend threshold, the scheduling unit is further configured to: use the candidate forwarding path as the forwarding path carrying the target service based on a preset strategy, and shorten the bandwidth monitoring cycle of the candidate forwarding path; or, trigger the execution of determining the candidate forwarding path from the at least two forwarding paths and subsequent steps.
[0018] Optionally, the device further includes: The configuration unit is used to configure the dedicated bandwidth reservation ratio or reserved bandwidth for high-priority services for the interfaces included in the at least two forwarding paths.
[0019] Optionally, the routing protocol extension message is an Interior Gateway Protocol (IGP) extension message or a Border Gateway Protocol (BGP) extension message.
[0020] Optionally, the device further includes: The inspection unit is used to periodically check the bandwidth trend prediction values of each outgoing interface included in each forwarding path; When the judgment unit determines that the target forwarding path currently carrying the target service is about to become congested based on the bandwidth trend prediction value, it triggers the determination unit to execute the steps of determining candidate forwarding paths from the at least two forwarding paths and subsequent steps, so as to schedule the target service to the candidate forwarding path in advance.
[0021] Thirdly, embodiments of this application provide a routing device, which includes: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of the first aspects above, according to the obtained program instructions.
[0022] Fourthly, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing a computer to perform the steps of the method as described in any of the first aspects above.
[0023] In summary, the routing method provided in this application is applied to a first network device, where at least two forwarding paths are established between the first network device and a second network device. The method includes: receiving routing protocol extension messages sent by intermediate network devices included in each forwarding path, wherein each intermediate network device's routing protocol extension message carries the reservable bandwidth and bandwidth trend prediction value of the outgoing interface on that intermediate network device used to form the corresponding forwarding path; determining the target service to be scheduled and the bandwidth required by the target service; determining candidate forwarding paths from the at least two forwarding paths; determining whether the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service; when the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, determining whether the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than a bandwidth trend prediction threshold; and when the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold, using the candidate forwarding path as the forwarding path carrying the target service.
[0024] Using the routing method provided in this application, the source device selects a path for the scheduled service based on the reservable bandwidth of each outgoing interface of each path, as announced by the intermediate forwarding devices on each path through routing protocol extension messages. When it is determined that the reservable bandwidth of each outgoing interface of the candidate forwarding path meets the requirements of the scheduled service, it further determines whether the bandwidth trend prediction value of each outgoing interface of the candidate forwarding path meets the bandwidth trend prediction threshold. Only when it is determined that the bandwidth trend prediction value of each outgoing interface of the candidate forwarding path is less than the bandwidth trend prediction threshold will the scheduled service be scheduled to the candidate forwarding path. This avoids repeated scheduling due to congestion of the candidate forwarding path after the scheduled service has been scheduled, reduces the probability of packet loss in intermediate network devices, and improves service reliability. Attached Figure Description
[0025] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments of this application or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings of the embodiments of this application.
[0026] Figure 1 A detailed flowchart of a routing method provided in an embodiment of this application; Figure 2 A network topology diagram provided for an embodiment of this application; Figure 3 This is a schematic diagram of the structure of a routing device provided in an embodiment of this application; Figure 4 This is a schematic diagram of the hardware architecture of a routing device provided in an embodiment of this application. Detailed Implementation
[0027] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” as used in this application and claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any and all possible combinations comprising one or more of the associated listed items.
[0028] It should be understood that although the terms first, second, third, etc., may be used to describe various information in embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" may also be interpreted as "when," "when," or "in response to a determination."
[0029] For example, see Figure 1 The diagram shown is a detailed flowchart of a routing method provided in an embodiment of this application. The method is applied to a first network device, and at least two forwarding paths are established between the first network device and a second network device. The method includes the following steps: Step 100: Receive routing protocol extension messages sent by intermediate network devices included in each forwarding path.
[0030] In this embodiment of the application, a routing protocol extension message sent by an intermediate network device carries the reservable bandwidth and bandwidth trend prediction value of the outgoing interface on the intermediate network device used to form the corresponding forwarding path.
[0031] Specifically, see Figure 2 The diagram shown is a network topology diagram provided in an embodiment of this application. Network device 1 is the source device and network device 5 is the destination device. Two forwarding paths are established between network device 1 and network device 5 (path 1: network device 1 -> network device 4 -> network device 5; path 2: network device 1 -> network device 2 -> network device 3 -> network device 5).
[0032] In this embodiment of the application, the routing protocol extension message is an Interior Gateway Protocol (IGP) extension message or a Border Gateway Protocol (BGP) extension message.
[0033] In this embodiment, the routing protocol IGP is used as an example for explanation. Each network device is configured with the IGP protocol, meaning that IGP neighbor relationships have been established between the first network device, the second network device, and the intermediate network devices. The IGP protocol is used to advertise routes for the entire network. After the IGP neighbor relationship is established, each network device advertises routing information to its neighbors within the network. In this embodiment, the routing protocol messages generated by the intermediate network devices in each forwarding path are routing protocol extension messages. A routing protocol extension message sent by an intermediate network device carries the reservable bandwidth and bandwidth trend prediction value of the outgoing interface on that intermediate network device used to form the corresponding forwarding path.
[0034] For example, path 1 between network device 1 and network device 5 includes network device 4 as an intermediate network device. Interface 1 of network device 1 is connected to interface 1 of network device 4, and interface 2 of network device 4 is connected to interface 1 of network device 5. That is, interface 1 of network device 1 and interface 2 of network device 4 are the outgoing interfaces used to form path 1. Therefore, when network device 4 advertises a routing protocol extension message to network device 1, it carries the reservable bandwidth and bandwidth trend prediction value of interface 2 in the routing protocol extension message.
[0035] For example, path 2 between network device 1 and network device 5 includes intermediate network devices 2 and 3. Assume that interface 2 of network device 1 is connected to interface 1 of network device 2, interface 2 of network device 2 is connected to interface 1 of network device 3, and interface 2 of network device 3 is connected to interface 2 of network device 5. That is, interface 2 of network device 1, interface 2 of network device 2, and interface 2 of network device 3 are the outgoing interfaces used to form path 2. Thus, when network device 2 advertises a routing protocol extension message to network device 1, it carries the reservable bandwidth and bandwidth trend prediction value of interface 2 in the routing protocol extension message; similarly, when network device 3 advertises a routing protocol extension message to network device 1, it carries the reservable bandwidth and bandwidth trend prediction value of interface 2 in the routing protocol extension message.
[0036] In practical applications, the reservable bandwidth of an outgoing interface is: the total bandwidth of the interface minus the currently used bandwidth, and then minus the bandwidth that has been reserved but not actually used, leaving the remaining reservable bandwidth.
[0037] The bandwidth trend prediction value of an outgoing interface is: the predicted value of the interface bandwidth utilization in the next prediction period calculated based on the historical bandwidth utilization data of the outgoing interface using a preset algorithm (such as Exponentially Weighted Moving Average (EWMA)).
[0038] Step 110: Determine the target service to be scheduled and the bandwidth required by the target service.
[0039] In this embodiment of the application, the target service is a newly added service, or the target service is a service currently carried by the first forwarding path that needs to be scheduled.
[0040] For example, if a new service 1 is added between network devices 1 and 5, then the traffic of service 1 needs to be forwarded using path 1 / path 2 established between network devices 1 and 5. At this time, service 1 is the target service, and the bandwidth required for service 1 is obtained (in actual applications, the bandwidth required for the target service is configured when defining the target service).
[0041] For example, if path 1 between network device 1 and network device 5 carries service 2, but service 2 needs to be scheduled to path 2 for carrying, then service 2 is the target service, and the bandwidth required for service 2 needs to be obtained.
[0042] Step 120: Determine candidate forwarding paths from the at least two forwarding paths.
[0043] In this embodiment of the application, if the target service is a new service, a preferred implementation method for determining candidate forwarding paths from the at least two forwarding paths is as follows: Traverse the at least two forwarding paths and determine the forwarding path with the highest scheduling priority as the candidate forwarding path.
[0044] For example, assuming that path 1 has a higher priority than path 2, then path 1 is first identified as a candidate forwarding path.
[0045] If the target service is a service currently carried by the first forwarding path that needs to be scheduled, then when determining candidate forwarding paths from the at least two forwarding paths, a preferred implementation is as follows: Traverse the at least two forwarding paths and determine the second forwarding path with the highest scheduling priority, excluding the first forwarding path, as a candidate forwarding path.
[0046] For example, if at least one forwarding path includes path 1 and path 2, and the target service is currently carrying path 1, then the candidate forwarding path is path 2; if at least one forwarding path also includes path 3, then the candidate forwarding path is the forwarding path with higher priority between path 2 and path 3.
[0047] Step 130: Determine whether the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service.
[0048] It should be noted that the outgoing interfaces included in the candidate forwarding paths also include the local outgoing interfaces connecting the source device and the intermediate network devices.
[0049] In this embodiment, path 2 is used as an example for illustration. Path 2 includes all outgoing interfaces: interface 2 of network device 1, interface 2 of network device 2, and interface 2 of network device 3. Network device 1 can locally obtain the reservable bandwidth of interface 2, obtain the reservable bandwidth of interface 2 of network device 2 through the routing protocol extension message sent by network device 2, and obtain the reservable bandwidth of interface 2 of network device 3 through the routing protocol extension message sent by network device 3, thereby determining whether the reservable bandwidth of all outgoing interfaces included in path 2 meets the bandwidth required by the target service.
[0050] Furthermore, in an embodiment of this application, an optional implementation is as follows: if the target service is a high-priority service, then when it is determined that there is an interface among the outgoing interfaces included in the candidate forwarding path with a reservable bandwidth less than the bandwidth required by the target service, and the candidate forwarding path is currently carrying a low-priority service, at least one low-priority service currently carried by the candidate forwarding path is scheduled to other forwarding paths, and the candidate forwarding path is used as the forwarding path carrying the target service.
[0051] Step 140: When it is determined that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, determine whether the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold.
[0052] In this embodiment of the application, if it is determined that the reservable bandwidth of each outgoing interface included in the candidate forwarding path meets the bandwidth required by the target service, then it is further determined whether the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold.
[0053] Step 150: When it is determined that the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold, the candidate forwarding path is used as the forwarding path to carry the target service.
[0054] In practical applications, the bandwidth trend prediction value of an interface represents its bandwidth usage in the future (next cycle). If the bandwidth trend prediction value of an interface is greater than or equal to the bandwidth trend prediction threshold, it indicates that the interface may experience congestion in the next cycle. In other words, if any of the outgoing interfaces included in the candidate forwarding path has a bandwidth trend prediction value greater than or equal to the bandwidth trend prediction threshold, then that candidate forwarding path is not suitable as a forwarding path for carrying the target service, and the target service traffic will not be scheduled to that candidate forwarding path. This triggers the determination of a candidate forwarding path from the at least two forwarding paths and subsequent steps.
[0055] In this embodiment of the application, a dedicated bandwidth reservation ratio or reserved bandwidth can also be configured for the interfaces included in the at least two forwarding paths to ensure high-priority services.
[0056] For example, to ensure that critical services always have available bandwidth, high-priority services can be configured to reserve bandwidth (e.g., 10G). This interface must reserve at least 10G of bandwidth exclusively for high-priority services, and low-priority services cannot occupy this 10G bandwidth.
[0057] In practical applications, routing for high-priority services prioritizes determining available bandwidth. If the available bandwidth for the target path is insufficient but is already occupied by low-priority services, high-priority services can preempt the bandwidth of low-priority services. The preempted low-priority services then re-trigger the routing process and switch to other alternative paths.
[0058] In this embodiment of the application, if it is determined that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, but there is an interface with a bandwidth trend prediction value greater than or equal to the trend threshold, then based on a preset strategy, the candidate forwarding path is used as the forwarding path to carry the target service, and the bandwidth monitoring cycle of the candidate forwarding path is shortened; or, the execution of determining the candidate forwarding path from the at least two forwarding paths and subsequent steps is triggered.
[0059] Specifically, network device 1 periodically checks the bandwidth trend prediction values of each interface included in each path. When it is found that the trend prediction value of a certain outgoing interface on the current path 1 will exceed the bandwidth trend prediction threshold in a future period, network device 1, without waiting for actual congestion to occur, proactively switches some of the currently carried service traffic to an alternative path that meets the conditions for reservable bandwidth and bandwidth trend prediction, thus achieving proactive prevention rather than reactive response. Simultaneously, when network device 1 switches some service traffic from path 1 to path 2, network device 1 and each intermediate device included in path 1 update the path bandwidth reservation record of the corresponding outgoing interface of path 1, releasing the reserved bandwidth of that service traffic. Network device 1 and each intermediate network device included in path 2 increase the reserved bandwidth of each outgoing interface included in path 2. Each network device updates the reservable bandwidth of each interface according to the changes in its local reservation record and re-floods the updated BW-Reservation Sub-TLV through IGP extended messages, enabling other devices to promptly perceive the bandwidth changes of each interface.
[0060] In this embodiment of the application, the above method may further include the following steps: Periodically check the bandwidth trend prediction values of each outgoing interface included in each forwarding path; When it is determined from the bandwidth trend prediction value that the target forwarding path currently carrying the target service is about to become congested, the process of determining candidate forwarding paths from the at least two forwarding paths and subsequent steps is triggered to schedule the target service to the alternative forwarding path in advance.
[0061] Based on the same inventive concept as the above-described embodiments, see, for example, the following: Figure 3 The diagram shown is a schematic representation of a routing device provided in an embodiment of this application. This device is applied to a first network device, and at least two forwarding paths are established between the first network device and a second network device. The device includes: The receiving unit 30 is used to receive routing protocol extension messages sent by intermediate network devices included in each forwarding path, wherein a routing protocol extension message sent by an intermediate network device carries the reservable bandwidth and bandwidth trend prediction value of the outgoing interface on the intermediate network device used to form the corresponding forwarding path. Determining unit 31 is used to determine the target service to be scheduled and the bandwidth required by the target service; The determining unit 31 is further configured to determine candidate forwarding paths from the at least two forwarding paths; The judgment unit 32 is used to determine whether the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service. When the determination unit 32 determines that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, the determination unit 32 is further configured to determine whether the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold. When the judgment unit 32 determines that the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold, the scheduling unit 33 is used to use the candidate forwarding path as the forwarding path to carry the target service.
[0062] Optionally, the target service is a new service, or the target service is a service currently carried by the first forwarding path that needs to be scheduled.
[0063] Optionally, if the target service is a new service, then when determining the candidate forwarding path from the at least two forwarding paths, the determining unit 31 is specifically used for: Traverse the at least two forwarding paths and determine the forwarding path with the highest scheduling priority as the candidate forwarding path; If the target service is a service currently carried by the first forwarding path that needs to be scheduled, then the step of determining candidate forwarding paths from the at least two forwarding paths includes: Traverse the at least two forwarding paths and determine the second forwarding path with the highest scheduling priority, excluding the first forwarding path, as a candidate forwarding path.
[0064] Optionally, if the target service is a high-priority service, then when the judgment unit 32 determines that there is an interface among the outgoing interfaces included in the candidate forwarding path with a reservable bandwidth less than the bandwidth required by the target service, and the candidate forwarding path is currently carrying a low-priority service, the scheduling unit 33 is further configured to schedule at least one low-priority service currently carried by the candidate forwarding path to other forwarding paths, and use the candidate forwarding path as the forwarding path carrying the target service.
[0065] Optionally, if the judgment unit 32 determines that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, but there is an interface with a bandwidth trend prediction value greater than or equal to the trend threshold, then the scheduling unit 33 is further configured to: use the candidate forwarding path as the forwarding path carrying the target service based on a preset strategy, and shorten the bandwidth monitoring cycle of the candidate forwarding path; or, trigger the execution of determining the candidate forwarding path from the at least two forwarding paths and subsequent steps.
[0066] Optionally, the device further includes: The configuration unit is used to configure the dedicated bandwidth reservation ratio or reserved bandwidth for high-priority services for the interfaces included in the at least two forwarding paths.
[0067] Optionally, the routing protocol extension message is an Interior Gateway Protocol (IGP) extension message or a Border Gateway Protocol (BGP) extension message.
[0068] Optionally, the device further includes: The inspection unit is used to periodically check the bandwidth trend prediction values of each outgoing interface included in each forwarding path; When the judgment unit 32 determines that the target forwarding path currently carrying the target service is about to become congested based on the bandwidth trend prediction value, it triggers the determination unit 31 to execute the steps of determining candidate forwarding paths from the at least two forwarding paths and subsequent steps, so as to schedule the target service to the alternative forwarding path in advance.
[0069] These units can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more digital signal processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when one of these units is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these units can be integrated together to form a system-on-a-chip (SOC).
[0070] Furthermore, regarding the routing device provided in this application embodiment, from a hardware perspective, the hardware architecture diagram of the routing device can be found in [reference needed]. Figure 4 As shown, the routing device may include: a memory 40 and a processor 41. The memory 40 is used to store program instructions; the processor 41 calls the program instructions stored in the memory 40 and executes the above method embodiment according to the obtained program instructions. The specific implementation method and technical effect are similar, and will not be described again here.
[0071] Optionally, this application also provides a network device, including at least one processing element (or chip) for performing the above method embodiments.
[0072] Optionally, this application also provides a program product, such as a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the above-described method embodiments.
[0073] Here, a machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, etc. For example, a machine-readable storage medium can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.
[0074] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.
[0075] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.
[0076] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0077] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0078] Furthermore, these computer program instructions can also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0079] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0080] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A route selection method, characterized in that, The method is applied to a first network device, wherein at least two forwarding paths are established between the first network device and a second network device; the method includes: Receive routing protocol extension messages sent by intermediate network devices included in each forwarding path, wherein a routing protocol extension message sent by an intermediate network device carries the reservable bandwidth and bandwidth trend prediction value of the outgoing interface on the intermediate network device used to form the corresponding forwarding path; Determine the target service to be scheduled and the bandwidth required by the target service; Candidate forwarding paths are determined from the at least two forwarding paths; Determine whether the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service; When it is determined that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, it is determined whether the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold. When it is determined that the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold, the candidate forwarding path is used as the forwarding path carrying the target service.
2. The method as described in claim 1, characterized in that, The target service is a new service, or the target service is a service currently carried by the first forwarding path that needs to be scheduled.
3. The method as described in claim 2, characterized in that, If the target service is a new service, the step of determining candidate forwarding paths from the at least two forwarding paths includes: Traverse the at least two forwarding paths and determine the forwarding path with the highest scheduling priority as the candidate forwarding path; If the target service is a service currently carried by the first forwarding path that needs to be scheduled, then the step of determining candidate forwarding paths from the at least two forwarding paths includes: Traverse the at least two forwarding paths and determine the second forwarding path with the highest scheduling priority, excluding the first forwarding path, as a candidate forwarding path.
4. The method according to any one of claims 1-3, characterized in that, The method further includes: If the target service is a high-priority service, then if it is determined that there is an interface among the outgoing interfaces included in the candidate forwarding path with a reservable bandwidth less than the bandwidth required by the target service, and the candidate forwarding path is currently carrying a low-priority service, then at least one low-priority service currently carried by the candidate forwarding path will be scheduled to another forwarding path, and the candidate forwarding path will be used as the forwarding path carrying the target service.
5. The method according to any one of claims 1-3, characterized in that, If it is determined that the available bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, but there is an interface with a bandwidth trend prediction value greater than or equal to the trend threshold, then based on a preset strategy, the candidate forwarding path is used as the forwarding path to carry the target service, and the bandwidth monitoring cycle of the candidate forwarding path is shortened; or, the execution of determining the candidate forwarding path from the at least two forwarding paths and subsequent steps is triggered.
6. The method according to any one of claims 1-3, characterized in that, The method further includes: For the interfaces included in the at least two forwarding paths, configure a dedicated bandwidth reservation ratio or reserved bandwidth to ensure high-priority services.
7. The method as described in claim 1, characterized in that, The routing protocol extension message is either an Interior Gateway Protocol (IGP) extension message or a Border Gateway Protocol (BGP) extension message.
8. The method as described in claim 1, characterized in that, The method further includes: Periodically check the bandwidth trend prediction values of each outgoing interface included in each forwarding path; When it is determined from the bandwidth trend prediction value that the target forwarding path currently carrying the target service is about to become congested, the process of determining candidate forwarding paths from the at least two forwarding paths and subsequent steps is triggered to pre-schedule the target service to the alternative forwarding path.
9. A routing device, characterized in that, Applied to a first network device, wherein at least two forwarding paths are established between the first network device and a second network device; the apparatus includes: The receiving unit is used to receive routing protocol extension messages sent by intermediate network devices included in each forwarding path, wherein a routing protocol extension message sent by an intermediate network device carries the reservable bandwidth and bandwidth trend prediction value of the outgoing interface on the intermediate network device used to form the corresponding forwarding path. A determining unit is used to determine the target service to be scheduled and the bandwidth required by the target service; The determining unit is further configured to determine candidate forwarding paths from the at least two forwarding paths; The judgment unit is used to determine whether the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service. When the determination unit determines that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, the determination unit is further configured to determine whether the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold. When the judgment unit determines that the bandwidth trend prediction value of each outgoing interface included in the candidate forwarding path is less than the bandwidth trend prediction threshold, the scheduling unit is used to use the candidate forwarding path as the forwarding path to carry the target service.
10. The apparatus as claimed in claim 9, characterized in that, If the target service is a new service, then when determining the candidate forwarding path from the at least two forwarding paths, the determining unit is specifically used for: Traverse the at least two forwarding paths and determine the forwarding path with the highest scheduling priority as the candidate forwarding path; If the target service is a service currently carried by the first forwarding path that needs to be scheduled, then the step of determining candidate forwarding paths from the at least two forwarding paths includes: Traverse the at least two forwarding paths and determine the second forwarding path with the highest scheduling priority, excluding the first forwarding path, as a candidate forwarding path.
11. The apparatus as claimed in claim 9 or 10, characterized in that, If the target service is a high-priority service, then when the judgment unit determines that there is an interface among the outgoing interfaces included in the candidate forwarding path with a reservable bandwidth less than the bandwidth required by the target service, and the candidate forwarding path is currently carrying a low-priority service, the scheduling unit is further configured to schedule at least one low-priority service currently carried by the candidate forwarding path to other forwarding paths, and use the candidate forwarding path as the forwarding path carrying the target service.
12. The apparatus as claimed in claim 9 or 10, characterized in that, If the judgment unit determines that the reservable bandwidth of each outgoing interface included in the candidate forwarding path is greater than or equal to the bandwidth required by the target service, but there is an interface with a bandwidth trend prediction value greater than or equal to the trend threshold, then the scheduling unit is further configured to: use the candidate forwarding path as the forwarding path carrying the target service based on a preset strategy, and shorten the bandwidth monitoring cycle of the candidate forwarding path; or, trigger the execution of determining the candidate forwarding path from the at least two forwarding paths and subsequent steps.
13. The apparatus as claimed in claim 9, characterized in that, The device further includes: The inspection unit is used to periodically check the bandwidth trend prediction values of each outgoing interface included in each forwarding path; When the judgment unit determines that the target forwarding path currently carrying the target service is about to become congested based on the bandwidth trend prediction value, it triggers the determination unit to execute the steps of determining candidate forwarding paths from the at least two forwarding paths and subsequent steps, so as to schedule the target service to the candidate forwarding path in advance.
14. A routing device, characterized in that, The routing device includes: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of claims 1-8 according to the obtained program instructions.
15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing the computer to perform the steps of the method as described in any one of claims 1-8.