Mission
Send four datagrams to 203.0.113.20:5060 with no handshake, no acknowledgement, and no waiting.
stream · four datagrams, clean wire live
UDP — what you just watched
—Sends immediately — first datagram leaves before TCP would have finished saying hello.
—Eight bytes of header. No state to keep on either side.
—No acknowledgements came back, because none were ever expected.
—Order and completeness are the application’s job if it wants them.
TCP — what it would have done
—Three-way handshake first — nothing sends until both ends agree.
—Twenty bytes of header, plus a connection to remember.
—Would ACK every segment and hold the stream in order.
—Guarantees order and delivery — by making everyone wait for it.
open the TCP lab →- source port
- 52310
- destination port
- 5060
- length
- 8 bytes (header only)
- checksum
- 0x8f31
- sequence / ack
- — absent —
The sender’s ephemeral port — where a reply would go, if one came.
The only addressing UDP adds on top of IP: which socket on that host.
Header plus payload. The header itself is a fixed 8 bytes.
Detects corruption — and then discards the datagram. Detection is not repair.
These fields do not exist in UDP. Without them, a gap is invisible.
The wire
IDLE
Socket opened — no handshake at all
Datagram 1 sent and forgotten
Datagram 2 sent and forgotten
Datagram 3 sent and forgotten
Datagram 4 sent and forgotten
UDP has no handshake. What does the app need before the first datagram can leave?
waiting for the first datagram…
UDP is the transport that promises nothing. It adds two ports and a length to IP and gets out of the way. For voice, video and games, arriving late is worse than not arriving — so nobody waits.
clean wire · all four should arrive
Send four datagrams to 203.0.113.20:5060 with no handshake, no acknowledgement, and no waiting.
- What does UDP do before sending the first datagram?
- How big is the UDP header?
Read it now and keep it in mind — the answer is in what you are about to watch.