back

Transmission Control Protocol

TCP/IP basics

If you suspend your transcription on amara.org, please add a timestamp below to indicate how far you progressed! This will help others to resume your work!

Please do not press “publish” on amara.org to save your progress, use “save draft” instead. Only press “publish” when you're done with quality control.

Video duration
00:39:12
Language
English
Abstract
TCP/IP is the most widely used protocol on the Internet for transmitting data. But how does it work in detail? This talk will explain the TCP protocol, from handshake over established to teardown in detail - and elaborate a bit on protocol adjustments over time and congestion control.

I will briefly explain how computers talk to each other via the Internet Protocol (IP), and explain the transport protocols UDP and TCP, and their interaction with ICMP (for error and control messages). UDP is the user datagram protocol, an unreliable packet-oriented protocol. TCP provides a reliable stream of data, and includes connection establishment, feature negotiation, window management, and teardown.

Over the last years at University of Cambridge I contributed to a formal model of TCP/IP and the Unix sockets API, developed in HOL4. We validated our HOL4 model with the FreeBSD-12 stack using Dtrace (packets, system calls, internal TCP state). In this research, we formalised a more exact TCP state machine than in initial RFCs or common literature (Stevens).

Talk ID
9675
Event:
35c3
Day
1
Room
Dijkstra
Start
7:10 p.m.
Duration
00:40:00
Track
Science
Type of
lecture
Speaker
Hannes Mehnert
Talk Slug & media link
35c3-9675-transmission_control_protocol

Talk & Speaker speed statistics

Very rough underestimation:
131.8 wpm
708.4 spm
136.0 wpm
727.0 spm
100.0% Checking done100.0%
0.0% Syncing done0.0%
0.0% Transcribing done0.0%
0.0% Nothing done yet0.0%
  

Work on this video on Amara!

Talk & Speaker speed statistics with word clouds

Whole talk:
131.8 wpm
708.4 spm
tcplayerdataipnumberheaderinternetserversocketrouterstateconnectionbitudpsidesequencefiledescriptorclientlinktransportapplicationhostaddressnetworkcalledprotocolimplementation1fieldorderdestinationsegmentlaptoptalksizetimewindowbytesbitscontrolacknowledgementlayerspayloadsetroutersreceivedlistensynbuffer
Hannes Mehnert:
136.0 wpm
727.0 spm
tcplayerdataipnumberheaderserversocketinternetrouterconnectionbitudpsidefiledescriptorsequenceclientlinkstatetransportapplicationhostaddressnetworkprotocolfieldlaptopdestinationsegmentcalledbytestimebitssizewindowcontrolrouterslayersordersendpayload1setbufferreceivedacknowledgementsynlistentalk