Web Servers
Lecture 6
lemurseven & storce
What happens when we visit a website?
Overview
Domain Name System
What is DNS?
169.229.226.23
1.2.3.4
DNS
9.9.9.9
Gimme the A record of www.ocf.berkeley.edu
169.229.226.23
TTL = 300s
GET / HTTP/1.1 Host: www.ocf.berkeley.edu
HTTP/1.1 200 OK
What is actually happening?
169.229.226.23
TTL = 300s
1.2.3.4
DNS
9.9.9.9
Gimme the A record of www.ocf.berkeley.edu
Recursive resolver
root
a.root-servers.net
NS for edu domains
a.edu-servers.net
Gob ears
adns1.berkeley.edu
A, www.o.b.e
edu
a.edu-servers.net
adns1.berkeley.edu
NS for berkeley.edu
ns.ocf.berkeley.edu
OCF
169.229.226.23, TTL = 300s
Types of DNS records
More types of DNS records
The DNS records of OCF
death IN A 169.229.226.23
death IN AAAA 2607:f140:8801::1:23
www IN CNAME death
fallingrocks IN A 169.229.200.70
fallingrocks IN AAAA 2607:f140:0:32::70
apt IN CNAME fallingrocks
mirrors IN CNAME fallingrocks
lb IN A 169.229.226.79
lb IN AAAA 2607:f140:8801::1:79
auth IN CNAME lb
...
TTL record
DNS poisoning
169.229.226.23
1.2.3.4
9.9.9.9
Gimme the A record of www.ocf.berkeley.edu
169.229.226.23
TTL = 300s
GET / HTTP/1.1 Host: www.ocf.berkeley.edu
HTTP/1.1 200 OK
<contents of web.stanford.edu>
171.67.215.200
TTL = 300s
ZZZ…
DNS
furd
171.67.215.200
Mallory
OCF
More DNS poisoning
2.4.6.8
DNS
69.69.69.69
Gimme the A record of www.ocf.berkeley.edu
171.67.215.200
TTL = 300s
More DNS poisoning
1.2.3.4
DNS
9.9.9.9
Gimme the A record of www.ocf.berkeley.edu
169.229.226.23
TTL = 300s
root
a.root-servers.net
NS for edu domains
Recursive resolver
a.edu-servers.net
edu
a.edu-servers.net
adns1.berkeley.edu
Gob ears
adns1.berkeley.edu
A, www.o.b.e
NS for berkeley.edu
169.229.226.23, TTL = 300s
ns.ocf.berkeley.edu
OCF
It can happen at any of these levels!
Example: Great Firewall of China
Web Servers
What do web servers do?
https://youtu.be/dQw4w9WgXcQ
<webpage content>
5.0.0.1
1.2.3.4
What do web servers do?
https://…
<content>
page assets
video metadata
How do web servers scale?
How do web servers scale?
https://youtu.be/dQw4w9WgXcQ
<webpage content>
5.0.0.1
How do web servers scale?
https://youtu.be/dQw4w9WgXcQ
<webpage content>
5.0.0.1
vertical scaling
How do web servers scale?
5.0.0.1
5.0.0.2
https://…
<content>
horizontal scaling
What do load balancers do?
traffic balancing
5.0.0.1
5.0.0.2
5.0.0.3
5.0.1.1
What do load balancers do?
5.0.1.1
5.0.0.1
5.0.0.2
5.0.0.3
What do load balancers do?
Static load balancing algorithms (round robin, IP Hash)
1
2
3
What do load balancers do?
load balancing algorithms (response time, connections, dynamic)
14ms
10ms
21ms
What do load balancers do?
healthchecks
Won’t Load Balancers be overwhelmed?
5.0.1.1
5.0.0.1
5.0.0.2
5.0.0.3