There are a number of proposals for improving TCP performance coming out of Google that have some implications for FreeBSD. These proposals have taken the form of a group of IETF proposals, RFCs, patches to the Linux kernel, and research publications. A nice summary of the different initiatives is available from Lets Make TCP Faster on the Google Code Blog.
TCP Fast Open by Radhakrishnan, Cheng, Chu, Jain, and Raghavan is based on the observation that modern web services are dominated by TCP flows so short that they terminate a few round trips after handshaking. This means that the 3-way TCP handshake is a significant source of latency for such flows, and they describe a new mechanism for secure data exchange during the initial handshake to reduce some of the round-trip network transmission and associated latency for such short TCP transfers. This work shares many goals and challenges with T/TCP, which was previously in FreeBSD but suffered from some security vulnerabilities.
David Malone posted some thoughts on my Google+ post about how FreeBSD could implement the various changes. Maybe we could have some Summer of Code students work in this area this summer?
Saturday, February 4, 2012
Updated TCP Proposals and FreeBSD
Tuesday, June 24, 2008
Review: Network Administration with FreeBSD 7
Packt Publishing contacted me a few months ago and offered to send me a copy of their new book, Network Administration with FreeBSD 7 by Babak Farrokhi. There is clearly a need for a modern book covering some of the newer networking features of FreeBSD, so I agreed to write a review.
The early chapters include some general FreeBSD system administration content, similar to what is provided in the FreeBSD Handbook. Chapters on disk layout, system configuration, tuning, package management, and jails precede the main networking chapters. The latter chapters include information on a number of networking technologies not well covered by the existing online documentation. For example, there are chapters or sections on GRE, OpenOSPFD, OpenBGPD, IPv6, TCP 1323, Delayed ACK, firewalls, network servers, and more.
The book is reasonably comprehensive, but there are some notable gaps. It would have been nice to see a section on SCTP or the improved wireless facilities in FreeBSD 7, for example. Also, there is a section on the Squid proxy, but the more modern Varnish project is not mentioned at all.
Unfortunately, the prose is a bit distracting as there are grammatical errors, typos, and missing articles on essentially every page. Overall this book serves as a practical guidebook for FreeBSD Network Administrators and it is a welcome contribution to the corpus of available FreeBSD books.