Inside Linux TCP stack: Overview
Inside Linux TCP stack: Overview Inside Linux TCP stack: Overview
Interactions Device drivers: NIC, PCI, USB, … Virtual file system: sockfs glue layer, NFS, … Timing subsystem: various TCP timers, ARP timers, … Interrupt dispatch subsystem: SoftIRQ, MultiQueue, RPS, … Security subsystem: IPSec, NetLabel, … (TODO: wzt :) Virtual memory subsystem, of course! …
RFC documents review – Terms +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Acknowledgment Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data | |U|A|P|R|S|F| | | Offset| Reserved |R|C|S|S|Y|I| Window | | | |G|K|H|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Urgent Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Page 1 and 2: Inside Linux TCP stack: Overview Li
- Page 3: Key components Applications System
- Page 7 and 8: TCP protocol review - RFC 793 : TR
- Page 9 and 10: Client vs Server Create new connect
- Page 11 and 12: Create new connections tcp_v4_do_rc
- Page 13 and 14: tcp_v4_do_rcv() Create new connecti
- Page 15 and 16: tcp_write_xmit() Key features: Tx d
- Page 17 and 18: Rx Data: from system call Key featu
- Page 19: Pending questions
Interactions<br />
Device drivers: NIC, PCI, USB, …<br />
Virtual file system: sockfs glue layer, NFS, …<br />
Timing subsystem: various <strong>TCP</strong> timers, ARP timers, …<br />
Interrupt dispatch subsystem: SoftIRQ, MultiQueue, RPS, …<br />
Security subsystem: IPSec, NetLabel, … (TODO: wzt :)<br />
Virtual memory subsystem, of course!<br />
…