6WIND TCP Networking Stack Architecture: DPDK Based for Performance

HTTP has become the underlying protocol for almost all networking applications. TCP sockets, the network objects used by computer programs to provide HTTP applications, have revealed their limits in terms of performance and capacity.

 

 

To overcome these limitations, 6WIND has developed a high-performance TCP stack that leverages DPDK (Data Plane Development Kit) in a fast path user space model to eliminate Linux performance bottlenecks. 6WIND’s TCP stack is available as part of its flagship 6WINDGate source code, the industry’s leading packet processing software designed natively on DPDK. For the past 15 years, 6WINDGate’s TCP stack has helped developers around the world develop test and measurement tools, SSL inspection solutions, satellite applications and much more.

 

In today’s blog we will look at the 6WINDGate TCP architecture so that you can see how it works.

 

High Performance TCP Architecture: Offload Packet Processing from Linux

 

6WINDGate includes a complete networking stack for TCP/UDP Termination with industry leading performance. Our TCP/UDP stack includes TCP/UDP termination and TLS/DTLS. It provides a socket API for integration with TCP/UDP and SSL applications.

 

It is available on top of the 6WINDGate Layer 2-3 modules that provide a complete networking stack, including L2 encapsulation, IPv4 and IPv6 forwarding, NAT, IPsec, full VRF support and more.

 

 

 

The 6WINDGate TCP implementation is as follows:

 

Stack Implementation

  • Redesigned and fully optimized for multi-core execution environments
  • Highly scalable processing of parallel establishment / shutdown of TCP connections
  • High performance data exchanges on a huge number of TCP / UDP sockets on established TCP connections
  • Event driven notifications from the stack to the application
  • Plugin support for custom TCP/UDP applications including bridged and router transparent proxy support with configurable IP bypass lists

Socket API

  • Full support of TCP/UDP and TLS/DTLS sockets over IPv4 and IPv6
  • POSIX-compliant socket API and Zero-copy based socket APIs
  • VRF-aware sockets
  • Netstat like support to dump state and statistics of the sockets

 

TCP Architecture in a Fast Path User Space Model Designed for Performance

 

 

To overcome Linux TCP limitations, 6WINDGate’s TCP stack runs in user space, outside of the Linux OS, and leverages an event-based socket API to implement the TCP applications. This architecture provides zero-copy operation and low latency-calls between the TCP stack and the application to significantly increase performance and capacity. The accelerated TCP stack can be used in both server and proxy modes.

 

On an Intel platform, 6WINDGate delivers 12 Gbps per core of traffic with 8 million active concurrent sockets and 7.1 million transactions per second (TPS).

 

6WINDGate’s TCP stack can be provided with a TLS/DTLS module to accelerate SSL connections and combined with other 6WINDGate networking modules including Layer 2, IPv4 and IPv6 forwarding, Virtual Routing and Forwarding (VRF) and more to provide a complete solution.

 

To learn more, 6WINDGate’s on-line documentation is available with an architecture overview, detailed TCP stack architecture, supported protocols, performance reports and software module datasheets.

 

Contact us today to arrange a TCP stack evaluation to boost performance while reducing time-to-market for your TCP based applications.

 


Yann Rapaport is Vice President Of Product Management for 6WIND.