Evolution of Transport Layer Functionality
These notes are low-effort, due to catching up in this module. See the videos and slides for more detail.
You may want a protocol that is tailored to a specific scenario such as:
- Long fat pipes (many in flight packets).
- Wireless networks (noisy links with high bandwidth).
- Long delay links (long RTT).
- Data centre networks (latency sensitive).
- Low priority TCP traffic.
To facilitate this you can implement transport-layer functions in the application layer, on top of UDP.
QUIC - Quick UDP Internet Connections (HTTP/3)
This is an application layer protocol on top of UDP:
- Increases the performance of HTTP
- Uses a slimmed HTTP/2 protocol and QUIC instead of TLS.
This protocol has the following features:
- Error and Congestion Control - Similar to TCP
- Connection Establishment - Reliability, congestion control, authentication, encryption and state all in one RTT.
- Normally there would be two handshakes, one for TCP and one for TLS.
- Multiple application-level streams can be multiplexed over a single QUIC connection.