solving http problems with code and protocols
play

Solving HTTP Problems With Code and Protocols NATASHA ROONEY - PowerPoint PPT Presentation

@thisNatasha Solving HTTP Problems With Code and Protocols NATASHA ROONEY @thisNatasha Web 7. Application Data HTTP / IMAP HTTP 6. Data Presentation , SSL / TLS Encryption 5. Session and connection - management TLS 4. Transport of


  1. @thisNatasha Solving HTTP Problems With Code and Protocols NATASHA ROONEY

  2. @thisNatasha Web 7. Application Data HTTP / IMAP HTTP 6. Data Presentation , SSL / TLS Encryption 5. Session and connection - management TLS 4. Transport of packets and TCP / UDP streams 3. Routing and delivery of IP / IPSec TCP datagrams on the Network 2. Local Data Connection Ethernet 1. Physical data connection CAT5 IP (cables)

  3. @thisNatasha Some fundamental limitations

  4. @thisNatasha 300,000,000 m/s

  5. @thisNatasha 300,000,000 m/s Speed of Light

  6. 300km, 1ms @thisNatasha

  7. 10ms @thisNatasha

  8. 10ms @thisNatasha 5G

  9. @thisNatasha Only one way! And as the crow flies...

  10. @thisNatasha @thisNatasha Hops

  11. Not good enough! @thisNatasha

  12. CDNs, Edge @thisNatasha

  13. @thisNatasha Mobile Network (not wifi) The Internet

  14. @thisNatasha Amount of data

  15. @thisNatasha

  16. @thisNatasha

  17. @thisNatasha

  18. @thisNatasha

  19. @thisNatasha @thisNatasha Speed & Distance Amount of Data Capped by Speed of Light >100 objects per site 800k to 2.5mb data >50 resources on same domain

  20. @thisNatasha RTs are Evil Mostly because of physics. Not much you can do about that.

  21. @thisNatasha HTTP/1

  22. @thisNatasha HTTP/1 HTTP/1 Request TLS TLS TCP TCP IP

  23. @thisNatasha HTTP/1 HTTP/1 Request Response TLS TLS TCP TCP IP

  24. @thisNatasha HTTP/1 HTTP/1 Request Response TLS TLS Request TCP TCP IP

  25. @thisNatasha

  26. @thisNatasha

  27. Urgh... @thisNatasha

  28. @thisNatasha @thisNatasha Spriting

  29. @thisNatasha @thisNatasha Inlining

  30. @thisNatasha

  31. @thisNatasha

  32. @thisNatasha Image source: @jungkees

  33. @thisNatasha Pipelining

  34. @thisNatasha Home Supermarket Roads

  35. @thisNatasha Home Supermarket Roads

  36. @thisNatasha HTTP/1 HTTP/1 TCP Setup TLS TLS TLS Setup TCP TCP HTTP Request/Response IP

  37. @thisNatasha HTTP/2

  38. @thisNatasha SPDY

  39. @thisNatasha Home Supermarket Roads

  40. @thisNatasha Home Supermarket Roads

  41. @thisNatasha @thisNatasha 2009 Header Compression Parallel Connections SPDY Multiplexing Priority Marking A Protocol by Google Server Push TLS (to work)

  42. @thisNatasha @thisNatasha SPDY Header Compression A Protocol by Google

  43. @thisNatasha

  44. @thisNatasha

  45. @thisNatasha

  46. @thisNatasha

  47. @thisNatasha HTTP/2

  48. @thisNatasha “Idea was to maintain HTTP semantics but change how it is transported.” Daniel Stenberg https://daniel.haxx.se/blog/

  49. @thisNatasha Home Supermarket Roads

  50. @thisNatasha Home Supermarket Roads

  51. @thisNatasha HTTP/1 HTTP/1 Request Request TLS TLS Request Response TCP TCP IP

  52. @thisNatasha @thisNatasha Binary Header Compression HTTP2 Multiplexing Server Push A Protocol by IETF (SDPY base) TLS...

  53. @thisNatasha @thisNatasha HTTP2 A Protocol by IETF (SDPY base)

  54. @thisNatasha

  55. @thisNatasha @thisNatasha 35% Requests 70% HTTPS Connections Stats 13% Top 1,000,000 Sites 29% Top 1000 Sites Gimme gimme “90% your site”

  56. @thisNatasha 2% packet loss HTTP1 is better.

  57. @thisNatasha Head of line blocking

  58. @thisNatasha Home Supermarket Roads

  59. @thisNatasha Home Supermarket Roads

  60. Not good enough! @thisNatasha Home Supermarket Roads

  61. Not good enough! @thisNatasha Home Supermarket Roads

  62. @thisNatasha TCP issue (Can happen on any protocol with in-order delivery)

  63. @thisNatasha QUIC

  64. @thisNatasha “Idea was to maintain HTTP semantics but change how it is transported.” Daniel Stenberg https://daniel.haxx.se/blog/

  65. TCP @thisNatasha Home Supermarket Roads

  66. Transport Layer @thisNatasha @thisNatasha TCP UDP Suffers from Can work...with help. Head of Line Blocking

  67. @thisNatasha “We want QUIC to work on today’s internet” Jana Iyengar QUIC Editor, Google

  68. @thisNatasha Ossification

  69. @thisNatasha Why TCP or UDP only?

  70. @thisNatasha Image source: http://itpro.nikkeibp.co.jp/

  71. @thisNatasha Application HTTP/2 QUIC TLS 1.2+ Google Crypto Congestion Control TCP UDP IP

  72. @thisNatasha Application HTTP/2 QUIC TLS 1.2+ Google Crypto Congestion Control TCP UDP IP

  73. @thisNatasha @thisNatasha QUIC Goo A Protocol by Google

  74. @thisNatasha HTTP over QUIC HTTP/2 QUIC TLS 1.2+ TLS 1.3 TCP UDP IP

  75. @thisNatasha “A "stream" is an independent, bidirectional sequence of frames exchanged between the client and server within an HTTP/2 connection… A single HTTP/2 connection can contain multiple concurrently open streams…” Hypertext Transfer Protocol Version 2 (HTTP/2), RFC7540

  76. @thisNatasha Image source: High Performance Browser Networking https://hpbn.co/http2/

  77. @thisNatasha HTTP over QUIC HTTP over QUIC QUIC QUIC TLS 1.3 TLS 1.3 UDP UDP IP

  78. @thisNatasha HTTP over QUIC HTTP over QUIC QUIC QUIC TLS 1.3 TLS 1.3 UDP UDP IP

  79. @thisNatasha HTTP over QUIC HTTP over QUIC QUIC QUIC TLS 1.3 TLS 1.3 UDP UDP IP

  80. Head of Line @thisNatasha HTTP over QUIC HTTP over QUIC Blocking! QUIC QUIC TLS 1.3 TLS 1.3 UDP UDP IP

  81. @thisNatasha RTs are Evil Mostly because of physics. Not much you can do about that.

  82. @thisNatasha HTTP over QUIC HTTP over QUIC 0RTT: Setup + Data QUIC QUIC 1RTT: New Crypto Keys TLS 1.3 TLS 1.3 2RTT: If QUIC version negotiation needed UDP UDP IP

  83. Reduce the RTs! @thisNatasha

  84. @thisNatasha

  85. @thisNatasha

  86. @thisNatasha 7% Internet Traffic 35% Google Egress Traffic

  87. @thisNatasha How does this affect me?

  88. @thisNatasha Abstraction Is a computer scientist’s friend / fiend

  89. @thisNatasha n o i t a l o i V r e y a L

  90. @thisNatasha Web 7. Application Data HTTP / IMAP HTTP 6. Data Presentation , SSL / TLS Encryption 5. Session and connection - management TLS 4. Transport of packets and TCP / UDP streams 3. Routing and delivery of IP / IPSec TCP datagrams on the Network 2. Local Data Connection Ethernet 1. Physical data connection CAT5 IP (cables)

  91. @thisNatasha @thisNatasha Manage your resources logically Some things Detect on upgrade header and adapt Measure If you have to do something... Remember Physics!

  92. @thisNatasha @thisNatasha RTTs, Physics, Data SPDY, HTTP2, QUIC Recap Header compression Multiplexing & Streams We made it! Head of Line Blocking Make protocols for today’s internet

  93. @thisNatasha 3

  94. @thisNatasha

  95. @thisNatasha

  96. @thisNatasha

  97. @thisNatasha Thank-you People: Martin Thomson, Mark Nottingham, Jana Iyengar, Mike Bishop, Eric Rescola, Ian Swett

  98. @thisNatasha

  99. @thisNatasha

  100. @thisNatasha

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend