Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Primer to Browser Netwroking

254 views

Published on

研究室の輪講で使用した資料。
内容はHigh Performance Browser Networkingに準拠。
時間と内容の幅広さから話が少し散漫だがご容赦を。

Published in: Internet
  • Be the first to comment

  • Be the first to like this

Primer to Browser Netwroking

  1. 1. Primer of Browser Networking Shuya OSAKI
 @otimsuya69 RG:shuya
 B3 KUMO Kenkyu Gundan RG’s rotary lecture
  2. 2. Who’s this guy ? 2 
 
 
 
 
 
 
 
 
 
 
 
 Name KG KUMO Interest Favorite
  3. 3. 3Aim at … Goal
 - get to know ingredients of Browser Networking
 - learning technology of below Application Layer
 
 Target
 - Newcomer of RG
 - someone who interested in Web and Network Protocol
 
 Contents
 - Network Model
 - Building Block of TCP
 - Brief History of HTTP 3
  4. 4. Network Model 4
  5. 5. 3 Network 
 Interface Internet Application Transport Network Model 5
  6. 6. 3Network Model TCP/IP 4 Reference Model 6
  7. 7. 3 Application Application Layer This Layer provide user to service.
 As…
 HTTP, DNS, TLS/SSL, IMAP, SSH etc …
 TCP/IP 4 Reference Model 7
  8. 8. 3 Application Transport Layer This Layer respond to App layer’s request
 and order to Internet layer.
 Transport Layer have 2 protocol.
 - TCP
 - UDP Transport TCP/IP 4 Reference Model 8
  9. 9. 3 Application Internet Layer This Layer excuses data transfer.
 IP (IPv4/IPv6) belongs to this layer. Internet TCP/IP 4 Reference Model 9
  10. 10. 3 Application Network Interface Layer This Layer provide data transfer.
 This Layer provide hardware too.
 As…
 - Switching hub
 - Ethernet cable Network 
 Interface TCP/IP 4 Reference Model 10
  11. 11. 3TCP/IP 4 Reference Model ApplicationApplication Internet Transport Today,
 We will discuss … 11
  12. 12. 3What is TCP/IP ?? This is set of rules (protocols) governing communications 
 among all computers on the Internet. IP Internet Protocol TCP Transmission Control Protocol IP provides the host-to-host 
 routing (select communication path) and 
 addressing(assign address on the Internet). TCP provides the abstraction of a reliable network running over an unreliable channel. 12
  13. 13. TCP 13
  14. 14. 3TCP Today, We treat important ingredients of TCP.
 
 Menu is …
 - 3 way handshake
 - Flow control
 - Slow start
 - HoL Blocking 14
  15. 15. 3TCP 
 (3 way handshake) SYN = Synchronize , ACK = Acknowledge Handshake is ritual of Communication ! - SYN
 Sender send sequence number X in random.
 
 - SYN ACK
 Receiver increments x 
 by one, picks own ran-
 dom sequence number y.
 
 - ACK
 Sender increments both x 
 and y by one and 
 completes the handshake. 15
  16. 16. 3TCP 
 Flow control • Flow control is mechanism prevent the sender 
 from overwhelming the receiver with data it may not be able to process. • Each side of the TCP connection advertises its own receive window (rwnd), which communicates the size of the available buffer space to hold the incoming data. 16
  17. 17. 3 •  Internet 2015 Site from kei-sensei class. TCP 
 Flow control 17
  18. 18. 3 •  Internet 2015 Site from kei-sensei class. TCP 
 Flow control 18
  19. 19. 3 •  Internet 2015 Site from kei-sensei class. TCP 
 Flow control 19
  20. 20. 3 •  •  Internet 2015 Site from kei-sensei class. TCP 
 Flow control 20
  21. 21. 3 •  •  Internet 2015 Site from kei-sensei class. TCP 
 Flow control 21
  22. 22. 3 • Slow start means slow and to grow the window size as the packets are acknowledged. • If packet loss occurred, server reduces the size of 
 the packet and increments packet exponentially. Site from High Performance Bowser Networking TCP 
 Slow start 22
  23. 23. 3 Good Point of TCP - Ensure secure connection if route isn’t reliable.
 - Definitely transfer packets. Bad Point of TCP - Time loss occur if packet lost.
 - Application can’t treat data when packet is 
 complete. This bad point is called .HoL Blocking TCP 
 HoL Blocking 23
  24. 24. History of Web Protocol 24
  25. 25. History of Web Protocol HTTP 0.9 HTTP 1.0 HTTP 1.1 HTTP 2.0 SPDY QUIC 25
  26. 26. $> telnet igvita.com 80 Connected to 173.230.151.99 GET /archive Hypertext delivery with HTTP 0.9! - eom. (connection closed) HTTP 0.9 is the ultimate MVP History of Web Protocol
 HTTP 0.9 Site from Ilya Grigorik 26
  27. 27. $> telnet ietf.org 80 Connected to 74.125.xxx.xxx GET /rfc/rfc1945.txt HTTP/1.0 User-Agent: CERN-LineMode/2.15 libwww/2.17b3 Accept: */* HTTP/1.0 200 OK Content-Type: text/plain Content-Length: 137582 Last-Modified: Wed, 1 May 1996 12:45:26 GMT Server: Apache 0.84 4 years of rapid iteration later… eom. (connection closed) HTTP 1.0 is an informational RFC History of Web Protocol
 HTTP 1.0 Site from Ilya Grigorik 27
  28. 28. $> telnet google.com 80 Connected to 74.125.xxx.xxx GET /index.html HTTP/1.1 Host: website.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4)... (snip) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Cookie: __qca=P0-800083390... (snip) HTTP/1.1 200 OK Connection: keep-alive Transfer-Encoding: chunked Server: nginx/1.0.11 Content-Type: text/html; charset=utf-8 Date: Wed, 25 Jul 2012 20:23:35 GMT Expires: Wed, 25 Jul 2012 20:23:35 GMT Cache-Control: max-age=0, no-cache 100 <!doctype html> (snip) HTTP 1.1 ships as RFC standard in 1999 ̶ ̶ ̶ ̶ History of Web Protocol
 HTTP 1.1 Site from Ilya Grigorik 28
  29. 29. History of Web Protocol
 HTTP 2.0 Site from Ilya Grigorik ● One TCP connection ● Request → Stream ○ Streams are multiplexed ○ Streams are prioritized ● Binary framing layer ○ Prioritization ○ Flow control ○ Server push ● Header compression HTTP/2 in one slide… Site from Ilya Grigorik 29
  30. 30. What is QUIC ?? What is QUIC ?? QUIC is Google’s new multiplexing protocol.
 This is run on UDP. QUIC succeed to SPDY’s features. Site from HTTP over UDP: an Experimental Investigation of QUIC QUIC’s layer Features of QUIC Stream multiplexing over the same UDP Connections.
 UDP resilience to loss (QUIC divorced HOL blocking !!) FEC resilience to loss QUIC sends XORsum of the packets. TLS-like security Low cost, 0-RTT start instead of TCP handshake Pluggable congestion control TCP-CUBIC and Pacing-based 30
  31. 31. 3Bibliography All this slide depends on 
 “High performance Browser Networking”.
 
 If you are interested in these contents,
 you can read this book on the Internet for free !
 
 → http://chimera.labs.oreilly.com/books/1230000000545/index.html 34

×