Network coding erasure correction method and system based on IPv6 tunnel transmission technology

By encoding and decoding data in IPv6 tunnels, the problem of packet loss in IPv6 tunnel transmission is solved, significantly improving the user experience and the reliability of data transmission.

CN120034293APending Publication Date: 2025-05-23QUAN CHENG LABORATORY
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510169131.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-17
Publication Date
2025-05-23

AI Technical Summary

Technical Problem

In IPv6 tunneling scenarios, large network packet loss rate and delay may lead to application interruption and a reduced user experience, and the existing technology is difficult to effectively solve the problem of packet loss.

Method used

By encoding the data at one end of the data stream received by the IPv6 tunnel and decoding the data at the other end of the IPv6 tunnel that receives the network encoded data, the packet loss of data transmitted through the IPv6 tunnel is realized.

Benefits of technology

It significantly reduces the impact of high packet loss or high delay during IPv6 tunnel transmission, improves user experience, and ensures the reliability of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120034293A_ABST
    Figure CN120034293A_ABST
Patent Text Reader

Abstract

The invention relates to a network coding erasure correction method and system based on an IPv6 tunnel transmission technology, and belongs to the technical field of computer network research. The method comprises the following steps: sending a message of a specified destination address to a kernel module of an IPv6 tunnel for processing, after the kernel module accumulates a certain number of IPv6 messages, carrying out coding calculation on the messages to obtain redundant data of the IPv6 messages, then carrying out IPv6 tunnel encapsulation on the messages and the redundant data, and then sending out the messages and the redundant data. According to the method and the device, the received message of the IPv6 tunnel is de-encapsulated at the other end of the IPv6 tunnel, the lost message is restored through the received redundant data, and then the message is forwarded, so that a guarantee is provided for erasure correction after packet loss of data transmitted through the IPv6 tunnel.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a network coding erasure method and system based on IPv6 tunnel transmission technology, belonging to the technical field of computer network research. Background Art

[0002] IPv6 tunnel is a kind of overlay technology. Without making any changes to the physical network, one or more logical networks, namely virtual networks, are created on the existing physical network through tunnel technology. Network coding erasure is a forward error correction technology, which is usually used to avoid packet loss in network transmission. Most of the current applications (such as video, voice calls, etc.) are sensitive to network packet loss and delay. A large network packet loss rate and network delay may cause application interruption and reduce user experience. By enabling the network coding erasure function when transmitting data in the IPv6 tunnel, the impact of high packet loss or high delay in the IPv6 tunnel transmission process can be minimized, which can significantly improve the user experience in the IPv6 tunnel transmission scenario.

[0003] Therefore, how to realize the automatic recovery function of lost data packets through the network coding erasure function when forwarding data traffic in the IPv6 tunnel, thereby improving the user experience in the IPv6 tunnel transmission scenario, is an urgent problem to be solved in the Internet forwarding system. Summary of the invention

[0004] In view of the deficiencies in the prior art, the present invention provides a network coding erasure correction method and system based on IPv6 tunnel transmission technology, which achieves the goal of correcting and erasing data after packet loss occurs in data transmitted through the IPv6 tunnel by encoding the data at one end of the IPv6 tunnel receiving the data stream and decoding the data at the other end of the IPv6 tunnel receiving the network coded data.

[0005] Specifically, the network device will hand over the message with the specified destination address to the kernel module of the IPv6 tunnel for processing. After accumulating a certain number of IPv6 messages, the kernel module will encode and calculate these messages to obtain the redundant data of these IPv6 messages, and then encapsulate the messages and redundant data in the IPv6 tunnel and send them out. At the other end of the IPv6 tunnel, the received IPv6 tunnel message will be decapsulated, and the lost message will be restored by using the received redundant data. Then the message will be forwarded, which provides a guarantee for correcting and erasing data after packet loss occurs in data transmitted through the IPv6 tunnel.

[0006] The technical solution of the present invention is as follows:

[0007] A network coding erasure method based on IPv6 tunnel transmission technology, the steps are as follows:

[0008] (1) After the edge gateway device is started, it executes a command to insert the kernel module of the IPv6 encapsulation tunnel and generates an IPv6 tunnel virtual interface tun0 in the kernel module;

[0009] (2) Configure static routing rules on edge gateway devices;

[0010] (3) The edge gateway device creates an IPv6 tunnel table;

[0011] (4) The edge gateway device receives the IPv6 message and hands the IPv6 message matching the static routing rule to the kernel module;

[0012] (5) The kernel module receives the IPv6 message, extracts the destination address of the IPv6 message, traverses the IPv6 tunnel table, and records the hit table entry information;

[0013] (6) performing IPv6 tunnel encapsulation on the IPv6 message received in step (5) according to the recorded hit table entry information;

[0014] (7) The edge gateway device receives the IPv6 tunnel message, and the other end of the IPv6 tunnel decapsulates the received IPv6 tunnel message;

[0015] (8) Forward the message from the edge gateway device.

[0016] Preferably, according to the present invention, in step (2), the static routing rule is:

[0017] (P dst ,P len )∈I out

[0018] Match the destination address of the message entering the device with the IPv6 prefix data message and send it to interface I out To deal with, where P dst is the prefix of the static routing rule, P len is the prefix length of the static routing rule, I out The index number of the interface that processes the matching traffic.

[0019] Preferably, according to the present invention, in step (3), the IPv6 tunnel table includes a source IPv6 tunnel address, a destination IPv6 tunnel address, a destination IPv6 address prefix, a number of cached messages and a number of redundant messages, wherein the source IPv6 tunnel address is a tunnel source address for performing IPv6 tunnel encapsulation on the encoded and decoded data traffic, the destination IPv6 tunnel address is a tunnel destination address for performing IPv6 tunnel encapsulation on the encoded and decoded data traffic, the destination IPv6 address prefix is ​​used to determine whether the destination address of the message extracted from the IPv6 traffic entering the kernel module matches the prefix, and if it matches, the kernel module performs network coding operations on the IPv6 traffic, the number of cached messages is the number of cached messages in the network coding stage, the number of redundant messages is the number of redundant messages generated corresponding to the data blocks that need to be corrected and erased, and the edge gateway device administrator initializes the configuration through commands.

[0020] According to the preferred embodiment of the present invention, in step (4), specifically:

[0021] Extract the IPv6 destination address D of the message dst , match the static routing rules according to the following formula:

[0022] P dst &P len ,D dst &P len

[0023] P dst With P len Bitwise AND, D dst With P len Bitwise AND, if the two results are the same, the IPv6 packet matching the static routing rule is handed over to the kernel module that created tun0.

[0024] According to the preferred embodiment of the present invention, in step (5), specifically:

[0025] The kernel module receives the IPv6 message, extracts the destination address of the IPv6 message, and traverses the IPv6 tunnel table. If there is a record, it executes step (5.1); if there is no record, it executes step (5.2);

[0026] (5.1): Record the hit table entry information, extract the value N of the number of cached messages in the table entry, and the kernel module accumulates N IPv6 messages and assembles them into D ori The original data block is then used to calculate the redundant data:

[0027] D ori *W code =R ori

[0028] Among them, D oriis the original data block, W code is the coding coefficient data block, R ori is the calculated redundant data block;

[0029] (5.2): Discard the message and return to step (4) to continue execution.

[0030] According to the preferred embodiment of the present invention, in step (6), specifically:

[0031] According to the recorded source IPv6 tunnel address, destination IPv6 tunnel address, number m of cached messages and number k of redundant messages obtained in step (5.1), the IPv6 message received in step (5) is encapsulated in IPv6 tunnel, each tunnel message is numbered from 1 to N, and m, k and the message number are stored in the extension header of the IPv6 tunnel message.

[0032] According to the preferred embodiment of the present invention, in step (7), the decapsulation step is:

[0033] If the kernel module receives m+k messages within a unit time, execute step (7.1); if it does not receive m+k messages within a unit time, execute step (7.2);

[0034] (7.1): Record the log file, the decoded data is not lost, and the memory occupied by k redundant data is released and recycled;

[0035] (7.2): The kernel module splices mx messages into the original data block D m-x , ky redundant messages are spliced ​​into redundant data blocks, where x is the number of lost original messages and y is the number of lost redundant data. Then the lost data is calculated according to the following formula to restore the lost messages:

[0036] (D m-k +R k-y )*W code-x-y =D x

[0037] Among them, D m-x is the original data block after losing x messages, R k-y is the received redundant data block, W code-x-y To remove the coefficient data block with missing data, D x The lost data blocks are recovered.

[0038] A network coding erasure system based on IPv6 tunnel transmission technology, comprising:

[0039] A virtual interface generation module is used to insert into the kernel module and generate an IPv6 tunnel virtual interface tun0 in the kernel module;

[0040] Rule configuration module, used to configure static routing rules;

[0041] Table entry creation module, used to create IPv6 tunnel table;

[0042] The matching module is used to receive IPv6 packets and hand over the IPv6 packets that match the static routing rules to the kernel module;

[0043] The recording module is used for the kernel module to receive IPv6 packets, extract the destination address of the IPv6 packets, traverse the IPv6 tunnel table, and record the hit table entry information;

[0044] An encapsulation module, used to perform IPv6 tunnel encapsulation on the received IPv6 message according to the recorded hit table entry information;

[0045] A decapsulation module, used for receiving an IPv6 tunnel message, and the other end of the IPv6 tunnel decapsulates the received IPv6 tunnel message;

[0046] The forwarding module is used to forward the message.

[0047] The beneficial effects of the present invention are:

[0048] The present invention achieves the goal of correcting and erasing data after packet loss occurs in data transmitted through the IPv6 tunnel by encoding data at one end of the IPv6 tunnel receiving the data stream and decoding the data at the other end of the IPv6 tunnel receiving the network coded data. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] Figure 1 A schematic diagram of the system connection topology of the present invention;

[0050] Figure 2 The present invention is a schematic diagram of an IPv6 tunnel, which respectively occupies 128 bits of the source IPv6 tunnel address field, occupies 128 bits of the destination IPv6 tunnel address field, occupies 128 bits of the destination IPv6 prefix field, occupies 32 bits of the cache message number field and occupies 32 bits of the redundant message number field;

[0051] Figure 3 This is a schematic diagram of the IPv6 tunnel message format with network coding erasure according to the present invention, which includes, from left to right, an IPv6 tunnel header, a network coding erasure-related extension header, an IPv6 header inside the tunnel, and original / redundant data;

[0052] Figure 4 It is a schematic diagram of the process of the present invention. DETAILED DESCRIPTION

[0053] The present invention will be further described below by way of embodiments in conjunction with the accompanying drawings, but is not limited thereto.

[0054] Embodiment 1:

[0055] like Figure 4 As shown, this embodiment provides a network coding erasure method based on IPv6 tunnel transmission technology, and the connection topology diagram is shown in Figure 1 , Figure 1 The middle is the position of the edge gateway device in the network, which is used to mark the position of the edge gateway device in the network coding erasure function of the IPv6 tunnel transmission technology in this embodiment; Figure 1 The computer user on the left initiates an access request, which is then encoded and encapsulated in an IPv6 tunnel at the nearest edge gateway. Figure 1 The edge gateway on the right decapsulates the received IPv6 tunnel message. If packet loss occurs, network decoding and deletion are performed and the message is sent to the destination server, thereby improving the user's network application experience.

[0056] Here are the steps:

[0057] S100: Generate an IPv6 tunnel virtual interface tun0 in the edge gateway device kernel module;

[0058] S200: The edge gateway device configures static routing rules to direct traffic on a specific network segment to tun0;

[0059] S300: The edge gateway device creates an IPv6 tunnel table and configures initial values;

[0060] S400: The edge gateway device delivers the traffic matching the static routing rule to the IPv6 tunnel kernel module;

[0061] S500: The IPv6 tunnel kernel module traverses the IPv6 tunnel table according to the destination address of the message, and if a match is found, executes S501; if no match is found, executes S502;

[0062] S501: After a sufficient number of messages are buffered, redundant data blocks are calculated;

[0063] S502: discard the message, record the log information, and return to step S400 to continue execution;

[0064] S600: According to the record information obtained in step S500, the original data and the redundant data are encapsulated in an IPv6 tunnel and sent out;

[0065] S700: The edge gateway device delivers the received IPv6 tunnel message to the IPv6 tunnel kernel module for decapsulation. If all messages are received within a unit time, step S701 is executed; if not all messages are received, step S702 is executed;

[0066] S701: Record logs and release redundant data;

[0067] S702: Decoding the received message and redundant data to restore the lost message;

[0068] S800: forwards the message.

[0069] Embodiment 2:

[0070] This embodiment provides a network coding erasure correction system based on IPv6 tunnel transmission technology, including:

[0071] A virtual interface generation module is used to insert into the kernel module and generate an IPv6 tunnel virtual interface tun0 in the kernel module;

[0072] Rule configuration module, used to configure static routing rules;

[0073] Table entry creation module, used to create IPv6 tunnel table;

[0074] The matching module is used to receive IPv6 packets and hand over the IPv6 packets that match the static routing rules to the kernel module;

[0075] The recording module is used for the kernel module to receive IPv6 packets, extract the destination address of the IPv6 packets, traverse the IPv6 tunnel table, and record the hit table entry information;

[0076] An encapsulation module, used to perform IPv6 tunnel encapsulation on the received IPv6 message according to the recorded hit table entry information;

[0077] A decapsulation module, used for receiving an IPv6 tunnel message, and the other end of the IPv6 tunnel decapsulates the received IPv6 tunnel message;

[0078] The forwarding module is used to forward the message.

[0079] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made by those skilled in the art within the spirit and principle of the present invention without creative labor shall be included in the protection scope of the present invention.

Claims

1. A network coding erasure method based on IPv6 tunnel transmission technology, characterized in that: Here are the steps: (1) Insert the kernel module and generate the IPv6 tunnel virtual interface tun0 in the kernel module; (2) Configure static routing rules; (3) Create an IPv6 tunnel table; (4) Receive IPv6 packets and hand over the IPv6 packets that match the static routing rules to the kernel module; (5) The kernel module receives the IPv6 message, extracts the destination address of the IPv6 message, traverses the IPv6 tunnel table, and records the hit table entry information; (6) performing IPv6 tunnel encapsulation on the IPv6 message received in step (5) according to the recorded hit table entry information; (7) After receiving the IPv6 tunnel message, the other end of the IPv6 tunnel decapsulates the received IPv6 tunnel message; (8) Forward the message.

2. The network coding erasure method based on IPv6 tunnel transmission technology according to claim 1, characterized in that: In step (2), the static routing rules are: (P dst ,P len )∈I out Match the destination address of the message entering the device with the IPv6 prefix data message and send it to interface I out To deal with, where P dst is the prefix of the static routing rule, P len is the prefix length of the static routing rule, I out The index number of the interface that processes the matching traffic.

3. The network coding erasure method based on IPv6 tunnel transmission technology according to claim 2, characterized in that: In step (3), the IPv6 tunnel table includes a source IPv6 tunnel address, a destination IPv6 tunnel address, a destination IPv6 address prefix, a number of cached messages, and a number of redundant messages, wherein the source IPv6 tunnel address is a tunnel source address for performing IPv6 tunnel encapsulation on the encoded and decoded data traffic, the destination IPv6 tunnel address is a tunnel destination address for performing IPv6 tunnel encapsulation on the encoded and decoded data traffic, the number of cached messages is the number of cached messages in the network coding stage, and the number of redundant messages is the number of redundant messages generated for the data blocks that need to be corrected and erased. The edge gateway device administrator initializes the device through command configuration.

4. The network coding erasure method based on IPv6 tunnel transmission technology according to claim 3, characterized in that: In step (4), specifically: Extract the IPv6 destination address D of the message dst , match the static routing rules according to the following formula: P dst &P len ,D dst &P len P dst With P len Bitwise AND, D dst With P len Bitwise AND, if the two results are the same, the IPv6 packet matching the static routing rule will be handed over to the kernel module.

5. The network coding erasure method based on IPv6 tunnel transmission technology according to claim 4, characterized in that: In step (5), specifically: The kernel module receives the IPv6 message, extracts the destination address of the IPv6 message, and traverses the IPv6 tunnel table. If there is a record, it executes step (5.1); if there is no record, it executes step (5.2); (5.1): Record the hit table entry information, extract the value N of the number of cached messages in the table entry, and the kernel module accumulates N IPv6 messages and assembles them into D ori The original data block is then used to calculate the redundant data: D ori *W code =R ori Among them, D ori is the original data block, W code is the coding coefficient data block, R ori is the calculated redundant data block; (5.2): Discard the message and return to step (4) to continue execution.

6. The network coding erasure method based on IPv6 tunnel transmission technology according to claim 5, characterized in that: In step (6), specifically: According to the recorded source IPv6 tunnel address, destination IPv6 tunnel address, number m of cached messages and number k of redundant messages obtained in step (5.1), the IPv6 message received in step (5) is encapsulated in IPv6 tunnel, each tunnel message is numbered from 1 to N, and m, k and the message number are stored in the extension header of the IPv6 tunnel message.

7. The network coding erasure method based on IPv6 tunnel transmission technology according to claim 6, characterized in that: In step (7), the decapsulation step is: If m+k messages are received within the unit time, execute step (7.1); if m+k messages are not received within the unit time, execute step (7.2); (7.1): Record the log file, the decoded data is not lost, and the memory occupied by k redundant data is released and recycled; (7.2): The kernel module splices mx messages into the original data block D m-x , ky redundant messages are spliced ​​into redundant data blocks, where x is the number of lost original messages and y is the number of lost redundant data. Then the lost data is calculated according to the following formula to restore the lost messages: (D m-k +R k-y )*W code-x-y =D x Among them, D m-x is the original data block after losing x messages, R k-y is the received redundant data block, W code-x-y To remove the coefficient data block with missing data, D x The lost data blocks are recovered.

8. A network coding erasure system based on IPv6 tunnel transmission technology, characterized in that: include: A virtual interface generation module is used to insert into the kernel module and generate an IPv6 tunnel virtual interface tun0 in the kernel module; Rule configuration module, used to configure static routing rules; Table entry creation module, used to create IPv6 tunnel table; The matching module is used to receive IPv6 packets and hand over the IPv6 packets that match the static routing rules to the kernel module; The recording module is used for the kernel module to receive IPv6 packets, extract the destination address of the IPv6 packets, traverse the IPv6 tunnel table, and record the hit table entry information; An encapsulation module, used to perform IPv6 tunnel encapsulation on the received IPv6 message according to the recorded hit table entry information; A decapsulation module, used for receiving an IPv6 tunnel message, and the other end of the IPv6 tunnel decapsulates the received IPv6 tunnel message; The forwarding module is used to forward the message.

Citation Information

Patent Citations

  • Distributed relay erasure coding method for mobile delay tolerant network

    CN103297197A

  • Distributed tunnel Internet gateway based on IPv6

    CN113542108A

  • Tunnel side interface processing method and apparatus, communication device and storage medium

    WO2024234697A1