Links
Literatures I have or haven't read.
- Optimizing TCP for high WAN throughput while preserving low latency
- Tuning Linux TCP for data-center networks by Yuchung Cheng, Linux Plumbers 2022.
- Socksdirect: datacenter sockets can be fast and compatible, SIGCOMM '19. PDF
- Busypolling next generation by Eric Dumazet, 2017.
- Making Linux TCP Fast by Yuchung Cheng and Neal Cardwell, 2016. paper
- Kernel Networking Walkthrough by Thomas Graf (tglx), LinuxCon 2015.
Nice and short (~20 slides) intro to NAPI, RSS, RPS, GRO, TSO, FastOpen with pictures.
- Next year: Kernel Networking Explained also by Thomas Graf, LinuxCon 2016, 27 slides.
- Linux Networking Architecture slides by Hugo Lu, 2014.
- Queueing in the Linux Network Stack, 2013.
- TCP small queues, LWN 2012.
- Controlling Queue Delay by Kathleen Nichols and Van Jacobson, ACM Queue May 2012.
- EECS 489: Computer Networks at umich.edu
- Tuning TCP Parameters for the 21st Century, H.K. Jerry Chu, IETF 75, 2009.
- You don't know jack about Network Performance by Kevin Fall and Steve McCanne, ACM Queue June 2005. Clearly explains four types of network delay.
- TCP Implementation in Linux: A Brief Tutorial, 2008. Nice two-page overview of TCP/IP stack in Linux 2.6.19.
- Scaling in the Linux Networking Stack, kernel doc that describes RSS, RPS, RFS, XPS, etc.
- Segmentation Offloads in the Linux Networking Stack, about TSO, GSO, GRO, etc.
- Programming with the Netpoll API by Jeff Moyer, Linux Kongress 2005.
- Kernel data flow of 2.6.20
- Computer Networks: A Systems Approach 6/e by Larry Peterson and Bruce Davie, 2020.
RFCs
- RFC1958 Architectural Principles of the Internet, 1996-06.
- RFC2525 Known TCP Implementation Problems, 1999-03.
- RFC2544 Benchmarking Methodology for Network Interconnect Devices, 1999-03.
- RFC3150 End-to-end Performance Implications of Slow Links, 2001-07.
- RFC3439 Some Internet Architectural Guidelines and Philosophy, 2002-12. "Layering Considered Harmful." linked from Internet protocol suite
- RFC6349 Framework for TCP Throughput Testing, 2011-08.
- RFC8900 IP Fragmentation Considered Fragile
- RFC9006 TCP Usage Guidance in the Internet of Things (IoT), 2021-03.
RFC drafts
- https://tools.ietf.org/html/draft-dukkipati-tcpm-tcp-loss-probe-01, early version of RFC8985?
- https://tools.ietf.org/html/draft-cardwell-iccrg-bbr-congestion-control-00
Congestion Control
- TCP Congestion Control: A Systems Approach by Peterson, Brakmo, and Davie.
- The Great Internet TCP Congestion Control Census by Ayush Mishra, et al., SIGMETRICS 2020. Slides 1, slides 2.
- The classification and evolution of variants of TCP congestion control
Emulation of lossy link
- https://mininet.org/
- High Speed Network Protocols and Security Workshop, 2020.
- https://calomel.org/network_loss_emulation.html
- https://spl0dge.wordpress.com/2013/09/08/building-a-wan-simulator/
- https://web.archive.org/web/20160306040049/http://tdistler.com/2011/06/10/netem-wan-emulation-how-to-setup-a-netem-box set up a bridge and introduce packet loss and delay.
Posts
- Segmentation and Checksum Offloading: Turning Off with ethtool by Dr Steven Gordon, 2010
- Reply from David Miller about capturing packets when GSO is on.
- Coping with the TCP TIME-WAIT state on busy Linux servers
- Harping on ARP, Multiple Interfaces on Same Ethernet Broadcast Network
- Increase HTTP Performance by Fitting In the Initial TCP Slow Start Window
- Experimenting with TCP Congestion control