Data transmission method and apparatus, node, storage medium, and computer program product
By including the minimum available bandwidth field in IPv6 packets along the SRv6 forwarding path, the packet loss problem caused by node congestion in the SRv6 TE strategy is resolved, enabling timely adjustment and performance measurement of the forwarding path and ensuring data transmission efficiency.
Patent Information
- Application Number
- PCT/CN2025/085874
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-28
- Filing Date
- 2025-03-28
- Publication Date
- 2025-10-02
AI Technical Summary
In the Segment Routing (SRv6) Traffic Engineering (TE) strategy, when congestion occurs at a node, existing technologies cannot adjust the forwarding path in time, resulting in packet loss and limited transmission performance.
The IPv6 data packet contains a field indicating the minimum available bandwidth of the forwarding path. This field is updated by nodes on the SRv6 forwarding path to measure and adjust network performance in a timely manner, ensuring data transmission efficiency.
By adjusting the forwarding path in real time, packet loss is avoided, improving data transmission efficiency and the accuracy of network performance measurement.
Smart Images

Figure CN2025085874_02102025_PF_FP_ABST
Abstract
Description
Data transmission method, device, node, storage medium and computer program product
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This disclosure is based on and claims the priority of Chinese patent application with application number 202410371357.4 and application date March 28, 2024. The entire content of the Chinese patent application is hereby incorporated into this disclosure by reference. Technical Field
[0003] The present application relates to the field of network technology, and in particular to a data transmission method, device, node, storage medium, and computer program product. Background Art
[0004] A candidate path (CP) for an Internet Protocol Version 6 (IPv6)-based Segment Routing (SRv6) Traffic Engineering (TE) policy can be represented as one or a group of segment lists (SLs). In related technologies, congestion at certain nodes in a segment list can easily lead to packet loss. Summary of the Invention
[0005] To solve related technical problems, embodiments of the present application provide a data transmission method, device, node, storage medium, and computer program product.
[0006] This embodiment of the present application provides a data transmission method, which is performed by a first node and includes:
[0007] Sending a first IPv6 data packet; wherein,
[0008] The first IPv6 data packet includes 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 strategy; the first node is the head node of the first forwarding path.
[0009] In some embodiments, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in a TLV of the SRH of the first IPv6 data packet.
[0010] In some embodiments, the first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
[0011] In some embodiments, the first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
[0012] In some embodiments, before sending the first IPv6 data packet, the method further includes:
[0013] The available bandwidth of the first node is written into the first field.
[0014] In some embodiments, the method further comprises:
[0015] receiving first information; the first information representing the minimum available bandwidth of the first forwarding path fed back by a third node; the third node representing the egress node of the first forwarding path;
[0016] Based on the first information, it is determined whether to switch the primary path in the SRv6 policy.
[0017] In some embodiments, determining whether to switch the primary path in the SRv6 policy based on the first information includes:
[0018] When the minimum available bandwidth of the first forwarding path represented by the first information is less than the 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 business traffic, the primary path in the SRv6 policy is switched.
[0019] In some embodiments, switching the primary path in the SRv6 policy includes:
[0020] If a second forwarding path exists in the SRv6 policy, switching 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,
[0021] When the second forwarding path does not exist in the SRv6 policy, a first request is sent to the controller; the first request is used to request forwarding path reoptimization.
[0022] In some embodiments, the method further comprises:
[0023] Receive a first instruction sent by the controller; wherein,
[0024] The first instruction is used to instruct switching of the primary path of the SRv6 policy.
[0025] This embodiment of the present application further provides a data transmission method, which is performed by a second node and includes:
[0026] Receive the first IPv6 data packet:
[0027] The first IPv6 data packet includes 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 strategy; the second node is an intermediate node of the first forwarding path.
[0028] In some embodiments, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in a TLV of the SRH of the first IPv6 data packet.
[0029] In some embodiments, the first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
[0030] In some embodiments, the first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
[0031] In some embodiments, the method further comprises:
[0032] forwarding the first IPv6 data packet; wherein,
[0033] Before forwarding the first IPv6 data packet, the method further includes:
[0034] Compare the minimum available bandwidth indicated by the first field with the available bandwidth of the second node to obtain a comparison result;
[0035] 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.
[0036] This embodiment of the present application further provides a data transmission method, which is performed by a third node and includes:
[0037] Receive a first IPv6 data packet; wherein,
[0038] The first IPv6 data packet includes 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 strategy; the third node is the egress node of the first forwarding path.
[0039] In some embodiments, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in a TLV of the SRH of the first IPv6 data packet.
[0040] In some embodiments, the first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
[0041] In some embodiments, the first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
[0042] In some embodiments, the method further comprises:
[0043] Sending a first message; wherein,
[0044] When 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; when 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.
[0045] In some embodiments, the sending of the first information includes:
[0046] sending the first information to a controller; and / or,
[0047] Send a second IPv6 data packet to the first node; the second IPv6 data packet carries the first information.
[0048] In some embodiments, the second IPv6 data packet is characterized as a performance measurement response message of one or more of the following protocols:
[0049] STAMP, TWAMP, TWAMP Light, Ping, and Traceroute.
[0050] The present invention also provides a data transmission device, including:
[0051] The first sending unit is configured to send a first IPv6 data packet; wherein,
[0052] The first IPv6 data packet includes 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 strategy; the first node is the head node of the first forwarding path.
[0053] The present invention also provides a data transmission device, including:
[0054] The first receiving unit is configured to receive a first IPv6 data packet; wherein,
[0055] The first IPv6 data packet includes 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 strategy; the second node is an intermediate node of the first forwarding path.
[0056] The present invention also provides a data transmission device, including:
[0057] The second receiving unit is configured to receive a first IPv6 data packet; wherein,
[0058] The first IPv6 data packet includes 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 strategy; the third node is the egress node of the first forwarding path.
[0059] The embodiment of the present application further provides a first node, comprising: a first processor and a first communication interface; wherein,
[0060] The first communication interface is used to send a first IPv6 data packet; wherein,
[0061] The first IPv6 data packet includes 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 strategy; the first node is the head node of the first forwarding path.
[0062] The embodiment of the present application further provides a second node, comprising: a second processor and a second communication interface; wherein,
[0063] The second communication interface is used to receive a first IPv6 data packet:
[0064] The first IPv6 data packet includes 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 strategy; the second node is an intermediate node of the first forwarding path.
[0065] The embodiment of the present application further provides a third node, comprising: a third processor and a third communication interface; wherein,
[0066] The third communication interface is used to receive a first IPv6 data packet:
[0067] The first IPv6 data packet includes 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 strategy; the third node is the egress node of the first forwarding path.
[0068] The embodiment of the present application further provides a node, comprising: a processor and a memory for storing a computer program that can be run on the processor,
[0069] In which, when the processor is used to run the computer program, it executes the steps of any data transmission method on the first node side, or executes the steps of any data transmission method on the second node side, or executes the steps of any data transmission method on the third node side.
[0070] An embodiment of the present application also provides a storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the above-mentioned data transmission methods on the first node side, or implements the steps of any of the above-mentioned data transmission methods on the second node side, or implements the steps of any of the above-mentioned data transmission methods on the third node side.
[0071] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of any of the above-mentioned data transmission methods on the first node side, or implements the steps of any of the above-mentioned data transmission methods on the second node side, or implements the steps of any of the above-mentioned data transmission methods on the third node side.
[0072] The data transmission method, apparatus, node, storage medium, and computer program product provided in the embodiments of the present application include an IPv6 data packet transmitted along a forwarding path containing a first field, where the 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-mentioned solution, when each node on the forwarding path transmits the IPv6 data packet, it can update the minimum available bandwidth indicated in the first field according to the actual network status of the forwarding path. On this basis, it is possible to measure the network performance of the forwarding path, thereby enabling timely adjustment of the SRv6 TE policy and ensuring data transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0073] FIG1 is an example diagram of a TLV field format according to an embodiment of the present application;
[0074] FIG2 is an example diagram of IPv6 extension header encapsulation according to an embodiment of the present application;
[0075] FIG3 is a flow chart of a data transmission method according to an embodiment of the present application;
[0076] FIG4 is a flow chart of another data transmission method according to an embodiment of the present application;
[0077] FIG5 is a schematic diagram of a flow chart of a third data transmission method according to an embodiment of the present application;
[0078] FIG6 is an example diagram of the TLV field format in a STAMP reflection data packet according to an embodiment of the present application;
[0079] FIG7 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
[0080] FIG8 is a schematic structural diagram of another data transmission device according to an embodiment of the present application;
[0081] FIG9 is a schematic structural diagram of a third data transmission device according to an embodiment of the present application;
[0082] FIG10 is a schematic diagram of the first node structure according to an embodiment of the present application;
[0083] FIG11 is a schematic diagram of the second node structure according to an embodiment of the present application;
[0084] FIG12 is a schematic diagram of the third node structure of an embodiment of the present application. DETAILED DESCRIPTION
[0085] SRv6 is a protocol for forwarding IPv6 packets on the network. It inserts a Segment Routing Header (SRH) into IPv6 packets, pushes an explicit IPv6 address stack into the SRH, and continuously updates the destination address and offset address through intermediate nodes to achieve hop-by-hop forwarding.
[0086] The candidate path (CP) of the SRv6 TE policy can be represented as one or a group of segment lists (SL). Due to the differences in the services carried by each node in the segment list and the forwarding capabilities of the nodes, when the network traffic is large, some nodes become congested, resulting in the actual maximum forwarding traffic of the forwarding path being less than expected. At this time, if the head node of the forwarding path does not adjust the forwarding path in time, but continues to forward IPv6 data packets according to the initial set bandwidth, it will inevitably lead to the loss of data packets that exceed the actual bandwidth. However, in related technologies, even if there are other available candidate paths in the SRv6 policy, the forwarding path will not be switched according to the service traffic demand, resulting in limited transmission performance.
[0087] Based on this, in each embodiment of the present application, the IPv6 data packet transmitted along the forwarding path includes 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 scheme, when each node on the forwarding path in the above scheme transmits the IPv6 data packet, it can update the minimum available bandwidth indicated in the first field according to the actual network status of the forwarding path. On this basis, the measurement of the network performance of the forwarding path can be completed, thereby realizing timely adjustment of the SRv6 TE policy and ensuring data transmission efficiency.
[0088] The present application will be described in further detail below with reference to the accompanying drawings and embodiments.
[0089] First, in an embodiment of the present application, the IPv6 data packet is expanded so that the IPv6 data packet carries the minimum available bandwidth of the forwarding path. The minimum available bandwidth also indicates the bandwidth of the bottleneck node in the IPv6 data packet forwarding path, thereby reflecting the network performance of the forwarding path.
[0090] In actual applications, different schemes are used to encapsulate the field indicating the minimum available bandwidth of the forwarding path into the IPv6 data packet according to different transmission scenarios of the IPv6 data packet.
[0091] In one embodiment, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in a TLV (Type-Length-Value) of the SRH of the first IPv6 data packet.
[0092] When an IPv6 packet is forwarded via SRv6, the inserted SRH contains an optional TLV field for carrying data of variable length. Therefore, here, the first field is encapsulated in the TLV by utilizing the extended characteristics of the TLV field. For example, referring to the TLV field format example in FIG1 , the field “Minimum available bandwidth” is included, which is a 4-byte unsigned integer used to carry the bandwidth value of the minimum available bandwidth. In addition, the field “Flag” is also included to indicate that the bandwidth measurement function of the IPv6 packet is enabled, or it can be understood that the field “Flag” is used to indicate the minimum available bandwidth of the forwarding path carried in the TLV.
[0093] In one embodiment, the first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
[0094] The IPv6 data packets used for performance measurement can be transmitted using protocols such as the Two-Way Active Measurement Protocol (TWAMP), the Simple Two-way Active Measurement Protocol (STAMP), TWAMP Light, Ping, and Traceroute. For these IPv6 data packets, the head node of the forwarding path must add an IPv6 extension header after encapsulating the SRH in the IPv6 data packet. Therefore, the head node can encapsulate the first field in the corresponding IPv6 extension header.
[0095] Optionally, the first field is encapsulated in a Hop-by-Hop Options Header (HBH) or a Destination Options Header (DoH) of the IPv6 extension header.
[0096] For example, referring to the encapsulation example in Figure 2, the following information is encapsulated in HBH or DoH:
[0097] Option Type: 8 bits of information identifying the option type as "Minimum available bandwidth";
[0098] Opt Data Len: This field indicates the data length of the "Minimum available bandwidth" option. The data length can be expressed in bytes.
[0099] Minimum available bandwidth option: A 4-byte unsigned integer that carries the minimum available bandwidth for the IPv6 packet forwarding path.
[0100] Based on the above expansion of IPv6 data packets, the following describes the data transmission method, taking the head node, intermediate node, and egress node on the IPv6 data packet forwarding path as the execution entities.
[0101] The present invention provides a data transmission method applied to a first node. Here, based on the SRv6 policy, the first forwarding path is the primary path for forwarding IPv6 data packets, and the first node is the head node of the first forwarding path. Referring to FIG3 , the method includes:
[0102] Step 301: Send a first IPv6 data packet.
[0103] The first IPv6 data packet includes 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 strategy; and the first node is the head node of the first forwarding path.
[0104] Here, the first node, 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 data packet. Since in the embodiment of the present application, the minimum available bandwidth is actually used to measure the network performance of the forwarding path, the encapsulation position of the first field can be determined according to the measurement requirements in actual application. Specifically, if it is necessary to measure the minimum available bandwidth of all nodes on the forwarding path, the head node can encapsulate the first field in the HBH of the IPv6 extension header; if it is only necessary to measure the minimum available bandwidth of each segment node (endpoint) on the forwarding path, the head node can encapsulate the first field in the DoH of the IPv6 extension header; if the IPv6 data packet is forwarded via SRv6, the head node can encapsulate the first field in the TLV of the SRH.
[0105] Furthermore, since the first node is the head node of the first forwarding path, the head node first writes its own available bandwidth into the first field before sending the first IPv6 data packet. 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. Based on this, in one embodiment, before sending the first IPv6 data packet, the method further includes:
[0106] The available bandwidth of the first node is written into the first field.
[0107] In actual application, the first node may perform multiple sampling on the interface where the first forwarding path is located within a certain sampling period, and calculate the available bandwidth of the first node based on the average value of the sampling results.
[0108] After the first node sends the first IPv6 data packet, the intermediate node in the first forwarding path determines whether to update the minimum available bandwidth of the first forwarding path carried in the first IPv6 data packet based on its own network status. Based on this, an embodiment of the present application also provides a data transmission method applied to a second node, where the second node is the intermediate node in the first forwarding path. Referring to FIG. 4 , the method includes:
[0109] Step 401: Receive a first IPv6 data packet.
[0110] The first IPv6 data packet includes 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 strategy; and the second node is an intermediate node of the first forwarding path.
[0111] In one embodiment, the method further comprises:
[0112] Forward the first IPv6 data packet.
[0113] Before forwarding the first IPv6 data packet, the method further includes:
[0114] Compare the minimum available bandwidth indicated by the first field with the available bandwidth of the second node to obtain a comparison result;
[0115] 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.
[0116] In actual application, after receiving the first IPv6 data packet, the second node parses the field value of the first field in the IPv6 data packet to obtain the minimum available bandwidth, which is also the minimum available bandwidth of other nodes located before 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, then the second node has the lowest available bandwidth in the forwarding path from the head node to the second node in the first forwarding path, indicating that the second node 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 data packet to replace the field value before the first field. Finally, the first IPv6 data packet is forwarded 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 in the first forwarding path. The second node does not need to modify the field value of the first field and can directly forward the first IPv6 data packet according to the first forwarding path.
[0117] In actual application, the second node may perform multiple sampling on the interface where the first forwarding path is located within a certain sampling period, and calculate the available bandwidth of the second node based on the average value of the sampling results.
[0118] The present application also provides a data transmission method, which is applied to a third node. Here, the first node is an egress node of a first forwarding path. Referring to FIG. 5 , the method includes:
[0119] Step 501: Receive a first IPv6 data packet.
[0120] Among them, 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 strategy; the third node is the egress node of the first forwarding path.
[0121] Here, the third node acts as the egress node of the first forwarding path. After receiving the first IPv6 data packet, before removing the SRv6 encapsulation of the first IPv6 data packet, the third node first parses the field value of the first field from the TLV field of the IPv6 extension header or SRH to obtain the minimum available bandwidth, which is the minimum available bandwidth of other nodes located before 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 minimum available bandwidth parsed by the third node, then among all the nodes representing the first forwarding path, the third node has the smallest available bandwidth, which means that the third node is the bottleneck node in this forwarding path. If the third node's own available bandwidth is greater than or equal to the minimum available bandwidth parsed by the third node, 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 field value of the first field.
[0122] Based on the above bandwidth comparison process, 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.
[0123] In one embodiment, the method further comprises:
[0124] Send the first message.
[0125] Among them, when 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; when 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.
[0126] In actual application, the third node may perform multiple sampling on the interface where the first forwarding path is located within a certain sampling period, and calculate the available bandwidth of the third node based on the average value of the sampling results.
[0127] In one embodiment, sending the first information includes:
[0128] sending the first information to a controller; and / or,
[0129] Send a second IPv6 data packet to the first node; the second IPv6 data packet carries the first information.
[0130] Here, the first information is the measurement result of the network performance of the first forwarding path, that is, 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:
[0131] 1. The third node may report the first information to the controller via Netconf or gRPC.
[0132] 2. Define a second IPv6 data packet for carrying the above measurement result, which is sent by the third node to the head node of the first forwarding path, that is, the first node.
[0133] 3. For the second IPv6 data packet used for round-trip time (RTT) performance measurement, the third node needs to reflect the data packet to the first node, the head node of the first forwarding path. In other words, the third node needs to send back an active measurement response message to the first node. Here, the active measurement response message is extended to carry the first information, thereby implementing feedback of the measurement result.
[0134] In actual application, the second IPv6 data packet is characterized as a performance measurement response message of one or more of the following protocols:
[0135] STAMP, TWAMP, TWAMP Light, Ping, and Traceroute.
[0136] For example, referring to the example of the TLV field format in the STAMP reflection packet in FIG6 , the minimum available bandwidth is defined as the minimum available bandwidth of the forwarding path carried in the STAMP reflection packet.
[0137] STAMP TLV Flag: the STAMP TLV flag;
[0138] Type: used to identify the information carried as the minimum available bandwidth of the forwarding path;
[0139] Length: This field indicates the minimum available bandwidth.
[0140] Minimum available bandwidth: A 4-byte unsigned integer that carries the minimum available bandwidth of the forwarding path.
[0141] In actual application, taking STAMP as an example, if the session reflector supports the bandwidth measurement function, then after the third node obtains the minimum available bandwidth of the forwarding path, it encapsulates the minimum available bandwidth in the reflection data packet, that is, the third IPv6 data packet.
[0142] Based on the measurement results fed back by the third node, in the embodiment of the present application, the first node can act as the decision maker and execute the switching of the SRv6 policy primary path. Based on this, in the method on the first node side of the embodiment of the present application, after the first node sends the first IPv6 data packet, the method further includes:
[0143] receiving first information; the first information representing the minimum available bandwidth of the first forwarding path fed back by a third node; the third node representing the egress node of the first forwarding path;
[0144] Based on the first information, it is determined whether to switch the primary path in the SRv6 policy.
[0145] As described above, the third node feeds back the measurement result via the second IPv6 data packet, and after receiving the first information, the first node determines whether to switch the primary path in the SRv6 strategy based on the first information.
[0146] When the minimum available bandwidth of the first forwarding path represented by the first information is less than the 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 business traffic, the primary path in the SRv6 policy is switched.
[0147] In actual application, when service traffic has not arrived, 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, the first forwarding path is considered not to be used as the primary path in the SRv6 policy, that is, the primary path in the SRv6 policy is switched. If the minimum available bandwidth of the first forwarding path is greater than or equal to the set bandwidth, the current primary path of the SRv6 policy, that is, the first forwarding path, is retained. 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, the first forwarding path is considered not to be used as the primary path in the SRv6 policy, that is, the primary path in the SRv6 policy is switched. If the minimum available bandwidth of the first forwarding path is greater than or equal to the actual bandwidth corresponding to the service traffic, the current primary path of the SRv6 policy, that is, the first forwarding path, is retained.
[0148] In one embodiment, switching the primary path in the SRv6 policy includes:
[0149] If a second forwarding path exists in the SRv6 policy, switching 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,
[0150] When the second forwarding path does not exist in the SRv6 policy, a first request is sent to the controller; the first request is used to request forwarding path reoptimization.
[0151] Here, when executing the switching of the main path of the SRv6 policy, the minimum available bandwidth values of all SLs of each backup candidate path are obtained and summed. If there is any backup candidate path whose sum result is greater than the corresponding set bandwidth or the actual bandwidth corresponding to the business flow, the backup candidate path is switched to the main path of the SRv6 policy. In actual application, 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 business flow is found, and then the switching of the main path can be executed. In addition, if there is no backup candidate path whose sum result is greater than the corresponding set bandwidth or the actual bandwidth corresponding to the business flow, the first node reports the situation to the controller, and the controller re-executes the path optimization.
[0152] In addition, the above-mentioned determination of whether the SRv6 policy switches the primary path can also be completed by the controller, and then the controller directly sends the path switching instruction to the first node, and the first node forwards the IPv6 data packet based on the switched primary path. Here, the method also includes:
[0153] Receive a first instruction sent by the controller.
[0154] The first instruction is used to instruct switching of the primary path of the SRv6 policy.
[0155] Here, the path that the controller instructs to switch may be a backup candidate path in the original SRv6 policy, or a path in the SRv6 policy adjusted by the controller.
[0156] Based on the above solution, 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 enabling timely adjustment of the SRv6 TE policy and ensuring data transmission efficiency.
[0157] In order to implement the data transmission method on the first node side of the embodiment of the present application, the embodiment of the present application further provides a data transmission device, which is provided on the first node. As shown in FIG7 , the device includes:
[0158] The first sending unit 701 is configured to send a first IPv6 data packet; wherein,
[0159] The first IPv6 data packet includes 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 strategy; the first node is the head node of the first forwarding path.
[0160] In one embodiment, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in a TLV of the SRH of the first IPv6 data packet.
[0161] In one embodiment, the first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
[0162] In one embodiment, the first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
[0163] In one embodiment, the apparatus further comprises:
[0164] The first writing unit is configured to write the available bandwidth of the first node into the first field before sending the first IPv6 data packet.
[0165] In one embodiment, the apparatus further comprises:
[0166] A third receiving unit is configured to receive first information, wherein the first information represents the minimum available bandwidth of the first forwarding path fed back by a third node, and the third node represents an egress node of the first forwarding path;
[0167] A determining unit is configured to determine whether to switch a primary path in the SRv6 policy based on the first information.
[0168] In one embodiment, the determining unit is configured to:
[0169] When the minimum available bandwidth of the first forwarding path represented by the first information is less than the 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 business traffic, the primary path in the SRv6 policy is switched.
[0170] In one embodiment, the apparatus further comprises:
[0171] a switching unit, configured to, if 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,
[0172] The second sending unit is configured to send a first request to the controller when the second forwarding path does not exist in the SRv6 policy; the first request is used to request forwarding path reoptimization.
[0173] In one embodiment, the apparatus further comprises:
[0174] The fourth receiving unit is used to receive the first instruction sent by the controller; wherein,
[0175] The first instruction is used to instruct to switch the primary path of the SRv6 policy from the first forwarding path to the second forwarding path.
[0176] In actual application, 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 determination unit, the first writing unit and the switching unit can be implemented by the processor in the data transmission device.
[0177] In order to implement the data transmission method on the second node side of the embodiment of the present application, the embodiment of the present application further provides a data transmission device, which is provided on the second node. As shown in FIG8 , the device includes:
[0178] The first receiving unit 801 is configured to receive a first IPv6 data packet; wherein,
[0179] The first IPv6 data packet includes 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 strategy; the second node is an intermediate node of the first forwarding path.
[0180] In one embodiment, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in a TLV of the SRH of the first IPv6 data packet.
[0181] In one embodiment, the first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
[0182] In one embodiment, the first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
[0183] In one embodiment, the apparatus further comprises:
[0184] The third sending unit is configured to forward the first IPv6 data packet; wherein,
[0185] The device further comprises:
[0186] a comparing unit, 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, to obtain a comparison result;
[0187] The second writing unit is configured to write the available bandwidth of the second node into the first field 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.
[0188] In actual application, the first receiving unit 801 and the third sending unit can be implemented by a communication interface in the data transmission device; the comparing unit and the second writing unit can be implemented by a processor in the data transmission device.
[0189] In order to implement the data transmission method on the third node side of the embodiment of the present application, the embodiment of the present application further provides a data transmission device, which is provided on the third node. As shown in FIG9 , the device includes:
[0190] The second receiving unit 901 is configured to receive a first IPv6 data packet; wherein,
[0191] The first IPv6 data packet includes 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 strategy; the third node is the egress node of the first forwarding path.
[0192] In one embodiment, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in a TLV of the SRH of the first IPv6 data packet.
[0193] In one embodiment, the first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
[0194] In one embodiment, the first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
[0195] In one embodiment, the apparatus further comprises:
[0196] The fourth sending unit is used to send the first information; wherein,
[0197] When 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; when 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.
[0198] In one embodiment, the fourth sending unit is configured to:
[0199] sending the first information to a controller; and / or,
[0200] Send a second IPv6 data packet to the first node; the second IPv6 data packet carries the first information.
[0201] In one embodiment, the second IPv6 data packet is characterized as a performance measurement response message of one or more of the following protocols:
[0202] STAMP, TWAMP, TWAMP Light, Ping, and Traceroute.
[0203] In actual application, the second receiving unit 901 and the fourth sending unit can be implemented by a communication interface in a data transmission device.
[0204] It should be noted that the data transmission device provided in the above embodiment is only illustrated by the division of the above-mentioned program modules when performing data transmission. In actual applications, the above-mentioned 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 above-mentioned processing. In addition, the data transmission device provided in the above embodiment and the data transmission method embodiment are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0205] Based on the hardware implementation of the above program modules, and in order to implement the method on the first node side of the embodiment of the present application, the embodiment of the present application further provides a first node, as shown in FIG10 , where the first node 1000 includes:
[0206] The first communication interface 1001 is capable of exchanging information with other network nodes;
[0207] The first processor 1002 is connected to the first communication interface 1001 to implement information exchange with other network nodes and is used to execute the methods provided by one or more technical solutions on the first node side when running a computer program. The computer program is stored in the first memory 1003.
[0208] Specifically, the first communication interface 1001 is used to send a first IPv6 data packet; wherein,
[0209] The first IPv6 data packet includes 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 strategy; the first node is the head node of the first forwarding path.
[0210] In one embodiment, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in a TLV of the SRH of the first IPv6 data packet.
[0211] In one embodiment, the first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
[0212] In one embodiment, the first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
[0213] 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.
[0214] 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 a third node; the third node represents an egress node of the first forwarding path;
[0215] The first processor 1002 is configured to determine whether to switch a primary path in the SRv6 policy based on the first information.
[0216] 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 a bandwidth required by service traffic.
[0217] In one embodiment, the first processor 1002 is configured to, if 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,
[0218] The first communication interface 1001 is used to send a first request to the controller when the second forwarding path does not exist in the SRv6 policy; the first request is used to request forwarding path reoptimization.
[0219] In one embodiment, the first communication interface 1001 is further configured to receive a first instruction sent by the controller;
[0220] The first instruction is used to instruct to switch the primary path of the SRv6 policy from the first forwarding path to the second forwarding path.
[0221] It should be noted that the specific processing process of the first processor 1002 and the first communication interface 1001 can be understood by referring to the above method.
[0222] Of course, in actual applications, the various components in the first node 1000 are coupled together via a bus system 1004. It will be appreciated that the bus system 1004 is used to implement connections and communications between these components. In addition to a data bus, the bus system 1004 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in FIG10 , all of these buses are labeled as the bus system 1004.
[0223] The first memory 1003 in the embodiment of the present application 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.
[0224] The methods disclosed in the above embodiments of the present 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. During implementation, each step of the above method can be completed by an integrated logic circuit of the hardware in the first processor 1002 or by instructions in the form of software. The above 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 various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium located in the first memory 1003. The first processor 1002 reads the information in the first memory 1003 and completes the steps of the above method in combination with its hardware.
[0225] In an exemplary embodiment, the first node 1000 can 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 execute the aforementioned method.
[0226] Based on the hardware implementation of the above program modules, and in order to implement the method on the second node side of the embodiment of the present application, the embodiment of the present application further provides a second node, as shown in FIG11 , the second node 1100 includes:
[0227] The second communication interface 1101 is capable of exchanging information with other network nodes;
[0228] The second processor 1102 is connected to the second communication interface 1101 to implement information exchange with other network nodes and is used to execute the methods provided by one or more technical solutions on the second node side when running a computer program. The computer program is stored in the second memory 1103.
[0229] Specifically, the second communication interface 1101 is used to receive a first IPv6 data packet; wherein,
[0230] The first IPv6 data packet includes 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 strategy; the second node is an intermediate node of the first forwarding path.
[0231] In one embodiment, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in a TLV of the SRH of the first IPv6 data packet.
[0232] In one embodiment, the first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
[0233] In one embodiment, the first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
[0234] In one embodiment, the second communication interface 1101 is further configured to forward the first IPv6 data packet;
[0235] 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 to obtain a comparison result before the third sending unit forwards the first IPv6 data packet; and write the available bandwidth of the second node into the first field 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.
[0236] 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.
[0237] Of course, in actual applications, the various components in second node 1100 are coupled together via bus system 1104. It will be appreciated that bus system 1104 is used to enable communication between these components. In addition to a data bus, bus system 1104 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in FIG11 , all of these buses are labeled as bus system 1104.
[0238] The second memory 1103 in the embodiment of the present application 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.
[0239] The methods disclosed in the above embodiments of the present application can be applied to or implemented by the second processor 1102. The second processor 1102 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits or software instructions in the second processor 1102. The above second processor 1102 may be a general-purpose processor, a DSP, or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, etc. The second processor 1102 can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium located in the second memory 1103. The second processor 1102 reads the information in the second memory 1103 and, in conjunction with its hardware, completes the steps of the above method.
[0240] 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 methods.
[0241] Based on the hardware implementation of the above program modules, and in order to implement the method on the third node side of the embodiment of the present application, the embodiment of the present application further provides a third node, as shown in FIG12 , the third node 1200 includes:
[0242] The third communication interface 1201 is capable of exchanging information with other network nodes;
[0243] The third processor 1202 is connected to the third communication interface 1201 to implement information exchange with other network nodes and is used to execute the methods provided by one or more technical solutions on the third node side when running a computer program. The computer program is stored in the third memory 1203.
[0244] Specifically, the third communication interface 1201 is used to receive a first IPv6 data packet; wherein,
[0245] The first IPv6 data packet includes 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 strategy; the third node is the egress node of the first forwarding path.
[0246] In one embodiment, the first IPv6 data packet is forwarded via SRv6; correspondingly, the first field is encapsulated in a TLV of the SRH of the first IPv6 data packet.
[0247] In one embodiment, the first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
[0248] In one embodiment, the first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
[0249] In one embodiment, the third communication interface 1201 is further used to send the first information; wherein,
[0250] When the available bandwidth of the third node is less than the minimum available bandwidth indicated by the first field, the first information is the minimum available bandwidth of the third node; when 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.
[0251] In one embodiment, the third communication interface 1201 is further configured to send the first information to the controller; and / or,
[0252] Send a second IPv6 data packet to the first node; the second IPv6 data packet carries the first information.
[0253] In one embodiment, the second IPv6 data packet is characterized as a performance measurement response message of one or more of the following protocols:
[0254] STAMP, TWAMP, TWAMP Light, Ping, and Traceroute.
[0255] Of course, in actual applications, the various components in third node 1200 are coupled together via bus system 1204. It will be appreciated that bus system 1204 is used to enable communication between these components. In addition to a data bus, bus system 1204 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in FIG12 , all of these buses are labeled as bus system 1204.
[0256] The third memory 1203 in the embodiment of the present application 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.
[0257] The methods disclosed in the above embodiments of the present 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 hardware integrated logic circuits or software instructions in the third processor 1202. The third processor 1202 may be a general-purpose processor, a DSP, or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, etc. The third processor 1202 can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium located in the third memory 1203. The third processor 1202 reads the information in the third memory 1203 and, in conjunction with its hardware, completes the steps of the above method.
[0258] 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 methods.
[0259] It can be understood that the memory (first memory 1003, second memory 1103, third memory 1203) of the embodiment of the present application can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a magnetic disk memory or a tape memory. The volatile memory can be a random access memory (RAM), which is used as an external cache.By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), 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), synchronized dynamic random access memory (SLDRAM), and direct rambus random access memory (DRRAM). The memory described in the embodiments of the present application is intended to include, but is not limited to, these and any other suitable types of memory.
[0260] In an exemplary embodiment, the embodiment of the present application further provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, for example, including a first memory 1003 storing a computer program, and the computer program can be executed by the first processor 1002 of the first node 1000 to complete the steps of the aforementioned first node side method. For another example, including a second memory 1103 storing a computer program, the computer program can be executed by the second processor 1102 of the second node 1100 to complete the steps of the aforementioned second node side method. For another example, including a third memory 1203 storing a computer program, the computer program can be executed by the third processor 1202 of the third node 1200 to complete the steps of the aforementioned third node side method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface storage, optical disk, or CD-ROM.
[0261] Illustratively, an embodiment of the present application further provides a computer program product, including a computer program, wherein the computer program can be executed by the first processor 1002 of the first node 1000 to complete the steps of the aforementioned first node-side method. Alternatively, the computer program can be executed by the second processor 1102 of the second node 1100 to complete the steps of the aforementioned second node-side method. Alternatively, the computer program can be executed by the third processor 1202 of the third node 1200 to complete the steps of the aforementioned third node-side method.
[0262] It should be noted that: "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0263] The term "and / or" herein simply describes an association relationship between associated objects, indicating that three relationships can exist. For example, "A and / or B" can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the term "one or more" herein refers to any combination of at least two of any one or more of a plurality. For example, "including at least one of A, B, and C" can represent any one or more elements selected from the set consisting of A, B, and C.
[0264] In addition, the technical solutions described in the embodiments of the present application can be arbitrarily combined without conflict.
[0265] The above description is merely a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application.
Claims
1. A data transmission method, performed by a first node, comprising: 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 the first forwarding path; the first forwarding path represents the main path in the SRv6 strategy; the first node is the head node of the first forwarding path.
2. The method according to claim 1, wherein 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.
3. The method according to claim 1, wherein The first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
4. The method according to claim 3, wherein: The first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
5. The method according to claim 1, wherein Before sending the first IPv6 data packet, the method further includes: The available bandwidth of the first node is written into the first field.
6. The method according to any one of claims 1 to 5, wherein: The method further comprises: receiving first information; the first information representing the minimum available bandwidth of the first forwarding path fed back by a third node; the third node representing the egress node of the first forwarding path; Based on the first information, it is determined whether to switch the primary path in the SRv6 policy.
7. The method according to claim 6, wherein: Determining whether to switch a primary path in the SRv6 policy based on the first information includes: When the minimum available bandwidth of the first forwarding path represented by the first information is less than the 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 business traffic, the primary path in the SRv6 policy is switched.
8. The method according to claim 7, wherein: The switching of the primary path in the SRv6 policy includes: If a second forwarding path exists in the SRv6 policy, switching 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, When the second forwarding path does not exist in the SRv6 policy, a first request is sent to the controller; the first request is used to request forwarding path reoptimization.
9. The method according to any one of claims 1 to 5, wherein: The method further comprises: Receive a first instruction sent by the controller; wherein, The first instruction is used to instruct switching of the primary path of the SRv6 policy.
10. A data transmission method, performed by a second node, comprising: Receive 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 the first forwarding path; the first forwarding path represents the main path in the SRv6 strategy; the second node is an intermediate node of the first forwarding path.
11. The method according to claim 10, wherein: 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.
12. The method according to claim 10, wherein: The first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
13. The method according to claim 12, wherein: The first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
14. The method according to any one of claims 10 to 13, wherein: The method further comprises: forwarding the first IPv6 data packet; wherein, Before forwarding the first IPv6 data packet, the method further includes: Compare the minimum available bandwidth indicated by the first field with the available bandwidth of the second node to 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.
15. A data transmission method, performed by a third node, comprising: Receive 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 the first forwarding path; the first forwarding path represents the main path in the SRv6 strategy; the third node is the egress node of the first forwarding path.
16. The method according to claim 15, wherein 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.
17. The method according to claim 15, wherein: The first IPv6 data packet is used for performance measurement; correspondingly, the first field is encapsulated in an IPv6 extension header of the first IPv6 data packet.
18. The method according to claim 17, wherein The first field is encapsulated in a hop-by-hop options header or a destination options header of the IPv6 extension header.
19. The method according to any one of claims 15 to 18, wherein: The method further comprises: Sending a first message; wherein, When 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; when 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.
20. The method according to claim 19, wherein The sending of the first information includes: sending the first information to a controller; and / or, Send a second IPv6 data packet to the first node; the second IPv6 data packet carries the first information.
21. The method according to claim 20, wherein The second IPv6 data packet is characterized as a performance measurement response message of one or more of the following protocols: STAMP, TWAMP, TWAMP Light, Ping, and Traceroute.
22. A data transmission device, comprising: The first sending unit is configured to send 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 the first forwarding path; the first forwarding path represents the main path in the SRv6 strategy; the first node is the head node of the first forwarding path.
23. A data transmission device, comprising: The first receiving unit is configured to receive a first IPv6 data packet: The first IPv6 data packet includes 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 strategy; the second node is an intermediate node of the first forwarding path.
24. A data transmission device, comprising: The second receiving unit is configured to receive a first IPv6 data packet: The first IPv6 data packet includes 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 strategy; the third node is the egress node of the first forwarding path.
25. A first node, comprising: 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 includes 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 strategy; the first node is the head node of the first forwarding path.
26. A second node, comprising: A second processor and a second communication interface; wherein, The second communication interface is used to receive 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 the first forwarding path; the first forwarding path represents the main path in the SRv6 strategy; the second node is an intermediate node of the first forwarding path.
27. A third node, comprising: The third communication interface is used to receive the 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 the first forwarding path; the first forwarding path represents the main path in the SRv6 strategy; the third node is the egress node of the first forwarding path.
28. A node comprising: a processor and a memory for storing a computer program capable of being executed on the processor, When the processor is used to run the computer program, it executes the steps of the method described in any one of claims 1 to 9, or executes the steps of the method described in any one of claims 10 to 14, or executes the steps of the method described in any one of claims 15 to 21.
29. A storage medium having a computer program stored thereon, wherein: When the computer program is executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 9, or the steps of the method according to any one of claims 10 to 14, or the steps of the method according to any one of claims 15 to 21.
30. A computer program product comprising a computer program, wherein When the computer program is executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 9, or the steps of the method according to any one of claims 10 to 14, or the steps of the method according to any one of claims 15 to 21.
Citation Information
Patent Citations
Bandwidth resource saving method
CN101360046A
Determining method and device of congestion window in network
CN105099938A
SRv6 path quality measurement method and device, electronic equipment and storage medium
CN112491926A
Data center congestion control method and system based on path switching perception
CN114679408A
Data transmission method and device, node, storage medium and computer program product
CN118827526A