This document summarizes recent developments in web protocols, including HTTP/2, QUIC, and Multipath TCP (MPTCP). HTTP/2 modernized HTTP by introducing binary framing, multiplexing, header compression and server push. QUIC aims to replace TCP with UDP to reduce latency during connection setup. MPTCP leverages multiple network paths simultaneously for increased throughput and resilience.
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
1. Cleaning Up the Dirt of the Nineties
How New Protocols are
Modernizing the Web
Steffen Gebert
(with help from Thomas Zinner and Benedikt Pfaff)
Photos:
3. Agenda
What happened…
and is still happening
HTTP/2
A small step for the Web
QUIC
Getting rid of TCP
Multipath TCP
One path is not enough
Siri: “Sometimes, we
talk via MPTCP”
4. About Me
PhD Student Comm. Networks
since 2011
Contributor
2008 – 2010
Core Team
2010 - 2013
Server Admin Team
since 2011
Visiting Researcher
10/2011 – 01/2012
10. ISO/OSI Model vs. TCP/IP Model
Physical
Data Link
Network
Transport
Session
Presentation
Application
Host-to-Network
Internet
Transport
Application
Ethernet / xG
IPv4 / IPv6
TCP
HTTP
11. Transmission Control Protocol (TCP)
Host-to-Network
Internet
Transport
Application
Ethernet / xG
IPv4 / IPv6
TCP
HTTP
☑ Connection-oriented Transmission
☑ Segmentation
☑ Flow Control
☑ Congestion Control
☑ Reliable Transport
12. HTTP/2 QUIC MPTCPHTTP/1
*HTTP
Map of Protocols (of this talk)
Host-to-Network
Internet
Transport
Application
IPv4 / IPv6
Ethernet, xG
TCP
TLS
UDP TCP
MPTCP
QUIC
SPDY
15. HTTP/1.0 (1996)
• Header (Content-Type, Set-Cookie, etc.)
• Status codes (200, 404, ..)
• Virtual Hosts
• Server tears down connection
after last byte (no keep-alive)
37. Header Compression (HPACK)
43
• Compression of HTTP headers to reduce overhead
• Client and server store (identical) compression tables
• Static table: Frequently used, standardized headers
• Dynamic table: Connection-specific fields
• Previously used headers are only referenced
Request Headers Static Table Encoded Headers
Dynamic Table
38. Let’s go!
•HTTP/2 is fully
backwards
compatible
•No changes
needed in web
application
39. Server Push
• Server can answer one request with additional responses
• Server can manage the client‘s cache
• Push resources, invalidate resource, increase TTL
• Requires server-side knowledgeof web application
• No overlap with Server-Sent Events / WebSockets
• State not known to the web application(aka JavaScript)
45
Link: “</css/site.css>;rel=preload“
Link: "</images/logo.jpg>;rel=preload“
51. ¿Hablas QUIC?
• How does client now about availability of QUIC?
• Alternate Service Header inform HTTP clients about QUIC service
52. QUIC Status
• Currently, only Google knows
• Currently, only Google uses it
• Open Source QUIC server (Chromium) outdated
• No reliable information about efficiency
55. Advantages
• Increased throughput thanks
to load balancing
• Resilience through
usage of alternative path
• More flexibility: Simultaneous
connection via multiple
media (e.g. WiFi , xG)
Src Dst
Graphics byOlivier Bonaventure
58. Requirements
• Load balacing: prefer
uncongested paths
• Resource Pooling
• Fairness
• TCP vs. MPTCP
• MPTCP vs. TCP
• MPTCP vs. MPTCP
• Stability
Graphics byOlivier Bonaventure
59. Coupling of Subflows
u Fully uncoupled
§ Bad load balacning
§ No resource pooling
u Fully coupled
§ Good load balancing
§ Resource pooling
Han, Towsley et al:
Fully coupled works well
(fluid models)
Fullycoupled
subflows
Uncoupled
subflows
Degree of coupling
Reality:
Does not work in practice
(capture effect)
60. RTT Compensation
• RTT Compensation: Respect RTTs when computing receive window
(be more aggressive on higher RTT path)
RTT CompensationBase line
63. Option2: Apple is Boring
(use MPTCP only for failover)
Mobile
Backup connection
Mobile
Backup connection
WiFi
Primary connection
WiFi
Primary connection
64. Conclusion
HTTP/2 was overdue
Very good browser support, good server support
Fully backwards-compatbile
New features (priorities, server push) to be exploited
Successor (?) QUIC under development
UDP instead of TCP
Allows handover between different connections
Little known about actual benefits
Multipath TCP
Uses multiple paths for load balancing and resilience
Well-engineered protocol to achieve fairness criteria
No public, large-scale deployment yet