primer to browser netwroking

31
Primer of Browser Networking Shuya OSAKI @otimsuya69 RG:shuya B3 KUMO Kenkyu Gundan RG’s rotary lecture

Upload: shuya-osaki

Post on 13-Feb-2017

136 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Primer to Browser Netwroking

Primer of Browser Networking

Shuya OSAKI@otimsuya69 RG:shuyaB3 KUMO Kenkyu Gundan

RG’s rotary lecture

Page 2: Primer to Browser Netwroking

Who’s this guy ? 2

Name

KG

KUMO

Interest

Favorite

Page 3: Primer to Browser Netwroking

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

Page 4: Primer to Browser Netwroking

Network Model

4

Page 5: Primer to Browser Netwroking

3

Network Interface

Internet

Application

Transport

Network Model 5

Page 6: Primer to Browser Netwroking

3Network Model

TCP/IP 4 Reference Model

6

Page 7: Primer to Browser Netwroking

3

ApplicationApplication Layer

This Layer provide user to service.

As… HTTP, DNS, TLS/SSL, IMAP, SSH etc …

TCP/IP 4 Reference Model 7

Page 8: Primer to Browser Netwroking

3

ApplicationTransport 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

Page 9: Primer to Browser Netwroking

3

ApplicationInternet Layer

This Layer excuses data transfer.

IP (IPv4/IPv6) belongs to this layer.

Internet

TCP/IP 4 Reference Model 9

Page 10: Primer to Browser Netwroking

3

ApplicationNetwork 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

Page 11: Primer to Browser Netwroking

3TCP/IP 4 Reference Model

ApplicationApplication

InternetTransport

Today, We will discuss …

11

Page 12: Primer to Browser Netwroking

3What is TCP/IP ?? This is set of rules (protocols) governing communications

among all computers on the Internet.

IPInternet 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

Page 13: Primer to Browser Netwroking

TCP

13

Page 14: Primer to Browser Netwroking

3TCP

Today, We treat important ingredients of TCP.

Menu is … - 3 way handshake - Flow control - Slow start - HoL Blocking

14

Page 15: Primer to Browser Netwroking

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

Page 16: Primer to Browser Netwroking

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

Page 17: Primer to Browser Netwroking

3

• 

Internet�

2015� ����Site from kei-sensei class.

TCP Flow control

17

Page 18: Primer to Browser Netwroking

3

• 

Internet�

2015� ����

Site from kei-sensei class.

TCP Flow control

18

Page 19: Primer to Browser Netwroking

3

• 

Internet�

2015� ����

Site from kei-sensei class.

TCP Flow control

19

Page 20: Primer to Browser Netwroking

3

• • 

Internet�

2015� ����

Site from kei-sensei class.

TCP Flow control

20

Page 21: Primer to Browser Netwroking

3

• • 

Internet�

2015� ����

Site from kei-sensei class.

TCP Flow control

21

Page 22: Primer to Browser Netwroking

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

Page 23: Primer to Browser Netwroking

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

Page 24: Primer to Browser Netwroking

History of Web Protocol

24

Page 25: Primer to Browser Netwroking

History of Web Protocol

HTTP 0.9

HTTP 1.0

HTTP 1.1HTTP 2.0

SPDY

QUIC

25

Page 26: Primer to Browser Netwroking

$> 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���RQH�OLQH��SODLQ�WH[W�ȊSURWRFROȋ�WR�WHVW�GULYH�WKH�ȊZZZ�LGHDȋ�

History of Web ProtocolHTTP 0.9

Site from Ilya Grigorik

26

Page 27: Primer to Browser Netwroking

$> 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 ��GRFXPHQWV�ȊFRPPRQ�XVDJHȋ�RI�+773�IRXQG�LQ�WKH�ZLOG�

History of Web ProtocolHTTP 1.0

Site from Ilya Grigorik

27

Page 28: Primer to Browser Netwroking

$> 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 ��K\SHU^W ̶H ̶[̶W ̶`PHGLD�DOO�WKH�WKLQJV�

History of Web ProtocolHTTP 1.1

Site from Ilya Grigorik

28

Page 29: Primer to Browser Netwroking

History of Web ProtocolHTTP 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

Page 30: Primer to Browser Netwroking

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 QUICStream 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

Page 31: Primer to Browser Netwroking

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