TCP in the Data Center and Beyond on Software Gone Wild

In autumn 2016 I embarked on a quest to figure out how TCP really works and whether big buffers in data center switches make sense. One of the obvious stops on this journey was a chat with Thomas Graf, Linux Core Team member and a founding member of the Cilium project.

We start our chat by trying to figure out what TCP in data center really needs from the network. We split the mess into three distinct problems, discussed why they are separate (or: why latency matters), why drops are bad (or not), and then went into the really interesting details: Data-Center TCP and BBR (the new TCP congestion avoidance algorithm by Google).

Finally, we briefly discussed why some people want to run something-over-UDP (including TCP-over-UDP) to overcome what they perceive to be glacial pace of progress, and why that might not work as well as they imagined it would.

For more details, listen to Episode 74 of Software Gone Wild.

More on TCP…

If you want to understand TCP and whether it needs deep buffers (or not), you should also listen to the To Drop or To Delay podcast with Juho Snellman and watch the Networks, Buffers and Drops webinar with JR Rivers.


  1. Big Thanks! That was interesting. Anybody have troubleshooted distributed storage incast problems. How to detect it? How to monitor receiver's window size for example
  2. Very good podcast!
    Google presented BBR @IETF97, slides at
Add comment