!
DNS
"
Internet
#
Server
$
Browser
Domain Name System
Slide 14
Slide 14 text
!
DNS
"
Internet
#
Server
$
Browser
Slide 15
Slide 15 text
!
DNS
"
Internet
#
Server
$
Browser
bbc.co.uk. A IN
Slide 16
Slide 16 text
!
DNS
"
Internet
#
Server
$
Browser
bbc.co.uk. A IN
Local Cache
Slide 17
Slide 17 text
!
DNS
"
Internet
#
Server
$
Browser
bbc.co.uk. A IN
Local Cache
Slide 18
Slide 18 text
!
DNS
"
Internet
#
Server
$
Browser
%
Router
bbc.co.uk. A IN
Local Cache
Slide 19
Slide 19 text
!
DNS
"
Internet
#
Server
$
Browser
%
Router
bbc.co.uk. A IN
Local Cache
Slide 20
Slide 20 text
!
DNS
"
Internet
#
Server
$
Browser
"
ISP
%
Router
bbc.co.uk. A IN
Local Cache
Slide 21
Slide 21 text
!
DNS
"
Internet
#
Server
$
Browser
"
ISP
%
Router
bbc.co.uk. A IN
Local Cache
Slide 22
Slide 22 text
!
DNS
"
Internet
#
Server
$
Browser
"
ISP
%
Router
bbc.co.uk. A IN
Local Cache
Registry
Slide 23
Slide 23 text
!
DNS
"
Internet
#
Server
$
Browser
"
ISP
%
Router
bbc.co.uk. A IN
Local Cache
Registry
Slide 24
Slide 24 text
!
DNS
"
Internet
#
Server
$
Browser
"
ISP
%
Router
&
Registrar
bbc.co.uk. A IN
Local Cache
Registry
Slide 25
Slide 25 text
!
DNS
"
Internet
#
Server
$
Browser
"
ISP
%
Router
&
Registrar
bbc.co.uk. A IN
Local Cache
Registry
Slide 26
Slide 26 text
!
DNS
"
Internet
#
Server
$
Browser
"
ISP
%
Router
&
Registrar
bbc.co.uk. A IN
Local Cache
Registry
Nameserver
Slide 27
Slide 27 text
!
DNS
"
Internet
#
Server
$
Browser
"
ISP
%
Router
&
Registrar
bbc.co.uk. A IN
Local Cache
Registry
Nameserver
Slide 28
Slide 28 text
!
DNS
"
Internet
#
Server
$
Browser
"
ISP
%
Router
&
Registrar
Local Cache
Registry
Nameserver
Slide 29
Slide 29 text
!
DNS
"
Internet
#
Server
$
Browser
bbc.co.uk. 3600 IN A 212.58.246.104
"
ISP
%
Router
&
Registrar
Local Cache
Registry
Nameserver
Slide 30
Slide 30 text
!
DNS
"
Internet
#
Server
$
Browser
Slide 31
Slide 31 text
!
DNS
"
Internet
#
Server
$
Browser
bbc.co.uk. (Query)
Slide 32
Slide 32 text
!
DNS
"
Internet
#
Server
$
Browser
bbc.co.uk. (Query)
3600 (TTL)
Slide 33
Slide 33 text
!
DNS
"
Internet
#
Server
$
Browser
bbc.co.uk. (Query)
3600 (TTL)
IN (Class)
Slide 34
Slide 34 text
!
DNS
"
Internet
#
Server
$
Browser
bbc.co.uk. (Query)
3600 (TTL)
IN (Class)
A (Record)
Slide 35
Slide 35 text
!
DNS
"
Internet
#
Server
$
Browser
bbc.co.uk. (Query)
3600 (TTL)
IN (Class)
A (Record)
212.58.246.104 (Value)
Slide 36
Slide 36 text
!
DNS
"
Internet
#
Server
$
Browser
Slide 37
Slide 37 text
!
DNS
"
Internet
#
Server
$
Browser
UDP
Slide 38
Slide 38 text
!
DNS
"
Internet
#
Server
$
Browser
User Datagram Protocol
Slide 39
Slide 39 text
!
DNS
"
Internet
#
Server
$
Browser
User Datagram Protocol
Slide 40
Slide 40 text
!
DNS
"
Internet
#
Server
$
Browser
Speed!
User Datagram Protocol
Slide 41
Slide 41 text
!
DNS
"
Internet
#
Server
$
Browser
Speed!
No “guarantee” of delivery
User Datagram Protocol
Slide 42
Slide 42 text
!
DNS
"
Internet
#
Server
$
Browser
Speed!
No “guarantee” of delivery
Commonly used in video games and
DNS queries
User Datagram Protocol
Slide 43
Slide 43 text
!
DNS
"
Internet
#
Server
$
Browser
TCP
Slide 44
Slide 44 text
!
DNS
"
Internet
#
Server
$
Browser
Transmission Control Protocol
Slide 45
Slide 45 text
!
DNS
"
Internet
#
Server
$
Browser
Transmission Control Protocol
Slide 46
Slide 46 text
!
DNS
"
Internet
#
Server
$
Browser
Transmission Control Protocol
Slower than UDP
Slide 47
Slide 47 text
!
DNS
"
Internet
#
Server
$
Browser
Transmission Control Protocol
Slower than UDP
“Handshake” overhead
Slide 48
Slide 48 text
!
DNS
"
Internet
#
Server
$
Browser
Transmission Control Protocol
Slower than UDP
“Handshake” overhead
Uses “Flow Control” to guarantee delivery
Slide 49
Slide 49 text
!
DNS
"
Internet
#
Server
$
Browser
The Internet
Slide 50
Slide 50 text
!
DNS
"
Internet
#
Server
$
Browser
'
Slide 51
Slide 51 text
!
DNS
"
Internet
#
Server
$
Browser
54.186.104.15
'
Slide 52
Slide 52 text
!
DNS
"
Internet
#
Server
$
Browser
54.186.104.15
(
'
Slide 53
Slide 53 text
!
DNS
"
Internet
#
Server
$
Browser
54.186.104.15
Open a socket
Slide 54
Slide 54 text
!
DNS
"
Internet
#
Server
$
Browser
54.186.104.15
Open a socket
Slide 55
Slide 55 text
!
DNS
"
Internet
#
Server
$
Browser
54.186.104.15
Open a socket
Slide 56
Slide 56 text
!
DNS
"
Internet
#
Server
$
Browser
54.186.104.15
)
Computer
Open a socket
Slide 57
Slide 57 text
!
DNS
"
Internet
#
Server
$
Browser
54.186.104.15
)
Computer
Open a socket
Slide 58
Slide 58 text
!
DNS
"
Internet
#
Server
$
Browser
54.186.104.15
)
Computer
%
Router
Open a socket
Slide 59
Slide 59 text
!
DNS
"
Internet
#
Server
$
Browser
54.186.104.15
)
Computer
%
Router
Open a socket
Slide 60
Slide 60 text
!
DNS
"
Internet
#
Server
$
Browser
BGP
Slide 61
Slide 61 text
!
DNS
"
Internet
#
Server
$
Browser
Border Gateway Protocol
Slide 62
Slide 62 text
!
DNS
"
Internet
#
Server
$
Browser
Border Gateway Protocol
Slide 63
Slide 63 text
!
DNS
"
Internet
#
Server
$
Browser
Border Gateway Protocol
Lets ISPs share their network routes
Slide 64
Slide 64 text
!
DNS
"
Internet
#
Server
$
Browser
Border Gateway Protocol
Lets ISPs share their network routes
Lets the router figure out the next
destination to hand off the packet
Slide 65
Slide 65 text
!
DNS
"
Internet
#
Server
$
Browser
Slide 66
Slide 66 text
!
DNS
"
Internet
#
Server
$
Browser
%
Router
Slide 67
Slide 67 text
!
DNS
"
Internet
#
Server
$
Browser
%
Router
%
Router
Slide 68
Slide 68 text
!
DNS
"
Internet
#
Server
$
Browser
%
Router
%
Router
54.186.104.0/24
Slide 69
Slide 69 text
!
DNS
"
Internet
#
Server
$
Browser
%
Router
%
Router
54.186.104.0/24
54.186.104.15
Slide 70
Slide 70 text
!
DNS
"
Internet
#
Server
$
Browser
%
Router
%
Router
54.186.104.0/24
54.186.104.15
54.186.104.0 -
54.186.104.255
Slide 71
Slide 71 text
!
DNS
"
Internet
#
Server
$
Browser
%
Router
%
Router
54.186.104.15
54.186.104.0 -
54.186.104.255
Slide 72
Slide 72 text
!
DNS
"
Internet
#
Server
$
Browser
%
Router
%
Router
54.186.104.15
54.186.104.0 -
54.186.104.255
Slide 73
Slide 73 text
!
DNS
"
Internet
#
Server
$
Browser
%
Router
%
Router
54.186.104.15
54.186.104.0 -
54.186.104.255
Server
Slide 74
Slide 74 text
!
DNS
"
Internet
#
Server
$
Browser
The Server
Slide 75
Slide 75 text
!
DNS
"
Internet
#
Server
$
Browser
# … (
Slide 76
Slide 76 text
!
DNS
"
Internet
#
Server
$
Browser
# … (
80 HTTP
443 HTTPS
Slide 77
Slide 77 text
!
DNS
"
Internet
#
Server
$
Browser
Slide 78
Slide 78 text
!
DNS
"
Internet
#
Server
$
Browser
)
Browser
Slide 79
Slide 79 text
!
DNS
"
Internet
#
Server
$
Browser
Server
)
Browser
Slide 80
Slide 80 text
!
DNS
"
Internet
#
Server
$
Browser
"
Internet
Server
)
Browser
Slide 81
Slide 81 text
!
DNS
"
Internet
#
Server
$
Browser
(
( "
Internet
Server
)
Browser
Slide 82
Slide 82 text
!
DNS
"
Internet
#
Server
$
Browser
(
( "
Internet
GET / HTTP/1.1
Accept: text/html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US
Connection: keep-alive
DNT: 1
Server
)
Browser
Slide 83
Slide 83 text
!
DNS
"
Internet
#
Server
$
Browser
Request & Request Headers
Slide 84
Slide 84 text
!
DNS
"
Internet
#
Server
$
Browser
Request & Request Headers
Slide 85
Slide 85 text
!
DNS
"
Internet
#
Server
$
Browser
GET / HTTP/1.1
Request & Request Headers
Slide 86
Slide 86 text
!
DNS
"
Internet
#
Server
$
Browser
GET / HTTP/1.1
Accept: text/html
Request & Request Headers
Slide 87
Slide 87 text
!
DNS
"
Internet
#
Server
$
Browser
GET / HTTP/1.1
Accept: text/html
Accept-Encoding: gzip,deflate,sdch
Request & Request Headers
Slide 88
Slide 88 text
!
DNS
"
Internet
#
Server
$
Browser
GET / HTTP/1.1
Accept: text/html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US
Request & Request Headers
Slide 89
Slide 89 text
!
DNS
"
Internet
#
Server
$
Browser
GET / HTTP/1.1
Accept: text/html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US
Connection: keep-alive
Request & Request Headers
Slide 90
Slide 90 text
!
DNS
"
Internet
#
Server
$
Browser
GET / HTTP/1.1
Accept: text/html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US
Connection: keep-alive
Host: bbc.co.uk
Request & Request Headers
Slide 91
Slide 91 text
!
DNS
"
Internet
#
Server
$
Browser
GET / HTTP/1.1
Accept: text/html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US
Connection: keep-alive
Host: bbc.co.uk
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS
X 10_9_4) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/36.0.1985.125 Safari/537.36
Request & Request Headers
Slide 92
Slide 92 text
!
DNS
"
Internet
#
Server
$
Browser
Response & Response Headers
Slide 93
Slide 93 text
!
DNS
"
Internet
#
Server
$
Browser
Response & Response Headers
Slide 94
Slide 94 text
!
DNS
"
Internet
#
Server
$
Browser
HTTP/1.1 200 OK
Response & Response Headers
Slide 95
Slide 95 text
!
DNS
"
Internet
#
Server
$
Browser
HTTP/1.1 200 OK
Server: nginx
Response & Response Headers
Slide 96
Slide 96 text
!
DNS
"
Internet
#
Server
$
Browser
HTTP/1.1 200 OK
Server: nginx
Mon, 26 Oct 2015 08:02:19 GMT
Response & Response Headers
Slide 97
Slide 97 text
!
DNS
"
Internet
#
Server
$
Browser
HTTP/1.1 200 OK
Server: nginx
Mon, 26 Oct 2015 08:02:19 GMT
Content-Type: text/html; charset=utf-8
Response & Response Headers
Slide 98
Slide 98 text
!
DNS
"
Internet
#
Server
$
Browser
HTTP/1.1 200 OK
Server: nginx
Mon, 26 Oct 2015 08:02:19 GMT
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Response & Response Headers
Slide 99
Slide 99 text
!
DNS
"
Internet
#
Server
$
Browser
HTTP/1.1 200 OK
Server: nginx
Mon, 26 Oct 2015 08:02:19 GMT
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Connection: keep-alive
Response & Response Headers
Slide 100
Slide 100 text
!
DNS
"
Internet
#
Server
$
Browser
HTTP/1.1 200 OK
Server: nginx
Mon, 26 Oct 2015 08:02:19 GMT
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Connection: keep-alive
Status: 200 OK
Response & Response Headers
Slide 101
Slide 101 text
!
DNS
"
Internet
#
Server
$
Browser
The Browser
Slide 102
Slide 102 text
!
DNS
"
Internet
#
Server
$
Browser
Rinse & Repeat
Slide 103
Slide 103 text
!
DNS
"
Internet
#
Server
$
Browser
Rinse & Repeat
Slide 104
Slide 104 text
!
DNS
"
Internet
#
Server
$
Browser
Rinse & Repeat
Download the HTML document and begin
parsing for information
Slide 105
Slide 105 text
!
DNS
"
Internet
#
Server
$
Browser
Rinse & Repeat
Download the HTML document and begin
parsing for information
Create new connections (or use existing)
to keep fetching stylesheets, javascript,
images, video, music, etc.
Slide 106
Slide 106 text
!
DNS
"
Internet
#
Server
$
Browser
)
Browser
(
( "
Internet
Server
Slide 107
Slide 107 text
!
DNS
"
Internet
#
Server
$
Browser
)
Browser
(
(
"
Internet
Server
Slide 108
Slide 108 text
!
DNS
"
Internet
#
Server
$
Browser
)
Browser
(
(
Server
Slide 109
Slide 109 text
!
DNS
"
Internet
#
Server
$
Browser
Slide 110
Slide 110 text
!
DNS
"
Internet
#
Server
$
Browser
Slide 111
Slide 111 text
!
DNS
"
Internet
#
Server
$
Browser
Slide 112
Slide 112 text
http://howdns.works
Slide 113
Slide 113 text
Resources & Credits
TCP/IP Illustrated Volume 1
http://amzn.to/X3vOag
Color Palette
http://goo.gl/iOuuP9
Like my driving?
http://bit.do/remarkable-fullstack
Icons FontAwesome *