CN113132225B - Path selection method, path selection device, computer equipment and computer readable medium - Google Patents

Path selection method, path selection device, computer equipment and computer readable medium Download PDF

Info

Publication number
CN113132225B
CN113132225B CN201911410896.XA CN201911410896A CN113132225B CN 113132225 B CN113132225 B CN 113132225B CN 201911410896 A CN201911410896 A CN 201911410896A CN 113132225 B CN113132225 B CN 113132225B
Authority
CN
China
Prior art keywords
bandwidth
bandwidth usage
usage parameter
network device
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911410896.XA
Other languages
Chinese (zh)
Other versions
CN113132225A (en
Inventor
任明艳
王同乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201911410896.XA priority Critical patent/CN113132225B/en
Priority to PCT/CN2020/141636 priority patent/WO2021136430A1/en
Publication of CN113132225A publication Critical patent/CN113132225A/en
Application granted granted Critical
Publication of CN113132225B publication Critical patent/CN113132225B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The present disclosure provides a path selection method, the method comprising: determining a bandwidth usage parameter of a link between a port receiving the first detection message and a designated network device, wherein the designated network device is the last network device in a transmission path of an ECMP link group or a work-protection link group, and maintaining the bandwidth usage parameter table according to a locally stored bandwidth usage parameter table, the bandwidth usage parameter of the link between the port and the designated network device and the identification of the designated network device by the first network device in the ECMP link group or the work-protection link group, and after receiving the service message and determining the ECMP path or the work-protection path, the network device can forward the service message according to the bandwidth usage parameter table; the embodiment of the disclosure can quickly find the link with the minimum congestion degree from a plurality of alternative paths. The present disclosure also provides a path selection apparatus, a computer device, and a computer readable medium.

Description

Path selection method, path selection device, computer equipment and computer readable medium
Technical Field
The present disclosure relates to the field of data transmission technologies, and in particular, to a path selection method, a path selection device, a computer device, and a computer readable medium.
Background
Intelligent scheduling is a critical capability in data center networks. At present, after an SR (Segment Routing) technology is applied in an SDN (Software Defined Network ) scene, traffic scheduling and path optimization are better realized. However, in the scenario where Prefix segments are applied, the partial path segments are loose, and the portion of the path not explicitly specified by the Segment routing list (Segment Routing list) (loose path Segment) needs to be routed locally by the switching device. When the switching device calculates the optimal next hop according to the current routing protocol, the cost value is smaller, and the path calculation result may be an equal cost multi-path or a definite optimal path. Because congestion information is not considered when calculating the path, a congested path may be selected to transmit a message. In addition, if the congestion problem is solved by the controller, the data needs to be sent to the controller packet by packet, and the traffic occupies a large bandwidth of the line card; and the controller processes huge state (congestion state) information in a centralized way and then recalculates the path, so that the delay is large, and the timely solution of link congestion is not facilitated.
Disclosure of Invention
The present disclosure addresses the above-identified deficiencies in the art by providing a path selection method, apparatus, computer device and computer readable medium.
In a first aspect, an embodiment of the present disclosure provides a path selection method, including:
Receiving a first detection message, and acquiring a bandwidth use parameter carried in the first detection message and an identifier of a designated network device, wherein the designated network device is the last network device in a service path;
determining a bandwidth usage parameter of a link between a port receiving the first detection message and the designated network equipment;
If the network device belongs to an equivalent routing ECMP link group or a work-protection link group corresponding to the identifier of the specified network device, maintaining the bandwidth usage parameter table according to a locally stored bandwidth usage parameter table, the bandwidth usage parameter of the link between the port and the specified network device, the bandwidth usage parameter in the first probe message and the identifier of the specified network device; the bandwidth use parameter table comprises a designated network device identifier, a path bandwidth use parameter and a next hop network device identifier;
and when receiving the service message, forwarding the service message according to the bandwidth use parameter table after determining the ECMP path or the work-protection path.
In some embodiments, the maintaining the bandwidth usage parameter table according to a locally stored bandwidth usage parameter table, bandwidth usage parameters of a link between the port and the specified network device, and the bandwidth usage parameters in the first probe packet and the identity of the specified network device includes:
If the identification of the network device sending the first detection message is the same as the identification of the next hop network device in the bandwidth usage parameter table, updating the path bandwidth usage parameter in the bandwidth usage parameter table according to the bandwidth usage parameter of the link between the port and the designated network device;
if the identifier of the network device sending the first detection message is different from the identifier of the next hop network device in the bandwidth usage parameter table, maintaining the bandwidth usage parameter table according to the comparison result of the bandwidth usage parameter of the link between the port and the designated network device and the path bandwidth usage parameter in the bandwidth usage parameter table.
In some embodiments, the determining the bandwidth usage parameter of the link between the port receiving the first probe packet and the designated network device includes:
Determining a bandwidth usage parameter of a port receiving the first detection message;
And determining the bandwidth usage parameter of the link between the port and the appointed network equipment according to the bandwidth usage parameter of the port and the bandwidth usage parameter in the first detection message.
In some embodiments, the bandwidth usage parameter includes a bandwidth usage rate, and the determining, according to the bandwidth usage parameter of the port and the bandwidth usage parameter in the first probe packet, the bandwidth usage parameter of the link between the port and the designated network device includes: and determining the maximum value of the bandwidth utilization rate of the port and the bandwidth utilization rate in the first detection message.
In some embodiments, the maintaining the bandwidth usage parameter table according to a comparison result of the bandwidth usage parameter of the link between the port and the designated network device and the path bandwidth usage parameter in the bandwidth usage parameter table includes:
If the bandwidth utilization rate of the link between the port and the appointed network equipment is smaller than the path bandwidth utilization rate in the bandwidth utilization parameter table, updating the identification of the next hop network equipment in the bandwidth utilization parameter table according to the identification of the network equipment sending the first detection message, and updating the path bandwidth utilization rate in the bandwidth utilization parameter table according to the bandwidth utilization rate of the link between the port and the appointed network equipment;
and if the bandwidth utilization rate of the link between the port and the appointed network equipment is greater than or equal to the path bandwidth utilization rate in the bandwidth utilization parameter table, not updating the bandwidth utilization parameter table.
In some embodiments, the bandwidth usage parameter includes a remaining bandwidth, and the determining, according to the bandwidth usage parameter of the port and the bandwidth usage parameter in the first probe packet, the bandwidth usage parameter of the link between the port and the designated network device includes: and determining the minimum value of the residual bandwidth of the port and the residual bandwidth in the first detection message.
In some embodiments, the maintaining the bandwidth usage parameter table according to a comparison result of the bandwidth usage parameter of the link between the port and the designated network device and the path bandwidth usage parameter in the bandwidth usage parameter table includes:
If the residual bandwidth from the port to the link between the designated network devices is greater than the path residual bandwidth in the bandwidth usage parameter table, updating the identification of the next hop network device in the bandwidth usage parameter table according to the identification of the network device sending the first detection message, and updating the path residual bandwidth in the bandwidth usage parameter table according to the residual bandwidth from the port to the link between the designated network devices;
And if the residual bandwidth of the link between the port and the appointed network equipment is smaller than or equal to the path residual bandwidth in the bandwidth use parameter table, not updating the bandwidth use parameter table.
In some embodiments, after determining the bandwidth usage parameter of the link between the port receiving the first probe packet to the designated network device, the method further comprises:
Generating a second detection message, wherein the second detection message comprises the identification of the appointed network equipment and the bandwidth use parameter of a link between the port and the appointed network equipment;
And sending the second detection message to a preconfigured multicast group member.
In some embodiments, the path selection method further comprises:
When the triggering condition is met, generating a third detection message, wherein the third detection message carries a bandwidth use parameter and an identifier of the network equipment;
and sending the third detection message to a preset multicast group member according to a preset period.
In some embodiments, when the present network device belongs to at least one working-protection link group, the ports include a start port of a working path and a start port of a protection path, and the bandwidth usage parameter table is used for recording information of the working path and information of the protection path, where the information includes start port information, a path bandwidth usage parameter, and an identifier of a next-hop network device;
and when receiving the service message, forwarding the service message according to the bandwidth usage parameter table, including:
If the bandwidth usage parameter of the link between the initial port of the working path and the designated network device, the bandwidth usage parameter of the link between the initial port of the protection path and the designated network device and the preset threshold meet preset conditions, when a service message is received, determining a split ratio according to the bandwidth usage parameter table, and respectively utilizing the working path and the protection path to send the service message according to the split ratio.
In another aspect, an embodiment of the present disclosure further provides a path selection apparatus, including: the system comprises a receiving module, an acquisition module, a determination module, a table item maintenance module and a service processing module;
The receiving module is used for receiving the first detection message and receiving the service message;
The acquisition module is configured to acquire a bandwidth usage parameter carried in the first probe packet and an identifier of a designated network device, where the designated network device is a last network device in a service path;
The determining module is used for determining a bandwidth usage parameter of a link between a port receiving the first detection message and the designated network equipment;
The table entry maintenance module is configured to maintain, when the present network device belongs to an ECMP link group or a work-protection link group corresponding to the identifier of the specified network device, a bandwidth usage parameter table according to the bandwidth usage parameter of the port, the bandwidth usage parameter in the first probe packet, the identifier of the specified network device, and a locally stored bandwidth usage parameter table; the bandwidth use parameter table comprises a designated network device identifier, a bandwidth use parameter and a next hop network device identifier;
and the service processing module is used for forwarding the service message according to the bandwidth use parameter table after determining the ECMP path or the work-protection path when the receiving module receives the service message.
In yet another aspect, the disclosed embodiments also provide a computer device, comprising: one or more processors and a storage device; wherein the storage device stores one or more programs, which when executed by the one or more processors, cause the one or more processors to implement the path selection method provided in the foregoing embodiments.
The disclosed embodiments also provide a computer readable medium having a computer program stored thereon, wherein the computer program, when executed, implements the path selection method as provided by the foregoing embodiments.
The path selection method provided by the embodiment of the disclosure determines a bandwidth usage parameter of a link between a port receiving a first detection message and a designated network device, the designated network device is the last network device in a service path, and the first network device in an ECMP link group or a work-protection link group maintains the bandwidth usage parameter table according to a locally stored bandwidth usage parameter table, the bandwidth usage parameter of the link between the port and the designated network device, and the bandwidth usage parameter in the first detection message and the identifier of the designated network device, and after the service message is received and the ECMP path or the work-protection path is determined, the network device can forward the service message according to the bandwidth usage parameter table; according to the embodiment of the disclosure, a detection message carrying bandwidth use parameters is sent in a direction opposite to a service message transmission direction, a first network device in an ECMP link group or a work-protection link group maintains a bandwidth use parameter table according to the link bandwidth use parameters, the bandwidth use parameter table is used as a selection basis of a service message forwarding path, an optimal path is selected, and a link with the minimum congestion degree can be quickly found out from a plurality of alternative paths; according to the embodiment of the disclosure, the data does not need to be reported to the controller, the bandwidth of the line card is not occupied in the path selection process, and the processing pressure and bandwidth resource occupation of the controller are reduced.
Drawings
Fig. 1 is a flowchart of a path selection method provided in an embodiment of the present disclosure;
Fig. 2a is a schematic structural diagram of a detection message according to an embodiment of the present disclosure;
FIG. 2b is a second schematic diagram of a probe packet according to an embodiment of the disclosure;
FIG. 3 is a flow chart of maintaining a bandwidth usage parameter table provided by an embodiment of the present disclosure;
Fig. 4 is a flowchart of a bandwidth usage parameter of a link between a port receiving a first probe packet and a designated network device according to an embodiment of the present disclosure;
fig. 5 is one of flowcharts for maintaining a bandwidth usage parameter table according to a comparison result of bandwidth usage parameters of a link between a port and a designated network device and path bandwidth usage parameters in the bandwidth usage parameter table according to an embodiment of the present disclosure;
Fig. 6 is a second flowchart of maintaining a bandwidth usage parameter table according to a comparison result of bandwidth usage parameters of a link between a port and a designated network device and path bandwidth usage parameters in the bandwidth usage parameter table according to an embodiment of the present disclosure;
fig. 7 is a flowchart of generating and sending a second detection message according to an embodiment of the present disclosure;
Fig. 8 is a flowchart of generating and sending a third detection message according to an embodiment of the present disclosure;
fig. 9 is a flowchart of path selection in a work-protection link group scenario provided by an embodiment of the present disclosure;
fig. 10a is a network topology diagram in an ECMP link group scenario provided by an embodiment of the present disclosure;
Fig. 10b is a schematic diagram of path selection in an ECMP link group scenario according to an embodiment of the present disclosure;
fig. 11a is a network topology diagram in an ECMP link group scenario provided by another embodiment of the present disclosure;
fig. 11b is a schematic diagram of path selection in an ECMP link group scenario according to another embodiment of the present disclosure;
fig. 12a is a network topology diagram in a working-protection link group scenario provided by an embodiment of the present disclosure;
Fig. 12b is a schematic diagram of path selection in a working-protection link group scenario provided by an embodiment of the present disclosure;
fig. 13 is a schematic structural diagram of a path selection device according to an embodiment of the disclosure.
Detailed Description
Example embodiments will be described more fully hereinafter with reference to the accompanying drawings, but may be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Embodiments described herein may be described with reference to plan and/or cross-sectional views with the aid of idealized schematic diagrams of the present disclosure. Accordingly, the example illustrations may be modified in accordance with manufacturing techniques and/or tolerances. Thus, the embodiments are not limited to the embodiments shown in the drawings, but include modifications of the configuration formed based on the manufacturing process. Thus, the regions illustrated in the figures have schematic properties and the shapes of the regions illustrated in the figures illustrate the particular shapes of the regions of the elements, but are not intended to be limiting.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
An embodiment of the present disclosure provides a path selection method applied to SR (Segment Routing) scenes in SDN (Software Defined Network ), for example, applied to Prefix segments.
As shown in fig. 1, the path selection method includes the steps of:
And step 11, receiving a first detection message, and acquiring the bandwidth use parameter carried in the first detection message and the identification of the appointed network equipment.
In the disclosed embodiment, the network device is designated as the last network device in the traffic path.
In some embodiments, the bandwidth usage parameter may include bandwidth utilization or residual bandwidth.
Step 12, determining a bandwidth usage parameter of a link between a port receiving the first probe message to the designated network device.
In this step, the link between the port receiving the first probe packet and the designated network device refers to a link between the port of the network device (i.e., the network device receiving the first probe packet) and the designated network device, where the link may include one or more paths.
The specific process of determining the bandwidth usage parameter of the link between the port receiving the first probe message and the designated network device is described in detail below in conjunction with fig. 3.
And step 13, if the network device belongs to the ECMP link group or the work-protection link group corresponding to the identifier of the specified network device, maintaining the bandwidth usage parameter table according to the locally stored bandwidth usage parameter table, the bandwidth usage parameter of the link between the port and the specified network device, the bandwidth usage parameter in the first probe message and the identifier of the specified network device.
The bandwidth usage parameter table, as shown in table 1, may include a specified network device identification, path bandwidth usage parameters, and an identification of the next hop network device.
TABLE 1
The specific flow of maintaining the bandwidth usage parameter table is described in detail below in conjunction with fig. 2.
And 14, when the service message is received, forwarding the service message according to the bandwidth use parameter table after determining the ECMP path or the work-protection path.
In this step, the present network device determines a next-hop network device according to the identifier of the next-hop network device in the bandwidth usage parameter table, and forwards the service packet to the next-hop network device, thereby implementing the equivalent path or work-protection path selection.
The path selection method provided by the embodiment of the disclosure determines a bandwidth usage parameter of a link between a port receiving a first detection message and a designated network device, the designated network device is the last network device in a service path, and the first network device in an ECMP link group or a work-protection link group maintains the bandwidth usage parameter table according to a locally stored bandwidth usage parameter table, the bandwidth usage parameter of the link between the port and the designated network device, and the bandwidth usage parameter in the first detection message and the identifier of the designated network device, and after the service message is received and the ECMP path or the work-protection path is determined, the network device can forward the service message according to the bandwidth usage parameter table; according to the embodiment of the disclosure, a detection message carrying bandwidth use parameters is sent in a direction opposite to a service message transmission direction, a first network device in an ECMP link group or a work-protection link group maintains a bandwidth use parameter table according to the link bandwidth use parameters, the bandwidth use parameter table is used as a selection basis of a service message forwarding path, an optimal path is selected, and a link with the minimum congestion degree can be quickly found out from a plurality of alternative paths; according to the embodiment of the disclosure, the data does not need to be reported to the controller, the bandwidth of the line card is not occupied in the path selection process, and the processing pressure and bandwidth resource occupation of the controller are reduced.
In some embodiments, the bandwidth usage parameter is bandwidth usage, as shown in fig. 2a, the first probe packet at least includes: the identifier SID and the bandwidth utilization ratio util of the designated network device, it should be noted that the first detection message may further include an ethernet header and an IP (Internet Protocol ) header, where the ethernet header carries an ethernet type, and the IP header carries a multicast address (i.e., an address of a multicast group member).
In some embodiments, the bandwidth usage parameter is a residual bandwidth, as shown in fig. 2b, the first detection message at least includes: the identification SID and the residual bandwidth of the network device are specified, and it should be noted that the first detection message may further include an ethernet header and an IP header, where the ethernet header carries an ethernet type, and the IP header carries a multicast address (i.e., an address of a multicast group member).
In the embodiment of the present disclosure, the residual bandwidth may be represented by a residual bandwidth quantized value BWQ, where the residual bandwidth quantized value BWQ and the bandwidth BW have a certain mapping relationship, and the mapping relationship is shown in table 2.
TABLE 2
Residual bandwidth quantized value BWQ Residual bandwidth BW range
0 Unquantized
1 BW<a GE
2 a GE≤BW<b GE
3 c GE≤BW<d GE
4 e GE≤BW<f GE
5 g GE≤BW<h GE
... ...
A, b, c, d, e, f, g, h in table 2 represents the actual value of the bandwidth.
The residual bandwidth BW of the port may be calculated first, where bw=bandwidth x (1-bandwidth utilization), and then the corresponding BWQ is obtained from BW lookup table 2.
In some embodiments, as shown in fig. 3, the determining the bandwidth usage parameter of the link between the port receiving the first probe packet and the designated network device (i.e. step 12) includes:
step 121, determining a bandwidth usage parameter of a port receiving the first probe packet.
In this step, the bandwidth parameter of the port receiving the first probe packet may be directly measured.
Step 122, determining the bandwidth usage parameter of the link between the port and the designated network device according to the bandwidth usage parameter of the port and the bandwidth usage parameter in the first probe message.
In this step, when the bandwidth usage parameter is the bandwidth usage, a maximum value of the bandwidth usage of the port and the bandwidth usage in the first probe packet is determined, and the maximum value is used as the bandwidth usage parameter of the link between the port and the designated network device. And when the bandwidth use parameter is the residual bandwidth, determining the minimum value of the residual bandwidth of the port and the residual bandwidth in the first detection message, and taking the minimum value as the bandwidth use parameter of the link between the port and the appointed network equipment.
In some embodiments, as shown in fig. 4, the maintaining the bandwidth usage parameter table (i.e. step 13) according to the locally stored bandwidth usage parameter table, the bandwidth usage parameter of the link between the port and the designated network device, and the bandwidth usage parameter in the first probe packet and the identification of the designated network device includes:
Step 131, judging whether the identification of the network device sending the first detection message is the same as the identification of the next hop network device in the bandwidth usage parameter table, if so, executing step 132; otherwise, step 133 is performed.
In this step, if it is determined that the identifier of the network device sending the first detection packet is the same as the identifier of the next hop network device in the bandwidth usage parameter table, which indicates that the sending path of the first detection packet is the same as the sending path of the previous service packet recorded in the bandwidth usage parameter table, the path bandwidth usage parameter in the bandwidth usage parameter table is directly updated. If the identification of the network device sending the first detection message is different from the identification of the next hop network device in the bandwidth usage parameter table, which indicates that the sending path of the first detection message is different from the sending path of the previous service message recorded in the bandwidth usage parameter table, the bandwidth usage parameter of the link from the port to the designated network device and the path bandwidth usage parameter in the bandwidth usage parameter table need to be compared, and whether to update the bandwidth usage parameter table is determined according to the comparison result.
Step 132, updating the path bandwidth usage parameters in the bandwidth usage parameter table according to the bandwidth usage parameters of the link from the port to the designated network device.
In this step, the path bandwidth usage parameter in the bandwidth usage parameter table is directly updated to the bandwidth usage parameter of the link between the port and the specified network device.
And step 133, maintaining a bandwidth usage parameter table according to the comparison result of the bandwidth usage parameter of the link between the port and the appointed network device and the path bandwidth usage parameter in the bandwidth usage parameter table.
For the case where the bandwidth usage parameter is bandwidth utilization, the specific implementation of maintaining the bandwidth usage parameter table is described in detail below with respect to fig. 5. For the case where the bandwidth usage parameter is the remaining bandwidth, the specific implementation of maintaining the bandwidth usage parameter table is described in detail below with respect to fig. 6.
In some embodiments, when the bandwidth usage parameter is bandwidth usage, as shown in fig. 5, the maintaining the bandwidth usage parameter table according to the comparison result of the bandwidth usage parameter of the link between the port and the designated network device and the path bandwidth usage parameter in the bandwidth usage parameter table (i.e. step 133) includes:
Step 51, judging whether the bandwidth utilization ratio of the link from the port to the designated network device is smaller than the path bandwidth utilization ratio in the bandwidth utilization parameter table, if yes, executing step 52, otherwise, executing step 53.
In this step, if it is determined that the bandwidth utilization of the link between the port and the designated network device is smaller than the path bandwidth utilization in the bandwidth utilization parameter table, it is indicated that the transmission path of the first probe packet is different from the previous service packet transmission path recorded in the bandwidth utilization parameter table, and the bandwidth utilization of the transmission path of the first probe packet is smaller than the bandwidth utilization of the previous service packet transmission path recorded in the bandwidth utilization parameter table, that is, the bandwidth resource of the transmission path of the first probe packet is better, so that the optimal next hop needs to be replaced, and correspondingly, the information of the previous next hop in the bandwidth utilization parameter table is deleted, and the information of the optimal next hop selected this time is written.
If the bandwidth utilization ratio of the link between the port and the designated network device is judged to be greater than or equal to the path bandwidth utilization ratio in the bandwidth utilization parameter table, the fact that the transmission path of the first detection message is different from the transmission path of the previous service message recorded in the bandwidth utilization parameter table is indicated, and the bandwidth utilization ratio of the transmission path of the first detection message is greater than or equal to the bandwidth utilization ratio of the transmission path of the previous service message recorded in the bandwidth utilization parameter table, namely, the bandwidth resource of the transmission path of the first detection message is worse, therefore, the optimal next hop does not need to be replaced, and correspondingly, the bandwidth utilization parameter table does not need to be updated.
Step 52, updating the identification of the next hop network device in the bandwidth usage parameter table according to the identification of the network device sending the first detection message, and updating the path bandwidth usage in the bandwidth usage parameter table according to the bandwidth usage of the link between the port and the designated network device.
In this step, the identifier of the next-hop network device in the bandwidth usage parameter table is updated to the identifier of the network device that sends the first detection message, and the path bandwidth utilization rate in the bandwidth usage parameter table is updated to the bandwidth utilization rate of the link between the port and the designated network device, so as to implement updating of the optimal next-hop information.
Step 53, the bandwidth usage parameter table is not updated.
In some embodiments, when the bandwidth usage parameter is the remaining bandwidth, as shown in fig. 6, the maintaining the bandwidth usage parameter table according to the comparison result of the bandwidth usage parameter of the link between the port and the designated network device and the path bandwidth usage parameter in the bandwidth usage parameter table (i.e. step 133) includes:
Step 61, judging whether the residual bandwidth from the port to the link between the appointed network devices is larger than the path residual bandwidth in the bandwidth usage parameter table, if yes, executing step 62; otherwise, step 63 is performed.
In this step, if it is determined that the remaining bandwidth of the link between the port and the designated network device is greater than the path remaining bandwidth in the bandwidth usage parameter table, it is indicated that the transmission path of the first probe packet is different from the previous service packet transmission path recorded in the bandwidth usage parameter table, and the remaining bandwidth of the transmission path of the first probe packet is greater than the remaining bandwidth of the previous service packet transmission path recorded in the bandwidth usage parameter table, that is, the bandwidth resource of the transmission path of the first probe packet is better, so that the optimal next hop needs to be replaced, and correspondingly, the information of the original next hop in the bandwidth usage parameter table is deleted, and the information of the optimal next hop selected this time is written.
If the residual bandwidth of the link between the port and the designated network device is judged to be smaller than or equal to the path residual bandwidth in the bandwidth usage parameter table, the fact that the transmission path of the first detection message is different from the previous service message transmission path recorded in the bandwidth usage parameter table is indicated, and the residual bandwidth of the transmission path of the first detection message is smaller than or equal to the residual bandwidth of the previous service message transmission path recorded in the bandwidth usage parameter table, namely, the bandwidth resource of the transmission path of the first detection message is worse, therefore, the optimal next hop does not need to be replaced, and correspondingly, the bandwidth usage parameter table does not need to be updated.
And step 62, updating the identification of the next hop network equipment in the bandwidth use parameter table according to the identification of the network equipment sending the first detection message, and updating the path residual bandwidth in the bandwidth use parameter table according to the residual bandwidth of the link between the port and the appointed network equipment.
In this step, the identifier of the next hop network device in the bandwidth usage parameter table is updated to the identifier of the network device that sends the first detection message, and the path residual bandwidth in the bandwidth usage parameter table is updated to the residual bandwidth of the link between the port and the designated network device, so as to implement updating of the optimal next hop information.
Step 63, the bandwidth usage parameter table is not updated.
Further, in some embodiments, since there are multiple ECMP link groups or work-protection link groups in the network topology, the probe message needs to be delivered. As shown in fig. 7, after determining the bandwidth usage parameter of the link between the port receiving the first probe packet and the designated network device (i.e. step 12), the path selection method further includes:
In step 71, a second probe message is generated, the second probe message including an identification of the designated network device and a bandwidth usage parameter of a link between the port to the designated network device.
It should be noted that, the structure of the second detection message is the same as that of the first detection message.
In this step, for the case that the bandwidth usage parameter is the bandwidth usage, after updating the bandwidth usage parameter table (including the identifier of the next hop network device and the path bandwidth usage), a second probe packet is generated according to the identifier of the designated network device and the bandwidth usage of the link between the port and the designated network device.
In this step, for the case that the bandwidth usage parameter is the residual bandwidth, after updating the bandwidth usage parameter table (including the identifier of the next hop network device and the path residual bandwidth), a second probe packet is generated according to the identifier of the designated network device and the residual bandwidth of the link between the port and the designated network device.
Step 72, sending a second detection message to the preconfigured multicast group member.
In this step, the second probe packet is sent in the direction opposite to the traffic packet transmission direction, and the probe packet may be sent to the next ECMP link group or the work-protection link group.
It should be noted that, no matter whether the network device belongs to the ECMP link group or the work-protection link group, the network device that receives the first detection message generates and sends the second detection message, but the network device that belongs to the ECMP link group or the work-protection link group also needs to maintain the locally stored bandwidth usage parameter table, and the network device that does not belong to the ECMP link group or the work-protection link group does not have the problem of path selection, so that the locally storing and maintaining the bandwidth usage parameter table is not needed.
In some embodiments, when the network device is the last network device of the traffic path, the network device generates the first probe message. As shown in fig. 8, the path selection method further includes the steps of:
And 81, when the triggering condition is met, generating a third detection message, wherein the third detection message carries the bandwidth use parameter and the identifier of the network equipment.
The trigger condition is satisfied by receiving a configuration instruction sent by the user, that is, the user configures the tail node of the service path, and constructs the third detection message by using the tail node of the service path.
Step 82, sending a third detection message to the preconfigured multicast group member according to the preset period.
In this step, the last network device of the service path sends a third detection message to its multicast group member, where the detection message carries the bandwidth usage parameter and the identifier of the network device, and the structure of the third detection message is the same as that of the first detection message. It should be noted that, the user may set and adjust the sending period of the third detection message according to the need, that is, the sending period of the detection message is carried in the sent configuration instruction.
Because the network equipment for sending the detection message in the network is limited, the embodiment of the disclosure is only used for the service with high time delay sensitivity, so that the influence on the network is small.
In some embodiments, when the present network device belongs to the working-protection link group, the port that receives the first detection message includes a start port of the working path and a start port of the protection path, and the bandwidth usage parameter table is used to record information of the working path and information of the protection path, where the information includes start port information, a path bandwidth usage parameter, and an identifier of the next-hop network device.
The determining the bandwidth usage parameter of the link between the port receiving the first probe message and the designated network device (i.e. step 12) includes: and determining a bandwidth usage parameter of a link between the starting port of the working path for receiving the first detection message and the designated network equipment, and determining a bandwidth usage parameter of a link between the starting port of the protection path for receiving the first detection message and the designated network equipment. That is, the bandwidth usage parameters of the link between the start port of the working path and the start port of the protection path to the designated network device are determined, respectively.
As shown in fig. 9, when receiving the service message, after determining the working-protection path, forwarding the service message according to the bandwidth usage parameter table (i.e. step 14), including:
Step 141, judging whether the bandwidth usage parameter of the link between the initial port of the working path and the designated network device, the bandwidth usage parameter of the link between the initial port of the protection path and the designated network device and the preset threshold meet the preset condition, if yes, executing step 142, otherwise, ending the flow.
If the bandwidth usage parameter includes bandwidth usage, satisfying the preset condition includes: the bandwidth utilization ratio of the link between the starting port of the working path and the designated network equipment is greater than a preset threshold value, and the bandwidth utilization ratio of the link between the starting port of the protection path and the designated network equipment is smaller than the preset threshold value, at the moment, the working path is congested, bandwidth resources of the working path are fewer, and bandwidth resources of the protection path are more, so that a part of tasks for transmitting service data can be migrated from the working path to the protection path.
If the bandwidth usage parameter includes a remaining bandwidth, satisfying the preset condition includes: the residual bandwidth from the starting port of the working path to the link between the designated network devices is smaller than the preset threshold, and the residual bandwidth from the starting port of the protection path to the link between the designated network devices is larger than the preset threshold.
Step 142, when the service message is received, after determining the working-protection path, determining the split ratio according to the bandwidth usage parameter table.
In this step, the splitting ratio is determined according to a preset policy according to the bandwidth usage of the working path and the bandwidth usage of the protection path recorded in the bandwidth usage parameter table.
And step 143, sending service messages by using the working path and the protection path according to the split ratio.
It should be noted that, as time goes by, when the bandwidth utilization of the working path drops below a threshold value, or the remaining bandwidth of the working path rises above the threshold value, the subsequent service packet still selects to be transmitted on the working path.
Aiming at the service with high delay sensitivity, the embodiment of the disclosure provides a method for selecting a loose route in a scene of Prefix Segment, and a detection message is sent in a timing reverse direction (opposite to the transmission direction of the service message) through a tail node of a loose path Segment, wherein the detection message can carry a link bandwidth use parameter. And selecting an optimal next-hop node by the head node of the loose path segment according to the link bandwidth use parameter, so as to realize the selection of an optimal forwarding path and effectively avoid a congestion path.
In order to clearly illustrate the schemes of the embodiments of the present disclosure, the following describes the technical schemes of the embodiments of the present disclosure in detail in conjunction with different application scenarios.
Fig. 10a and 10b are path selection procedures when the bandwidth usage parameter is bandwidth usage. As shown in fig. 10a, all nodes in the network topology are SR nodes, the source node is node11, and the destination node is node22. The controller issues a segment list (segment-list) to the source node. And encapsulating the segment-list into a service message header at the source node, and transmitting the service message along the path shown by the arrow according to the segment-list. I.e., node11- > node1- > node >2- > node3. The path from node3 to node22 is loose, i.e. segment-list does not explicitly specify which path from node3 to reach destination node22, but the control plane of node3 calculates the path according to the cost value (cost) of the path as constraint condition, so as to calculate two ECMP equivalent paths: node3- > node4- > node22 and node3- > node7- > node22.
As shown in fig. 10b, since the service report Wen Duishi transmitted from node11 to node22 in this embodiment has high delay sensitivity, in order to be able to select one path with a small congestion level from two equivalent paths, node3 needs to know the congestion condition of the ECMP path. In order to obtain link congestion information, the user configures node22, and starts to send a probe message in reverse direction, where the probe message carries the identifier of the designated network device of the link (the designated network device is node 22) and bandwidth utilization information, and the probe message is reversely transferred to node3.
The user designates node22 as the starting node, and generates a third detection message, wherein the identification SID of the designated network equipment in the third detection message is 16022, and the bandwidth utilization ratio uteil is 0.
The port 3 of the node4 receives the third probe message, the bandwidth utilization rate of the port 3 monitored by the node4 is 80%, and compared with the bandwidth utilization rate carried in the third probe message, the bandwidth utilization rate of the port 3 of the node4 is greater than the bandwidth utilization rate in the third probe message, so that the bandwidth utilization rate of the link from the port 3 of the node4 to the node22 is 80%. And judging that the node4 does not belong to any ECMP link group or work-protection link group in the topology according to the information of the port 3 receiving the third detection message, and not needing to locally store and maintain a bandwidth use parameter table, namely, not storing the bandwidth utilization rate of the links from the port 3 to the node 22. The Node4 generates a second probe packet, and carries the identifier (16022) of the designated network device and the bandwidth utilization (80%) of the link from the port 3 to the Node22 in the second probe packet. The second probe message is sent to the multicast group members of node4, which are port 1 and port 2, i.e., the second probe message is sent to node3 and node5, respectively.
The condition of node7 is similar to that of node4, and when the port 3 receives the third probe message sent by node22, it is monitored that the bandwidth utilization of port 3 is 20% and greater than the bandwidth utilization (0%) in the third probe message, so that the link bandwidth utilization from port 3 to node22 of node7 is 20%. node7 is similar to node4 in that it is not necessary to store and maintain the bandwidth usage parameter table locally, i.e. it is not necessary to store the bandwidth usage of the link from port 3 to node 22. node7 generates a second probe packet, carries the identifier (16022) of the designated network device and the bandwidth utilization (20%) of the link from port 3 to node22 in the second probe packet, and sends the second probe packet to the multicast group members of node7, which are port 1 and port 2, that is, send the second probe packet to node3 and node6, respectively.
Node3 can receive probe messages originating from the destination node22 from both port 3 and port 4 (for node3, the received probe message is a first probe message, and the first probe message is a second probe message sent by node4 and node 7). Because the time that two paths of detection messages reach node3 is different, node3 monitors the bandwidth utilization rate of the port receiving the detection message once receiving the detection message. If the port 4 of the node3 receives the probe message (i.e. the node sending the probe message is the node 4), it is monitored that the bandwidth utilization of the port 4 is 40%, and therefore, the bandwidth utilization of the link from the port 4 to the node22 is 80%. Since the next hop node recorded in the bandwidth usage parameter table locally stored by node3 is also node4, the path bandwidth usage rate in the bandwidth usage parameter table is directly updated to 80%. The probing messages sent by Node3 to Node2 and Node5 carry Node22 identifier 16022, next hop Node identifier (Node 4 identifier), and link bandwidth utilization rate from port 4 to Node22 of 80%. Note that, the probe message sent by node3 is not shown in fig. 10 b.
When a probe message is received after the port 3 of the node3 (i.e., the node transmitting the probe message is the node 7), the bandwidth utilization of the port 3 is monitored to be 30%, and thus, the bandwidth utilization of the link from the port 3 to the node22 is monitored to be 30%. Since the next-hop node recorded in the bandwidth usage parameter table locally stored by node3 is node4 and the bandwidth usage (30%) of the link from port 3 to node22 is smaller than the path bandwidth usage (80%) in the bandwidth usage parameter table, the next-hop node identification in the bandwidth usage parameter table is updated to node7 and the path bandwidth usage in the bandwidth usage parameter table is updated to 30%. As shown in fig. 10b, the probing messages sent from node3 to node2 and node5 carry the identifier 16022 of node22, the next-hop node identifier (identifier of node 7), and the link bandwidth utilization of port 4 to node22 by 30%. It should be noted that, the time interval between the port 4 of the node3 and the receiving of the probe message by the port 3 is short, the bandwidth usage parameter table of the node3 is updated quickly, and the transmission of the service message is not affected.
When the service message reaches the node3, the node3 forwards the service message according to the bandwidth usage parameter table after determining the ECMP path, namely, the service message is sent to the next hop along the ECMP link with small bandwidth utilization rate, namely, the service message is sent along the path node3- > node7- > node22 through the port 3, thereby effectively avoiding congestion.
Fig. 11a and 11b are path selection procedures when the bandwidth usage parameter is the remaining bandwidth. As shown in fig. 11a, all nodes in the network topology are SR nodes, the source node is node11, and the destination node is node22. The controller issues a segment list (segment-list) to the source node. And encapsulating the segment-list into a service message header at the source node, and transmitting the service message along the path shown by the arrow according to the segment-list. I.e., node11- > node1- > node >2- > node3. The path from node3 to node22 is loose, i.e. segment-list does not explicitly specify which path from node3 to reach destination node22, but the control plane of node3 calculates the path according to the cost value (cost) of the path as constraint condition, so as to calculate two ECMP equivalent paths: node3- > node4- > node22 and node3- > node7- > node22.
As shown in fig. 11b, since the service report Wen Duishi transmitted from node11 to node22 in this embodiment has high delay sensitivity, in order to be able to select a path with larger available bandwidth from two equivalent paths, node3 needs to know the remaining bandwidth of the ECMP path. In order to obtain the link residual bandwidth information, the user configures node22, and starts to send a probe message reversely, where the probe message carries the identifier of the designated network device of the link (the designated network device is node 22) and the residual bandwidth information, and reversely transmits the probe message to node3.
The user designates node22 as the starting node, and generates a third probe message, wherein the third probe message designates the identification SID of the network device as 16022, and the residual bandwidth BWQ as 0. Note that a BWQ of 0 represents that the bandwidth is not quantized.
The port 3 of the node4 receives the third probe message, and the node4 monitors that the residual bandwidth of the port 3 is 1, and compared with the residual bandwidth carried in the third probe message, the residual bandwidth in the third probe message is not quantized, so that the residual bandwidth of the link from the port 3 of the node4 to the node22 takes the value 1 of the residual bandwidth of the port 3. And judging that the node4 does not belong to any ECMP link group or work-protection link group in the topology according to the information of the port 3 receiving the third detection message, and not needing to locally store and maintain a bandwidth use parameter table, namely, not storing the residual bandwidth of the links from the port 3 to the node 22. The Node4 generates a second probe packet, and carries the identifier of the designated network device (sid=16022) and the residual bandwidth of the link from the port 3 to the Node22 (bwq=1) in the second probe packet. The second probe message is sent from the multicast group member of node4, which is port 1 and port 2, to node3 and node5, respectively.
The case of node7 is similar to that of node4, and port 3 receives the third probe message sent by node22, and monitors that the residual bandwidth of port 3 is 4 and the link residual bandwidth from port 3 to node22 of node7 is 4.node7 is similar to node4 in that it is not necessary to store and maintain the bandwidth usage parameter table locally, i.e. it is not necessary to store the remaining bandwidth of the link from port 3 to node 22. node7 generates a second probe message, carries the identity of the designated network device (sid=16022) and the remaining bandwidth of the link from port 3 to node22 (bwq=4) in the second probe message, and sends the second probe message to node3 and node6 through its multicast group members port 1 and port 2, respectively.
Node3 can receive probe messages originating from the destination node22 from both port 3 and port 4 (for node3, the received probe message is a first probe message, and the first probe message is a second probe message sent by node4 and node 7). Because the time that two paths of detection messages reach node3 is different, node3 monitors the residual bandwidth of the port receiving the detection message once receiving the detection message. If the port 4 of the node3 receives the probe packet (i.e. the node sending the probe packet is the node 4), it is monitored that the residual bandwidth of the port 4 is 3, and the residual bandwidth in the received probe packet is 1, so that the residual bandwidth of the link from the port 4 to the node22 is 1. Since the next hop node recorded in the bandwidth usage parameter table locally stored in node3 is also node4, the path remaining bandwidth in the bandwidth usage parameter table is directly updated to 1. The probe messages sent by Node3 to Node2 and Node5 carry Node22 identifier 16022, next hop Node identifier (Node 4 identifier), and link residual bandwidth 1 from port 4 to Node 22. Note that, the probe message sent by node3 is not shown in fig. 10 b.
When a probe packet is received after port 3 of node3 (i.e., the node sending the probe packet is node 7), it is monitored that the residual bandwidth of port 3 is 6, and the residual bandwidth in the probe packet received by port 3 is 4, so that the residual bandwidth of the link from port 3 to node22 is 4. Since the next-hop node recorded in the bandwidth usage parameter table locally stored by node3 is node4 and the remaining bandwidth (bwq=4) of the link from port 3 to node22 is greater than the path remaining bandwidth (1) in the bandwidth usage parameter table, the next-hop node identification in the bandwidth usage parameter table is updated to node7 and the path remaining bandwidth in the bandwidth usage parameter table is updated to 4. As shown in fig. 10b, the probing messages sent by node3 to node2 and node5 carry the identity 16022 of node22, the next hop node identity (identity of node 7), and the link bandwidth 4 remaining from port 4 to node 22.
When the service message reaches the node3, the node3 forwards the service message according to the bandwidth usage parameter table after determining the ECMP path, namely, the service message is sent to the next hop along the ECMP link with the large residual bandwidth, namely, the service message is sent along the path node3- > node7- > node22 through the port 3, thereby effectively avoiding the occurrence of congestion.
Fig. 12a and 12b are path selection processes when a working path and a protection path exist.
As shown in fig. 12a, all nodes in the network topology are SR nodes, the source node is node11, and the destination node is node22. The controller issues a segment list (segment-list) to the source node. And encapsulating the segment-list into a service message header at the source node, and transmitting the service message along the path shown by the arrow according to the segment-list. I.e., node11- > node1- > node >2- > node3. While the path from node3 to node22 is loose, i.e., segment-list does not explicitly specify which way from node3 to reach the destination node22. To better guarantee the service message transmission, a working path and a protection path are allocated in the topology. The working path calculated by the control plane of Node3 according to the cost is: node3- > node4- > node22, the protection path is: node3- > node7- > node22. In the scenario of working path+protection path in this embodiment, under the condition of not changing control plane algorithm, the usage condition of link bandwidth is reported back at regular time by using the detection message, so that the node in the link can determine the congestion condition of the subsequent link, and can be used for deciding which path of working and protection path is more suitable for transmitting service message.
In this scenario, a congestion threshold (i.e., threshold) needs to be set, which in this embodiment is set to 90%. If the congestion condition of the working path reaches the threshold value and the congestion condition of the protection path does not reach the threshold value, a part of business is switched from the working path to the protection path; if the congestion conditions of both the working and protection paths exceed the threshold value, the paths from node3 to node22 need to be recalculated to avoid the congested paths.
As shown in fig. 12b, the user designates the node22 as the starting node, and the user configures the node22 to trigger the node22 to actively send the probe message in the reverse direction. The transmission method of the detection message at node4 and node7 is the same as the foregoing description, and in this embodiment, the description is focused on the case of node 3. In this embodiment, the bandwidth usage parameter is taken as an example of bandwidth usage, and it should be noted that the case where the bandwidth usage parameter is the remaining bandwidth is also applicable to the working path+protection path scenario of this embodiment.
The bandwidth usage parameter table needs to record the bandwidth usage data of the two paths of the working path and the protection path. If the bandwidth utilization of the working path and the protection path is 10% when the service message starts to be sent, after the service message is transmitted for a period of time, node3 monitors that port 4 receives the detection message, and the bandwidth utilization of the link from port 4 to node22 is 90%. The node3 judges that the port 4 has a corresponding working-protection link group, namely, the bandwidth usage parameter table needs to be updated. And the node3 updates the path bandwidth utilization rate corresponding to the initial port 4 of the working path to 90% in the bandwidth utilization parameter table, the initial port of the working path is the port 4 unchanged, and the next hop node is the node4 unchanged. The information of the protection path in the bandwidth usage parameter table is unchanged, namely the initial port of the protection path is port 3, the corresponding path bandwidth utilization rate is 10%, and the next hop node is node3.
Similarly, after Node3 monitors that port 3 receives the detection message, the bandwidth utilization ratio of the link from port 3 to Node 22 is 30%, and Node3 judges that port 3 has its corresponding working-protection link group, i.e. the bandwidth usage parameter table needs to be updated. And the node3 updates the path bandwidth utilization rate corresponding to the port 3 as the initial port of the protection path in the bandwidth utilization parameter table to 30%, the port 3 as the initial port of the protection path is unchanged, and the next hop node is still unchanged as the node 7. The information of the working path in the bandwidth usage parameter table is unchanged, namely the initial port of the working path is port 4, the corresponding path bandwidth utilization rate is 90%, and the next hop node is node3.
Since the link bandwidth utilization of port 4 to node22 of node3 is greater than the congestion threshold, triggering node3 will enable the protection path to share a portion of the working path for traffic messaging. As shown in fig. 12b, when the service packet arrives at node3, after determining the working-protection path, node3 determines that the working path is congested, and branches the service packet according to a policy formulated by a user, a part of the service packet is sent to the next hop along a protection link with low bandwidth utilization (i.e. is sent to the tail node along the path node3- > node7- > node22 via the port 3), and a part of the service packet is still sent on the working path (i.e. is sent to the tail node along the path node3- > node4- > node22 via the port 4), thereby effectively reducing the congestion of the working path. Over time, when the working path bandwidth utilization drops below the congestion threshold, the subsequent messages remain selected for transmission on the working path.
In this embodiment, for the case of path congestion, the scheme can efficiently use the working and protection paths, and the protection paths share the service pressure of the working path, thereby alleviating the congestion of the working path.
Based on the same technical concept, the embodiment of the disclosure also provides a path selection device, which can be implemented in a control plane or by hardware. As shown in fig. 10, the path selecting means includes: a receiving module 101, an obtaining module 102, a determining module 103, an entry maintenance module 104 and a service processing module 105.
The receiving module 101 is configured to receive a first detection message and receive a service message.
The obtaining module 102 is configured to obtain the bandwidth usage parameter and the identifier of the designated network device carried in the first probe packet, where the designated network device is the last network device in the service path.
The determining module 103 is configured to determine a bandwidth usage parameter of a link between a port receiving the first detection packet and the specified network device.
The table entry maintenance module 104 is configured to, when the present network device belongs to an ECMP link group or a work-protection link group corresponding to the identifier of the specified network device, maintain the bandwidth usage parameter table according to the bandwidth usage parameter of the port, the bandwidth usage parameter in the first probe packet, the identifier of the specified network device, and a locally stored bandwidth usage parameter table; the bandwidth usage parameter table includes a specified network device identification, a bandwidth usage parameter, and an identification of a next hop network device.
The service processing module 105 is configured to, when the receiving module receives a service packet, forward the service packet according to the bandwidth usage parameter table after determining an ECMP path or a work-protection path.
In some embodiments, the entry maintenance module 104 is configured to update, when the identifier of the network device sending the first probe packet is the same as the identifier of the next-hop network device in the bandwidth usage parameter table, the path bandwidth usage parameter in the bandwidth usage parameter table according to the bandwidth usage parameter of the link between the port and the specified network device; when the identification of the network device sending the first detection message is different from the identification of the next hop network device in the bandwidth usage parameter table, maintaining the bandwidth usage parameter table according to the comparison result of the bandwidth usage parameter of the link between the port and the designated network device and the path bandwidth usage parameter in the bandwidth usage parameter table.
In some embodiments, the determining module 103 is configured to determine a bandwidth usage parameter of a port that receives the first probe packet; and determining the bandwidth usage parameter of the link between the port and the appointed network equipment according to the bandwidth usage parameter of the port and the bandwidth usage parameter in the first detection message.
In some embodiments, the bandwidth usage parameter includes a bandwidth usage rate, and the determining module 103 is configured to determine a maximum value of the bandwidth usage rate of the port and the bandwidth usage rate in the first probe packet.
In some embodiments, the entry maintenance module 104 is configured to update, when the bandwidth usage of the link between the port and the specified network device is less than the path bandwidth usage in the bandwidth usage parameter table, an identifier of a next-hop network device in the bandwidth usage parameter table according to an identifier of a network device that sends the first detection packet, and update the path bandwidth usage in the bandwidth usage parameter table according to the bandwidth usage of the link between the port and the specified network device; and when the bandwidth utilization rate of the link between the port and the appointed network equipment is greater than or equal to the path bandwidth utilization rate in the bandwidth utilization parameter table, not updating the bandwidth utilization parameter table.
In some embodiments, the bandwidth usage parameter includes a residual bandwidth, and the determining module 103 is configured to determine a minimum value of the residual bandwidth of the port and the residual bandwidth in the first probe packet.
In some embodiments, the entry maintenance module 104 is configured to update, when the remaining bandwidth of the link between the port and the specified network device is greater than the remaining bandwidth of the path in the bandwidth usage parameter table, an identifier of a next-hop network device in the bandwidth usage parameter table according to an identifier of a network device that sends the first detection packet, and update the remaining bandwidth of the path in the bandwidth usage parameter table according to the remaining bandwidth of the link between the port and the specified network device; and when the residual bandwidth of the link between the port and the appointed network equipment is smaller than or equal to the path residual bandwidth in the bandwidth use parameter table, not updating the bandwidth use parameter table.
In some embodiments, the path selection apparatus further includes a first probe packet generation module and a first transmission module, where the first probe packet generation module is configured to generate a second probe packet, where the second probe packet includes an identifier of the specified network device and a bandwidth usage parameter of a link between the port and the specified network device.
The first sending module is configured to send the second detection message to a preconfigured multicast group member.
In some embodiments, the path selection device further includes a second detection message generating module and a second sending module, where the second detection message generating module is configured to generate a third detection message when the trigger condition is met, where the third detection message carries a bandwidth usage parameter and an identifier of the network device.
The second sending module is configured to send the third detection message to a preconfigured multicast group member according to a preset period.
In some embodiments, when the present network device belongs to at least one working-protection link group, the ports include a start port of a working path and a start port of a protection path, and the bandwidth usage parameter table is used to record information of the working path and information of the protection path, where the information includes start port information, a path bandwidth usage parameter, and an identification of a next-hop network device.
The service processing module 105 is configured to determine a splitting ratio according to the bandwidth usage parameter table after receiving a service packet and determining a working-protection path if the bandwidth usage parameter of a link between the start port of the working path and the specified network device, the bandwidth usage parameter of a link between the start port of the protection path and the specified network device, and a preset threshold meet preset conditions, and send the service packet by using the working path and the protection path according to the splitting ratio.
The disclosed embodiments also provide a computer device comprising: one or more processors and a storage device; wherein the storage device stores one or more programs, which when executed by the one or more processors, cause the one or more processors to implement the path selection method provided in the foregoing embodiments.
The disclosed embodiments also provide a computer readable medium having a computer program stored thereon, wherein the computer program, when executed, implements the path selection method as provided by the foregoing embodiments.
Those of ordinary skill in the art will appreciate that all or some of the steps of the methods, functional modules/units in the apparatus disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between the functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed cooperatively by several physical components. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
Example embodiments have been disclosed herein, and although specific terms are employed, they are used and should be interpreted in a generic and descriptive sense only and not for purpose of limitation. In some instances, it will be apparent to one skilled in the art that features, characteristics, and/or elements described in connection with a particular embodiment may be used alone or in combination with other embodiments unless explicitly stated otherwise. It will therefore be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the scope of the present invention as set forth in the following claims.

Claims (13)

1. A method of path selection, the method comprising:
Receiving a first detection message, and acquiring a bandwidth use parameter carried in the first detection message and an identifier of a designated network device, wherein the designated network device is the last network device in a service path;
determining a bandwidth usage parameter of a link between a port receiving the first detection message and the designated network equipment;
If the network device belongs to an equivalent routing ECMP link group or a work-protection link group corresponding to the identifier of the specified network device, maintaining the bandwidth usage parameter table according to a locally stored bandwidth usage parameter table, the bandwidth usage parameter of the link between the port and the specified network device, the bandwidth usage parameter in the first probe message and the identifier of the specified network device; the bandwidth use parameter table comprises a designated network device identifier, a path bandwidth use parameter and a next hop network device identifier; if the network equipment does not belong to the equivalent routing ECMP link group or the working-protection link group corresponding to the identification of the appointed network equipment, the bandwidth use parameter table is not maintained locally;
and when receiving the service message, forwarding the service message according to the bandwidth use parameter table after determining the ECMP path or the work-protection path.
2. The method of claim 1, wherein the maintaining the bandwidth usage parameter table based on a locally stored bandwidth usage parameter table, bandwidth usage parameters of a link between the port and the designated network device, and bandwidth usage parameters in the first probe message and an identification of the designated network device, comprises:
If the identification of the network device sending the first detection message is the same as the identification of the next hop network device in the bandwidth usage parameter table, updating the path bandwidth usage parameter in the bandwidth usage parameter table according to the bandwidth usage parameter of the link between the port and the designated network device;
if the identifier of the network device sending the first detection message is different from the identifier of the next hop network device in the bandwidth usage parameter table, maintaining the bandwidth usage parameter table according to the comparison result of the bandwidth usage parameter of the link between the port and the designated network device and the path bandwidth usage parameter in the bandwidth usage parameter table.
3. The method of claim 2, wherein the determining a bandwidth usage parameter of a link between a port receiving the first probe message to the designated network device comprises:
Determining a bandwidth usage parameter of a port receiving the first detection message;
And determining the bandwidth usage parameter of the link between the port and the appointed network equipment according to the bandwidth usage parameter of the port and the bandwidth usage parameter in the first detection message.
4. The method of claim 3, wherein the bandwidth usage parameter comprises a bandwidth usage rate, and the determining the bandwidth usage parameter for the link between the port to the designated network device based on the bandwidth usage parameter for the port and the bandwidth usage parameter in the first probe packet comprises: and determining the maximum value of the bandwidth utilization rate of the port and the bandwidth utilization rate in the first detection message.
5. The method of claim 4, wherein the maintaining the bandwidth usage parameter table according to a comparison of the bandwidth usage parameter of the link between the port and the designated network device and the path bandwidth usage parameter in the bandwidth usage parameter table comprises:
If the bandwidth utilization rate of the link between the port and the appointed network equipment is smaller than the path bandwidth utilization rate in the bandwidth utilization parameter table, updating the identification of the next hop network equipment in the bandwidth utilization parameter table according to the identification of the network equipment sending the first detection message, and updating the path bandwidth utilization rate in the bandwidth utilization parameter table according to the bandwidth utilization rate of the link between the port and the appointed network equipment;
and if the bandwidth utilization rate of the link between the port and the appointed network equipment is greater than or equal to the path bandwidth utilization rate in the bandwidth utilization parameter table, not updating the bandwidth utilization parameter table.
6. The method of claim 3, wherein the bandwidth usage parameter comprises a remaining bandwidth, and wherein the determining the bandwidth usage parameter for the link between the port to the designated network device based on the bandwidth usage parameter for the port and the bandwidth usage parameter in the first probe message comprises: and determining the minimum value of the residual bandwidth of the port and the residual bandwidth in the first detection message.
7. The method of claim 6, wherein the maintaining the bandwidth usage parameter table according to a comparison of the bandwidth usage parameter of the link between the port and the designated network device and the path bandwidth usage parameter in the bandwidth usage parameter table comprises:
If the residual bandwidth from the port to the link between the designated network devices is greater than the path residual bandwidth in the bandwidth usage parameter table, updating the identification of the next hop network device in the bandwidth usage parameter table according to the identification of the network device sending the first detection message, and updating the path residual bandwidth in the bandwidth usage parameter table according to the residual bandwidth from the port to the link between the designated network devices;
And if the residual bandwidth of the link between the port and the appointed network equipment is smaller than or equal to the path residual bandwidth in the bandwidth use parameter table, not updating the bandwidth use parameter table.
8. The method of claim 1, wherein after determining the bandwidth usage parameter of the link between the port receiving the first probe message to the designated network device, further comprising:
Generating a second detection message, wherein the second detection message comprises the identification of the appointed network equipment and the bandwidth use parameter of a link between the port and the appointed network equipment;
And sending the second detection message to a preconfigured multicast group member.
9. The method of claim 1, further comprising:
When the triggering condition is met, generating a third detection message, wherein the third detection message carries a bandwidth use parameter and an identifier of the network equipment;
and sending the third detection message to a preset multicast group member according to a preset period.
10. The method of claim 1, wherein when the present network device belongs to at least one work-protection link group, the ports include a start port of a work path and a start port of a protection path, the bandwidth usage parameter table is used to record information of the work path and information of the protection path, and the information includes start port information, a path bandwidth usage parameter, and an identification of a next hop network device;
when receiving a service message, after determining a working-protection path, forwarding the service message according to the bandwidth usage parameter table, including:
If the bandwidth usage parameter of the link between the starting port of the working path and the designated network device, the bandwidth usage parameter of the link between the starting port of the protection path and the designated network device and the preset threshold meet the preset condition, after receiving the service message and determining the working-protection path, determining a split ratio according to the bandwidth usage parameter table, and respectively utilizing the working path and the protection path to send the service message according to the split ratio.
11. A path selection device, comprising: the system comprises a receiving module, an acquisition module, a determination module, a table item maintenance module and a service processing module;
The receiving module is used for receiving the first detection message and receiving the service message;
The acquisition module is configured to acquire a bandwidth usage parameter carried in the first probe packet and an identifier of a designated network device, where the designated network device is a last network device in a service path;
The determining module is used for determining a bandwidth usage parameter of a link between a port receiving the first detection message and the designated network equipment;
The table entry maintenance module is configured to maintain, when the present network device belongs to an ECMP link group or a work-protection link group corresponding to the identifier of the specified network device, a bandwidth usage parameter table according to the bandwidth usage parameter of the port, the bandwidth usage parameter in the first probe packet, the identifier of the specified network device, and a locally stored bandwidth usage parameter table; the bandwidth use parameter table comprises a designated network device identifier, a bandwidth use parameter and a next hop network device identifier; if the network equipment does not belong to the equivalent routing ECMP link group or the working-protection link group corresponding to the identification of the appointed network equipment, the bandwidth use parameter table is not maintained locally;
and the service processing module is used for forwarding the service message according to the bandwidth use parameter table after determining the ECMP path or the work-protection path when the receiving module receives the service message.
12. A computer device, comprising:
One or more processors;
A storage device having one or more programs stored thereon;
The one or more programs, when executed by the one or more processors, cause the one or more processors to implement the path selection method of any of claims 1-10.
13. A computer readable medium having stored thereon a computer program, wherein the program when executed implements the path selection method according to any of claims 1-10.
CN201911410896.XA 2019-12-31 2019-12-31 Path selection method, path selection device, computer equipment and computer readable medium Active CN113132225B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911410896.XA CN113132225B (en) 2019-12-31 Path selection method, path selection device, computer equipment and computer readable medium
PCT/CN2020/141636 WO2021136430A1 (en) 2019-12-31 2020-12-30 Path selection method and apparatus, computer device, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911410896.XA CN113132225B (en) 2019-12-31 Path selection method, path selection device, computer equipment and computer readable medium

Publications (2)

Publication Number Publication Date
CN113132225A CN113132225A (en) 2021-07-16
CN113132225B true CN113132225B (en) 2024-04-26

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102893558A (en) * 2010-02-23 2013-01-23 Lg电子株式会社 A method and an apparatus for session routing in home network system
CN106911584A (en) * 2015-12-23 2017-06-30 华为技术有限公司 It is a kind of based on leaf-flow load sharing method of ridge topological structure, apparatus and system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102893558A (en) * 2010-02-23 2013-01-23 Lg电子株式会社 A method and an apparatus for session routing in home network system
CN106911584A (en) * 2015-12-23 2017-06-30 华为技术有限公司 It is a kind of based on leaf-flow load sharing method of ridge topological structure, apparatus and system

Similar Documents

Publication Publication Date Title
EP3817446B1 (en) Method and apparatus for creating network slices
EP3414874B1 (en) Border gateway protocol for communication among software defined network controllers
US8817798B2 (en) Constraining topology size and recursively calculating routes in large networks
US9270598B1 (en) Congestion control using congestion prefix information in a named data networking environment
CN109691037B (en) Method and system for data center load balancing
US11190439B2 (en) Data stream transmission
CN103348630B (en) For controlling the method selected in multicast network
CN110890994B (en) Method, device and system for determining message forwarding path
US10581723B2 (en) PCEP extension for PCECC support of distributed computing, multiple services, and inter-domain routing
WO2021136430A1 (en) Path selection method and apparatus, computer device, and computer readable medium
CN101237399A (en) Method, system and device for getting label switching path
CN114448877B (en) Path switching method, device and system
CN108134986B (en) Message transmission method and device
CN113615132A (en) Fast flooding topology protection
CN113132225B (en) Path selection method, path selection device, computer equipment and computer readable medium
US20230379266A1 (en) Path determination method, network element, and computer-readable storage medium
EP4250669A1 (en) Packet forwarding method, electronic device, and storage medium
US10992573B2 (en) Multi-layer LSP control method and apparatus
CN114531392A (en) Multicast service design method, server and storage medium
EP3026850A1 (en) Method for processing multi-zone path computation failure and path computation element (pce)
CN114079640A (en) Data processing method, user plane function and device
WO2023051049A1 (en) Network architecture, network communication method, electronic device, and storage medium
US20230291681A1 (en) Data obtaining method and apparatus, device, and storage medium
CN116170369A (en) Multicast service processing method, device and storage medium
US20150372900A1 (en) Communication system, control apparatus, communication control method, and program

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant