Brussels / 4 & 5 February 2017

schedule

Accelerating TCP with TLDK

overview of the architecture and implementation of TLDK


The Transport Layer Development Kit (TLDK) is new Layer 4 implementation, developed for DPDK (dpdk.org) and VPP (https://wiki.fd.io/view/VPP).

TCP and UDP socket based applications are core technologies in the modern data-center. The introduction of Orchestration, SDN controllers, vSwitches and Virtual Dataplane have seen a huge change in how network packets are delivered to data-centre nodes. While the stacks that consume these packets, the socket based applications have evolved much more slowly. Virtual switches like VPP and OVS-DPDK, have benefited from the vector packet processing technology in DPDK to scale process millions of packets per second, while TCP and UDP socket based applications have not yet benefited. There have been a number recent efforts to port various L4 implementations to DPDK, and while these usually give a modest performance benefit the performance of these is not yet revolutionary.

TLDK has been developed from the ground up to be a very fast and scalable UDP and TCP implementation, targeted for use with DPDK and VPP. In this presentation will provide an overview of TLDK design and implementation. This deep-dive will include:-

  • Overview of the TLDK UDP and TCP API, and how it differs from the BSD Sockets API.
  • How TLDK scales DOS prevention mechanisms such as SynCookie and SynCache.
  • How TLDK scales TCP Timers to handle millions of connections per core.
  • How TLDK integrates with Virtual Switches likes VPP?
  • How will existing TCP and UDP based applications such as NGINX or Apache Traffic Server benefit from TLDK?

The Transport Layer Development Kit (TLDK) is new Layer 4 implementation, developed for DPDK (dpdk.org) and VPP (https://wiki.fd.io/view/VPP).

TCP and UDP socket based applications are core technologies in the modern data-center. The introduction of Orchestration, SDN controllers, vSwitches and Virtual Dataplane have seen a huge change in how network packets are delivered to data-centre nodes. While the stacks that consume these packets, the socket based applications have evolved much more slowly. Virtual switches like VPP and OVS-DPDK, have benefited from the vector packet processing technology in DPDK to scale process millions of packets per second, while TCP and UDP socket based applications have not yet benefited. There have been a number recent efforts to port various L4 implementations to DPDK, and while these usually give a modest performance benefit the performance of these is not yet revolutionary.

TLDK has been developed from the ground up to be a very fast and scalable UDP and TCP implementation, targeted for use with DPDK and VPP. In this presentation will provide an overview of TLDK design and implementation. This deep-dive will include:-

  • Overview of the TLDK UDP and TCP API, and how it differs from the BSD Sockets API.
  • How TLDK scales DOS prevention mechanisms such as SynCookie and SynCache.
  • How TLDK scales TCP Timers to handle millions of connections per core.
  • How TLDK integrates with Virtual Switches likes VPP?
  • How will existing TCP and UDP based applications such as NGINX or Apache Traffic Server benefit from TLDK?

Speakers

Ray Kinsella

Attachments

Links