TCP Engine Packet Processing Architecture for Wire-Speed Forwarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network services appliances face challenges in handling multi-gigabit network traffic, deep packet inspection, wire-speed security across all network layers, and content-level service performance, particularly due to the compute-intensive tasks required for reliable in-order delivery of packets using the Transmission Control Protocol (TCP).

Innovation Solution

A network services processor is designed with a packet processing unit, free pool allocator, packet order unit, and timer unit to accelerate packet processing by performing pre-processing on network transport layer headers, managing buffers, synchronizing packet processing, and scheduling tasks, thereby offloading compute-intensive tasks from general-purpose processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a general purpose processor is used to process L4-L7 network protocols, then intelligent processing capability is improved, but processing speed deteriorates and cannot achieve wire-speed forwarding

Engineering Contradiction:
Improveintelligent processing capabilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The network processor is divided into multiple specialized processing units: network interface units for L1-L3 processing, a transport processing unit for L4 TCP/UDP processing, and application processing units for L5-L7 processing. Each unit is optimized for specific protocol layers, allowing parallel processing that achieves wire-speed forwarding while maintaining intelligent processing capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A transport processing unit acts as an intermediary between the network interface units and application processing units. It handles compute-intensive L4 TCP/UDP processing tasks such as checksum calculation and connection management, offloading these tasks from general-purpose processors while enabling efficient data transfer to application layers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If compute intensive tasks are performed for each TCP connection to ensure reliable in-order delivery, then delivery reliability is improved, but processing throughput deteriorates

Engineering Contradiction:
Improvereliable in-order deliveryVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The transport processing unit autonomously handles TCP connection management, checksum calculation, and packet reordering without requiring intervention from general-purpose processors. This self-service capability ensures reliable in-order delivery while maintaining high processing throughput by keeping the compute-intensive tasks within the specialized hardware unit.

Inventive Principle:
Principle #25Self-service

3Reliability

If deep packet inspection is performed on all packets, then security and content awareness are improved, but processing speed deteriorates

Engineering Contradiction:
Improvesecurity and content awarenessVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

Packet processing is segmented across multiple specialized units: network interface units perform initial L1-L3 processing and basic filtering, the transport processing unit handles L4 inspection, and application processing units perform L5-L7 deep packet inspection. This segmentation allows security and content awareness to be maintained at each layer without requiring all packets to undergo complete inspection sequentially, thereby preserving processing speed.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7535907B2TCP engine
Publication Date: 2009.05.19 MARVELL ASIA PTE LTD
  • US7535907B2 patent drawing
  • US7535907B2 patent drawing
  • US7535907B2 patent drawing

AI summary

A network transport layer accelerator accelerates processing of packets so that packets can be forwarded at wire-speed. To accelerate processing of packets, the accelerator performs pre-processing on a network transport layer header encapsulated in a packet for a connection and performs in-line network transport layer checksum insertion prior to transmitting a packet. A timer unit in the accelerator schedules processing of the received packets. The accelerator also includes a free pool allocator which manages buffers for storing the received packets and a packet order unit which synchronizes processing of received packets for a same connection.