Networking Notes 3 - Internet Transport-Layer Protocol
More than one transport-later protocol available to applications
Internet: TCP and UDP
TCP
- Reliable, in-order delivery
- Connection setup
- Flow control
- Congestion control
UDP
- Unreliable, unordered delivery
More about TCP
Full name: Transmission Control Protocol
- Connection-oriented protocol
- Provide a reliable unicast end-to-end byte stream over an unreliable internetwork
Before any data transfer, TCP establishes a connection(hand shark?)
- Client: send Request a connection
- Server: Accept a connection
- Do Data Transfer
- Client: Disconnect
Reliable
- The reason why we use TCP is because it is reliable.
- Byte stream is broken up into chunks - segments
- The receiver sends acknowledgements (ACKs) for segments.
- TCP maintains a timer, if ACK is not received in time, the segment is retransmitted.
- Detecting errors (checksums for header and data)
- Each byte has a sequence number
UDP
Full name : User Datagram Protocol
- Connectionless - no handshark
- Unreliable
- No flow control
- No congestion control
Good:
- No connect establishment ← can add delay
- simple
- small segment header
- no congestion control: as fast as desired
Good for: Streaming multimedia application
- Loss tolerant
- rate sensitive
- DNS
Networking Notes 3 - Internet Transport-Layer Protocol
https://blog.kwunlam.com/Networking-Notes-3-Internet-Transport-Layer-Protocol/