Communication methods and apparatus
Patent Information
- Application Number
- PCT/CN2025/106149
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-19
- Filing Date
- 2025-06-30
- Publication Date
- 2026-01-22
AI Technical Summary
In IPv6 communication, how can we improve transmission efficiency and reduce transmission costs, especially addressing the issue of insufficient resource utilization in IPv6 packet headers?
By carrying data for detecting the transmission status of a data stream and/or indicating the transmission path corresponding to the data stream in the hop limit field of the IPv6 message, including dividing the hop limit field into two subfields, the first subfield carrying hop limit information and the second subfield carrying a first value, the value of the hop limit field is used for multi-path routing and transmission status detection.
It improves transmission efficiency and reduces transmission costs by detecting packet loss rate during the coloring cycle and selecting the optimal transmission path, thus optimizing the transmission process of IPv6 packets.
Smart Images

Figure CN2025106149_22012026_PF_FP_ABST
Abstract
Description
Communication method and apparatus
[0001] This application claims priority to the Chinese Patent Application No. 202410978291.5, filed on July 19, 2024, and entitled "Communication method and apparatus", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] The present application relates to the field of communication technology, and in particular to a communication method and apparatus. BACKGROUND
[0003] At present, the Internet Protocol version 6 (IPv6) has been widely used in Internet communication. Compared with IPv4, IPv6 has the advantages of more simplified packet header format, more sufficient address space, more optimized address structure, and more flexible extension header. However, due to the short development time of IPv6, there are still many contents that need to be optimized.
[0004] Therefore, in the process of communication using IPv6, how to improve the transmission efficiency and reduce the transmission cost is a problem to be solved at present. SUMMARY
[0005] The present application provides a communication method and apparatus for improving transmission efficiency and reducing transmission cost.
[0006] In a first aspect, a communication method is provided, the method comprising: generating an Internet Protocol version 6 (IPv6) packet corresponding to a data flow; the hop limit field of the IPv6 packet carrying a first value, the first value being used for detecting the transmission state of the data flow, and / or the first value being used for indicating the transmission path corresponding to the data flow; and sending the IPv6 packet.
[0007] In the method, the first data for detecting the transmission state of the data flow and / or the data for indicating the transmission path corresponding to the data flow are carried in the hop limit field of the IPv6 packet. In this way, on the one hand, when the first data is used for detecting the transmission state of the data flow (i.e., the data for detecting the transmission state of the data flow is carried in the hop limit field of the IPv6 packet), the receiving end can detect the transmission state of the data flow by using the first data carried in the hop limit field of the IPv6 packet after the sending end sends the IPv6 packet to the receiving end. For example, the first data can be the coloring information of the packet, and the receiving end can determine the coloring identifier corresponding to the IPv6 packet by using the first data, and further determine the coloring period to which the IPv6 packet belongs, so as to calculate the packet loss rate and other information of the coloring period. On the other hand, when the first data is used for indicating the transmission path corresponding to the data flow (i.e., the data for indicating the transmission path corresponding to the data flow is carried in the hop limit field of the IPv6 packet), when the sending end sends the IPv6 packet to the transmission node in the transmission network, the transmission node can determine the transmission path corresponding to the IPv6 packet from a plurality of transmission paths according to the first data carried in the hop limit field of the IPv6 packet, and forward the IPv6 packet. In this way, the transmission efficiency can be improved and the transmission cost can be reduced.
[0008] In an implementation manner, the hop limit field includes a first subfield and a second subfield; the first subfield is used to carry the hop limit information, and the second subfield is used to carry the first value.
[0009] In the implementation manner, the hop limit field is divided into two subfields, the first subfield is used to carry the hop limit information, and the second subfield is used to carry the first value. In this way, the first value can be transmitted through the hop limit field while ensuring the normal transmission of the hop limit information.
[0010] In an implementation manner, the value of the hop limit field is determined according to the product of the hop limit threshold of the IPv6 packet and the first value.
[0011] Through the implementation manner, the number of types of the first value carried by the hop limit field can be increased.
[0012] In an implementation manner, the first value is used to detect the transmission state of the data flow, and the first value is used to indicate the coloring identifier corresponding to the IPv6 packet.
[0013] In an implementation, the first value is used to indicate a transmission path corresponding to the data flow, including: the first value is used to indicate that the transmission path corresponding to the data flow is determined in equal cost multi-path routing (ECMP).
[0014] In a second aspect, a communication method is provided, including: receiving an Internet Protocol version 6 (IPv6) packet corresponding to a data flow; a first value is carried in a hop limit field of the IPv6 packet; and detecting a transmission state of the data flow according to the first value.
[0015] In an implementation, the hop limit field includes a first sub-field and a second sub-field; the first sub-field is used to carry hop limit information, and the second sub-field is used to carry the first value.
[0016] In an implementation, a value of the hop limit field is determined according to a product of a hop limit threshold of the IPv6 packet and the first value.
[0017] In an implementation, the first value is used to indicate a coloring identifier corresponding to the IPv6 packet.
[0018] In an implementation, the detecting the transmission state of the data flow according to the first value includes: determining a coloring period corresponding to the IPv6 packet according to the first value; and determining a packet loss rate of the data flow in the coloring period.
[0019] In a third aspect, a communication method is provided, including: receiving an Internet Protocol version 6 (IPv6) packet corresponding to a data flow; a first value is carried in a hop limit field of the IPv6 packet, and the first value is used to indicate a transmission path corresponding to the data flow; determining a target transmission path from a plurality of transmission paths according to the first value; and sending the IPv6 packet to a next hop node corresponding to the target transmission path.
[0020] In a fourth aspect, a communication apparatus is provided, including: a processing unit configured to generate an Internet Protocol version 6 (IPv6) packet corresponding to a data flow; a first value is carried in a hop limit field of the IPv6 packet, and the first value is used to detect a transmission state of the data flow and / or used to indicate a transmission path corresponding to the data flow; and a communication unit configured to send the IPv6 packet.
[0021] In an implementation, the hop limit field includes a first sub-field and a second sub-field; the first sub-field is used to carry hop limit information, and the second sub-field is used to carry the first value.
[0022] In an implementation, the value of the hop limit field is determined according to a product of a hop limit threshold of the IPv6 packet and the first value.
[0023] In an implementation, the first value is used for detecting a transmission state of the data flow, including that the first value is used for indicating a coloring identifier corresponding to the IPv6 packet.
[0024] In an implementation, the first value is used for indicating a transmission path corresponding to the data flow, including that the first value is used for indicating that the transmission path corresponding to the data flow is determined in equal cost multi-path routing (ECMP).
[0025] In a fifth aspect, a communication apparatus is provided, including: a communication unit configured to receive an IPv6 packet corresponding to a data flow, the hop limit field of the IPv6 packet carrying a first value; and a processing unit configured to detect a transmission state of the data flow according to the first value.
[0026] In an implementation, the hop limit field includes a first sub-field and a second sub-field, the first sub-field being configured to carry hop limit information, and the second sub-field being configured to carry the first value.
[0027] In an implementation, the value of the hop limit field is determined according to a product of a hop limit threshold of the IPv6 packet and the first value.
[0028] In an implementation, the first value is used for indicating a coloring identifier corresponding to the IPv6 packet.
[0029] In an implementation, the processing unit is configured to detect the transmission state of the data flow according to the first value, including that the processing unit is specifically configured to determine a coloring period corresponding to the IPv6 packet according to the first value, and the processing unit is specifically configured to determine a packet loss rate of the data flow within the coloring period.
[0030] In a sixth aspect, a communication apparatus is provided, including: a communication unit configured to receive an IPv6 packet corresponding to a data flow, the hop limit field of the IPv6 packet carrying a first value, the first value being used for indicating a transmission path corresponding to the data flow; and a processing unit configured to determine a target transmission path from a plurality of transmission paths according to the first value. The communication unit is further configured to send the IPv6 packet to a next hop node corresponding to the target transmission path.
[0031] In a seventh aspect, a data reading apparatus is provided, comprising a processor and an interface, the processor receiving or sending data through the interface, the processor being configured to implement the method provided in the first aspect or any implementation manner of the first aspect, or the processor being configured to implement the method provided in the second aspect or any implementation manner of the second aspect, or the processor being configured to implement the method provided in the third aspect or any implementation manner of the third aspect.
[0032] In an eighth aspect, a computer readable storage medium is provided, the computer readable storage medium storing instructions, when the instructions are executed on a processor, implementing the method provided in the first aspect or any implementation manner of the first aspect, or implementing the method provided in the second aspect or any implementation manner of the second aspect, or implementing the method provided in the third aspect or any implementation manner of the third aspect.
[0033] In a ninth aspect, a computer program product is provided, the computer program product comprising instructions, when the instructions are executed on a processor, implementing the method provided in the first aspect or any implementation manner of the first aspect, or implementing the method provided in the second aspect or any implementation manner of the second aspect, or implementing the method provided in the third aspect or any implementation manner of the third aspect. BRIEF DESCRIPTION OF DRAWINGS
[0034] FIG. 1 is a structural schematic diagram of a transmission network provided by an embodiment of the present application;
[0035] FIG. 2 is a flowchart of a sending packet provided by an embodiment of the present application;
[0036] FIG. 3 is a structural schematic diagram of an IPv6 packet provided by an embodiment of the present application;
[0037] FIG. 4 is a flowchart of a communication method provided by an embodiment of the present application;
[0038] FIG. 5 is a structural schematic diagram of a hop limit field provided by an embodiment of the present application;
[0039] FIG. 6 is a flowchart of a communication method provided by an embodiment of the present application;
[0040] FIG. 7 is a structural schematic diagram of a communication apparatus provided by an embodiment of the present application;
[0041] FIG. 8 is a structural schematic diagram of a communication apparatus provided by an embodiment of the present application. DETAILED DESCRIPTION
[0042] The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.
[0043] To facilitate understanding of the technical solutions provided by the embodiments of the present application, first, the application scenarios of the embodiments of the present application are introduced.
[0044] As shown in FIG. 1, it is a schematic diagram of a transmission network structure provided by the embodiments of the present application. In the transmission network 10 shown in FIG. 1, it includes a sending end 111 and a receiving end 112. Among them, the sending end 111 and the receiving end 112 can interact with each other through the transmission nodes in the transmission network (for example, transmission nodes 121-125 in FIG. 1 are used for illustration). For example, the sending end 111 and the receiving end 112 in FIG. 1 can interact with each other through any transmission path in the three transmission paths (i.e. path 1, path 2 and path 3). It should be noted that FIG. 1 only exemplarily provides a structure of a transmission network, and in actual application process, the transmission network can adopt a more complex or simple topology structure, and the embodiments of the present application can not be limited to this.
[0045] Among them, in actual application process, the sending end 111 and the receiving end 112 can be a switch, a router, a virtual switch, a base station device, a desktop computer, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer, a netbook, and a cellular phone, a personal digital assistant, an augmented reality / virtual reality device and other hardware devices, or the sending end 111 and the receiving end 112 can be a software module running in the above hardware devices. In addition, the functions of each transmission node in the transmission network can be realized by a switch, a router or a programmable network card and the like. The specific form of the sending end 111, the receiving end 112 and the transmission node can not be limited in the embodiments of the present application.
[0046] Next, taking the transmission network 10 shown in FIG. 1 as an example, the related technologies involved in the embodiments of the present application are introduced:
[0047] First, the maintenance and measurement technology (i.e. maintenance and measurement technology) in the related technology is introduced. Specifically, when transmitting a data stream between the sending end 111 and the receiving end 112, in order to ensure the transmission effect, it is often necessary to detect the transmission state of the data stream. For example, detecting the transmission state of the data stream can specifically include: detecting the transmission packet loss rate, transmission delay and transmission bandwidth and other information of the data stream. This requires carrying information for detecting the transmission state of the data stream in the packet.
[0048] For example, in the packet coloring based maintenance process, the packet can be colored to facilitate the detection of the packet loss rate and other information of the data flow. It can be understood that in the packet coloring, the packet of different colors can be understood as the packet marked with different coloring information, rather than physically coloring the packet. For example, in the related art, the coloring information can be carried in the option field of the packet header or the extended packet header to indicate the color corresponding to the packet.
[0049] Specifically, in the packet coloring based maintenance process, the packet can be periodically colored at the sending end. As shown in FIG. 2, the sending end 111 can periodically color the packet into two colors (in FIG. 2, the green packet is represented by shading and the red packet is represented by blank). After receiving the colored packet, the receiving end 112 can use the coloring information of the packet to calculate the packet loss rate and other information.
[0050] For example, taking 100 ms as a coloring period, when the receiving end 112 calculates the packet loss rate using the green packet, the receiving end 112 can appropriately expand the collection time period on the basis of the coloring period of the green packet, for example, the receiving end 112 collects the number of green packets within 150 ms (including 100 ms corresponding to the green packet). Then, the number of collected green packets is divided by the total number of packets in the coloring period of the green packet, and the packet loss rate is obtained.
[0051] Compared with the scheme without coloring the packet, the packet coloring based maintenance process can reduce the influence of packet disorder on the detection result. However, in order to color the packet, the coloring information needs to be carried in the option field of the packet header or the extended packet header in the related art, which can increase the length of the packet header and reduce the effective bandwidth of the service.
[0052] The following describes a multi-path selection scheme in the related art. Specifically, when transmitting a data stream between the sending end 111 and the receiving end 112, there can be multiple paths between the sending end 111 and the receiving end 112, for example, as shown in FIG. 1, when the data stream passes between the transmission node 121 and the transmission node 123, there are three transmission paths (i.e., path 1, path 2, and path 3) to choose from. In the related art, in order to balance the load of multiple paths, a suitable field combination is selected from the media access control (MAC) header, internet protocol (IP) header, transmission control protocol (TCP) / User Datagram Protocol (UDP) header, and other message fields in the message for hash operation, and then the transmission path is determined according to the operation result.
[0053] In the multi-path selection scheme in the related art, the message needs to be deeply parsed and the specific protocol type (such as TCP / UDP, etc.) needs to be identified, and then the field combination in the message is extracted for hash operation. For example, in a message using general packet radio service (GPRS) tunneling protocol user plane (GTP-U) protocol, since the UDP port number is the same, the GTP-U layer needs to be deeply parsed, and then the field for hash operation can be extracted. Alternatively, the TEID field of the GTP-U message can be copied to the flowlabel field of the outer IP message header, and then the field for hash operation can be extracted in the flowlabel field. As can be seen, in the multi-path selection scheme in the related art, either the message needs to be deeply parsed to extract the field for hash operation, or the required field needs to be copied to the field of the outer message header in advance, and then the outer message header can be used for multi-path selection.
[0054] Based on the above related technologies, in the embodiments of the present application, it is considered that: on the one hand, in the related technologies, the hop limit field is included in the message header of the IPv6 message, which defines the maximum number of hops (i.e. the number of transmission nodes) that the message can pass through in the network, and the value is reduced by 1 after passing through each transmission node. In the related technologies, the data packet can be discarded when the hop limit field is reduced to 0, thereby preventing the unnecessary consumption of bandwidth and computing resources in the network caused by the routing loop. On the other hand, in the embodiments of the present application, it is found that in actual application, the maximum number of hops that the message can pass through in the network is often not too large, and the hop limit field in the IPv6 message occupies 8 bits. That is, using the 8-bit hop limit field to carry the maximum number of hops that the message can pass through in the network may have the problem of insufficient resource utilization.
[0055] Therefore, in the embodiments of the present application, a communication method is provided, in which, as shown in FIG. 3, the first data (hereinafter referred to as "first data") for detecting the transmission state of the data stream and / or for indicating the transmission path corresponding to the data stream is carried in the hop limit field of the IPv6 message.
[0056] In this way, on the one hand, in the case where the first data is used to detect the transmission state of the data stream (i.e. in the case where the data for detecting the transmission state of the data stream is carried in the hop limit field of the IPv6 message), after the sending end sends the IPv6 message to the receiving end, the receiving end can use the first data carried in the hop limit field of the IPv6 message to detect the transmission state of the data stream. For example, the first data can be the coloring information of the message, and the receiving end can use the first data to determine the coloring identifier corresponding to the IPv6 message, and further determine the coloring period to which the IPv6 message belongs, so as to calculate the packet loss rate and other information of the coloring period. On the other hand, in the case where the first data is used to indicate the transmission path corresponding to the data stream (i.e. in the case where the data for indicating the transmission path corresponding to the data stream is carried in the hop limit field of the IPv6 message), when the sending end sends the IPv6 message to the transmission node in the transmission network, the transmission node can determine the transmission path corresponding to the IPv6 message from the multiple transmission paths according to the first data carried in the hop limit field of the IPv6 message, and forward the IPv6 message. In this way, the purpose of improving transmission efficiency and reducing transmission cost can be achieved.
[0057] The following takes the sending end 111 sending a data stream to the receiving end 112 in FIG. 1 as an example to introduce the communication method provided by the embodiment of the application. Specifically, in the case where the first data is used to detect the transmission state of the data stream (i.e. in the case where the hop limit field of the IPv6 message carries data used to detect the transmission state of the data stream), the method can include the following steps, as shown in FIG. 4:
[0058] S201, the sending end 111 generates an IPv6 message corresponding to the data stream.
[0059] The data stream can be any one of the data streams sent by the sending end 111 to the receiving end 112.
[0060] The hop limit field of the IPv6 message carries a first value, and the first value is used to detect the transmission state of the data stream.
[0061] In an implementation manner, when the embodiment of the application is applied to a message coloring scheme, the first value can be used to indicate the coloring identifier corresponding to the IPv6 message. For example, when the first value is 1, the IPv6 message is a green message; when the first value is 0, the IPv6 message is a red message.
[0062] In addition, the first value can also be other information used to detect the transmission state of the data stream. For example, the first value can be used to indicate the statistics of the number of discarded / arrived packets, the statistics of the number of discarded / arrived bytes, the loss rate, the arrival rate, the retransmission, the disorder, the discarded / arrived time, the one-way / two-way delay, the packet gap, the jitter, the sending / arrived time, the packet rate, the byte rate and other related information.
[0063] In addition, in an implementation manner, as shown in FIG. 5, the hop limit field of the IPv6 message can include two subfields (hereinafter referred to as “first subfield” and “second subfield”).
[0064] The first subfield is used to carry hop limit information. For example, the maximum number of hops that the message can pass through in the network is carried in the first subfield. For example, assuming that the maximum number of hops of the IPv6 message in the network is 10 hops, the value “10” is carried in the first subfield.
[0065] The second subfield is used to carry the first value. For example, the coloring information of the message or other information used to detect the transmission state of the data stream is carried in the second subfield.
[0066] It can be understood that in FIG. 5, the high bit on the left side of the hop limit field is exemplarily taken as the first subfield, and the low bit on the right side is taken as the second subfield. In actual application, the positions of the first subfield and the second subfield can also be set in other manners. For example, the low bit of the hop limit field can be taken as the first subfield, and the high bit can be taken as the second subfield; for another example, the middle bit of the hop limit field can be taken as the first subfield, and the bit on both sides can be taken as the second subfield. The positions of the first subfield and the second subfield can not be limited in the embodiments of the present application.
[0067] In another implementation manner, the value of the hop limit field of the IPv6 packet is determined according to the product of the hop limit threshold of the IPv6 packet and the first value.
[0068] In a possible design, the product of the hop limit threshold of the IPv6 packet and the first value can be taken as the value of the hop limit field.
[0069] For example, it is assumed that the hop limit threshold of the IPv6 packet is 10, that is, when the IPv6 packet has passed through 10 hops and still has not reached the receiving end, the IPv6 packet will be discarded. Since the length of the hop limit field is 8 bits (that is, 0-255 states can be represented), the first value can be 1-25, that is, the first value carried by the IPv6 packet can have 25 states.
[0070] Next, on one hand, when the IPv6 packet is transmitted on the transmission path, each transmission node will perform hop limit-- (that is, the value of the hop limit field is reduced by 1) after receiving the IPv6 packet.
[0071] On the other hand, when the IPv6 packet is transmitted to the receiving end 112, the receiving end 112 can determine the first value by the following formula (1).
[0072] In the formula (1), ceil is a rounding up operation, H represents the value of the hop limit field of the received IPv6 packet, and X represents the hop limit threshold of the IPv6 packet (X is 10 in the above example).
[0073] In the above design, the product of the hop limit threshold of the IPv6 packet and the first value is taken as the value of the hop limit field, so that more types of first values can be carried by the hop limit field.
[0074] For example, in the hop limit field, in the case of carrying the hop limit information by the first subfield and carrying the first value by the second subfield. If the hop limit threshold of the IPv6 packet is 10, in order to carry the decimal value "10", 4 bits are needed, that is, the first subfield needs at least 4 bits. At this time, the area left for the second subfield is at most 4 bits, that is, the first value has at most 16 states (i.e. binary number "0000"-"1111"). In the case of taking the product of the hop limit threshold of the IPv6 packet and the first value as the value of the hop limit field, the first value can have 25 states.
[0075] It can be understood that in the above design, the scheme of taking the product of the hop limit threshold of the IPv6 packet and the first value as the value of the hop limit field is mainly introduced. In actual application, the value of the hop limit field of the IPv6 packet can also be determined in other ways. For example, the product of the hop limit threshold and the first value can be added or subtracted by a preset value, and the result of adding or subtracting the preset value is taken as the value of the hop limit field of the IPv6 packet. That is, in the above implementation provided by the embodiments of the application, as long as the value of the hop limit field of the IPv6 packet is determined according to the product of the hop limit threshold of the IPv6 packet and the first value, the specific determination manner of the value of the hop limit field of the IPv6 packet can not be limited in the embodiments of the application.
[0076] S202, the sending end 111 sends the IPv6 packet.
[0077] Specifically, after the sending end 111 generates the IPv6 packet according to the process of S201, the sending end 111 can send the IPv6 packet to the next hop transmission node in the transmission network, so that the IPv6 packet is sent to the receiving end 112 through one or more transmission nodes in the transmission network.
[0078] Further, the method can further include:
[0079] S203, the receiving end 112 receives the IPv6 packet corresponding to the data stream.
[0080] It can be understood that the IPv6 packet received by the receiving end 112 can include the IPv6 packet sent by S202.
[0081] The first value is carried in the hop limit field of the IPv6 packet. As described above, the first value is used to detect the transmission state of the data stream.
[0082] Specifically, after receiving the IPv6 packet corresponding to the data stream at the receiving end 112, on one hand, user data can be read from the IPv6 packet for subsequent processing, and on the other hand, the transmission state of the data stream can be detected according to the first value in the IPv6 packet.
[0083] S204, the receiving end 112 detects the transmission state of the data stream according to the first value.
[0084] Specifically, on one hand, when the hop limit field of the IPv6 packet includes a first subfield for carrying hop limit information and a second subfield for carrying the first value, the receiving end 112 can determine the first value by reading the second subfield, and then detect the transmission state of the data stream according to the first value.
[0085] On the other hand, when the value of the hop limit field of the IPv6 packet is determined according to the product of the hop limit threshold of the IPv6 packet and the first value, for example, when the product of the hop limit threshold of the IPv6 packet and the first value is taken as the value of the hop limit field, after receiving the IPv6 packet, the receiving end 112 can first read the value of the hop limit field, and then determine the first value using the above formula (1): first value = ceil (H / X) formula (1)
[0086] Where ceil is the ceiling operation, H represents the value of the hop limit field of the received IPv6 packet, and X represents the hop limit threshold of the IPv6 packet.
[0087] In addition, in an implementation, when the first value is used to indicate the coloring identifier corresponding to the IPv6 packet, S204 can include:
[0088] S2041, the receiving end 112 determines the coloring period corresponding to the IPv6 packet according to the first value.
[0089] For example, if it is agreed in advance that when the first value in the IPv6 packet is 1, the IPv6 packet is a green packet; and when the first value in the IPv6 packet is 0, the IPv6 packet is a red packet. When the receiving end 112 reads the first value as 1, it is determined that the IPv6 packet is a green packet, that is, it is determined that the IPv6 packet corresponds to a green period; and when the receiving end 112 reads the first value as 0, it is determined that the IPv6 packet is a red packet, that is, it is determined that the IPv6 packet corresponds to a red period.
[0090] S2042, the receiving end 112 determines the packet loss rate of the data stream in the coloring period.
[0091] For example, after receiving a plurality of IPv6 packets of the data stream successively, the receiving end 112 can determine the coloring period corresponding to each IPv6 packet according to the manner of S2041, and then obtain the packet loss rate of the data stream in the coloring period by dividing the number of received packets in the coloring period by the number of sent packets in the coloring period (the number of sent packets in the coloring period can be sent by the sending end 111 to the receiving end 112 through a control frame).
[0092] The processes of S201-S204 shown in FIG. 4 are described by taking the first data in the hop limit field of the IPv6 packet as an example for detecting the transmission state of the data stream. In the following, the communication method provided by the embodiment of the application is described by taking the first data in the hop limit field of the IPv6 packet as an example for indicating the transmission path corresponding to the data stream. As shown in FIG. 6, the method can include:
[0093] S301, the sending end 111 generates an IPv6 packet corresponding to the data stream.
[0094] The data stream can be any one of the data streams sent by the sending end 111 to the receiving end 112.
[0095] The hop limit field of the IPv6 packet carries a first value, and the first value is used to indicate the transmission path corresponding to the data stream.
[0096] For example, the sending end 111 can perform a hash operation on the five-tuple information (i.e., the source address, the destination address, the source port number, the destination port number, and the protocol number) of the IPv6 packet, and then take the operation result as the first value. In this way, when a transmission node on the transmission path receives the IPv6 packet, the transmission node can determine the transmission path corresponding to the data stream from a plurality of transmission paths according to the first value, and then forward the IPv6 packet according to the determined transmission path.
[0097] In an implementation manner, as shown in FIG. 5, the hop limit field of the IPv6 packet can include two subfields (hereinafter referred to as a first subfield and a second subfield).
[0098] The first subfield is used to carry hop limit information. For example, the maximum number of hops that the packet can pass through in the network is carried in the first subfield. For example, assuming that the maximum number of hops of the IPv6 packet in the network is 10 hops, the value "10" is carried in the first subfield.
[0099] The second subfield is used to carry the first value. For example, the hash operation result of the quintuple information of the IPv6 packet or other information indicating the transmission path corresponding to the data flow is carried in the second subfield.
[0100] In another implementation, the value of the hop limit field of the IPv6 packet is determined according to the product of the hop limit threshold of the IPv6 packet and the first value. In a possible design, the product of the hop limit threshold of the IPv6 packet and the first value can be taken as the value of the hop limit field.
[0101] Specifically, the specific implementation process of the above implementation can refer to the specific implementation process in S201 above, and repeated content is not described herein.
[0102] S302, the sending end 111 sends the IPv6 packet.
[0103] Specifically, after the sending end 111 generates the IPv6 packet according to the process of S201 above, the IPv6 packet can be sent to the next hop transmission node in the transmission network, so that the IPv6 packet is sent to the receiving end 112 through one or more transmission nodes in the transmission network.
[0104] When the IPv6 packet is forwarded to the transmission node 121, the method can further include:
[0105] S303, the transmission node 121 receives the IPv6 packet corresponding to the data flow.
[0106] It can be understood that the IPv6 packet received by the transmission node 121 can include the IPv6 packet sent in S302 above.
[0107] S304, the transmission node 121 determines the target transmission path from the multiple transmission paths according to the first value.
[0108] For example, when the sending end 111 can perform the hash operation on the quintuple information (i.e., the source address, the destination address, the source port number, the destination port number, and the protocol number) of the IPv6 packet and take the operation result as the first value, the transmission node 121 can determine the target transmission path corresponding to the first value from the multiple transmission paths according to the first value.
[0109] S305, the transmission node 121 sends the IPv6 packet to the next hop node corresponding to the target transmission path.
[0110] Specifically, after determining the target transmission path according to the process of S304 described above, the transmission node 121 can send the IPv6 packet to the next hop node corresponding to the target transmission path, until the receiving end 112. Further, after sending the IPv6 packet to the receiving end 112, the receiving end 112 can read the user data from the IPv6 packet and perform subsequent processing.
[0111] It can be understood that the above S201-S204 shown in FIG. 4 and S301-S305 shown in FIG. 6 are respectively used for the first data in the hop limit field of the IPv6 packet to detect the transmission state of the data flow, and the first data is used to indicate the transmission path corresponding to the data flow. It can be understood that in actual application, the hop limit field of the IPv6 packet can also carry both the value for detecting the transmission state of the data flow and the value for indicating the transmission path corresponding to the data flow. In other words, when the hop limit field of the IPv6 packet carries both the value for detecting the transmission state of the data flow and the value for indicating the transmission path corresponding to the data flow, it can be understood that: in the hop limit field of the IPv6 packet, the first value is used to detect the transmission state of the data flow and the first value is also used to indicate the transmission path corresponding to the data flow.
[0112] Based on the above method embodiment, the device provided by the embodiment of the present application is described below. As shown in FIG. 7, it is a structure schematic diagram of a communication device provided by the embodiment of the present application. Specifically, the communication device 40 can be a chip or a system on chip, and the communication device 40 can be used to realize the functions of the sending end 111, the transmission node 121 or the receiving end 112 in FIG. 4 or FIG. 6.
[0113] Specifically, when the communication device 40 is used to realize the function of the sending end 111 in FIG. 4 or FIG. 6, the communication device 40 can include:
[0114] The processing unit 401 is configured to generate an IPv6 packet corresponding to a data flow, and the hop limit field of the IPv6 packet carries a first value, the first value is used to detect the transmission state of the data flow, and / or the first value is used to indicate the transmission path corresponding to the data flow.
[0115] The communication unit 402 is configured to send the IPv6 packet.
[0116] In an implementation manner, the hop limit field includes a first subfield and a second subfield; the first subfield is used to carry hop limit information, and the second subfield is used to carry the first value.
[0117] In an implementation, the value of the hop limit field is determined according to a product of a hop limit threshold of the IPv6 packet and the first value.
[0118] In an implementation, the first value is used for detecting the transmission state of the data flow, including that the first value is used for indicating a coloring identifier corresponding to the IPv6 packet.
[0119] In an implementation, the first value is used for indicating a transmission path corresponding to the data flow, including that the first value is used for indicating the transmission path corresponding to the data flow in equal-cost multi-path routing (ECMP).
[0120] When the communication apparatus 40 is configured to implement the function of the receiving end 112 in FIG. 4, the communication apparatus 40 can include:
[0121] The communication unit 402 is configured to receive an IPv6 packet corresponding to a data flow, and the hop limit field of the IPv6 packet carries a first value.
[0122] The processing unit 401 is configured to detect a transmission state of the data flow according to the first value.
[0123] In an implementation, the hop limit field includes a first subfield and a second subfield, the first subfield is used for carrying hop limit information, and the second subfield is used for carrying the first value.
[0124] In an implementation, the value of the hop limit field is determined according to a product of a hop limit threshold of the IPv6 packet and the first value.
[0125] In an implementation, the first value is used for indicating a coloring identifier corresponding to the IPv6 packet.
[0126] In an implementation, the processing unit 401 is configured to detect the transmission state of the data flow according to the first value, including:
[0127] The processing unit 401 is specifically configured to determine a coloring period corresponding to the IPv6 packet according to the first value.
[0128] The processing unit 401 is specifically configured to determine a packet loss rate of the data flow in the coloring period.
[0129] When the communication apparatus 40 is configured to implement the function of the transmission node 121 in FIG. 6, the communication apparatus 40 can include:
[0130] The communication unit 402 is configured to receive an Internet Protocol version 6 (IPv6) packet corresponding to the data stream, and the first value is carried in a hop limit field of the IPv6 packet, and the first value is used to indicate a transmission path corresponding to the data stream.
[0131] The processing unit 401 is configured to determine a target transmission path from the plurality of transmission paths according to the first value.
[0132] The communication unit 402 is further configured to send the IPv6 packet to a next hop node corresponding to the target transmission path.
[0133] FIG. 8 is a structural schematic diagram of another communication apparatus provided in the embodiment. The communication apparatus 50 can be a chip or a system on chip.
[0134] The communication apparatus 50 can include some or all of the following components: a processor 501, a communication circuit 502, a memory 503, and at least one communication interface 504.
[0135] The processor 501 is configured to perform all or part of the steps performed by the sending end 111, the transmission node 121, or the receiving end 112 in the method shown in FIG. 4 or FIG. 6.
[0136] Specifically, the processor 501 can include a general-purpose central processing unit (CPU), and can also include a microprocessor, a field programmable gate array (FPGA), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
[0137] In specific implementation, as an example, the processor 501 can include one or more CPUs, such as CPU0 and CPU1 in FIG. 8.
[0138] In specific implementation, as an example, the apparatus 50 can include a plurality of processors, such as the processor 501 and the processor 508 in FIG. 8. Each of the processors can be a single-CPU processor or a multi-CPU processor. The processor herein can refer to one or more devices, circuits, and / or processing cores for processing data (computer program instructions).
[0139] In addition, the memory 503 can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM) used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM), double data rate synchronous dynamic RAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DR RAM). The memory 503 can exist independently, and be connected to the processor 501 through the communication line 502. The memory 503 can also be integrated with the processor 501.
[0140] The memory 503 stores computer instructions. The processor 501 can execute the computer instructions stored in the memory 503 to perform all or part of the steps of the method provided in the embodiments.
[0141] Optionally, the computer execution instructions in the embodiments can also be referred to as application program codes, which are not specifically limited in the embodiments.
[0142] In addition, the communication interface 504 uses any transceiver-like device to communicate with other devices or communication networks, such as an Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc.
[0143] In addition, the communication line 502 is used to connect the components in the communication device 50. Specifically, the communication line 502 can include a data bus, a power supply bus, a control bus, and a state signal bus, etc. However, for the purpose of clear illustration, all kinds of buses are marked as the communication line 502 in the figure.
[0144] In a particular implementation, as an example, the communication device 50 can further include an output device 507 and an input device 506. The output device 507 can be in communication with the processor 501 and can present information in a variety of forms. The input device 506 can be in communication with the processor 501 and can receive input in a variety of forms.
[0145] In addition, the communication device 50 can further include a storage medium 505. The storage medium 505 is used to store computer instructions and various data for implementing the technical solutions of the present embodiments. In order for the communication device 50 to execute the above-mentioned methods of the present embodiments, the computer instructions and various data stored in the storage medium 505 are loaded into the memory 503, so that the processor 501 can execute the computer instructions stored in the memory 503 to execute the methods provided by the present embodiments.
[0146] The method steps in the present embodiments can be implemented by means of hardware, or by means of a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a RAM, a flash memory, a ROM, a PROM, an EPROM, an EEPROM, a register, a hard disk, a mobile hard disk, a CD-ROM, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a communication device. Of course, the processor and the storage medium can also exist as discrete components in the communication device.
[0147] In the above embodiments, all or part can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part can be implemented in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer programs or instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments are performed. The computer can be a general purpose computer, a special purpose computer, a computer network, a communication device, a user equipment or other programmable device. The computer programs or instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer programs or instructions can be transferred from one website site, computer, server or data center to another website site, computer, server or data center through wired or wireless manner. The computer readable storage medium can be any available medium accessible by a computer or a data storage device such as a server, data center and the like integrated with one or more available media. The available media can be a magnetic medium, such as a floppy disk, a hard disk, a magnetic tape; an optical medium, such as a digital video disc (digital video disc, DVD); and a semiconductor medium, such as an SSD.
[0148] In the embodiments, the terms and / or descriptions among different implementation manners are consistent and can be referred to each other if there is no special description and logical conflict, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0149] In the embodiments, "at least one" means one or more, "multiple" means two or more, and other quantifiers are similar. The association relationship of the associated objects is described by "and / or", which means that there can be three relationships, for example, A and / or B can represent the following three cases: A exists alone, A and B exist together, and B exists alone. In addition, for the elements (element) appearing in the singular form "a", "an" and "the", unless the context clearly specifies otherwise, it does not mean "one or only one", but means "one or more than one". For example, "a device" means one or more such devices. Furthermore, "at least one of" means one or any combination of the following associated objects, for example, "at least one of A, B and C" includes A, B, C, AB, AC, BC or ABC. In the literal description of the embodiments, the character " / ", generally represents that the preceding and following associated objects are in an "or" relationship; in the formulas of the embodiments, the character " / ", represents that the preceding and following associated objects are in a "division" relationship.
Claims
1. A communication method characterized by comprising: The method comprises: generating an Internet Protocol version 6 (IPv6) packet corresponding to a data flow; a first value is carried in a hop limit field of the IPv6 packet, the first value is used for detecting a transmission state of the data flow, and / or the first value is used for indicating a transmission path corresponding to the data flow; sending the IPv6 packet.
2. The method of claim 1, wherein, The hop limit field comprises a first subfield and a second subfield; the first subfield is used for carrying hop limit information, and the second subfield is used for carrying the first value.
3. The method of claim 1, wherein, The value of the hop limit field is determined according to a product of a hop upper limit threshold of the IPv6 packet and the first value.
4. The method according to any one of claims 1 to 3, characterized in that, The first value is used for indicating a coloring identifier corresponding to the IPv6 packet.
5. The method according to any one of claims 1 to 3, characterized in that, The first value is used for indicating the transmission path corresponding to the data flow.
6. A communication method characterized by comprising: The method comprises: receiving an Internet Protocol version 6 (IPv6) packet corresponding to a data flow; a first value is carried in a hop limit field of the IPv6 packet; detecting a transmission state of the data flow according to the first value.
7. The method of claim 6, wherein, The hop limit field comprises a first subfield and a second subfield; the first subfield is used for carrying hop limit information, and the second subfield is used for carrying the first value.
8. The method of claim 6, wherein, The value of the hop limit field is determined according to a product of a hop upper limit threshold of the IPv6 packet and the first value.
9. The method according to any one of claims 6-8, characterized in that, The first value is used for indicating a coloring identifier corresponding to the IPv6 packet.
10. The method of claim 9, wherein, The detecting of the transmission state of the data flow according to the first value comprises: determining a coloring period corresponding to the IPv6 packet according to the first value; determining a packet loss rate of the data flow in the coloring period.
11. A communication method, comprising: The method comprises: receiving an Internet Protocol version 6 (IPv6) packet corresponding to a data flow; a first value is carried in a hop limit field of the IPv6 packet, the first value is used for indicating a transmission path corresponding to the data flow; determining a target transmission path from a plurality of transmission paths according to the first value; sending the IPv6 packet to a next hop node corresponding to the target transmission path.
12. A communications device, characterized by The communication device comprises: a processing unit configured to generate an Internet Protocol version 6 (IPv6) packet corresponding to a data flow; a first value is carried in a hop limit field of the IPv6 packet, the first value is used for detecting a transmission state of the data flow, and / or the first value is used for indicating a transmission path corresponding to the data flow; a communication unit configured to send the IPv6 packet.
13. The communication apparatus according to claim 12, wherein The hop limit field comprises a first subfield and a second subfield; the first subfield is used for carrying hop limit information, and the second subfield is used for carrying the first value.
14. The communication apparatus according to claim 12, wherein The value of the hop limit field is determined according to a product of a hop upper limit threshold of the IPv6 packet and the first value.
15. The communication apparatus according to any one of claims 12-14, wherein, The first value is used for detecting a transmission state of the data flow, and the first value is used for indicating a dyeing identifier corresponding to the IPv6 packet.
16. The communication apparatus according to any of claims 12-14, wherein The first value is used for indicating a transmission path corresponding to the data flow, and the first value is used for indicating the transmission path corresponding to the data flow in equal multi-path routing.
17. A communications device, characterized by The communication apparatus comprises: a communication unit configured to receive an Internet Protocol version 6 (IPv6) packet corresponding to a data flow, wherein a first value is carried in a hop limit field of the IPv6 packet; a processing unit configured to detect a transmission state of the data flow according to the first value.
18. The communication apparatus according to claim 17, wherein The hop limit field comprises a first sub-field and a second sub-field, the first sub-field is used for carrying hop limit information, and the second sub-field is used for carrying the first value.
19. The communication apparatus according to claim 17, wherein The value of the hop limit field is determined according to a product of a hop upper limit threshold of the IPv6 packet and the first value.
20. The communication apparatus according to any one of claims 17-19, wherein, The first value is used for indicating a dyeing identifier corresponding to the IPv6 packet.
21. The communication apparatus according to claim 20, wherein, The processing unit is specifically configured to: determine a dyeing period corresponding to the IPv6 packet according to the first value; and determine a packet loss rate of the data flow in the dyeing period.
22. A communications device, characterized by The communication apparatus comprises: a communication unit configured to receive an Internet Protocol version 6 (IPv6) packet corresponding to a data flow, wherein a first value is carried in a hop limit field of the IPv6 packet, and the first value is used for indicating a transmission path corresponding to the data flow; a processing unit configured to determine a target transmission path from a plurality of transmission paths according to the first value; and The communication unit is further configured to send the IPv6 packet to a next hop node corresponding to the target transmission path.
23. A communications device, characterized by The apparatus comprises a unit configured to perform the method of any of claims 1-22.
24. A communications device, characterized by The apparatus comprises a processor and an interface, the processor is configured to receive or send data through the interface, the processor is configured to implement the method of any of claims 1-5, or the processor is configured to implement the method of any of claims 6-10, or the processor is configured to implement the method of claim 11.
25. A computer readable storage medium, characterized in that, The computer readable storage medium stores instructions, when the instructions are executed on the processor, the method of any of claims 1-5 is implemented, or the method of any of claims 6-10 is implemented, or the method of claim 11 is implemented.
26. A computer program product, characterised in that, The computer program product comprises instructions, when the instructions are executed on the processor, the method of any of claims 1-5 is implemented, or the method of any of claims 6-10 is implemented, or the method of claim 11 is implemented.
Citation Information
Patent Citations
Method and device of compression of internet protocol (IP) masthead
CN103152770A
Level topology networking method based on content centric network
CN106375410A
Network layer message processing method and device applied to space-ground integrated network
CN111884930A
Message processing method and device
CN114827014A
Stream following detection method, device and system
CN117955861A