Data transmission method and apparatus, node, storage medium, and computer program product

By including a minimum available bandwidth field in IPv6 packets for proactive performance measurement, the packet loss problem caused by node congestion in the SRv6 TE policy is resolved, enabling timely adjustment of forwarding paths and efficient data transmission.

CN118827526BActive Publication Date: 2026-04-17CHINA MOBILE COMM LTD RES INST +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA MOBILE COMM LTD RES INST
Filing Date
2024-03-28
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In Segment Routing (SRv6) Traffic Engineering (TE) strategies, when node congestion occurs, existing technologies cannot adjust forwarding paths in a timely manner, resulting in packet loss and limited transmission performance.

Method used

IPv6 packets include a field indicating the minimum available bandwidth for the forwarding path. Proactive performance measurements are performed via SRv6 forwarding, and bandwidth information is updated based on actual network conditions to enable timely adjustments to the SRv6 TE policy.

Benefits of technology

By adjusting the forwarding path in real time, data transmission efficiency is ensured, packet loss is avoided, and network performance is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118827526B_ABST
    Figure CN118827526B_ABST
Patent Text Reader

Abstract

This application discloses a data transmission method, apparatus, node, storage medium, and computer program product. The method includes: a first node sending a first IPv6 data packet; wherein the first IPv6 data packet includes a first field; the first field is used to indicate the minimum available bandwidth of a first forwarding path; the first forwarding path represents the main path in an SRv6 policy; and the first node is the head node of the first forwarding path.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network technology, and more particularly to a data transmission method, apparatus, node, storage medium, and computer program product. Background Technology

[0002] The candidate path (CP) of the segment routing (SRv6) traffic engineering (TE) policy based on Internet Protocol Version 6 (IPv6) can be represented as one or a set of segment lists (SL). In related technologies, when some nodes in the segment list become congested, it can easily lead to packet loss. Summary of the Invention

[0003] To address the related technical issues, embodiments of this application provide a data transmission method, apparatus, node, storage medium, and computer program product.

[0004] The technical solution of this application embodiment is implemented as follows:

[0005] This application provides a data transmission method applied to a first node, including:

[0006] Send the first IPv6 packet; among which,

[0007] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the first node is the head node of the first forwarding path.

[0008] In the above scheme, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 data packet.

[0009] In the above scheme, the first IPv6 data packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 data packet.

[0010] In the above scheme, the first field is encapsulated in the hop-by-hop options header or destination options header of the IPv6 extension header.

[0011] In the above scheme, before sending the first IPv6 data packet, the method further includes:

[0012] Write the available bandwidth of the first node into the first field.

[0013] The method in the above scheme further includes:

[0014] Receive first information; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the third node represents the exit node of the first forwarding path;

[0015] Based on the first information, determine whether to switch the primary path in the SRv6 strategy.

[0016] In the above scheme, determining whether to switch the primary path in the SRv6 strategy based on the first information includes:

[0017] If the minimum available bandwidth of the first forwarding path represented by the first information is less than the set bandwidth, or if the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic, the primary path in the SRv6 policy shall be switched.

[0018] In the above scheme, switching the primary path in the SRv6 strategy includes:

[0019] If a second forwarding path exists in the SRv6 policy, the primary path of the SRv6 policy is switched from the first forwarding path to the second forwarding path; wherein the minimum available bandwidth of the second forwarding path is greater than the set bandwidth or the bandwidth required by the service traffic; and / or,

[0020] If no second forwarding path exists in the SRv6 policy, a first request is sent to the controller; the first request is used to request forwarding path re-optimization.

[0021] The method in the above scheme further includes:

[0022] Receive the first instruction sent by the controller; wherein,

[0023] The first instruction is used to indicate the main path for switching the SRv6 policy.

[0024] This application also provides a data transmission method applied to a second node, including:

[0025] Receive the first IPv6 packet: where,

[0026] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the second node is an intermediate node of the first forwarding path.

[0027] In the above scheme, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 data packet.

[0028] In the above scheme, the first IPv6 data packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 data packet.

[0029] In the above scheme, the first field is encapsulated in the hop-by-hop options header or destination options header of the IPv6 extension header.

[0030] The method in the above scheme further includes:

[0031] Forward the first IPv6 packet; wherein,

[0032] Before forwarding the first IPv6 packet, the method further includes:

[0033] The minimum available bandwidth indicated by the first field is compared with the available bandwidth of the second node to obtain the comparison result;

[0034] If the comparison result indicates that the available bandwidth of the second node is less than the minimum available bandwidth indicated by the first field, the available bandwidth of the second node is written into the first field.

[0035] This application also provides a data transmission method applied to a third node, including:

[0036] Receive the first IPv6 packet; among which,

[0037] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the third node is the egress node of the first forwarding path.

[0038] In the above scheme, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 data packet.

[0039] In the above scheme, the first IPv6 data packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 data packet.

[0040] In the above scheme, the first field is encapsulated in the hop-by-hop options header or destination options header of the IPv6 extension header.

[0041] The method in the above scheme further includes:

[0042] Send the first message; among which,

[0043] If the available bandwidth of the third node is less than the minimum available bandwidth indicated by the first field, the first information is the available bandwidth of the third node; if the available bandwidth of the third node is greater than or equal to the minimum available bandwidth indicated by the first field, the first information is the minimum available bandwidth indicated by the first field.

[0044] In the above scheme, sending the first information includes:

[0045] Send the first information to the controller; and / or,

[0046] Send a second IPv6 data packet to the first node; the second IPv6 data packet carries the first information.

[0047] In the above scheme, the second IPv6 packet is characterized as an active performance measurement response message of one or more of the following protocols:

[0048] STAMP, TWAMP, TWAMP Light, Ping, and Traceroute.

[0049] This application also provides a data transmission device, including:

[0050] The first sending unit is used to send the first IPv6 data packet; wherein...

[0051] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the first node is the head node of the first forwarding path.

[0052] This application also provides a data transmission device, including:

[0053] The first receiving unit is used to receive the first IPv6 data packet; wherein...

[0054] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the second node is an intermediate node of the first forwarding path.

[0055] This application also provides a data transmission device, including:

[0056] The second receiving unit is used to receive the first IPv6 data packet; wherein...

[0057] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the third node is the egress node of the first forwarding path.

[0058] This application embodiment also provides a first node, including: a first processor and a first communication interface; wherein,

[0059] The first communication interface is used to send a first IPv6 data packet; wherein,

[0060] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the first node is the head node of the first forwarding path.

[0061] This application embodiment also provides a second node, including: a second processor and a second communication interface; wherein,

[0062] The second communication interface is used to receive the first IPv6 data packet: wherein,

[0063] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the second node is an intermediate node of the first forwarding path.

[0064] This application embodiment also provides a third node, including: a third processor and a third communication interface; wherein,

[0065] The third communication interface is used to receive the first IPv6 data packet: where,

[0066] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the third node is the egress node of the first forwarding path.

[0067] This application also provides a node, including: a processor and a memory for storing computer programs capable of running on the processor.

[0068] When the processor runs the computer program, it executes the steps of any of the data transmission methods on the first node side, or executes the steps of any of the data transmission methods on the second node side, or executes the steps of any of the data transmission methods on the third node side.

[0069] This application embodiment also provides a storage medium storing a computer program thereon, wherein when the computer program is executed by a processor, it implements the steps of any of the above-described data transmission methods on the first node side, or implements the steps of any of the above-described data transmission methods on the second node side, or implements the steps of any of the above-described data transmission methods on the third node side.

[0070] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described first node-side data transmission methods, or implements the steps of any of the above-described second node-side data transmission methods, or implements the steps of any of the above-described third node-side data transmission methods.

[0071] The data transmission method, apparatus, node, storage medium, and computer program product provided in this application embodiment include a first field in the IPv6 data packets transmitted along the forwarding path. This first field is used to indicate the minimum available bandwidth of the forwarding path. Based on the setting of the first field in the above scheme, each node on the forwarding path can update the minimum available bandwidth indicated in the first field according to the actual network conditions of the forwarding path when transmitting IPv6 data packets. On this basis, the network performance of the forwarding path can be measured, thereby realizing the timely adjustment of the SRv6 TE policy and ensuring data transmission efficiency. Attached Figure Description

[0072] Figure 1 This is an example diagram of a TLV field format according to an embodiment of this application;

[0073] Figure 2 This is an example diagram of the IPv6 extension header encapsulation in an embodiment of this application;

[0074] Figure 3 This is a schematic flowchart of a data transmission method according to an embodiment of this application;

[0075] Figure 4 This is a schematic diagram of another data transmission method according to an embodiment of this application;

[0076] Figure 5 This is a schematic flowchart of the third data transmission method according to an embodiment of this application;

[0077] Figure 6 This is an example diagram of the TLV field format in the STAMP reflection data packet according to an embodiment of this application;

[0078] Figure 7 This is a schematic diagram of a data transmission device according to an embodiment of this application;

[0079] Figure 8 This is a schematic diagram of another data transmission device structure according to an embodiment of this application;

[0080] Figure 9 This is a schematic diagram of the third type of data transmission device according to an embodiment of this application;

[0081] Figure 10 This is a schematic diagram of the first node structure in an embodiment of this application;

[0082] Figure 11 This is a schematic diagram of the second node structure in an embodiment of this application;

[0083] Figure 12 This is a schematic diagram of the third node structure in an embodiment of this application. Detailed Implementation

[0084] SRv6 is a protocol for forwarding IPv6 packets over a network. It works by inserting a Segment Routing Header (SRH) into the IPv6 packet and pushing an explicit IPv6 address stack onto the SRH. Hop-by-hop forwarding is accomplished by continuously updating the destination address and offset address through intermediate nodes.

[0085] The candidate path (CP) of the SRv6 TE policy can be represented as one or a group of segment lists (SLs). Because the services carried by each node in the segment list and the forwarding capabilities of each node differ, when network traffic is high, some nodes may become congested, causing the actual maximum forwarding traffic of the forwarding path to be less than expected. In this case, if the head node of the forwarding path does not adjust the forwarding path in time but continues to forward IPv6 packets according to the initially set bandwidth, packet loss exceeding the actual bandwidth will inevitably occur. However, in related technologies, even if other available candidate paths exist in the SRv6 policy, the forwarding path is not switched according to service traffic requirements, resulting in limited transmission performance.

[0086] Based on this, in various embodiments of this application, the IPv6 data packets transmitted along the forwarding path include a first field, which is used to indicate the minimum available bandwidth of the forwarding path. Based on the setting of the first field in the above scheme, each node on the forwarding path can update the minimum available bandwidth indicated in the first field according to the actual network conditions of the forwarding path when transmitting IPv6 data packets. On this basis, the network performance of the forwarding path can be measured, thereby realizing the timely adjustment of the SRv6 TE policy and ensuring data transmission efficiency.

[0087] The present application will now be described in further detail with reference to the accompanying drawings and embodiments.

[0088] First, in this embodiment of the application, the IPv6 data packet is extended so that the IPv6 data packet carries the minimum available bandwidth of the forwarding path. This minimum available bandwidth indicates the bandwidth of the bottleneck node in the IPv6 data packet forwarding path, thereby reflecting the network performance of the forwarding path.

[0089] In practical applications, different schemes are used to encapsulate the field indicating the minimum available bandwidth for forwarding paths into IPv6 packets for different transmission scenarios.

[0090] In one embodiment, the first IPv6 packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 packet.

[0091] When IPv6 packets are forwarded via SRv6, the inserted SRH includes an optional TLV field to carry variable-length data. Therefore, here, leveraging the extended features of the TLV field, the first field is encapsulated within the TLV. For example, refer to... Figure 1 The TLV field format example includes a field called "Minimum available bandwidth," which is a 4-byte unsigned integer carrying the minimum available bandwidth value. Additionally, it includes a field called "Flag," which indicates that bandwidth measurement is enabled for this IPv6 packet. Alternatively, the "Flag" field can be understood as indicating the minimum available bandwidth for the forwarding path carried in the TLV.

[0092] In one embodiment, the first IPv6 packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 packet.

[0093] Here, the IPv6 packets are packets used for active performance measurement. In practical applications, they can be transmitted based on protocols such as Two-Way Active Measurement Protocol (TWAMP), Simple Two-Way Active Measurement Protocol (STAMP), TWAMP Light, Ping, and Traceroute. For this type of IPv6 packet, the header node of the forwarding path needs to add an IPv6 extension header after encapsulating the IPv6 packet with an SRH header. Therefore, the header node can encapsulate the first field in the corresponding IPv6 extension header.

[0094] Optionally, the first field is encapsulated in the hop-by-hop options header (HBH) or destination options header (DoH) of the IPv6 extension header.

[0095] For example, combining Figure 2 Encapsulation example: Encapsulate the following information in HBH or DoH:

[0096] Option Type: Identifies the option type as "Minimum available bandwidth" using 8 bits of information;

[0097] Opt Data Len: Indicates the data length of the "Minimum available bandwidth" option, which can be in bytes;

[0098] Minimum available bandwidth (Option): A 4-byte unsigned integer used to carry the minimum available bandwidth for the IPv6 packet forwarding path.

[0099] Based on the above extension of IPv6 packets, the following section will describe the data transmission method by taking the head node, intermediate node and exit node on the IPv6 packet forwarding path as the main execution entities.

[0100] This application provides a data transmission method applied to a first node. Here, based on the SRv6 strategy, the first forwarding path is the main path for forwarding IPv6 data packets, and the first node is the head node of the first forwarding path. (Refer to...) Figure 3 The methods include:

[0101] Step 301: Send the first IPv6 packet.

[0102] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; and the first node is the head node of the first forwarding path.

[0103] Here, the first node, acting as the head node of the first forwarding path, needs to encapsulate the first field, indicating the minimum available bandwidth of the first forwarding path, into the IPv6 packet. Since the minimum available bandwidth in this embodiment is actually used to measure the network performance of the forwarding path, the encapsulation location of the first field can be determined according to the measurement requirements in practical applications. Specifically, if the minimum available bandwidth of all nodes on the forwarding path needs to be measured, the head node can encapsulate the first field in the HBH of the IPv6 extension header; if only the minimum available bandwidth of each segment node (endpoint) on the forwarding path needs to be measured, the head node can encapsulate the first field in the DoH of the IPv6 extension header; if the IPv6 packet is forwarded via SRv6, the head node can encapsulate the first field in the TLV of the SRH.

[0104] Furthermore, since the first node is the head node of the first forwarding path, before sending the first IPv6 packet, the head node first writes its own available bandwidth into the first field. Subsequently, other nodes on the first forwarding path decide whether to update the minimum available bandwidth of the first forwarding path based on their own network conditions. Therefore, in one embodiment, before sending the first IPv6 packet, the method further includes:

[0105] Write the available bandwidth of the first node into the first field.

[0106] In practical applications, the first node can sample the interface where the first forwarding path is located multiple times within a certain time sampling period, and calculate the available bandwidth of the first node based on the average value of the sampling results.

[0107] After the first node sends the first IPv6 data packet, the intermediate nodes of the first forwarding path decide, based on their own network conditions, whether to update the minimum available bandwidth of the first forwarding path carried in the first IPv6 data packet. Based on this, embodiments of this application also provide a data transmission method applied to a second node, where the second node is the intermediate node of the first forwarding path, as described above. Figure 4 The methods include:

[0108] Step 401: Receive the first IPv6 packet.

[0109] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; and the second node is an intermediate node of the first forwarding path.

[0110] In one embodiment, the method further includes:

[0111] Forward the first IPv6 packet.

[0112] The method further includes the following steps before forwarding the first IPv6 packet:

[0113] The minimum available bandwidth indicated by the first field is compared with the available bandwidth of the second node to obtain the comparison result;

[0114] If the comparison result indicates that the available bandwidth of the second node is less than the minimum available bandwidth indicated by the first field, the available bandwidth of the second node is written into the first field.

[0115] In practical applications, after receiving the first IPv6 packet, the second node parses the value of the first field in the IPv6 packet to obtain the minimum available bandwidth. This minimum available bandwidth is also the minimum available bandwidth among the other nodes preceding the second node in the first forwarding path. The second node compares the parsed minimum available bandwidth with its own available bandwidth. If the second node's own available bandwidth is less than the parsed minimum available bandwidth, it indicates that the second node has the minimum available bandwidth in the forwarding path from the head node to the second node, meaning it is the bottleneck node in this forwarding path. Therefore, the second node writes its own available bandwidth into the first field of the first IPv6 packet, replacing the previous field value, and then forwards the first IPv6 packet according to the first forwarding path. If the second node's own available bandwidth is greater than or equal to the parsed minimum available bandwidth, then the parsed minimum available bandwidth is the minimum available bandwidth in the forwarding path from the head node to the second node. The second node does not need to modify the value of the first field and can directly forward the first IPv6 packet according to the first forwarding path.

[0116] In practical applications, the second node can sample the interface where the first forwarding path is located multiple times within a certain time sampling period, and calculate the available bandwidth of the second node based on the average value of the sampling results.

[0117] This application also provides a data transmission method applied to a third node, where the first node is the exit node of the first forwarding path, as described in the embodiments of this application. Figure 5 The methods include:

[0118] Step 501: Receive the first IPv6 packet.

[0119] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; and the third node is the egress node of the first forwarding path.

[0120] Here, the third node, acting as the exit node of the first forwarding path, upon receiving the first IPv6 packet and before removing the SRv6 encapsulation, first parses the value of the first field from the TLV field of the IPv6 extension header or SRH to obtain the minimum available bandwidth. This minimum available bandwidth is also the minimum available bandwidth among the other nodes preceding the third node in the first forwarding path. The third node compares the parsed minimum available bandwidth with its own available bandwidth. If the third node's own available bandwidth is less than the parsed minimum available bandwidth, then the third node has the smallest available bandwidth among all nodes in the first forwarding path, meaning it is the bottleneck node in this forwarding path. If the third node's own available bandwidth is greater than or equal to the parsed minimum available bandwidth, then the parsed minimum available bandwidth is the minimum available bandwidth in the first forwarding path, and the third node does not need to modify the value of the first field.

[0121] Based on the bandwidth comparison process described above, the third node can determine the minimum available bandwidth of the first forwarding path, and then use the minimum available bandwidth of the first forwarding path as a measurement result of the network performance of the first forwarding path for feedback.

[0122] In one embodiment, the method further includes:

[0123] Send the first message.

[0124] Wherein, if the available bandwidth of the third node is less than the minimum available bandwidth indicated by the first field, the first information is the available bandwidth of the third node; if the available bandwidth of the third node is greater than or equal to the minimum available bandwidth indicated by the first field, the first information is the minimum available bandwidth indicated by the first field.

[0125] In practical applications, the third node can sample the interface where the first forwarding path is located multiple times within a certain time sampling period, and calculate the available bandwidth of the third node based on the average value of the sampling results.

[0126] In one embodiment, sending the first information includes:

[0127] Send the first information to the controller; and / or,

[0128] Send a second IPv6 data packet to the first node; the second IPv6 data packet carries the first information.

[0129] Here, the first information is the measurement result of the network performance of the first forwarding path, which is also the minimum available bandwidth of the first forwarding path. The third node feeds back the first information as the measurement result, including but not limited to the following three feedback methods:

[0130] 1. The third node can report the first information to the controller via Netconf or gRPC.

[0131] 2. Define a second IPv6 packet to carry the above measurement results, which is sent by the third node to the head node of the first forwarding path, i.e., the first node.

[0132] 3. For the second IPv6 packet used for proactive performance measurement regarding Round-Trip Time (RTT), the third node needs to reflect the packet back to the head node of the first forwarding path, i.e., the first node. In other words, the third node needs to send a proactive measurement response message back to the first node. Here, the proactive measurement response message is extended to include the first information, thereby enabling feedback of the measurement results.

[0133] In practical applications, the second IPv6 packet is characterized as an active performance measurement response message of one or more of the following protocols:

[0134] STAMP, TWAMP, TWAMP Light, Ping, and Traceroute.

[0135] For example, refer to Figure 6 Example of TLV field format in a STAMP reflection packet. Here, minimum available bandwidth is defined as the minimum available bandwidth of the forwarding path carried in the STAMP reflection packet. Wherein:

[0136] STAMP TLV Flag: This refers to the STAMP TLV logo.

[0137] Type: Used to identify the minimum available bandwidth for the forwarding path;

[0138] Length: The length of the field used to indicate the minimum available bandwidth;

[0139] Minimum available bandwidth: A 4-byte unsigned integer used to carry the minimum available bandwidth for the forwarding path.

[0140] In practical applications, taking STAMP as an example, if the session reflector supports bandwidth measurement, then after obtaining the minimum available bandwidth of the forwarding path at the third node, the minimum available bandwidth is encapsulated in the reflected data packet, i.e., the third IPv6 data packet.

[0141] Based on the measurement results fed back by the third node, in this embodiment of the application, the first node can act as the decision-maker and execute the switching of the SRv6 policy main path. Therefore, in the method on the first node side of this embodiment of the application, after the first node sends the first IPv6 data packet, the method further includes:

[0142] Receive first information; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the third node represents the exit node of the first forwarding path;

[0143] Based on the first information, determine whether to switch the primary path in the SRv6 strategy.

[0144] As mentioned above, the third node feeds back the measurement results via a second IPv6 data packet. After receiving the first information, the first node determines, based on the first information, whether to switch the primary path in the SRv6 policy. Wherein:

[0145] If the minimum available bandwidth of the first forwarding path represented by the first information is less than the set bandwidth, or if the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic, the primary path in the SRv6 policy shall be switched.

[0146] In practical applications, before service traffic arrives, the first node compares the minimum available bandwidth of the first forwarding path with the set bandwidth. If the minimum available bandwidth of the first forwarding path is less than the set bandwidth, it considers not using the first forwarding path as the primary path in the SRv6 policy, i.e., switching the primary path in the SRv6 policy. If the minimum available bandwidth of the first forwarding path is greater than or equal to the set bandwidth, it retains the current primary path of the SRv6 policy, i.e., the first forwarding path. When service traffic arrives, the first node compares the minimum available bandwidth of the first forwarding path with the actual bandwidth corresponding to the service traffic. If the minimum available bandwidth of the first forwarding path is less than the actual bandwidth corresponding to the service traffic, it considers not using the first forwarding path as the primary path in the SRv6 policy, i.e., switching the primary path in the SRv6 policy. If the minimum available bandwidth of the first forwarding path is greater than or equal to the actual bandwidth corresponding to the service traffic, it retains the current primary path of the SRv6 policy, i.e., the first forwarding path.

[0147] In one embodiment, switching the primary path in the SRv6 policy includes:

[0148] If a second forwarding path exists in the SRv6 policy, the primary path of the SRv6 policy is switched from the first forwarding path to the second forwarding path; wherein the minimum available bandwidth of the second forwarding path is greater than the set bandwidth or the bandwidth required by the service traffic; and / or,

[0149] If no second forwarding path exists in the SRv6 policy, a first request is sent to the controller; the first request is used to request forwarding path re-optimization.

[0150] Here, when switching the primary path of the SRv6 policy, the minimum available bandwidth value of all SLs for each backup candidate path is obtained and summed. If the sum of any backup candidate path exceeds the corresponding set bandwidth or the actual bandwidth corresponding to the service traffic, then that backup candidate path is switched to the primary path of the SRv6 policy. In practical applications, the available bandwidth value of each backup candidate path can be obtained one by one until a backup candidate path that meets the set bandwidth or the actual bandwidth corresponding to the service traffic is found, at which point the primary path switch can be performed. Furthermore, if the sum of any backup candidate path does not exceed the corresponding set bandwidth or the actual bandwidth corresponding to the service traffic, then the first node reports this situation to the controller, which then re-executes path optimization.

[0151] Furthermore, the determination of whether to switch the primary path for the SRv6 policy can also be completed by the controller. Afterwards, the controller directly issues the path switching command to the first node, which then forwards IPv6 packets based on the switched primary path. Here, the method also includes:

[0152] Receive the first instruction sent by the controller.

[0153] The first instruction is used to indicate the main path for switching the SRv6 policy.

[0154] Here, the path indicated by the controller for switching can be either the alternative candidate path in the original SRv6 policy or the path in the SRv6 policy after the controller has adjusted it.

[0155] Based on the above scheme, the head node or controller of the forwarding path can obtain the actual minimum available bandwidth of the forwarding path in real time. When the actual available bandwidth or remaining bandwidth of the forwarding path does not meet the bandwidth requirements of the service traffic, the controller or head node can quickly detect and reselect the forwarding path for the service traffic, thereby realizing the timely adjustment of the SRv6 TE policy and ensuring data transmission efficiency.

[0156] To implement the data transmission method on the first node side of this application embodiment, this application embodiment also provides a data transmission device, disposed on the first node, such as... Figure 7As shown, the device includes:

[0157] The first sending unit 701 is used to send a first IPv6 data packet; wherein...

[0158] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the first node is the head node of the first forwarding path.

[0159] In one embodiment, the first IPv6 packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 packet.

[0160] In one embodiment, the first IPv6 packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 packet.

[0161] In one embodiment, the first field is encapsulated in the hop-by-hop option header or destination option header of the IPv6 extension header.

[0162] In one embodiment, the device further includes:

[0163] The first writing unit is used to write the available bandwidth of the first node into the first field before sending the first IPv6 data packet.

[0164] In one embodiment, the device further includes:

[0165] The third receiving unit is used to receive first information; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the third node represents the exit node of the first forwarding path.

[0166] The determining unit is configured to determine, based on the first information, whether to switch the primary path in the SRv6 strategy.

[0167] In one embodiment, the determining unit is used to:

[0168] If the minimum available bandwidth of the first forwarding path represented by the first information is less than the set bandwidth, or if the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic, the primary path in the SRv6 policy shall be switched.

[0169] In one embodiment, the device further includes:

[0170] A switching unit is configured to, when a second forwarding path exists in the SRv6 policy, switch the primary path of the SRv6 policy from the first forwarding path to the second forwarding path; wherein the minimum available bandwidth of the second forwarding path is greater than the set bandwidth or the bandwidth required by the service traffic; and / or,

[0171] The second sending unit is used to send a first request to the controller when there is no second forwarding path in the SRv6 policy; the first request is used to request forwarding path re-optimization.

[0172] In one embodiment, the device further includes:

[0173] The fourth receiving unit is used to receive the first instruction sent by the controller; wherein,

[0174] The first instruction is used to instruct the main path for switching the SRv6 policy to be switched from the first forwarding path to the second forwarding path.

[0175] In practical applications, the first sending unit 701, the third receiving unit, and the fourth receiving unit can be implemented by the communication interface in the data transmission device; the determining unit, the first writing unit, and the switching unit can be implemented by the processor in the data transmission device.

[0176] To implement the data transmission method on the second node side of this application embodiment, this application embodiment also provides a data transmission device, which is disposed on the second node, such as... Figure 8 As shown, the device includes:

[0177] The first receiving unit 801 is used to receive the first IPv6 data packet; wherein...

[0178] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the second node is an intermediate node of the first forwarding path.

[0179] In one embodiment, the first IPv6 packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 packet.

[0180] In one embodiment, the first IPv6 packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 packet.

[0181] In one embodiment, the first field is encapsulated in the hop-by-hop options header or destination options header of the IPv6 extension header.

[0182] In one embodiment, the device further includes:

[0183] The third sending unit is used to forward the first IPv6 data packet; wherein...

[0184] The device further includes:

[0185] The comparison unit is used to compare the minimum available bandwidth indicated by the first field with the available bandwidth of the second node before the third sending unit forwards the first IPv6 data packet, and obtain a comparison result.

[0186] The second writing unit is configured to write the available bandwidth of the second node into the first field when the comparison result indicates that the available bandwidth of the second node is less than the minimum available bandwidth indicated by the first field.

[0187] In practical applications, the first receiving unit 801 and the third transmitting unit can be implemented by the communication interface in the data transmission device; the comparison unit and the second writing unit can be implemented by the processor in the data transmission device.

[0188] To implement the data transmission method on the third node side of this application embodiment, this application embodiment also provides a data transmission device, which is disposed on the third node, such as... Figure 9 As shown, the device includes:

[0189] The second receiving unit 901 is used to receive the first IPv6 data packet; wherein...

[0190] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the third node is the egress node of the first forwarding path.

[0191] In one embodiment, the first IPv6 packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 packet.

[0192] In one embodiment, the first IPv6 packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 packet.

[0193] In one embodiment, the first field is encapsulated in the hop-by-hop options header or destination options header of the IPv6 extension header.

[0194] In one embodiment, the device further includes:

[0195] The fourth transmitting unit is used to transmit the first information; wherein,

[0196] If the available bandwidth of the third node is less than the minimum available bandwidth indicated by the first field, the first information is the available bandwidth of the third node; if the available bandwidth of the third node is greater than or equal to the minimum available bandwidth indicated by the first field, the first information is the minimum available bandwidth indicated by the first field.

[0197] In one embodiment, the fourth transmitting unit is configured to:

[0198] Send the first information to the controller; and / or,

[0199] Send a second IPv6 data packet to the first node; the second IPv6 data packet carries the first information.

[0200] In one embodiment, the second IPv6 packet is characterized as an active performance measurement response message of one or more of the following protocols:

[0201] STAMP, TWAMP, TWAMP Light, Ping, and Traceroute.

[0202] In practical applications, the second receiving unit 901 and the fourth transmitting unit can be implemented by the communication interface in the data transmission device.

[0203] It should be noted that the data transmission device provided in the above embodiments is only illustrated by the division of the above program modules. In practical applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the data transmission device and the data transmission method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.

[0204] Based on the hardware implementation of the above program modules, and in order to implement the method on the first node side of the embodiments of this application, the embodiments of this application also provide a first node, such as... Figure 10 As shown, the first node 1000 includes:

[0205] The first communication interface 1001 is capable of exchanging information with other network nodes;

[0206] The first processor 1002 is connected to the first communication interface 1001 to enable information interaction with other network nodes. When running a computer program, it executes the methods provided by one or more technical solutions on the first node side. The computer program is stored in the first memory 1003.

[0207] Specifically, the first communication interface 1001 is used to send a first IPv6 data packet; wherein,

[0208] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the first node is the head node of the first forwarding path.

[0209] In one embodiment, the first IPv6 packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 packet.

[0210] In one embodiment, the first IPv6 packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 packet.

[0211] In one embodiment, the first field is encapsulated in the hop-by-hop option header or destination option header of the IPv6 extension header.

[0212] In one embodiment, the first processor 1002 is configured to write the available bandwidth of the first node into the first field before sending the first IPv6 data packet.

[0213] In one embodiment, the first communication interface 1001 is further configured to receive first information; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the third node represents the exit node of the first forwarding path.

[0214] The first processor 1002 is configured to determine, based on the first information, whether to switch the primary path in the SRv6 strategy.

[0215] In one embodiment, the first processor 1002 is configured to switch the primary path in the SRv6 policy when the minimum available bandwidth of the first forwarding path represented by the first information is less than a set bandwidth, or when the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic.

[0216] In one embodiment, the first processor 1002 is configured to, when a second forwarding path exists in the SRv6 policy, switch the primary path of the SRv6 policy from the first forwarding path to the second forwarding path; wherein the minimum available bandwidth of the second forwarding path is greater than the set bandwidth or the bandwidth required by the service traffic; and / or,

[0217] The first communication interface 1001 is used to send a first request to the controller when there is no second forwarding path in the SRv6 policy; the first request is used to request forwarding path re-optimization.

[0218] In one embodiment, the first communication interface 1001 is further configured to receive a first instruction sent by the controller; wherein,

[0219] The first instruction is used to instruct the main path for switching the SRv6 policy to be switched from the first forwarding path to the second forwarding path.

[0220] It should be noted that the specific processing procedures of the first processor 1002 and the first communication interface 1001 can be understood by referring to the above method.

[0221] Of course, in practical applications, the various components in the first node 1000 are coupled together through the bus system 1004. It can be understood that the bus system 1004 is used to implement communication between these components. In addition to the data bus, the bus system 1004 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 10 The general labeled all buses as Bus System 1004.

[0222] The first memory 1003 in this embodiment is used to store various types of data to support the operation of the first node 1000. Examples of such data include any computer program used to operate on the first node 1000.

[0223] The methods disclosed in the embodiments of this application can be applied to the first processor 1002, or implemented by the first processor 1002. The first processor 1002 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware or by instructions in the form of software in the first processor 1002. The first processor 1002 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The first processor 1002 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in the first memory 1003. The first processor 1002 reads the information in the first memory 1003 and completes the steps of the aforementioned method in combination with its hardware.

[0224] In an exemplary embodiment, the first node 1000 may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to perform the aforementioned method.

[0225] Based on the hardware implementation of the above program modules, and in order to implement the method on the second node side of the embodiments of this application, the embodiments of this application also provide a second node, such as... Figure 11 As shown, the second node 1100 includes:

[0226] The second communication interface 1101 is capable of exchanging information with other network nodes;

[0227] The second processor 1102 is connected to the second communication interface 1101 to enable information interaction with other network nodes. When running a computer program, it executes the methods provided by one or more technical solutions on the second node side. The computer program is stored in the second memory 1103.

[0228] Specifically, the second communication interface 1101 is used to receive the first IPv6 data packet; wherein,

[0229] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the second node is an intermediate node of the first forwarding path.

[0230] In one embodiment, the first IPv6 packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 packet.

[0231] In one embodiment, the first IPv6 packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 packet.

[0232] In one embodiment, the first field is encapsulated in the hop-by-hop options header or destination options header of the IPv6 extension header.

[0233] In one embodiment, the second communication interface 1101 is further configured to forward the first IPv6 data packet; wherein,

[0234] The second processor 1102 is configured to compare the minimum available bandwidth indicated by the first field with the available bandwidth of the second node before the third sending unit forwards the first IPv6 data packet, and obtain a comparison result; if the comparison result indicates that the available bandwidth of the second node is less than the minimum available bandwidth indicated by the first field, the available bandwidth of the second node is written into the first field.

[0235] It should be noted that the specific processing procedures of the second processor 1102 and the second communication interface 1101 can be understood by referring to the above method.

[0236] Of course, in practical applications, the various components in the second node 1100 are coupled together through the bus system 1104. It can be understood that the bus system 1104 is used to implement communication between these components. In addition to the data bus, the bus system 1104 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 11 The general designated all buses as Bus System 1104.

[0237] The second memory 1103 in this embodiment is used to store various types of data to support the operation of the second node 1100. Examples of such data include any computer program used to operate on the second node 1100.

[0238] The methods disclosed in the embodiments of this application can be applied to the second processor 1102, or implemented by the second processor 1102. The second processor 1102 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware or by instructions in the form of software in the second processor 1102. The second processor 1102 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The second processor 1102 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in the second memory 1103. The second processor 1102 reads the information in the second memory 1103 and completes the steps of the aforementioned method in conjunction with its hardware.

[0239] In an exemplary embodiment, the second node 1100 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general-purpose processors, controllers, MCUs, microprocessors, or other electronic components to perform the aforementioned method.

[0240] Based on the hardware implementation of the above program modules, and in order to implement the method on the third node side of the embodiments of this application, the embodiments of this application also provide a third node, such as... Figure 12 As shown, the third node 1200 includes:

[0241] The third communication interface 1201 is capable of exchanging information with other network nodes;

[0242] The third processor 1202 is connected to the third communication interface 1201 to enable information interaction with other network nodes. When running a computer program, it executes the methods provided by one or more technical solutions on the third node side. The computer program is stored on the third memory 1203.

[0243] Specifically, the third communication interface 1201 is used to receive the first IPv6 data packet; wherein,

[0244] The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the third node is the egress node of the first forwarding path.

[0245] In one embodiment, the first IPv6 packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 packet.

[0246] In one embodiment, the first IPv6 packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 packet.

[0247] In one embodiment, the first field is encapsulated in the hop-by-hop options header or destination options header of the IPv6 extension header.

[0248] In one embodiment, the third communication interface 1201 is further configured to send first information; wherein,

[0249] If the available bandwidth of the third node is less than the minimum available bandwidth indicated by the first field, the first information is the available bandwidth of the third node; if the available bandwidth of the third node is greater than or equal to the minimum available bandwidth indicated by the first field, the first information is the minimum available bandwidth indicated by the first field.

[0250] In one embodiment, the third communication interface 1201 is further configured to send the first information to the controller; and / or,

[0251] Send a second IPv6 data packet to the first node; the second IPv6 data packet carries the first information.

[0252] In one embodiment, the second IPv6 packet is characterized as an active performance measurement response message of one or more of the following protocols:

[0253] STAMP, TWAMP, TWAMP Light, Ping, and Traceroute.

[0254] Of course, in practical applications, the various components in the third node 1200 are coupled together through the bus system 1204. It can be understood that the bus system 1204 is used to implement communication between these components. In addition to the data bus, the bus system 1204 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 12 The general designated all buses as Bus System 1204.

[0255] The third memory 1203 in this embodiment is used to store various types of data to support the operation of the third node 1200. Examples of such data include any computer program used to operate on the third node 1200.

[0256] The methods disclosed in the above embodiments of this application can be applied to, or implemented by, the third processor 1202. The third processor 1202 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by the integrated logic circuitry of the hardware or by instructions in the software form of the third processor 1202. The third processor 1202 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The third processor 1202 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, specifically a third memory 1203. The third processor 1202 reads information from the third memory 1203 and, in conjunction with its hardware, completes the steps of the aforementioned method.

[0257] In an exemplary embodiment, the third node 1200 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general-purpose processors, controllers, MCUs, microprocessors, or other electronic components to perform the aforementioned method.

[0258] It is understood that the memories (first memory 1003, second memory 1103, and third memory 1203) in the embodiments of this application can be volatile memories or non-volatile memories, or both. Non-volatile memories can be read-only memories (ROM), programmable read-only memories (PROM), erasable programmable read-only memories (EPROM), electrically erasable programmable read-only memories (EEPROM), magnetic random access memories (FRAM), flash memories, magnetic surface memories, optical discs, or compact disc read-only memories (CD-ROM); magnetic surface memories can be disk storage or magnetic tape storage. Volatile memories can be random access memories (RAM), which are used as external caches.By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM). The memories described in the embodiments of this application are intended to include, but are not limited to, these and any other suitable types of memory.

[0259] In an exemplary embodiment, this application also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium. For example, it may include a first memory 1003 storing a computer program, which can be executed by a first processor 1002 of a first node 1000 to complete the steps described in the aforementioned first node-side method. Another example is a second memory 1103 storing a computer program, which can be executed by a second processor 1102 of a second node 1100 to complete the steps described in the aforementioned second node-side method. Yet another example is a third memory 1203 storing a computer program, which can be executed by a third processor 1202 of a third node 1200 to complete the steps described in the aforementioned third node-side method. The computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.

[0260] Exemplary embodiments of this application also provide a computer program product, including a computer program that can be executed by a first processor 1002 of a first node 1000 to complete the steps described in the aforementioned first node-side method. Alternatively, the computer program can be executed by a second processor 1102 of a second node 1100 to complete the steps described in the aforementioned second node-side method. Alternatively, the computer program can be executed by a third processor 1202 of a third node 1200 to complete the steps described in the aforementioned third node-side method.

[0261] It should be noted that terms such as "first" and "second" are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0262] In this document, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A exists alone, A and B exist simultaneously, and B exists alone. Furthermore, the term "one or more" in this document refers to any combination of at least two of any one or more elements. For example, including at least one of A, B, and C can represent including any one or more elements selected from the set consisting of A, B, and C.

[0263] Furthermore, the technical solutions described in the embodiments of this application can be combined arbitrarily without conflict.

[0264] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application.

Claims

1. A data transmission method, characterized by, Applied to the first node, including: Send a first IPv6 packet; wherein the first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the first node is the head node of the first forwarding path; Receive first information; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the third node represents the exit node of the first forwarding path; If the minimum available bandwidth of the first forwarding path represented by the first information is less than the set bandwidth, or if the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic, the primary path in the SRv6 policy shall be switched.

2. The method of claim 1, wherein, The first IPv6 packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 packet.

3. The method of claim 1, wherein, The first IPv6 packet is used for active performance measurement; Correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 packet.

4. The method of claim 3, wherein, The first field is encapsulated in the hop-by-hop options header or destination options header of the IPv6 extension header.

5. The method of claim 1, wherein, Before sending the first IPv6 packet, the method further includes: Write the available bandwidth of the first node into the first field.

6. The method of claim 1, wherein, The switching of the primary path in the SRv6 strategy includes: If a second forwarding path exists in the SRv6 policy, the primary path of the SRv6 policy is switched from the first forwarding path to the second forwarding path; wherein the minimum available bandwidth of the second forwarding path is greater than the set bandwidth or the bandwidth required by the service traffic; and / or, If no second forwarding path exists in the SRv6 policy, a first request is sent to the controller; the first request is used to request forwarding path re-optimization.

7. The method according to any one of claims 1 to 5, characterized in that, The method further includes: Receive the first instruction sent by the controller; wherein, The first instruction is used to indicate the main path for switching the SRv6 policy.

8. A data transmission method, characterized by, Applied to the second node, including: Receive the first IPv6 packet; among which, The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the second node is an intermediate node of the first forwarding path; the main path in the SRv6 policy is switched by the first node when the minimum available bandwidth of the first forwarding path represented by the received first information is less than a set bandwidth, or when the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the first node is the head node of the first forwarding path; the third node represents the egress node of the first forwarding path.

9. The method of claim 8, wherein, The first IPv6 packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 packet.

10. The method according to claim 8, characterized in that, The first IPv6 packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 packet.

11. The method of claim 10, wherein, The first field is encapsulated in the hop-by-hop options header or destination options header of the IPv6 extension header.

12. The method according to any one of claims 8 to 11, characterized in that, The method further includes: Forward the first IPv6 packet; wherein, Before forwarding the first IPv6 packet, the method further includes: The minimum available bandwidth indicated by the first field is compared with the available bandwidth of the second node to obtain the comparison result; If the comparison result indicates that the available bandwidth of the second node is less than the minimum available bandwidth indicated by the first field, the available bandwidth of the second node is written into the first field.

13. A data transmission method, characterized by, Applied to the third node, including: Receive a first IPv6 data packet; wherein the first IPv6 data packet contains a first field; the first field is used to indicate the minimum available bandwidth of a first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the third node is the egress node of the first forwarding path; Send first information; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the first information is used by the first node to switch the main path in the SRv6 policy when the minimum available bandwidth of the first forwarding path represented by the first information is less than a set bandwidth, or when the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic; the first node is the head node of the first forwarding path.

14. The method of claim 13, wherein, The first IPv6 packet is forwarded via SRv6; correspondingly, the first field is encapsulated in the TLV of the SRH of the first IPv6 packet.

15. The method of claim 13, wherein, The first IPv6 packet is used for active performance measurement; correspondingly, the first field is encapsulated in the IPv6 extension header of the first IPv6 packet.

16. The method of claim 15, wherein, The first field is encapsulated in the hop-by-hop options header or destination options header of the IPv6 extension header.

17. The method according to any one of claims 13 to 16, characterized in that, If the available bandwidth of the third node is less than the minimum available bandwidth indicated by the first field, the first information is the available bandwidth of the third node; if the available bandwidth of the third node is greater than or equal to the minimum available bandwidth indicated by the first field, the first information is the minimum available bandwidth indicated by the first field.

18. The method of claim 17, wherein, The sending of the first information includes: Send the first information to the controller; and / or, Send a second IPv6 data packet to the first node; the second IPv6 data packet carries the first information.

19. The method of claim 18, wherein, The second IPv6 packet is characterized as an active performance measurement response message of one or more of the following protocols: STAMP, TWAMP, TWAMPLight, Ping, and Traceroute.

20. A data transmission apparatus, characterized by comprising: Applied to the first node, including: A first sending unit is configured to send a first IPv6 data packet; wherein the first IPv6 data packet contains a first field; the first field is used to indicate the minimum available bandwidth of a first forwarding path; the first forwarding path represents the main path in the SRv6 policy; and the first node is the head node of the first forwarding path. The third receiving unit is used to receive first information; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the third node represents the exit node of the first forwarding path. The determining unit is configured to switch the primary path in the SRv6 policy when the minimum available bandwidth of the first forwarding path represented by the first information is less than a set bandwidth, or when the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic.

21. A data transmission device, characterized by Applied to the second node, including: A first receiving unit is configured to receive a first IPv6 data packet: wherein the first IPv6 data packet contains a first field; the first field is used to indicate the minimum available bandwidth of a first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the second node is an intermediate node of the first forwarding path; the main path in the SRv6 policy is switched by the first node when the minimum available bandwidth of the first forwarding path represented by the received first information is less than a set bandwidth, or when the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic; the first information represents the minimum available bandwidth of the first forwarding path fed back by a third node; the first node is the head node of the first forwarding path; the third node represents the egress node of the first forwarding path.

22. A data transmission apparatus, characterized by comprising: Applied to the third node, including: The second receiving unit is used to receive the first IPv6 data packet: wherein, The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the third node is the egress node of the first forwarding path; The fourth sending unit is used to send first information; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the first information is used by the first node to switch the main path in the SRv6 policy when the minimum available bandwidth of the first forwarding path represented by the first information is less than a set bandwidth, or when the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic; the first node is the head node of the first forwarding path.

23. A first node, comprising: include: A first processor and a first communication interface; wherein... The first communication interface is used to send a first IPv6 data packet; wherein the first IPv6 data packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the first node is the head node of the first forwarding path; The first communication interface is further configured to receive first information; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the third node represents the exit node of the first forwarding path. The first processor is configured to switch the primary path in the SRv6 policy when the minimum available bandwidth of the first forwarding path represented by the first information is less than a set bandwidth, or when the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic.

24. A second node, comprising: include: A second processor and a second communication interface; wherein... The second communication interface is used to receive the first IPv6 data packet; wherein, The first IPv6 packet contains a first field; the first field is used to indicate the minimum available bandwidth of the first forwarding path; the first forwarding path represents the main path in the SRv6 policy; the second node is an intermediate node of the first forwarding path; the main path in the SRv6 policy is switched by the first node when the minimum available bandwidth of the first forwarding path represented by the received first information is less than a set bandwidth, or when the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the first node is the head node of the first forwarding path; the third node represents the egress node of the first forwarding path.

25. A third node, characterized in that, include: A third communication interface is used to receive a first IPv6 data packet; wherein the first IPv6 data packet contains a first field; the first field is used to indicate the minimum available bandwidth of a first forwarding path; the first forwarding path represents the main path in the SRv6 policy; and the third node is the egress node of the first forwarding path. The third communication interface is also used to send first information; the first information represents the minimum available bandwidth of the first forwarding path fed back by the third node; the first information is used by the first node to switch the main path in the SRv6 policy when the minimum available bandwidth of the first forwarding path represented by the first information is less than a set bandwidth, or when the minimum available bandwidth of the first forwarding path represented by the first information is less than the bandwidth required by the service traffic; the first node is the head node of the first forwarding path.

26. A node, characterized by include: The processor and the memory used to store computer programs that can run on the processor. When the processor is used to run the computer program, it performs the steps of the method according to any one of claims 1 to 7, or performs the steps of the method according to any one of claims 8 to 12, or performs the steps of the method according to any one of claims 13 to 19.

27. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7, or the steps of the method according to any one of claims 8 to 12, or the steps of the method according to any one of claims 13 to 19.

28. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7, or the steps of the method according to any one of claims 8 to 12, or the steps of the method according to any one of claims 13 to 19.

Citation Information

Patent Citations

  • Bandwidth resource saving method

    CN101360046A