primer to browser netwroking

Post on 13-Feb-2017

136 Views

Category:

Internet

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Primer of Browser Networking

Shuya OSAKI@otimsuya69 RG:shuyaB3 KUMO Kenkyu Gundan

RG’s rotary lecture

Who’s this guy ? 2

Name

KG

KUMO

Interest

Favorite

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

Network Model

4

3

Network Interface

Internet

Application

Transport

Network Model 5

3Network Model

TCP/IP 4 Reference Model

6

3

ApplicationApplication Layer

This Layer provide user to service.

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

TCP/IP 4 Reference Model 7

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

3

ApplicationInternet Layer

This Layer excuses data transfer.

IP (IPv4/IPv6) belongs to this layer.

Internet

TCP/IP 4 Reference Model 9

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

3TCP/IP 4 Reference Model

ApplicationApplication

InternetTransport

Today, We will discuss …

11

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

TCP

13

3TCP

Today, We treat important ingredients of TCP.

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

14

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

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

3

• 

Internet�

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

TCP Flow control

17

3

• 

Internet�

2015� ����

Site from kei-sensei class.

TCP Flow control

18

3

• 

Internet�

2015� ����

Site from kei-sensei class.

TCP Flow control

19

3

• • 

Internet�

2015� ����

Site from kei-sensei class.

TCP Flow control

20

3

• • 

Internet�

2015� ����

Site from kei-sensei class.

TCP Flow control

21

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

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

History of Web Protocol

24

History of Web Protocol

HTTP 0.9

HTTP 1.0

HTTP 1.1HTTP 2.0

SPDY

QUIC

25

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

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

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

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

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

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

top related