Batching Non-Matching Packets in SDN Forwarding Buffers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In OpenFlow protocol-based SDN networks, the forwarding plane device needs to send non-matching data packets to the control plane device one by one when its buffer reaches capacity, leading to increased overheads in the link between the two devices.
Innovation Solution
A second buffer is added to the forwarding plane device to store non-matching data packets, which are sent to the control plane device in batches once the second buffer reaches capacity, reducing the frequency of data packet transmissions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data packets are sent one by one to the control plane device when the buffer reaches capacity, then the buffer capacity constraint is satisfied, but the link overheads increase
Solution Approach 1:
Multiple individual data packet transmissions are merged into a single batch transmission. When the first buffer reaches capacity, multiple unmatched data packets are collected and sent together to the control plane device in one operation, rather than sending them individually, thereby reducing link overheads while satisfying buffer capacity constraints
Solution Approach 2:
Data packets are preliminarily collected and buffered in the second buffer before being sent to the control plane device. This preliminary buffering allows the system to accumulate multiple packets and transmit them in batches, reducing the frequency of transmissions and lowering link overheads
2Loss of energy
If a second buffer is added to batch data packets, then the link overheads are reduced, but the device complexity increases
Solution Approach 1:
The buffering function is segmented into two distinct buffers with different purposes: the first buffer (with cache queues) handles matched data packets and flow table operations, while the second buffer handles unmatched data packets for batch transmission. This segmentation allows each buffer to be optimized for its specific function, managing complexity through functional separation
3Productivity
If data packets are buffered in batches, then the transmission frequency is reduced, but the data packet processing time increases
Solution Approach 1:
The system dynamically determines when to transmit data packets based on buffer capacity conditions. Transmission occurs when the first buffer reaches capacity or when specific flow table operations are completed, allowing the system to adapt transmission timing to actual processing needs, balancing batch efficiency with processing speed
Data Source
AI summary
Embodiments of the present invention disclose a data packet processing method and apparatus, and a device. The method includes: if a first data packet is received, determining a first cache queue that is in the first buffer and that is used to store the first data packet; buffering the first data packet in the second buffer if a state of the first cache queue is an invalid state, where a data amount of the first data packet is less than the capacity of the second buffer, and the state of the first cache queue is set to the invalid state when a current data amount of the first buffer reaches the capacity of the first buffer; and if a data amount of the second buffer reaches the capacity of the second buffer, sending all data packets that are in the second buffer to a control plane device.


