SlideShare a Scribd company logo
- 1
A New Internet?
Introduction to HTTP/2,
QUIC and DOH
APRICOT 2018 / APNIC 45
Kathmandu - Nepal
February 2018
Jordi Palet (jordi.palet@theipv6company.com)
- 2
Internet is Changing
• More and more, Internet traffic is moving from many protocols and
ports to all HTTP and HTTPS (ports 80 and 443)
• Only DNS is not yet using HTTP/HTTPS, however is also coming
• This change is due to many factors, including many networks filtering
“what they don’t know”, so limiting the access to those protocols,
which means that apps are forced to use only those
• The advantage is that by improving “only” those protocols, we can
greatly enhance the Internet performance, instead of requiring
improving “lots” of other protocols
• Also, there is more ”perception” that security and privacy are key, so
we can take the opportunity as well to secure more and more traffic
- 3
From HTTP/1.1 to SPDY
• HTTP was initially defined in 1991, revised in 1999 (HTTP/1.1)
• Web sites have greatly evolved since then
– From few kbytes and objects, to few megabytes and hundreds of objects in a
single page
– HTTP/1.1 doesn’t perform well for the actual situation
• In 2009, Google engineers posted about the SPDY project
– Multiplexing (concurrent requests across a single TCP connection)
– Compress and reduce HTTP headers
– Prioritize assets (vital resources for the correct display of the page could be sent
first)
– “Server push” (the server can push resources to the browser before being asked)
• SPDY is a tunnel for HTTP in HTTPS
– Requires support in both sides (server and browser)
– Support in 2016 was over 90% worldwide
– Uses Next Protocol Negotiation (NPN) to negotiate SPDY with TLS servers
- 4
From SPDY to HTTP/2
• IETF HTTPbis WG, in 2012, used SPDY as starting point for HTTP/2
• RFC7540 (HTTP/2) approved in 2015
• Doesn’t require HTTPS
– Browser vendors only implemented HTTP/2 with TLS (HTTPS)
• “Let’s Encrypt” (https://letsencrypt.org/) is free, automated and open, so solves this “issue”
• With TLS, uses Application Layer Protocol Negotiation (ALPN, RFC7639) to
negotiate HTTP/2 with servers
– Earlier implementations supported NPN because the SPDY support
– Main difference: Who decides what protocol to speak
• NPN -> The client makes de choice
• ALPN -> The client gives the server a list of protocols and the server pick the one it wants
• Global support for implementations
– https://github.com/http2/http2-spec/wiki/Implementations
• Web sites using it, is around 25% worldwide
– https://w3techs.com/technologies/details/ce-http2/all/all
– Because HTTPS is required “de facto”
– However all the “top” web sites use it, so traffic is a much bigger %
- 5
HTTP/1.1 vs HTTP/2
*http://blog.restcase.com/http2-benefits-for-rest-apis/
- 6
HTTP/2 (RFC7540) in Short
• Binary protocol
– Easier framing
– Different frame types, same setup for all
• length, type, flags, stream identifier, frame payload
– 10 different frame types (2 to map HTTP/1.1 features DATA & HEADERS)
• Multiplexed streams
– A stream is an independent bi-directional sequence of frames exchanged
between client and server
• Priorities and dependencies
– Each stream has a priority (“weight”) in case there are server resource limitations,
and allow building ”priority trees” with “child streams dependencies” and
dynamically change those (enhances user experience while browsing)
• Header compression for HTTP/2 (HPACK – RFC7541)
• Reset
– No need to negotiate a new TCP connection and waste bandwidth
• Server push
– Server may try to guess what are “next resources” to be requested by client
• Flow control
– DATA frames controlled, per stream, in the same “style” as in SSH
- 7
HTTP/2 Summary View
*http://blog.restcase.com/http2-benefits-for-rest-apis/
- 8
HTTP/2 Extensions
• Client and server can negotiate new frame types on a
hop-by-hop basis
– Those frames aren’t allowed to change state and aren’t flow controlled
– Subjected to new standards
Alternative services
– Longer TCP connections, may affect load balancers, so may want to tell
the client to connect to another host (performance, site brought to
maintenance, …)
– Server send “Alt-Svc” header (RFC7838 – HTTP Alternative Services)
• Another route to the same content, using another service, host and port
number
• Example: Alt-Svc: h2="new.example.org:80”, h2c=“other.example.org:8080”
– Opportunistic TLS
• The Alt-Svc header allows a server with http to inform the client that the same
content is available over TLS
- 9
Implementing HTTP/2 in Apache
• Example config in Ubuntu Server (>=14.04), Apache (>=2.4)
– MPM event recommended. Never use prefork.
• Install it from Ondřej Surý PPA
$ sudo add-apt-repository ppa:ondrej/apache2
$ sudo apt-get update
$ sudo apt-get upgrade
• Enable HTTPs and related mods
$ cd /etc/apache2/mods-enabled
$ sudo ln -sf ../mods-available/socache_shmcb.* .
$ sudo ln -sf ../mods-available/ssl.* .
$ sudo ln -sf ../mods-available/http2.* .
• You need a VirtualHost with HTTPS (no changes there)
– Your config Directive Protocols h2 h2c http/1.1
• Restart Apache2 & done
$ sudo service apache2 restart
- 10
Implementing HTTP/2 in nginx
• Example config in Ubuntu Server (>=16.04), Luckily (>=1.9.5)
• Modify your website config, should have HTTPS
server {
listen 443 ssl http2 default_server;
ssl_certificate /path/to/server.cert;
ssl_certificate_key /path/to/server.key;
# ...
# Your HTTP server config here
# ...
}
• Restart ngnix & done
$ sudo service ngnix restart
- 11
Demo
• Typically 2.5x faster
• https://imagekit.io/demo/http2-vs-http1
• https://youtu.be/QCEid2WCszM
- 12
Chrome Extensions
• HTTP/2 and SPDY indicator
- 13
Firefox Extensions
• HTTP/2 Indicator
- 14
QUIC
• During the SPDY development, it was obvious that TCP is inefficient for
most of the actual Internet usages, so started to work on QUIC (Quick
UDP Internet Connections)
• IETF QUIC WG is developing a UDP-based, stream-multiplexing,
encrypted transport protocol
– Initial use case: HTTP-over-UDP
• Already deployed by Google, so around 9% of Internet traffic uses it
• QUIC standard requires encryption
– TLS1.3 used to establish session keys and encrypt *ALL* the packets
• Including ACKs
– In actual draft (draft-ietf-quic-transport-08), only few parts of the “short header” used
for all the packets except the handshake, remain unencrypted (packet number, an
optional connection identifier and a byte with some flags and “packet type”)
• Disallow passive RTT measurement/packet lost
– Proposal for a “spin bit” (draft-trammell-quic-spin) in the header flipping once per
round trip, to allow estimate the RTT
- 15
HTTP vs QUIC
*https://blog.chromium.org/2015/04/a-quic-update-on-googles-
experimental.html
- 16
DOH
• The IETF DNS over HTTPS (DOH) WG, is standardizing the
encoding of DNS queries and responses over HTTPS
• Will solve certain problems of existing DNS methods
• Avoid that authorities impose traffic discriminations or censorship
– if they wish to do so, with DOH they will need to restrict full access to the web
server providing the DOH
- 17
Conclusions
• HTTP/2 reduce the number of round-trips, avoid blocking
by means of parallel streams and allows discarding
unwanted streams, so a much faster and better web
experience
• “De facto” requires HTTPS, “Let’s Encrypt” to the rescue
• QUIC will decrease latency, avoid packet loss blocking all
the streams (as in HTTP/2) and makes connections
possible with different interfaces (mobility, flapping, …)
• How all this will impact in non-web traffic and change
Internet?
- 18
Thanks !
Contact:
– Jordi Palet: jordi.palet@theipv6company.com

More Related Content

What's hot

Intro to Multi-WAN - pfSense Hangout April 2014
Intro to Multi-WAN - pfSense Hangout April 2014Intro to Multi-WAN - pfSense Hangout April 2014
Intro to Multi-WAN - pfSense Hangout April 2014
Netgate
 
L2 and L3 agent restructure
L2 and L3 agent restructureL2 and L3 agent restructure
L2 and L3 agent restructure
Rossella Sblendido
 
Http 2
Http 2Http 2
Content Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpointContent Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpoint
Shi Junxiao
 
High Availability in Neutron
High Availability in NeutronHigh Availability in Neutron
High Availability in Neutron
Rossella Sblendido
 
Site-to-Site VPNs - pfSense Hangout November 2015
Site-to-Site VPNs - pfSense Hangout November 2015Site-to-Site VPNs - pfSense Hangout November 2015
Site-to-Site VPNs - pfSense Hangout November 2015
Netgate
 
OpenVPN as a WAN - pfSense Hangout October 2016
OpenVPN as a WAN - pfSense Hangout October 2016OpenVPN as a WAN - pfSense Hangout October 2016
OpenVPN as a WAN - pfSense Hangout October 2016
Netgate
 
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Netgate
 
Neutron behind the scenes
Neutron   behind the scenesNeutron   behind the scenes
Neutron behind the scenes
inbroker
 
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
markmcclain
 
Introduction to HTTP2
Introduction to HTTP2Introduction to HTTP2
Introduction to HTTP2
Sudarshan Pant
 
File Transfer Protocol(FTP)
File Transfer Protocol(FTP)File Transfer Protocol(FTP)
File Transfer Protocol(FTP)
Varnit Yadav
 
Eduroam workshop nic mitev probes - networkshop44
Eduroam workshop  nic mitev probes - networkshop44Eduroam workshop  nic mitev probes - networkshop44
Eduroam workshop nic mitev probes - networkshop44
Jisc
 
Using OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound pluginsUsing OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound plugins
OpenDaylight
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
Adam Johnson
 
Sdn command line controller lab
Sdn command line controller labSdn command line controller lab
Sdn command line controller lab
Guedda houssem eddin
 
Openstack Neutron and SDN
Openstack Neutron and SDNOpenstack Neutron and SDN
Openstack Neutron and SDN
inakipascual
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014
yfauser
 
Evolution of HTTP - Miran Al Mehrab
Evolution of HTTP - Miran Al MehrabEvolution of HTTP - Miran Al Mehrab
Evolution of HTTP - Miran Al Mehrab
Cefalo
 
pfSense 2.3 Preview - pfSense Hangout December 2015
pfSense 2.3 Preview - pfSense Hangout December 2015pfSense 2.3 Preview - pfSense Hangout December 2015
pfSense 2.3 Preview - pfSense Hangout December 2015
Netgate
 

What's hot (20)

Intro to Multi-WAN - pfSense Hangout April 2014
Intro to Multi-WAN - pfSense Hangout April 2014Intro to Multi-WAN - pfSense Hangout April 2014
Intro to Multi-WAN - pfSense Hangout April 2014
 
L2 and L3 agent restructure
L2 and L3 agent restructureL2 and L3 agent restructure
L2 and L3 agent restructure
 
Http 2
Http 2Http 2
Http 2
 
Content Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpointContent Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpoint
 
High Availability in Neutron
High Availability in NeutronHigh Availability in Neutron
High Availability in Neutron
 
Site-to-Site VPNs - pfSense Hangout November 2015
Site-to-Site VPNs - pfSense Hangout November 2015Site-to-Site VPNs - pfSense Hangout November 2015
Site-to-Site VPNs - pfSense Hangout November 2015
 
OpenVPN as a WAN - pfSense Hangout October 2016
OpenVPN as a WAN - pfSense Hangout October 2016OpenVPN as a WAN - pfSense Hangout October 2016
OpenVPN as a WAN - pfSense Hangout October 2016
 
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
 
Neutron behind the scenes
Neutron   behind the scenesNeutron   behind the scenes
Neutron behind the scenes
 
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
 
Introduction to HTTP2
Introduction to HTTP2Introduction to HTTP2
Introduction to HTTP2
 
File Transfer Protocol(FTP)
File Transfer Protocol(FTP)File Transfer Protocol(FTP)
File Transfer Protocol(FTP)
 
Eduroam workshop nic mitev probes - networkshop44
Eduroam workshop  nic mitev probes - networkshop44Eduroam workshop  nic mitev probes - networkshop44
Eduroam workshop nic mitev probes - networkshop44
 
Using OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound pluginsUsing OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound plugins
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
 
Sdn command line controller lab
Sdn command line controller labSdn command line controller lab
Sdn command line controller lab
 
Openstack Neutron and SDN
Openstack Neutron and SDNOpenstack Neutron and SDN
Openstack Neutron and SDN
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014
 
Evolution of HTTP - Miran Al Mehrab
Evolution of HTTP - Miran Al MehrabEvolution of HTTP - Miran Al Mehrab
Evolution of HTTP - Miran Al Mehrab
 
pfSense 2.3 Preview - pfSense Hangout December 2015
pfSense 2.3 Preview - pfSense Hangout December 2015pfSense 2.3 Preview - pfSense Hangout December 2015
pfSense 2.3 Preview - pfSense Hangout December 2015
 

Similar to A New Internet? Introduction to HTTP/2, QUIC and DOH

A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUICA new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
APNIC
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
Daniel Austin
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1
Daniel Austin
 
Http/2
Http/2Http/2
HTTP/2
HTTP/2HTTP/2
Web technology-guide
Web technology-guideWeb technology-guide
Web technology-guide
Srihari
 
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 eraHTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
peychevi
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
Ido Flatow
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 Introduction
Walter Liu
 
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebCleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Steffen Gebert
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
Ido Flatow
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7
Karel Zikmund
 
Web protocol.pptx
Web protocol.pptxWeb protocol.pptx
Web protocol.pptx
SindhuVelmukull
 
Primer to Browser Netwroking
Primer to Browser NetwrokingPrimer to Browser Netwroking
Primer to Browser Netwroking
Shuya Osaki
 
Cs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT VCs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT V
pkaviya
 
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Marcin Bielak
 
Http smuggling 1 200523064027
Http smuggling 1 200523064027Http smuggling 1 200523064027
Http smuggling 1 200523064027
n|u - The Open Security Community
 
HTTP Request Smuggling
HTTP Request SmugglingHTTP Request Smuggling
HTTP Request Smuggling
Akash Ashokan
 
HTTP 3.pptx
HTTP 3.pptxHTTP 3.pptx
HTTP 3.pptx
DavidEzekiel14
 
The new (is it really ) api stack
The new (is it really ) api stackThe new (is it really ) api stack
The new (is it really ) api stack
Red Hat
 

Similar to A New Internet? Introduction to HTTP/2, QUIC and DOH (20)

A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUICA new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1
 
Http/2
Http/2Http/2
Http/2
 
HTTP/2
HTTP/2HTTP/2
HTTP/2
 
Web technology-guide
Web technology-guideWeb technology-guide
Web technology-guide
 
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 eraHTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 Introduction
 
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebCleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7
 
Web protocol.pptx
Web protocol.pptxWeb protocol.pptx
Web protocol.pptx
 
Primer to Browser Netwroking
Primer to Browser NetwrokingPrimer to Browser Netwroking
Primer to Browser Netwroking
 
Cs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT VCs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT V
 
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
 
Http smuggling 1 200523064027
Http smuggling 1 200523064027Http smuggling 1 200523064027
Http smuggling 1 200523064027
 
HTTP Request Smuggling
HTTP Request SmugglingHTTP Request Smuggling
HTTP Request Smuggling
 
HTTP 3.pptx
HTTP 3.pptxHTTP 3.pptx
HTTP 3.pptx
 
The new (is it really ) api stack
The new (is it really ) api stackThe new (is it really ) api stack
The new (is it really ) api stack
 

More from APNIC

APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
APNIC
 
APNIC Updates presented by Paul Wilson at CaribNOG 27
APNIC Updates presented by Paul Wilson at  CaribNOG 27APNIC Updates presented by Paul Wilson at  CaribNOG 27
APNIC Updates presented by Paul Wilson at CaribNOG 27
APNIC
 
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
APNIC
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
APNIC
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
APNIC
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
APNIC
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119
APNIC
 
draft-harrison-sidrops-manifest-number-01, presented at IETF 119
draft-harrison-sidrops-manifest-number-01, presented at IETF 119draft-harrison-sidrops-manifest-number-01, presented at IETF 119
draft-harrison-sidrops-manifest-number-01, presented at IETF 119
APNIC
 
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
APNIC
 
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
APNIC
 
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
APNIC
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
APNIC
 
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC
 
NANOG 90: 'BGP in 2023' presented by Geoff Huston
NANOG 90: 'BGP in 2023' presented by Geoff HustonNANOG 90: 'BGP in 2023' presented by Geoff Huston
NANOG 90: 'BGP in 2023' presented by Geoff Huston
APNIC
 
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff HustonDNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
APNIC
 
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, ThailandAPAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APNIC
 

More from APNIC (20)

APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
 
APNIC Updates presented by Paul Wilson at CaribNOG 27
APNIC Updates presented by Paul Wilson at  CaribNOG 27APNIC Updates presented by Paul Wilson at  CaribNOG 27
APNIC Updates presented by Paul Wilson at CaribNOG 27
 
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119
 
draft-harrison-sidrops-manifest-number-01, presented at IETF 119
draft-harrison-sidrops-manifest-number-01, presented at IETF 119draft-harrison-sidrops-manifest-number-01, presented at IETF 119
draft-harrison-sidrops-manifest-number-01, presented at IETF 119
 
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
 
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
 
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
 
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
 
NANOG 90: 'BGP in 2023' presented by Geoff Huston
NANOG 90: 'BGP in 2023' presented by Geoff HustonNANOG 90: 'BGP in 2023' presented by Geoff Huston
NANOG 90: 'BGP in 2023' presented by Geoff Huston
 
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff HustonDNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
 
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, ThailandAPAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
 

Recently uploaded

制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
ukwwuq
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
cuobya
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?
Paul Walk
 
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
bseovas
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
saathvikreddy2003
 
Azure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdfAzure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdf
AanSulistiyo
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
uehowe
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
uehowe
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
davidjhones387
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
xjq03c34
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
wolfsoftcompanyco
 

Recently uploaded (20)

制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?
 
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
 
Azure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdfAzure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdf
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
 

A New Internet? Introduction to HTTP/2, QUIC and DOH

  • 1. - 1 A New Internet? Introduction to HTTP/2, QUIC and DOH APRICOT 2018 / APNIC 45 Kathmandu - Nepal February 2018 Jordi Palet (jordi.palet@theipv6company.com)
  • 2. - 2 Internet is Changing • More and more, Internet traffic is moving from many protocols and ports to all HTTP and HTTPS (ports 80 and 443) • Only DNS is not yet using HTTP/HTTPS, however is also coming • This change is due to many factors, including many networks filtering “what they don’t know”, so limiting the access to those protocols, which means that apps are forced to use only those • The advantage is that by improving “only” those protocols, we can greatly enhance the Internet performance, instead of requiring improving “lots” of other protocols • Also, there is more ”perception” that security and privacy are key, so we can take the opportunity as well to secure more and more traffic
  • 3. - 3 From HTTP/1.1 to SPDY • HTTP was initially defined in 1991, revised in 1999 (HTTP/1.1) • Web sites have greatly evolved since then – From few kbytes and objects, to few megabytes and hundreds of objects in a single page – HTTP/1.1 doesn’t perform well for the actual situation • In 2009, Google engineers posted about the SPDY project – Multiplexing (concurrent requests across a single TCP connection) – Compress and reduce HTTP headers – Prioritize assets (vital resources for the correct display of the page could be sent first) – “Server push” (the server can push resources to the browser before being asked) • SPDY is a tunnel for HTTP in HTTPS – Requires support in both sides (server and browser) – Support in 2016 was over 90% worldwide – Uses Next Protocol Negotiation (NPN) to negotiate SPDY with TLS servers
  • 4. - 4 From SPDY to HTTP/2 • IETF HTTPbis WG, in 2012, used SPDY as starting point for HTTP/2 • RFC7540 (HTTP/2) approved in 2015 • Doesn’t require HTTPS – Browser vendors only implemented HTTP/2 with TLS (HTTPS) • “Let’s Encrypt” (https://letsencrypt.org/) is free, automated and open, so solves this “issue” • With TLS, uses Application Layer Protocol Negotiation (ALPN, RFC7639) to negotiate HTTP/2 with servers – Earlier implementations supported NPN because the SPDY support – Main difference: Who decides what protocol to speak • NPN -> The client makes de choice • ALPN -> The client gives the server a list of protocols and the server pick the one it wants • Global support for implementations – https://github.com/http2/http2-spec/wiki/Implementations • Web sites using it, is around 25% worldwide – https://w3techs.com/technologies/details/ce-http2/all/all – Because HTTPS is required “de facto” – However all the “top” web sites use it, so traffic is a much bigger %
  • 5. - 5 HTTP/1.1 vs HTTP/2 *http://blog.restcase.com/http2-benefits-for-rest-apis/
  • 6. - 6 HTTP/2 (RFC7540) in Short • Binary protocol – Easier framing – Different frame types, same setup for all • length, type, flags, stream identifier, frame payload – 10 different frame types (2 to map HTTP/1.1 features DATA & HEADERS) • Multiplexed streams – A stream is an independent bi-directional sequence of frames exchanged between client and server • Priorities and dependencies – Each stream has a priority (“weight”) in case there are server resource limitations, and allow building ”priority trees” with “child streams dependencies” and dynamically change those (enhances user experience while browsing) • Header compression for HTTP/2 (HPACK – RFC7541) • Reset – No need to negotiate a new TCP connection and waste bandwidth • Server push – Server may try to guess what are “next resources” to be requested by client • Flow control – DATA frames controlled, per stream, in the same “style” as in SSH
  • 7. - 7 HTTP/2 Summary View *http://blog.restcase.com/http2-benefits-for-rest-apis/
  • 8. - 8 HTTP/2 Extensions • Client and server can negotiate new frame types on a hop-by-hop basis – Those frames aren’t allowed to change state and aren’t flow controlled – Subjected to new standards Alternative services – Longer TCP connections, may affect load balancers, so may want to tell the client to connect to another host (performance, site brought to maintenance, …) – Server send “Alt-Svc” header (RFC7838 – HTTP Alternative Services) • Another route to the same content, using another service, host and port number • Example: Alt-Svc: h2="new.example.org:80”, h2c=“other.example.org:8080” – Opportunistic TLS • The Alt-Svc header allows a server with http to inform the client that the same content is available over TLS
  • 9. - 9 Implementing HTTP/2 in Apache • Example config in Ubuntu Server (>=14.04), Apache (>=2.4) – MPM event recommended. Never use prefork. • Install it from Ondřej Surý PPA $ sudo add-apt-repository ppa:ondrej/apache2 $ sudo apt-get update $ sudo apt-get upgrade • Enable HTTPs and related mods $ cd /etc/apache2/mods-enabled $ sudo ln -sf ../mods-available/socache_shmcb.* . $ sudo ln -sf ../mods-available/ssl.* . $ sudo ln -sf ../mods-available/http2.* . • You need a VirtualHost with HTTPS (no changes there) – Your config Directive Protocols h2 h2c http/1.1 • Restart Apache2 & done $ sudo service apache2 restart
  • 10. - 10 Implementing HTTP/2 in nginx • Example config in Ubuntu Server (>=16.04), Luckily (>=1.9.5) • Modify your website config, should have HTTPS server { listen 443 ssl http2 default_server; ssl_certificate /path/to/server.cert; ssl_certificate_key /path/to/server.key; # ... # Your HTTP server config here # ... } • Restart ngnix & done $ sudo service ngnix restart
  • 11. - 11 Demo • Typically 2.5x faster • https://imagekit.io/demo/http2-vs-http1 • https://youtu.be/QCEid2WCszM
  • 12. - 12 Chrome Extensions • HTTP/2 and SPDY indicator
  • 13. - 13 Firefox Extensions • HTTP/2 Indicator
  • 14. - 14 QUIC • During the SPDY development, it was obvious that TCP is inefficient for most of the actual Internet usages, so started to work on QUIC (Quick UDP Internet Connections) • IETF QUIC WG is developing a UDP-based, stream-multiplexing, encrypted transport protocol – Initial use case: HTTP-over-UDP • Already deployed by Google, so around 9% of Internet traffic uses it • QUIC standard requires encryption – TLS1.3 used to establish session keys and encrypt *ALL* the packets • Including ACKs – In actual draft (draft-ietf-quic-transport-08), only few parts of the “short header” used for all the packets except the handshake, remain unencrypted (packet number, an optional connection identifier and a byte with some flags and “packet type”) • Disallow passive RTT measurement/packet lost – Proposal for a “spin bit” (draft-trammell-quic-spin) in the header flipping once per round trip, to allow estimate the RTT
  • 15. - 15 HTTP vs QUIC *https://blog.chromium.org/2015/04/a-quic-update-on-googles- experimental.html
  • 16. - 16 DOH • The IETF DNS over HTTPS (DOH) WG, is standardizing the encoding of DNS queries and responses over HTTPS • Will solve certain problems of existing DNS methods • Avoid that authorities impose traffic discriminations or censorship – if they wish to do so, with DOH they will need to restrict full access to the web server providing the DOH
  • 17. - 17 Conclusions • HTTP/2 reduce the number of round-trips, avoid blocking by means of parallel streams and allows discarding unwanted streams, so a much faster and better web experience • “De facto” requires HTTPS, “Let’s Encrypt” to the rescue • QUIC will decrease latency, avoid packet loss blocking all the streams (as in HTTP/2) and makes connections possible with different interfaces (mobility, flapping, …) • How all this will impact in non-web traffic and change Internet?
  • 18. - 18 Thanks ! Contact: – Jordi Palet: jordi.palet@theipv6company.com