Egress Queue Buffering for Small-Flow Packet Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network forwarding devices experience degraded performance due to packet drops and congestion in egress queues, particularly affecting small data flows and new data flows when egress queues are congested, leading to inefficiencies in packet forwarding.
Innovation Solution
The method involves determining if a packet belongs to a new data flow by checking if a previous packet of the same flow is buffered, and if not, scheduling it directly to the egress queue, while buffering packets in separate buffers based on flow size to prioritize small flows during congestion relief.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If packets are buffered in a single buffer queue during egress queue congestion, then packet loss is reduced, but forwarding performance deteriorates due to congestion spreading to new data flows
Solution Approach 1:
The patent segments the single buffer queue into multiple buffer queues, with each buffer queue associated with a specific egress queue. This segmentation isolates congestion to specific buffer-egress pairs, preventing congestion from spreading to other data flows. When one egress queue is congested, only packets destined for that egress queue are buffered, while other egress queues continue normal operation, thus maintaining overall forwarding performance while still reducing packet loss for affected flows.
2Reliability
If packets wait in buffer queue during congestion, then packet drop is avoided, but transmission performance degrades due to extended wait time
Solution Approach 1:
The patent establishes buffer queues in advance, associating each buffer queue with a specific egress queue before congestion occurs. This preliminary organization allows packets to be quickly routed to the appropriate buffer queue during congestion without requiring complex runtime decisions. The pre-established associations enable faster packet retrieval and forwarding when congestion is relieved, reducing the overall wait time compared to a single shared buffer queue where packets must be sequentially processed.
3Reliability
If all packets are sent to buffer queue during congestion, then egress queue congestion is relieved, but new data flows are affected and congestion spreads
Solution Approach 1:
The patent segments the buffering function so that each buffer queue handles only packets destined for its associated egress queue. When congestion is detected on a specific egress queue, only packets for that egress queue are diverted to its corresponding buffer queue. Packets for other egress queues, including new data flows, continue to be forwarded normally without being affected by the congestion. This segmentation prevents congestion from spreading to new data flows while still providing buffering protection for the congested flow.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
This application provides a data forwarding method, a data buffering method, an apparatus, and a related device. After congestion of an egress queue is relieved, a network device receives a packet sent by an upstream node, and determines whether a storage device associated with the egress queue buffers a previous packet that belongs to a same data flow as the packet. When the storage device does not buffer the previous packet, the network device schedules the packet to the egress queue, to forward the packet to a downstream node, where the storage device includes a first buffer and a second buffer, and is configured to receive, during congestion of the egress queue, a packet sent by the network device. The storage device obtains a flowsize of all received packets that belong to the same data flow as the packet. When the flowsize is less than or equal to a preset threshold, the storage device buffers the packet in the first buffer. After congestion is relieved, the storage device preferentially sends the packet in the first buffer to the network device. In this way, a new data flow and a small data flow are first scheduled, and forwarding performance of the device is improved.