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 moderndata-center. The introduction of Orchestration, SDN controllers, vSwitches andVirtual Dataplane have seen a huge change in how network packets are deliveredto data-centre nodes. While the stacks that consume these packets, the socketbased applications have evolved much more slowly. Virtual switches like VPPand OVS-DPDK, have benefited from the vector packet processing technology inDPDK to scale process millions of packets per second, while TCP and UDP socketbased applications have not yet benefited. There have been a number recentefforts to port various L4 implementations to DPDK, and while these usuallygive a modest performance benefit the performance of these is not yetrevolutionary. TLDK has been developed from the ground up to be a very fast and scalable UDPand TCP implementation, targeted for use with DPDK and VPP. In thispresentation will provide an overview of TLDK design and implementation. Thisdeep-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 moderndata-center. The introduction of Orchestration, SDN controllers, vSwitches andVirtual Dataplane have seen a huge change in how network packets are deliveredto data-centre nodes. While the stacks that consume these packets, the socketbased applications have evolved much more slowly. Virtual switches like VPPand OVS-DPDK, have benefited from the vector packet processing technology inDPDK to scale process millions of packets per second, while TCP and UDP socketbased applications have not yet benefited. There have been a number recentefforts to port various L4 implementations to DPDK, and while these usuallygive a modest performance benefit the performance of these is not yetrevolutionary. TLDK has been developed from the ground up to be a very fast and scalable UDPand TCP implementation, targeted for use with DPDK and VPP. In thispresentation will provide an overview of TLDK design and implementation. Thisdeep-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? |