Transcript
Page 1: I want the next generation web here SPDY QUIC

I want the next generation web here SPDY QUIC

A review of the SPDY and QUIC protocols

Page 2: I want the next generation web here SPDY QUIC

Agenda

•History•What’s up with HTTP?•SPDY•QUIC•Security•The Future

Page 3: I want the next generation web here SPDY QUIC

About Me

Page 4: I want the next generation web here SPDY QUIC

About Me

Page 5: I want the next generation web here SPDY QUIC

About Me

Page 6: I want the next generation web here SPDY QUIC

Before we start

ASK

Page 7: I want the next generation web here SPDY QUIC

What is SPDY?

•What?•Why?

Page 8: I want the next generation web here SPDY QUIC

What is QUIC?

•What?•Why?

Page 9: I want the next generation web here SPDY QUIC

History

•HTTP 0.9 - First documented in 1991•HTTP 1.0 - First documented in 1996•HTTP 1.1 – Released in 1997•HTTP 1.1 – Updated in 1999

Page 10: I want the next generation web here SPDY QUIC

What’s up with HTTP?

•Connections•Latency•Headers

Page 11: I want the next generation web here SPDY QUIC

What’s up with HTTP?

Home.aspx

Logo.jpgTime

Page 12: I want the next generation web here SPDY QUIC

What’s up with HTTP?

Home.aspx

Logo.jpg

Time

Page 13: I want the next generation web here SPDY QUIC

What’s up with HTTP?

"A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy"

Page 14: I want the next generation web here SPDY QUIC

What’s up with HTTP?

Source: Akamai State of the Internet Report

Page 15: I want the next generation web here SPDY QUIC

What’s up with HTTP 1.1?

Resources

Time

Page 16: I want the next generation web here SPDY QUIC

History

•183 Resources•44 Domains•25 HTML Pages•2MB of text content

Page 17: I want the next generation web here SPDY QUIC

What’s up with HTTP?

Page 18: I want the next generation web here SPDY QUIC

What’s up with HTTP?

GET /news/ HTTP/1.1

Host: www.bbc.co.uk

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Referer: http://www.bbc.co.uk/news/england/

Cookie: NTABS=B0; BBC-UID=2583816c740b5213b567deae81f1f11c5e89720eae48c3293395badd482afad00Mozilla%2f5%2e0%20%28Windows%20NT%206%2e1%3b%20WOW64%3b%20rv%3a27%2e0%29%20Gecko%2f20100101%20Firefox%2f27%2e0; BGUID=e513614cf47b72b7916877ff1183a8509e60292969e8942b1e4157e7578c4078; s1=531C4B275C0603BA; ecos.dt=1400334549086; ckns_policy=111; ckpf_mandolin=%22footer-promo%22%3A%7B%22segment%22%3Anull%2C%22end%22%3A%221400939293613%22%7D; _chartbeat2=0nohd0na7hc3kcd7.1400334522757.1400334540677.1; _chartbeat_uuniq=1; BBCLiveStatsClick=nav|1|0

DNT: 1

Connection: keep-alive

Page 19: I want the next generation web here SPDY QUIC

What’s up with HTTP?

GET /news/ HTTP/1.1Host: www.bbc.co.uk

Page 20: I want the next generation web here SPDY QUIC

SPDY

Source: The Chromium Projects

Page 21: I want the next generation web here SPDY QUIC

SPDY

•Multiplexing•Prioritisation•Header Compression•Server Push & Server Hint

Page 22: I want the next generation web here SPDY QUIC

SPDY

•Multiplexing•Prioritisation•Header Compression•Server Push & Server Hint

Page 23: I want the next generation web here SPDY QUIC

SPDY?Home.aspxLogo.jpgImage.bmp

Logo.jpg

Image.bmp

Home.aspx

Page 24: I want the next generation web here SPDY QUIC

SPDY

•Multiplexing•Prioritisation•Header Compression•Server Push & Server Hint

Page 25: I want the next generation web here SPDY QUIC

SPDY

•Multiplexing•Prioritisation•Header Compression•Server Push & Server Hint

Page 26: I want the next generation web here SPDY QUIC

What’s up with HTTP?

GET /news/ HTTP/1.1

Host: www.bbc.co.uk

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Referer: http://www.bbc.co.uk/news/england/

Cookie: NTABS=B0; BBC-UID=2583816c740b5213b567deae81f1f11c5e89720eae48c3293395badd482afad00Mozilla%2f5%2e0%20%28Windows%20NT%206%2e1%3b%20WOW64%3b%20rv%3a27%2e0%29%20Gecko%2f20100101%20Firefox%2f27%2e0; BGUID=e513614cf47b72b7916877ff1183a8509e60292969e8942b1e4157e7578c4078; s1=531C4B275C0603BA; ecos.dt=1400334549086; ckns_policy=111; ckpf_mandolin=%22footer-promo%22%3A%7B%22segment%22%3Anull%2C%22end%22%3A%221400939293613%22%7D; _chartbeat2=0nohd0na7hc3kcd7.1400334522757.1400334540677.1; _chartbeat_uuniq=1; BBCLiveStatsClick=nav|1|0

DNT: 1

Connection: keep-alive

Page 27: I want the next generation web here SPDY QUIC

SPDY

•Multiplexing•Prioritisation•Header Compression•Server Push & Server Hint

Page 28: I want the next generation web here SPDY QUIC

SPDY

Page 29: I want the next generation web here SPDY QUIC

SPDY

Page 30: I want the next generation web here SPDY QUIC

SPDY

Page 31: I want the next generation web here SPDY QUIC

SPDY

Page 32: I want the next generation web here SPDY QUIC

SPDY

Page 33: I want the next generation web here SPDY QUIC

SPDY?TLS Request + Next Protocol

TLS Response

SPDY Request

SPDY Response

Page 34: I want the next generation web here SPDY QUIC

SPDY

•NPN Support Added 1.0.1•ALPN Support Added 1.0.2

Page 35: I want the next generation web here SPDY QUIC

QUIC

•Remove head-of-line-blocking•0RTT•Recover lost packets•Congestion control•Network change survival

Page 36: I want the next generation web here SPDY QUIC

QUIC

Page 37: I want the next generation web here SPDY QUIC

QUIC

Page 38: I want the next generation web here SPDY QUIC

QUIC

Page 39: I want the next generation web here SPDY QUIC

QUIC

“The middle box problem”

Page 40: I want the next generation web here SPDY QUIC

QUICConnect

Certificate

Negotiation

Response

Page 41: I want the next generation web here SPDY QUIC

Security

Page 42: I want the next generation web here SPDY QUIC

SPDY Security

•Header injection

Page 43: I want the next generation web here SPDY QUIC

SPDY Security

“complexity is the worst enemy of security”

"The only way to evaluate the security of a system is to analyze it“

Source: Bruce Schneier

Page 44: I want the next generation web here SPDY QUIC

SPDY Security

Page 45: I want the next generation web here SPDY QUIC

Security

•Certificate Revocation•Malicious servers•Content inspection•Other new attack vectors

Page 46: I want the next generation web here SPDY QUIC

Security

Page 47: I want the next generation web here SPDY QUIC

QUIC Security

•Privacy•Authentication•Integrity

Page 48: I want the next generation web here SPDY QUIC

QUIC Security

•Replay Protection•Dos Protection•Address Spoofing Detection

Page 49: I want the next generation web here SPDY QUIC

QUIC Security

Page 50: I want the next generation web here SPDY QUIC

QUIC Security

•Cross-connection attacks?•Embryonic attacks?•Memory exhaustion?•DDoS

Page 51: I want the next generation web here SPDY QUIC

The Future

•Web Clients•Web Servers•Internet Infrastructure•Network Infrastructure•SSL Stacks

Page 52: I want the next generation web here SPDY QUIC

The Future

Page 53: I want the next generation web here SPDY QUIC

The Future

•Libspdy - C•Net-http-spdy – Ruby•Spdylay – Python•http2-katana – C#•Jetty – Java•Erlnag-spdy - Erlang

Page 54: I want the next generation web here SPDY QUIC

The Future

Page 55: I want the next generation web here SPDY QUIC

Fin

Questions?

[email protected]@dive_monkey

Page 56: I want the next generation web here SPDY QUIC

Europe

Manchester - Head Office

Cheltenham

Edinburgh

Leatherhead

London

Munich

Amsterdam

Zurich

North America

Atlanta

Chicago

New York

San Francisco

Seattle

Austin

Australia

Sydney


Top Related