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
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
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. 3TCP/IP 4 Reference Model
ApplicationApplication
Internet
Transport
Today,
We will discuss …
11
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
14. 3TCP
Today, We treat important ingredients of TCP.
Menu is …
- 3 way handshake
- Flow control
- Slow start
- HoL Blocking
14
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. 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
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. 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
25. History of Web Protocol
HTTP 0.9
HTTP 1.0
HTTP 1.1
HTTP 2.0
SPDY
QUIC
25
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. $> 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. $> 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. 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. 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. 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