SDN (Software Defined Network)-based automatic operator adjustment network coding erasure adjustment and optimization method
By dynamically adjusting network coding parameters through the SDN network coding controller, the problem that traditional network coding technology cannot adapt to highly dynamic network environments is solved, the network coding efficiency is optimized and the resources are reasonably utilized, and the network robustness and user experience are improved.
Patent Information
- Application Number
- CN202510876815.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-09-05
AI Technical Summary
Traditional network coding technology cannot perceive the network status in a timely manner and cannot adjust dynamically in a highly dynamic network environment, resulting in low transmission efficiency or resource waste, and cannot meet the needs of delay-sensitive applications.
An SDN-based automated operator-adjusted network coding erasure optimization method is adopted. The network coding router is monitored by the SDN network coding controller, and the network coding parameters at both ends of the tunnel are dynamically adjusted, including the number of original data packets and redundant data packets, to optimize the network coding efficiency.
It improves the robustness and flexibility of the network, meets the QoS requirements of different applications, reduces operation and maintenance costs, enhances network reliability and bandwidth utilization, reduces transmission delays, and adapts to different network environments and application requirements.
Smart Images

Figure CN120602048A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an SDN-based automated operator-adjusted network coding erasure optimization method, and belongs to the technical field of computer networks. Background Art
[0002] As network applications and scale continue to expand, the best-effort transmission mode at the network layer of the traditional TCP / IP network architecture is unable to meet growing network demands. While the ever-expanding TCP and QUIC protocols at the transport layer have mitigated the degradation of network service quality caused by packet loss and latency to some extent, the problems caused by packet loss at the network layer remain difficult to alleviate. For example, TCP retransmissions in a 10% packet loss scenario reduce available bandwidth by 90%, and retransmission detection and transmission delays significantly increase network latency. Latency-sensitive applications such as online conferencing and voice calls are virtually unusable in scenarios with a 10% packet loss rate. However, high latency and packet loss persist in fast-moving access scenarios and multi-hop links across countries and continents. This makes it impossible to deploy latency-sensitive applications in these network environments, or requires significant time and cost to improve link quality through leased lines.
[0003] Network coding technology offers a new solution for these scenarios. Its principle is to generate redundant information along with the original data at the sender through forward error correction (FEC). This allows the receiver to detect and correct a limited number of errors in the transmitted data without retransmission. Traditional network coding technologies primarily include erasure codes and forward error correction (FEC). Their core goal is to improve data transmission reliability by introducing redundant data. These technologies have been widely used in fields such as distributed storage, video streaming, and wireless communications.
[0004] Although traditional network coding technology has achieved remarkable results in improving data transmission reliability, its inherent defects are particularly prominent in highly dynamic network environments, which are specifically manifested in the following aspects: First, existing network coding technology generally operates at the application layer and cannot perceive the network status in a timely manner, cannot make timely adjustments to network changes, and cannot rectify data packets; second, existing network coding technology generally adopts a fixed redundancy strategy and cannot be dynamically adjusted according to the real-time network status; the configuration of static parameters of existing network coding technology is often based on empirical values, which makes it difficult to adapt to sudden traffic changes caused by network jitter. Summary of the Invention
[0005] In response to the shortcomings of the existing technology, the present invention provides an SDN-based automated operator-regulated network coding erasure optimization method, which includes a four-layer architecture of perception-analysis-decision-execution. The SDN network coding controller monitors the network coding data packet monitoring status at both ends of the network coding router, uses an automated analysis method to judge the current network status, and dynamically adjusts the number of original data packets and redundant data packets of the network coding at both ends of the tunnel according to the network status, thereby achieving network coding efficiency tuning.
[0006] Explanation of terms: 1. SDN (Software Defined Networking): Software-defined networking is a new type of network architecture. Its core idea is to separate the control plane and data plane of the network, thereby achieving flexible control and management of network traffic.
[0007] 2. SNMP (Simple Network Management Protocol): Simple Network Management Protocol is a standard protocol for IP network management. It provides a method for remote management and monitoring of network devices through a network management system.
[0008] 3. QoS (Quality of Service): Quality of Service refers to the network's ability to provide certain guarantees when transmitting data, including bandwidth, latency, jitter, and packet loss rate.
[0009] 4. IPv6 over IPv6 tunnel: A tunnel technology that encapsulates IPv6 traffic in an IPv6 network and is used to transmit IPv6 packets between IPv6 networks.
[0010] 5. Reed-Solomon code: An erasure code that can correct errors that occur during data transmission.
[0011] 6. OpenFlow: A communication protocol used to implement communication between controllers and switches in SDN networks, allowing controllers to programmatically control switches.
[0012] 7. Outer IPv6 tunnel: In an IPv6 over IPv6 tunnel, a tunnel consisting of outer IPv6 packets that encapsulate original IPv6 packets.
[0013] 8. Option field: An optional field in the IPv6 header used to carry additional control or information data.
[0014] The technical solutions of the present invention are as follows: The present invention provides an SDN-based automatic operator adjustment network coding erasure tuning method, comprising: Step 1: Configure the SDN network coding controller and network coding gateway and establish a control channel; Setting initial network coding parameters on the SDN network coding controller, including the number of original data packets and the number of redundant data packets; Step 2: The sender sends the data stream to the receiver. The network coding gateway set up by the sender filters the data stream and encodes the data packets that need to be encoded. After encoding, it is sent to the network coding gateway set up by the receiver. Step 3: The network coding gateway at the receiving end decodes the received data packet and forwards the decoded data packet to the upper-layer application; Step 4: The network coding gateways at the sending and receiving ends regularly report network coding information to the SDN network coding controller; Step 5: The SDN network coding controller receives the network coding information reported by the network coding gateway and analyzes it to evaluate the current network performance and determine whether the network coding parameters need to be adjusted; If adjustment is required, the SDN network coding controller calculates the new network coding parameters and sends them to the corresponding network coding gateway; Step 6: The network coding gateway receives the new network coding parameters and configures them into the network coding gateway; Step 7: Repeat steps 4-6 to dynamically adjust network coding parameters based on changes in network conditions, thus achieving erasure correction and optimization of network coding. When applied, each data block is erasure coded at the sending end to generate redundant data packets, and the redundant data packets carry network coding metadata, which are sent to the receiving end network coding gateway through the network coding tunnel to achieve data recovery in a packet loss environment.
[0015] According to a preferred embodiment of the present invention, an SDN network coding controller is configured; comprising: SDN network coding controller refers to a device or system that can centrally control and manage network coding gateways; The SDN network coding controller is responsible for collecting the operating status information of the network coding gateway, analyzing the network status, and dynamically adjusting the network coding parameters and network coding rules based on the analysis results to optimize the performance of network coding; The network coding parameters represent the number of original data packets (k) and the number of redundant data packets (m) in a network coding unit. A network coding unit is a set of data packets that undergo a network coding operation (k IP data packets + m redundant data packets generated by network coding the k IP packets). An original data packet is an uncoded data packet, and a redundant data packet is an additional data packet generated from the original data packet using a network coding algorithm such as Reed-Solomon code. The SDN network coding controller includes a network coding information detection module, a network coding parameter analysis module, and a network coding decision execution module; The network coding information detection module is responsible for communicating with the network coding gateway through the SNMP protocol and periodically collecting network coding information reported by the network coding gateway, such as the number of encoded packets, decoded packets, redundant packets, and packet loss. This information reflects the execution status of network coding on the gateway and the packet loss status of the network. The network coding parameter analysis module is responsible for receiving the network coding information collected by the network coding information detection module and analyzing the network coding information to evaluate the current network performance. It also prioritizes different data flows based on QoS requirements and generates optimal network coding parameters. A data flow refers to a number of data packets with the same characteristics transmitted in the network. These characteristics include a five-tuple: source IP address, destination IP address, transport layer protocol, source port number, and destination port number. The network coding decision execution module sends the new network coding parameters and data streams calculated by the network coding parameter analysis module to the corresponding network coding gateway; by dynamically adjusting the network coding parameters, the network coding decision execution module can adapt the network coding to the ever-changing network conditions, thereby achieving network coding optimization.
[0016] Preferably, according to the present invention, configuring a network coding gateway to establish a control channel includes: The network coding gateway is a device deployed in the network that is responsible for network coding and network decoding operations; Configure network coding rules on the network coding gateway to define the data flows that need to be network coded. The network coding rules are sent to the network coding gateway by the SDN network coding controller. The network coding gateway establishes a network coding tunnel and performs network coding on incoming data packets according to the network coding rules before transmitting them through the network coding tunnel. Packet loss is recovered at the peer network coding gateway. The network coding gateway reports network coding information to the SDN network coding controller in real time. The SDN network coding controller analyzes the network coding information and dynamically adjusts network coding parameters and network coding rules. The network coding gateway includes a network information reporting module, a network coding filtering module, a network coding module and a network coding signaling module; The network information reporting module is responsible for communicating with the SDN network coding controller using the SNMP protocol (communication is carried out between the network coding information detection module in the SDN network coding controller and the network information reporting module in the network coding gateway) and regularly reporting the network coding information of the network coding gateway to the SDN network coding controller, including the number of encoded data packets, the number of decoded data packets, the number of data packets that cannot be decoded, etc. The network coding filtering module is responsible for filtering data flows passing through the network coding gateway according to the network coding rules issued by the SDN network coding controller. Data flows that meet the network coding rules are sent to the network coding module for processing, while other data flows are forwarded normally, thus achieving selective network coding for specific traffic. The network coding module is the core of the network coding gateway and is responsible for performing actual network coding and network decoding operations; The network coding signaling module is responsible for processing signaling related to network coding; for example, it receives network coding parameters and rules from the SDN network coding controller and configures these parameters into the network coding module; it is responsible for maintaining the network coding tunnel and processing various signaling related to the network coding tunnel; The control channel refers to the signaling channel for the SDN network coding controller and the network coding gateway to issue network coding parameters and network coding rules, as well as report network coding information.
[0017] Preferably, according to the present invention, a transmitting end sends a data stream to a receiving end, a network coding gateway provided at the transmitting end filters the data stream, encodes the data packets to be encoded, and sends the encoded data packets to the network coding gateway provided at the receiving end; comprising: The network coding filter module filters data flows according to the network coding rules issued by the SDN network coding controller. Data flows that meet the network coding rules, i.e., the five-tuple, are sent to the network coding module for processing, while other data flows are forwarded normally. When data packets in a data stream enter the network coding module, they are first buffered until the required number of packets is collected to meet the decoding conditions (for example, for a data block containing k original packets and m redundant packets, at least k packets, whether original or redundant, must be received for successful decoding). A predetermined coding algorithm (such as Reed-Solomon code) is then used to generate multiple redundant packets. These redundant packets, along with the original, unencoded, packets, are sent to the receiving network coding gateway through the network coding tunnel. To enable the receiving network coding gateway to correctly decode, network coding metadata is also sent to the receiving network coding gateway. The network coding tunnel represents an IPv6 over IPv6 tunnel and uses the Option field of the outer IPv6 tunnel to store network coding metadata. The metadata of network coding represents the necessary information for the receiving network coding gateway to perform network coding and decoding operations, including the BLOCK sequence number, i.e., the data block sequence number (the same block has the same sequence number), k, i.e., the number of original data packets in the BLOCK (data block), m, i.e., the number of redundant data packets generated in the BLOCK based on the k original data packets through network coding, i.e., the sorting position of the data packet in the BLOCK, and flag, i.e., whether the data packet is an original data packet or a redundant data packet (flag=0 indicates an original data packet, flag=1 indicates a redundant data packet). A data block includes multiple data packets and is the basic processing unit of network coding.
[0018] According to a preferred embodiment of the present invention, the network coding gateway at the receiving end decodes the received data packet and forwards the decoded data packet to the upper layer application; including: The network coding gateway at the receiving end receives the redundant data packets and original data packets sent by the sending end, decodes them and checks whether any data packets are lost. If no data packets are lost, the gateway directly forwards the original data packets to the upper-layer application. The upper-layer application refers to the application program that uses the network transmission service. If some packets are lost, the received packets and redundant packets are used to recover the lost packets. If the receiving network coding gateway does not receive the required number of packets to meet the decoding requirements for decoding (for example, for a data block containing k original packets and m redundant packets, at least k packets, both original and redundant, must be received for successful decoding), the number of data blocks for which the receiving end's decoding requirements are not met (rx_unsatisfyed_blocks, which is the total number of data blocks that the network exceeds the network coding recovery capability due to packet loss during network transmission) and the total number of packets for which the receiving end's decoding requirements are not met (rx_unsatisfyed_pkt, which is the total number of packets that the network exceeds the network coding recovery capability due to packet loss during network transmission) in the network coding information are increased accordingly. (For example, if the coding parameters are k=10 and m=5, that is, 15 packets are sent, including 10 original packets and 5 redundant packets, the receiving end must receive at least 10 packets for decoding. If the receiving end only receives 9 packets, decoding is impossible, and the rx_unsatisfyed_blocks count is increased by 1). After successful decoding, the number of data blocks successfully decoded by the receiver (rx_decode_blocks), the total number of packets successfully decoded by the receiver (rx_decode_pkt), and the total number of bytes of packets successfully decoded by the receiver (rx_decode_bytes) in the network coding information are updated accordingly.
[0019] Preferably, according to the present invention, the network coding gateways at the transmitting end and the receiving end periodically report network coding information to the SDN network coding controller; including: The network information reporting module of the network coding gateway uses the SNMP protocol to communicate with the SDN network coding controller and regularly reports the network coding information of the network coding gateway to the SDN network coding controller, including: the number of encoded data packets at the sending end (tx_encode_pkt), the number of encoded data bytes at the sending end (tx_encode_bytes), the number of encoded data blocks at the sending end (tx_encode_blocks), the number of redundant data packets at the sending end (tx_encode_recovery), the number of redundant data packet bytes at the sending end (tx_encode_recovery_bytes), the number of data packets discarded by the sending end (tx_encode_drop), the number of data blocks received by the receiving end (rx_blocks), the number of data blocks successfully decoded by the receiving end (rx_decode_blocks), the total number of data packets successfully decoded by the receiving end (rx_decode_pkt), the total number of data packets successfully decoded by the receiving end (rx_decode_bytes), Number of packets received by the receiver in excess of decoding requirements (rx_decode_unneed_pkt), number of packet bytes received by the receiver in excess of decoding requirements (rx_decode_unneed_bytes), total number of decoded and original packets at the receiver (rx_decode_send_pkt), total number of decoded and original packet bytes at the receiver (rx_decode_send_bytes), number of data blocks for which decoding conditions were not satisfied at the receiver (rx_unsatisfyed_blocks), total number of packets for which decoding conditions were not satisfied at the receiver (rx_unsatisfyed_pkt), total number of packet bytes for which decoding conditions were not satisfied at the receiver (rx_unsatisfyed_bytes), current number of original packets at the transmitter (tx_k), current number of redundant packets at the transmitter (tx_m), current expected number of original packets at the receiver (rx_k), current expected number of redundant packets at the receiver (rx_m).
[0020] Preferably, according to the present invention, the SDN network coding controller receives network coding information reported by the network coding gateway and analyzes it to evaluate the current network performance, determine whether the network coding parameters need to be adjusted, and if adjustment is required, send the network coding parameters to the corresponding network coding gateway; including: The network coding information detection module of the SDN network coding controller communicates with the network coding gateway through the SNMP protocol and periodically collects the network coding information reported by the network coding gateway; The network coding parameter analysis module of the SDN network coding controller receives the information collected by the network coding information detection module and analyzes it; The analysis process includes calculating the packet loss rate, decoding success rate and coding efficiency. Based on the analysis results, the network coding parameter analysis module determines whether the network coding parameters, namely the number of original data packets k and the number of redundant data packets m, need to be adjusted; Packet loss rate Loss_Rate = rx_decode_send_pkt / tx_encode_pkt; Decoding success rate Success_Rate = 1-(rx_unsatisfyed_blocks / rx_blocks); Coding efficiency Efficiency = k / (k+m); If the network condition is poor, that is, the packet loss rate exceeds the set threshold and the decoding success rate is less than the set threshold, the number of redundant data packets m is increased to improve the reliability of data transmission. Otherwise, the number of redundant data packets m is reduced to improve transmission efficiency, and the number of original data packets k is adjusted according to the network condition and coding efficiency (adjusting the k value is intended to balance coding efficiency and latency; for example, for real-time video streaming requiring low latency, the k value can be appropriately reduced to shorten the encapsulation time of data blocks; for file transfer focusing on throughput, the k value can be appropriately increased to improve coding efficiency when the network condition is good). At the same time, the network coding parameter analysis module sets different priorities for different data streams based on QoS (Quality of Service) requirements. For example, for video streams with high real-time requirements, higher priority can be assigned and more conservative coding parameters can be used to reduce delay and packet loss. The network coding decision execution module of the SDN network coding controller sends the calculated new network coding parameters, namely the adjusted number of redundant data packets and the number of original data packets, to the corresponding network coding gateway through the southbound interface of the SDN network coding controller (such as OpenFlow).
[0021] The beneficial effects of the present invention are: 1. Dynamic parameter adjustment to adapt to network changes: Traditional network coding technologies typically use fixed coding parameters that cannot be adjusted according to changing network conditions. This results in low transmission efficiency when network conditions are poor, and in unnecessary redundancy and waste of network resources when network conditions are good. However, this invention uses an SDN network coding controller to monitor the operating status of the network coding gateway in real time, collect network coding information, and dynamically adjust network coding parameters (the number of original packets k and the number of redundant packets m) based on the analysis results. This ensures that the network coding scheme remains optimal, adapting to changing network conditions and improving network robustness and flexibility.
[0022] 2. Global Perspective, Optimizing Network Performance: Traditional network coding technologies are typically implemented at the application layer, lacking awareness of underlying network conditions and making it difficult to make global optimization decisions. This invention, however, utilizes an SDN architecture. The SDN network coding controller maintains a global network view, comprehensively considering factors such as network topology, link status, and traffic characteristics. This allows for centralized control and management of network coding parameters, enabling more rational optimization decisions and improving overall network performance.
[0023] 3. Fine-grained control to meet QoS requirements: The present invention can set different network coding rules and parameters based on different data flow types and QoS (Quality of Service) requirements. This fine-grained control capability enables the present invention to better meet the needs of different applications and improve the user experience.
[0024] 4. Simplified management and reduced operation and maintenance costs: Traditional network coding technologies typically require complex configuration on individual network devices, resulting in high management and maintenance costs. However, this invention utilizes an SDN architecture. The SDN network coding controller centrally manages network coding policies, simplifying network configuration and management and reducing operation and maintenance costs. Furthermore, the SDN network coding controller provides extensive network monitoring and fault diagnosis capabilities, helping network administrators identify and resolve problems promptly and improving network reliability and availability.
[0025] 5. Improve bandwidth utilization: By dynamically adjusting the number of redundant packets, the present invention can reduce redundancy when the network is in good condition, reduce additional bandwidth overhead, and thus improve the effective bandwidth utilization of the network.
[0026] 6. Enhanced network reliability: When the network condition is poor, the present invention can increase the number of redundant packets, improve the reliability of data transmission, reduce data retransmission, thereby reducing the packet loss rate and improving the stability and reliability of the network.
[0027] 7. Reduce transmission delay: For applications with high real-time requirements, such as video conferencing and online games, the present invention can reduce data transmission delay by reducing data packet loss and retransmission, thereby improving user experience.
[0028] 8. Scalability: The present invention adopts SDN architecture, which has good scalability and can be easily deployed in large-scale networks to support a large number of network devices and users.
[0029] 9. Flexibility: The present invention supports flexible network coding rule configuration and can define different coding strategies according to different network environments and application requirements, with strong flexibility and adaptability. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 This is a system architecture diagram of the SDN-based automated operator-adjusted network coding erasure optimization method proposed in the present invention; Figure 2 This is a schematic diagram of the module composition of the SDN network coding controller proposed in the present invention; Figure 3 This is a schematic diagram of the module composition of the network coding gateway proposed in the present invention. DETAILED DESCRIPTION
[0031] The present invention will be further described below with reference to embodiments and accompanying drawings, but is not limited thereto.
[0032] Example 1 An automated operator-adjusted network coding erasure optimization method based on SDN, such as Figure 1 Shown, including: Step 1: Configure the SDN network coding controller and network coding gateway and establish a control channel; Setting initial network coding parameters on the SDN network coding controller, including the number of original data packets and the number of redundant data packets; Step 2: The sender sends the data stream to the receiver. The network coding gateway set up by the sender filters the data stream and encodes the data packets that need to be encoded. After encoding, it is sent to the network coding gateway set up by the receiver. Step 3: The network coding gateway at the receiving end decodes the received data packet and forwards the decoded data packet to the upper-layer application; Step 4: The network coding gateways at the sending and receiving ends regularly report network coding information to the SDN network coding controller; Step 5: The SDN network coding controller receives the network coding information reported by the network coding gateway and analyzes it to evaluate the current network performance and determine whether the network coding parameters need to be adjusted; If adjustment is required, the SDN network coding controller calculates the new network coding parameters and sends them to the corresponding network coding gateway; Step 6: The network coding gateway receives the new network coding parameters and configures them into the network coding gateway; Step 7: Repeat steps 4-6 to dynamically adjust network coding parameters based on changes in network conditions, thus achieving erasure correction and optimization of network coding. When applied, each data block is erasure coded at the sending end to generate redundant data packets, and the redundant data packets carry network coding metadata, which are sent to the receiving end network coding gateway through the network coding tunnel to achieve data recovery in a packet loss environment.
[0033] Example 2 The difference between the SDN-based automatic operator-adjusted network coding erasure optimization method described in Example 1 is that: Configure the SDN network coding controller; including: SDN network coding controller refers to a device or system that can centrally control and manage network coding gateways; The SDN network coding controller is responsible for collecting the operating status information of the network coding gateway, analyzing the network status, and dynamically adjusting the network coding parameters and network coding rules based on the analysis results to optimize the performance of network coding; The network coding parameters represent the number of original data packets (k) and the number of redundant data packets (m) in a network coding unit. A network coding unit is a set of data packets that undergo a network coding operation (k IP data packets + m redundant data packets generated by network coding the k IP packets). An original data packet is an uncoded data packet, and a redundant data packet is an additional data packet generated from the original data packet using a network coding algorithm such as Reed-Solomon code. SDN network coding controller such as Figure 2 As shown, it includes a network coding information detection module, a network coding parameter analysis module and a network coding decision execution module; The network coding information detection module is responsible for communicating with the network coding gateway through the SNMP protocol and periodically collecting network coding information reported by the network coding gateway, such as the number of encoded packets, decoded packets, redundant packets, and packet loss. This information reflects the execution status of network coding on the gateway and the packet loss status of the network. The network coding parameter analysis module is responsible for receiving the network coding information collected by the network coding information detection module and analyzing the network coding information to evaluate the current network performance. It also prioritizes different data flows based on QoS requirements and generates optimal network coding parameters. A data flow refers to a number of data packets with the same characteristics transmitted in the network. These characteristics include a five-tuple: source IP address, destination IP address, transport layer protocol, source port number, and destination port number. The network coding decision execution module sends the new network coding parameters and data streams calculated by the network coding parameter analysis module to the corresponding network coding gateway; by dynamically adjusting the network coding parameters, the network coding decision execution module can adapt the network coding to the ever-changing network conditions, thereby achieving network coding optimization.
[0034] Configure the network coding gateway and establish a control channel; including: The network coding gateway is a device deployed in the network that is responsible for network coding and network decoding operations; Configure network coding rules on the network coding gateway to define the data flows that need to be network coded. The network coding rules are sent to the network coding gateway by the SDN network coding controller. The network coding gateway establishes a network coding tunnel and performs network coding on incoming data packets according to the network coding rules before transmitting them through the network coding tunnel. Packet loss is recovered at the peer network coding gateway. The network coding gateway reports network coding information to the SDN network coding controller in real time. The SDN network coding controller analyzes the network coding information and dynamically adjusts network coding parameters and network coding rules. Network coding gateway such as Figure 3 As shown, it includes a network information reporting module, a network coding filtering module, a network coding module and a network coding signaling module; The network information reporting module is responsible for communicating with the SDN network coding controller using the SNMP protocol (communication is carried out between the network coding information detection module in the SDN network coding controller and the network information reporting module in the network coding gateway) and regularly reporting the network coding information of the network coding gateway to the SDN network coding controller, including the number of encoded data packets, the number of decoded data packets, the number of data packets that cannot be decoded, etc. The network coding filtering module is responsible for filtering data flows passing through the network coding gateway according to the network coding rules issued by the SDN network coding controller. Data flows that meet the network coding rules are sent to the network coding module for processing, while other data flows are forwarded normally, thus achieving selective network coding for specific traffic. The network coding module is the core of the network coding gateway and is responsible for performing actual network coding and network decoding operations; The network coding signaling module is responsible for processing signaling related to network coding; for example, it receives network coding parameters and rules from the SDN network coding controller and configures these parameters into the network coding module; it is responsible for maintaining the network coding tunnel and processing various signaling related to the network coding tunnel; The control channel refers to the signaling channel for the SDN network coding controller and the network coding gateway to issue network coding parameters and network coding rules, as well as report network coding information.
[0035] The sender sends a data stream to the receiver. The network coding gateway set up by the sender filters the data stream and encodes the data packets that need to be encoded. After encoding, it sends them to the network coding gateway set up by the receiver. This includes: The network coding filter module filters data flows according to the network coding rules issued by the SDN network coding controller. Data flows that meet the network coding rules, i.e., the five-tuple, are sent to the network coding module for processing, while other data flows are forwarded normally. When data packets in a data stream enter the network coding module, they are first buffered until the required number of packets is collected to meet the decoding conditions (for example, for a data block containing k original packets and m redundant packets, at least k packets, whether original or redundant, must be received for successful decoding). A predetermined coding algorithm (such as Reed-Solomon code) is then used to generate multiple redundant packets. These redundant packets, along with the original, unencoded, packets, are sent to the receiving network coding gateway through the network coding tunnel. To enable the receiving network coding gateway to correctly decode, network coding metadata is also sent to the receiving network coding gateway. The network coding tunnel represents an IPv6 over IPv6 tunnel and uses the Option field of the outer IPv6 tunnel to store network coding metadata. The metadata of network coding represents the necessary information for the receiving network coding gateway to perform network coding and decoding operations, including the BLOCK sequence number, i.e., the data block sequence number (the same block has the same sequence number), k, i.e., the number of original data packets in the BLOCK (data block), m, i.e., the m redundant data packets generated in the BLOCK based on the k original data packets through network coding, i.e., the packet number of the data packet in the BLOCK, and flag, i.e., whether the data packet is an original data packet or a redundant data packet (flag=0 indicates an original data packet, and flag=1 indicates a redundant data packet). A data block includes multiple data packets and is the basic processing unit of network coding.
[0036] The network coding gateway at the receiving end decodes the received data packets and forwards the decoded data packets to the upper-layer application; this includes: The network coding gateway at the receiving end receives the redundant data packets and original data packets sent by the sending end, decodes them and checks whether any data packets are lost. If no data packets are lost, the gateway directly forwards the original data packets to the upper-layer application. The upper-layer application refers to the application program that uses the network transmission service. If some packets are lost, the received packets and redundant packets are used to recover the lost packets; If the receiving network coding gateway does not receive the required number of packets to meet the decoding requirements for decoding (for example, for a data block containing k original packets and m redundant packets, at least k packets, whether original or redundant, must be received for successful decoding), the number of data blocks for which the receiving end's decoding requirements are not met (rx_unsatisfyed_blocks, which is the total number of data blocks for which the network exceeds the network coding recovery capability due to packet loss during network transmission) and the total number of packets for which the receiving end's decoding requirements are not met (rx_unsatisfyed_pkt, which is the total number of packets for which the network exceeds the network coding recovery capability due to packet loss during network transmission) in the network coding information are increased accordingly (for example, if the coding parameters are k=10 and m=5, that is, 15 packets are sent, including 10 original packets and 5 redundant packets, the receiving end must receive at least 10 packets for decoding; if the receiving end only receives 9 packets, decoding is impossible, and the rx_unsatisfyed_blocks count is increased by 1); After successful decoding, the number of data blocks successfully decoded by the receiver (rx_decode_blocks), the total number of packets successfully decoded by the receiver (rx_decode_pkt), and the total number of bytes of packets successfully decoded by the receiver (rx_decode_bytes) in the network coding information are updated accordingly.
[0037] The network coding gateways at the sending and receiving ends periodically report network coding information to the SDN network coding controller, including: The network information reporting module of the network coding gateway uses the SNMP protocol to communicate with the SDN network coding controller and regularly reports the network coding information of the network coding gateway to the SDN network coding controller, including: the number of encoded data packets at the sending end (tx_encode_pkt), the number of encoded data bytes at the sending end (tx_encode_bytes), the number of encoded data blocks at the sending end (tx_encode_blocks), the number of redundant data packets at the sending end (tx_encode_recovery), the number of redundant data packet bytes at the sending end (tx_encode_recovery_bytes), the number of data packets discarded by the sending end (tx_encode_drop), the number of data blocks received by the receiving end (rx_blocks), the number of data blocks successfully decoded by the receiving end (rx_decode_blocks), the total number of data packets successfully decoded by the receiving end (rx_decode_pkt), the total number of data packets successfully decoded by the receiving end (rx_decode_bytes), Number of packets received by the receiver in excess of decoding requirements (rx_decode_unneed_pkt), number of packet bytes received by the receiver in excess of decoding requirements (rx_decode_unneed_bytes), total number of decoded and original packets at the receiver (rx_decode_send_pkt), total number of decoded and original packet bytes at the receiver (rx_decode_send_bytes), number of data blocks for which decoding conditions were not satisfied at the receiver (rx_unsatisfyed_blocks), total number of packets for which decoding conditions were not satisfied at the receiver (rx_unsatisfyed_pkt), total number of packet bytes for which decoding conditions were not satisfied at the receiver (rx_unsatisfyed_bytes), current number of original packets at the transmitter (tx_k), current number of redundant packets at the transmitter (tx_m), current expected number of original packets at the receiver (rx_k), current expected number of redundant packets at the receiver (rx_m).
[0038] The SDN network coding controller receives and analyzes network coding information reported by the network coding gateway. Based on the analysis results and QoS requirements, it sends network coding parameters to the corresponding network coding gateway. This includes: The network coding information detection module of the SDN network coding controller communicates with the network coding gateway through the SNMP protocol and periodically collects the network coding information reported by the network coding gateway; The network coding parameter analysis module of the SDN network coding controller receives the information collected by the network coding information detection module and analyzes it; The analysis process includes calculating the packet loss rate, decoding success rate and coding efficiency. Based on the analysis results, the network coding parameter analysis module determines whether the network coding parameters, namely the number of original data packets k and the number of redundant data packets m, need to be adjusted; Packet loss rate Loss_Rate = rx_decode_send_pkt / tx_encode_pkt; Decoding success rate Success_Rate = 1-(rx_unsatisfyed_blocks / rx_blocks); Coding efficiency Efficiency = k / (k+m); If the network condition is poor, that is, the packet loss rate exceeds the set threshold and the decoding success rate is less than the set threshold, the number of redundant data packets m is increased to improve the reliability of data transmission. Otherwise, the number of redundant data packets m is reduced to improve transmission efficiency, and the number of original data packets k is adjusted according to the network condition and coding efficiency (adjusting the k value is intended to balance coding efficiency and latency; for example, for real-time video streaming requiring low latency, the k value can be appropriately reduced to shorten the encapsulation time of data blocks; for file transfer focusing on throughput, the k value can be appropriately increased to improve coding efficiency when the network condition is good). At the same time, the network coding parameter analysis module sets different priorities for different data streams based on QoS (Quality of Service) requirements. For example, for video streams with high real-time requirements, higher priority can be assigned and more conservative coding parameters can be used to reduce delay and packet loss. The network coding decision execution module of the SDN network coding controller sends the calculated new network coding parameters, namely the adjusted number of redundant data packets and the number of original data packets, to the corresponding network coding gateway through the southbound interface of the SDN network coding controller (such as OpenFlow).
[0039] Example 3 The SDN-based automatic operator-adjusted network coding erasure optimization method according to Embodiment 1 or 2 is different in that: Dynamic adjustment based on packet loss rate and decoding success rate, including: Scenario: Video conferencing applications require high real-time performance and reliability. In this scenario, users have high expectations for video smoothness and integrity, and do not want frequent freezes or image dropouts. Therefore, network coding parameters need to be dynamically adjusted based on network conditions to ensure video conferencing quality.
[0040] Monitoring: The SDN network coding controller monitors the following information reported by the network coding gateway in real time: tx_encode_drop: The number of packets dropped by the sender. This parameter reflects the packet loss caused by network congestion or other reasons. rx_blocks: The number of data blocks received by the receiver. A data block contains multiple data packets and is the basic processing unit of network coding. rx_decode_blocks: The number of data blocks successfully decoded by the receiver. This parameter reflects the number of data blocks that the receiver can correctly recover. rx_decode_pkt: the total number of packets successfully decoded by the receiver; rx_decode_send_pkt: The total number of packets successfully decoded by the receiver and the total number of original packets received.
[0041] Analysis: The SDN network coding controller performs the following calculations: Packet loss rate: loss_rate = (tx_encode_drop + (rx_decode_send_pkt)) / tx_encode_pkt; this formula calculates the proportion of packet loss due to dropout at the sender and unsuccessful decoding at the receiver. Decoding success rate: success_rate = rx_decode_pkt / rx_blocks; this formula calculates the ratio of successfully decoded packets to the total number of received packets.
[0042] Decision: If loss_rate > 0.1 and success_rate < 0.95, the network condition is considered poor and redundant data packets need to be added. These two thresholds can be adjusted according to actual application scenarios and requirements. For example, for applications with higher real-time requirements, the packet loss rate threshold can be set lower.
[0043] The number of new redundant data packets is: m'=m+2; the number of redundant data packets added each time can be adjusted according to the specific conditions of the packet loss rate and the decoding success rate; for example, if the packet loss rate is very high, more redundant data packets can be added.
[0044] The number of original data packets remains unchanged: k'=k; when the network condition is poor, the number of redundant data packets is increased first to improve the reliability of data transmission, while the number of original data packets remains unchanged to avoid adding additional transmission burden.
[0045] Adjustment: The SDN network coding controller sends the new k' and m' values to the network coding gateway via the control channel. The network coding gateway adjusts subsequent network coding operations based on the new parameters received. For example, the gateway adjusts the ratio of original data packets to redundant data packets in each coding block and generates coding vectors for redundant data packets.
[0046] Through the above steps, this embodiment can dynamically adjust network coding parameters according to the real-time and reliability requirements of the video conferencing application and the current network conditions, thereby ensuring the smoothness and integrity of the video conferencing and improving the user experience.
[0047] Example 4 The SDN-based automatic operator-adjusted network coding erasure optimization method according to Embodiment 1 or 2 is different in that: Dynamic adjustment based on redundancy overhead, including: Scenario: File transfer applications require high transmission efficiency. In this scenario, users want to complete file transfers as quickly as possible while reducing unnecessary network traffic. Therefore, it is necessary to dynamically adjust network coding parameters based on network conditions to minimize the number of redundant data packets while ensuring reliability.
[0048] Monitoring: The SDN network coding controller monitors the following information reported by the network coding gateway in real time: tx_encode_recovery: The number of redundant data packets sent by the sender; this parameter reflects the number of additional data packets generated by the sender to ensure the reliability of data transmission; tx_encode_pkt: The number of encoded packets sent by the sender.
[0049] Analysis: The SDN network coding controller performs the following calculations: Redundancy overhead: overhead = tx_encode_recovery / tx_encode_pkt; This formula calculates the ratio of the number of redundant data packets to the total number of sent data packets, that is, the additional overhead caused by the unit of original data.
[0050] Decision: If the overhead is greater than 0.3, the redundancy overhead is considered too high and redundant packets need to be reduced. This threshold can be adjusted based on actual application scenarios and requirements. For example, for networks with limited bandwidth resources, the threshold can be set lower.
[0051] The new number of redundant data packets is: m' = m – 1; the number of redundant data packets reduced in each adjustment can be adjusted according to the specific situation of the redundant overhead. For example, if the redundant overhead is high, more redundant data packets can be reduced.
[0052] The number of original data packets remains unchanged: k' = k; when the redundant overhead is too high, the number of redundant data packets is reduced first to reduce network traffic overhead, while the number of original data packets remains unchanged to ensure the basic data transmission rate.
[0053] Adjustment: The SDN network coding controller sends the new k' and m' values to the network coding gateway. The network coding gateway adjusts subsequent network coding operations based on the new parameters. For example, the gateway adjusts the proportion of redundant data packets in each coding block and generates coding vectors for redundant data packets. Furthermore, the SDN network coding controller can further improve file transfer efficiency by adjusting the transmission rate and congestion control algorithms.
[0054] Through the above steps, this embodiment can dynamically adjust the network coding parameters according to the file transfer application's requirements for transmission efficiency and the current network conditions, thereby minimizing the number of redundant data packets while ensuring data transmission reliability, improving transmission efficiency, and reducing network traffic overhead.
[0055] Example 5 The SDN-based automatic operator-adjusted network coding erasure optimization method according to Embodiment 1 or 2 is different in that: Dynamic adjustment based on decoding delay, including: Scenario: Online gaming applications are extremely sensitive to latency; online games require extremely low latency, and any significant delay can degrade the gaming experience, such as lagging character movements and unresponsive operations. Therefore, it is necessary to monitor decoding latency in real time and dynamically adjust network coding parameters accordingly.
[0056] Monitoring: The SDN network coding controller monitors the total number of packets successfully decoded by the receiving end (rx_decode_pkt) and the number of encoded packets sent by the transmitting end (tx_encode_pkt) reported by the network coding gateway.
[0057] The network coding gateway records the sending and receiving timestamps of each data packet and includes this timestamp information in the network coding information before reporting it to the SDN network coding controller. Specifically, the sender records the sending timestamp for each data packet and places it in the packet header or metadata. After receiving and successfully decoding the packet, the receiver records the receiving timestamp. The receiver then sends this timestamp information to the SDN network coding controller via the network information reporting module using the SNMP protocol.
[0058] Analysis: The SDN network coding controller calculates the average decoding delay: Using the collected timestamp information, it calculates the average time it takes for a data packet to be sent and successfully decoded. The SDN network coding controller calculates the difference between the send time and the receive time of all data packets received within a period of time, and then takes the average to obtain the average decoding delay.
[0059] Decision: If the average decoding latency exceeds 50ms, the latency is considered too high and redundant packets should be added. This threshold can be adjusted based on the game type and player tolerance. For example, for competitive games, the threshold may need to be set lower.
[0060] The number of new redundant data packets is: m' = m + 1. The number of redundant data packets added each time can be adjusted based on the degree to which the decoding delay exceeds the threshold. For example, if the decoding delay exceeds the threshold by a large margin, more redundant data packets can be added.
[0061] The number of original data packets remains unchanged: k' = k; in this case, adding redundant data packets is preferred because adding redundant data packets can improve the reliability of data transmission, reduce retransmissions, and thus reduce latency.
[0062] Adjustment: The SDN network coding controller sends the new k' and m' values to the network coding gateway. The network coding gateway adjusts the coding strategy based on the new parameters, such as increasing the number of redundant packets in each coding block.
[0063] Through this embodiment, online gaming applications can dynamically adjust network coding parameters based on real-time decoding latency, thereby optimizing the gaming experience and reducing the delay perceived by players.
[0064] Example 6 The SDN-based automatic operator-adjusted network coding erasure optimization method according to Embodiment 1 or 2 is different in that: Dynamic adjustments based on network congestion include: Scenario: Severe network congestion requires improved data transmission reliability. When the network is congested, the probability of packet loss increases, which reduces data transmission reliability. In this case, it is necessary to dynamically adjust network coding parameters and increase the number of redundant packets to improve data transmission robustness.
[0065] Monitoring: The controller uses SNMP or other network monitoring protocols to obtain network link congestion information, such as link utilization and queue length. Link utilization reflects the link's busyness, while queue length reflects the queuing status on the link. This information can help the SDN network coding controller determine whether the network is congested.
[0066] The SDN network coding controller also monitors information such as the packet loss rate reported by the network coding gateway. The packet loss rate is an important indicator for measuring data transmission reliability.
[0067] Analysis: The SDN network coding controller comprehensively analyzes the congestion status of network links and the packet loss rate of network coding. For example, the SDN network coding controller can set a congestion threshold and a packet loss rate threshold. The network is considered severely congested only when the link utilization exceeds the congestion threshold and the packet loss rate exceeds the packet loss rate threshold.
[0068] Decision: If the network link is severely congested and the packet loss rate is high, add redundant data packets to improve the reliability of data transmission.
[0069] The number of new redundant data packets is: m' = m + 2; the number of redundant data packets can be increased based on the severity of congestion and the packet loss rate.
[0070] The original number of packets remains unchanged: k' = k.
[0071] Adjustment: The SDN network coding controller sends the new k' and m' values to the network coding gateway. The network coding gateway adjusts the coding strategy based on the new parameters and generates more redundant data packets.
[0072] Through this embodiment, when the network is congested, the SDN network coding controller can dynamically increase the number of redundant data packets, thereby improving the reliability of data transmission and reducing data loss.
[0073] Example 7 The SDN-based automatic operator-adjusted network coding erasure optimization method according to Embodiment 1 or 2 is different in that: Dynamic adjustment based on the receiving end's processing capabilities, including: Scenario: The receiver has limited processing power and needs to avoid overload. In some cases, the receiver's computing resources may be limited, such as on low-power devices or embedded systems. If the transmitter sends too many redundant packets, the receiver may not be able to decode them in time, leading to overload or even crash. Therefore, it is necessary to dynamically adjust network coding parameters based on the receiver's processing power.
[0074] Monitoring: The SDN network coding controller communicates with the receiving gateway or host to obtain information such as CPU utilization and memory usage. This information can reflect the load situation at the receiving end.
[0075] The SDN network coding controller monitors the receiver decoding-related information reported by the network coding gateway, such as decoding delay, number of decoding failures, etc. Excessive decoding delay or excessive number of decoding failures may indicate insufficient processing power at the receiver.
[0076] Analysis: The SDN network coding controller analyzes the processing power and decoding load of the receiver. For example, the SDN network coding controller can set a CPU utilization threshold. If the CPU utilization of the receiver exceeds this threshold, the receiver is considered to be overloaded.
[0077] Decision: If the CPU utilization at the receiving end is too high and the decoding delay is long, reduce redundant data packets appropriately to reduce the decoding burden on the receiving end.
[0078] The number of new redundant data packets is: m' = m – 1. The number of redundant data packets to be reduced can be determined based on the CPU utilization and decoding delay length of the receiving end.
[0079] The original number of packets remains unchanged: k' = k; Adjustment: The SDN network coding controller sends the new k' and m' values to the network coding gateway. The network coding gateway adjusts the coding strategy based on the new parameters to reduce the number of redundant data packets generated.
[0080] Through this embodiment, network coding parameters can be dynamically adjusted according to the processing capability of the receiving end, thereby avoiding overload of the receiving end and ensuring the stability and reliability of data transmission.
[0081] Example 8 The SDN-based automatic operator-adjusted network coding erasure optimization method according to Embodiment 1 or 2 is different in that: Dynamic adjustment based on QoS, including: Scenario: The network supports both video streaming and file transfer services. Different network coding parameters need to be adjusted based on their QoS requirements. Different services have different requirements for network transmission. For example, video streaming is more sensitive to latency and packet loss, while file transfer is more concerned with bandwidth and transmission efficiency. Therefore, network coding parameters need to be dynamically adjusted based on the QoS requirements of different services.
[0082] Monitoring: The SDN network coding controller identifies video streams and file transfer flows through flow classification technology (e.g., based on 5-tuples). Flow classification technology can classify network traffic into different categories.
[0083] The SDN network coding controller monitors the network coding information of video streams and file transfer streams respectively, such as packet loss rate, decoding delay, throughput, etc.
[0084] Analysis: The SDN network coding controller analyzes the network performance of video streams and file transfer streams separately.
[0085] Video streaming: Pay attention to decoding latency and packet loss rate. Video streaming requires low latency and high reliability to ensure smoothness and clarity.
[0086] File transfer: Focus on throughput and redundancy overhead. File transfer requires high bandwidth and high efficiency to complete the file transfer as quickly as possible.
[0087] Decision: Video Streaming: If decoding latency exceeds the threshold, increase m' and keep k' small to reduce latency. Adding redundant packets improves the reliability of the video stream, reduces retransmissions, and thus reduces latency. Keeping k' small reduces the computational effort for encoding and decoding, further reducing latency.
[0088] File transfer: If redundancy is too high, reduce m' and increase k' appropriately to improve efficiency. Reducing redundant packets reduces network overhead and improves transfer efficiency. Increasing k' appropriately improves encoding efficiency and reduces total transfer time.
[0089] The SDN network coding controller sets a higher priority for the video stream. The priority information can tell the network coding gateway to prioritize the processing of video stream packets to ensure low latency of the video stream.
[0090] Adjustment: The SDN network coding controller sends different k' and m' values and priority information to the network coding gateway. The network coding gateway applies the corresponding parameters and priorities based on the data stream's quintuple. The network coding gateway then uses different encoding strategies and priorities based on the data stream type (video streaming or file transfer).
[0091] Through this embodiment, network coding parameters and priorities can be dynamically adjusted according to the QoS requirements of different services, thereby optimizing the utilization of network resources and improving user experience.
Claims
1. A method for optimizing network coding erasure correction based on automated operator adjustment based on SDN, characterized in that: include: Step 1: Configure the SDN network coding controller and network coding gateway and establish a control channel; Setting initial network coding parameters on the SDN network coding controller, including the number of original data packets and the number of redundant data packets; Step 2: The sender sends the data stream to the receiver. The network coding gateway set up by the sender filters the data stream and encodes the data packets that need to be encoded. After encoding, it is sent to the network coding gateway set up by the receiver. Step 3: The network coding gateway at the receiving end decodes the received data packet and forwards the decoded data packet to the upper-layer application; Step 4: The network coding gateways at the sending and receiving ends regularly report network coding information to the SDN network coding controller; Step 5: The SDN network coding controller receives the network coding information reported by the network coding gateway and analyzes it to evaluate the current network performance and determine whether the network coding parameters need to be adjusted; If adjustment is required, the SDN network coding controller calculates the new network coding parameters and sends them to the corresponding network coding gateway; Step 6: The network coding gateway receives the new network coding parameters and configures them into the network coding gateway; Step 7: Repeat steps 4-6 to dynamically adjust network coding parameters based on changes in network conditions, thus achieving erasure optimization of network coding.
2. The SDN-based automated operator-adjusted network coding erasure optimization method according to claim 1, characterized in that: Configure the SDN network coding controller; including: SDN network coding controller refers to a device or system that can centrally control and manage network coding gateways; The SDN network coding controller is responsible for collecting the operating status information of the network coding gateway, analyzing the network status, and dynamically adjusting the network coding parameters and network coding rules based on the analysis results; The network coding parameters represent the number of original data packets and redundant data packets in a network coding unit. A network coding unit is a set of data packets that undergo a network coding operation. An original data packet is an uncoded data packet, and a redundant data packet is an additional data packet generated from an original data packet according to the network coding algorithm. The SDN network coding controller includes a network coding information detection module, a network coding parameter analysis module, and a network coding decision execution module; Among them, the network coding information detection module is responsible for communicating with the network coding gateway through the SNMP protocol and periodically collecting the network coding information reported by the network coding gateway; The network coding parameter analysis module is responsible for receiving the network coding information collected by the network coding information detection module, analyzing the network coding information, setting priorities for different data flows based on QoS requirements, and generating optimal network coding parameters. A data flow refers to a number of data packets with the same characteristics transmitted in the network. These characteristics include a five-tuple: source IP address, destination IP address, transport layer protocol, source port number, and destination port number. The network coding decision execution module sends the new network coding parameters and data streams calculated by the network coding parameter analysis module to the corresponding network coding gateway.
3. The SDN-based automated operator-adjusted network coding erasure optimization method according to claim 2, characterized in that: Configure the network coding gateway and establish a control channel; including: The network coding gateway is a device deployed in the network that is responsible for network coding and network decoding operations; Configure network coding rules on the network coding gateway to define the data flows that need to be network coded. The network coding rules are sent to the network coding gateway by the SDN network coding controller. The network coding gateway establishes a network coding tunnel and performs network coding on incoming data packets according to the network coding rules before transmitting them through the network coding tunnel. Packet loss is recovered at the peer network coding gateway. The network coding gateway reports network coding information to the SDN network coding controller in real time. The SDN network coding controller analyzes the network coding information and dynamically adjusts network coding parameters and network coding rules. The network coding gateway includes a network information reporting module, a network coding filtering module, a network coding module and a network coding signaling module; Among them, the network information reporting module is responsible for communicating with the SDN network coding controller using the SNMP protocol and regularly reporting the network coding information of the network coding gateway to the SDN network coding controller; The network coding filter module is responsible for filtering the data streams passing through the network coding gateway according to the network coding rules issued by the SDN network coding controller. The data streams that meet the network coding rules are sent to the network coding module for processing, while other data streams are forwarded normally. The network coding module is responsible for performing the actual network coding and network decoding operations; The network coding signaling module is responsible for processing signaling related to network coding; it is responsible for maintaining the network coding tunnel and processing various signaling related to the network coding tunnel; The control channel refers to the signaling channel for the SDN network coding controller and the network coding gateway to issue network coding parameters and network coding rules, as well as report network coding information.
4. The SDN-based automated operator-adjusted network coding erasure optimization method according to claim 3, characterized in that: The sender sends a data stream to the receiver. The network coding gateway set up by the sender filters the data stream and encodes the data packets that need to be encoded. After encoding, it sends them to the network coding gateway set up by the receiver. This includes: The network coding filter module filters data flows according to the network coding rules issued by the SDN network coding controller. Data flows that meet the network coding rules, i.e., the five-tuple, are sent to the network coding module for processing, while other data flows are forwarded normally. When data packets in a data stream enter the network coding module, they are first buffered until the number of packets required to meet the decoding conditions is collected. A predetermined coding algorithm is then used to generate multiple redundant data packets. These redundant data packets, along with the original, uncoded data packets, are sent to the receiving network coding gateway through the network coding tunnel. Simultaneously, the network coding metadata is sent to the receiving network coding gateway. The network coding tunnel represents an IPv6 over IPv6 tunnel and uses the Option field of the outer IPv6 tunnel to store network coding metadata. The metadata of network coding represents the necessary information for the receiving network coding gateway to perform network coding and decoding operations, including the BLOCK sequence number, i.e., the data block sequence number; k, i.e., the number of original data packets in the BLOCK; m, i.e., the number of redundant data packets generated in the BLOCK based on the k original data packets through network coding; i, i.e., the number of packets in the BLOCK; and flag, i.e., whether the data packet is an original data packet or a redundant data packet.
5. The method for optimizing network coding erasure correction based on SDN automated operator adjustment according to claim 4, characterized in that: The network coding gateway at the receiving end decodes the received data packets and forwards the decoded data packets to the upper-layer application; this includes: The network coding gateway at the receiving end receives the redundant data packets and original data packets sent by the sending end, decodes them and checks whether any data packets are lost. If no data packets are lost, the gateway directly forwards the original data packets to the upper-layer application. The upper-layer application refers to the application program that uses the network transmission service. If some packets are lost, the received packets and redundant packets are used to recover the lost packets; If the network coding gateway at the receiving end does not receive the required number of data packets that meet the decoding conditions for decoding, the number of data blocks at the receiving end that do not meet the decoding conditions and the total number of data packets at the receiving end that do not meet the decoding conditions in the network coding information increase accordingly; After successful decoding, the number of data blocks successfully decoded by the receiving end, the total number of data packets successfully decoded by the receiving end, and the total number of bytes of data packets successfully decoded by the receiving end in the network coding information are updated accordingly.
6. The SDN-based automated operator-adjusted network coding erasure optimization method according to claim 5, characterized in that: The network coding gateways at the sending and receiving ends periodically report network coding information to the SDN network coding controller, including: The network information reporting module of the network coding gateway uses the SNMP protocol to communicate with the SDN network coding controller and regularly reports the network coding information of the network coding gateway to the SDN network coding controller, including: the number of coded data packets at the sending end, the number of coded data bytes at the sending end, the number of coded data blocks at the sending end, the number of redundant data packets at the sending end, the number of redundant data packet bytes at the sending end, the number of data packets discarded by the sending end, the number of data blocks received by the receiving end, the number of data blocks successfully decoded by the receiving end, the total number of data packets successfully decoded by the receiving end, the total number of data packet bytes successfully decoded by the receiving end, the number of data packets received by the receiving end that exceed the decoding requirements, the number of data packet bytes received by the receiving end that exceed the decoding requirements, the total number of data packets decoded and original data packets at the receiving end, the number of data blocks for which the decoding conditions are not met at the receiving end, the total number of data packets for which the decoding conditions are not met at the receiving end, the total number of data packet bytes for which the decoding conditions are not met at the receiving end, the current number of original data packets at the sending end, the current number of redundant data packets at the sending end, the current expected number of original data packets at the receiving end, and the current expected number of redundant data packets at the receiving end.
7. The SDN-based automated operator-adjusted network coding erasure optimization method according to claim 6, characterized in that: The SDN network coding controller receives network coding information reported by the network coding gateway and analyzes it to evaluate the current network performance and determine whether network coding parameters need to be adjusted. If adjustment is required, the network coding parameters are sent to the corresponding network coding gateway. This includes: The network coding information detection module of the SDN network coding controller communicates with the network coding gateway through the SNMP protocol and periodically collects the network coding information reported by the network coding gateway; The network coding parameter analysis module of the SDN network coding controller receives the information collected by the network coding information detection module and analyzes it; The analysis process includes calculating the packet loss rate, decoding success rate and coding efficiency. Based on the analysis results, the network coding parameter analysis module determines whether the network coding parameters, namely the number of original data packets k and the number of redundant data packets m, need to be adjusted; If the network condition is poor, that is, the packet loss rate exceeds the set threshold and the decoding success rate is less than the set threshold, then increase the number of redundant data packets m; otherwise, reduce the number of redundant data packets m and adjust the number of original data packets k according to the network condition and coding efficiency; At the same time, the network coding parameter analysis module sets different priorities for different data flows based on QoS requirements; The network coding decision execution module of the SDN network coding controller sends the calculated new network coding parameters, i.e. the adjusted number of redundant data packets and the number of original data packets, to the corresponding network coding gateway through the SDN network coding controller.