09. how the internet works
TRANSCRIPT
![Page 1: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/1.jpg)
09. How the Internet
Works
Blase Ur and David Cash
(Some slides borrowed from Ben Zhao)
February 1st, 2021
CMSC 23200 / 33250
![Page 2: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/2.jpg)
The Internet From 10,000 Feet
“Interior Routers”
“Border Routers”
AT&T
Level 3
Qwest
![Page 3: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/3.jpg)
Layers (OSI Model)
• Layer = a part of a system with well-defined
interfaces to other parts
• A layer interacts only with layer
above and layer below
Networking’s ownversion of modularity
Application
Presentation
Session
Transport
Network
Data link
Physical
![Page 4: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/4.jpg)
Protocols at different layers
Application
Transport
Network
Data link
PhysicalL1
L2
L3
L4
L7 SMTP HTTP DNS NTP
TCP UDP
IP
Ethernet FDDI PPP
optical copper radio PSTN
![Page 5: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/5.jpg)
Goal: Be addressable on a local
network
Solution: MAC Addresses (Link
Layer)
![Page 6: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/6.jpg)
MAC (Media Access Control) Address
• Unique-ish 48-bit number associated with
network interface controller (NIC)
• Usually assigned by manufacturers
– In theory, doesn’t ever change for a piece of
hardware
– In practice, MAC addresses can be spoofed
• See ifconfig and similar commands
12:34:56:78:9A:BC
![Page 7: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/7.jpg)
MAC (Media Access Control) Address
• Broadcast address received by everyone
(as opposed to unicast/multicast)
• NICs filter traffic by MAC Address
– Exception: promiscuous/monitor modes
(relevant to Assignment 3)
• On the link layer, data is split into
packets/frames (often 1500 bytes)
FF:FF:FF:FF:FF:FF
![Page 8: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/8.jpg)
MAC Addresses Used on Link Layer
• Ethernet (plugged in)
– Some hardware (e.g., hubs) repeats all traffic
– Some hardware (e.g., switches) filters by MAC
address
• Wi-Fi (802.11)
– Your Wi-Fi card typically filters only unicast
traffic for you and broadcast traffic
– Exception: promiscuous/monitor modes
(relevant to Assignment 4)
![Page 9: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/9.jpg)
Wi-Fi Encryption
• WEP (Wired Equivalent Privacy)
– Broken; hard to configure
– Abandoned in 2004
• WPA (Wi-Fi Protected Access)
– Vulnerable, particularly the WPS feature
• WPA2
– Uses AES
• WPA3 recently introduced
– Device-specific encryption on public networks
![Page 10: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/10.jpg)
Protocols at different layers
Application
Transport
Network
Data link
PhysicalL1
L2
L3
L4
L7 SMTP HTTP DNS NTP
TCP UDP
IP
Ethernet FDDI PPP
optical copper radio PSTN
![Page 11: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/11.jpg)
Goal: Be addressable on the Internet
Solution: IP Addresses (Network
Layer)
![Page 12: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/12.jpg)
IP Addresses (IPv4)
• Unique-ish 32-bit number associated with
host
• Represented with “dotted quad” notation
– e.g., 12.34.158.5
00001100 00100010 10011110 00000101
12 34 158 5
00001100 00100010 10011110 00000101
![Page 13: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/13.jpg)
Hierarchy in IP Addressing
• 32 bits are partitioned into a prefix and suffix
components
• Prefix is the network component; suffix is host
component
• Interdomain routing operates on the network prefix
00001100 00100010 10011110 00000101
Network (23 bits) Host (9 bits)
12 34 158 5
![Page 14: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/14.jpg)
Early Design: “Classful” Addressing
• Three main classes
– Class A
– Class B
– Class C
network host 0
0
~2M nets
254 hosts
8
network host 1
160
0
network host 1
240
1 0
~16K nets
~65K hosts
126 nets
~16M hosts
Problem: Networks only come in three sizes!
![Page 15: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/15.jpg)
Today’s Addressing
• CIDR = Classless Interdomain Routing
• Idea: Flexible division between network and
host addresses
– Offer better tradeoff between size of routing
table and use of IP address space
![Page 16: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/16.jpg)
CIDR (example)
• Suppose a network has 50 computers
– allocate 6 bits for host addresses (since 25 < 50 < 26)
– remaining 32 - 6 = 26 bits as network prefix
• Flexible boundary means the boundary must be
explicitly specified with the network address!
– informally, “slash 26” → 128.23.9/26
– formally, prefix represented with a 32-bit mask:
255.255.255.192
where all network prefix bits set to “1” and host suffix
bits to “0”
![Page 17: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/17.jpg)
Allocation Done Hierarchically
• Internet Corporation for Assigned Names &
Numbers (ICANN) gives large blocks to…
– Regional Internet Registries, such as American Registry
for Internet Names (ARIN), which give blocks to…
• Large institutions (ISPs), which give addresses
to…
• Individuals and smaller institutions
e.g. ICANN ➔ ARIN ➔ Qwest ➔ UChicago➔ CS
![Page 18: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/18.jpg)
Example in More Detail
• ICANN gives ARIN several /8s
• ARIN gives Qwest one /8, 128.0/8
– Network Prefix: 10000000
• Qwest gives UChicago a /16, 128.135/16
– Network Prefix: 1000000010000111
• UChicago gives CS a /24, 128.135.11/24
– Network Prefix: 100000001000011100001011
• CS gives me a specific address 128.135.11.176
– Address: 10000000100001110000101110110000
![Page 19: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/19.jpg)
IP Address FAQs
• How do you get an IP Address?
– Typically use Dynamic Host Configuration Protocol
(DHCP) upon connection to networks
• Does your IP address change over time?
– Yes, frequently when you switch networks or reconnect
• Why is my router usually 192.168.1.1?
– Private IP Addresses: 192.168.*.* and 10.*.*.* and
172.16.*.* through 172.31.*.*
• Can you share an IP address?
– Yes! Especially behind routers / NATs / middleboxes
![Page 20: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/20.jpg)
Protocols at different layers
Application
Transport
Network
Data link
PhysicalL1
L2
L3
L4
L7 SMTP HTTP DNS NTP
TCP UDP
IP
Ethernet FDDI PPP
optical copper radio PSTN
![Page 21: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/21.jpg)
Goal: Get data to its destination
Solution (Protocol): IP at the network
layer
![Page 22: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/22.jpg)
IP (Internet Protocol)
![Page 23: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/23.jpg)
Goal: Get data to its destination
Solution (Part 2): Routing
![Page 24: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/24.jpg)
Routing
• Goal: determine “good” path through network from
source to destination
• Network modeled as a graph
– Routers → nodes, Link →edges
• Edge cost: delay, congestion level,…
– A node knows only its neighbors
and the cost to reach them
• How does each node learns how to reach every
other node along the shortest path?24
A
ED
CB
F
2
2
13
1
1
2
53
5
![Page 25: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/25.jpg)
Autonomous System (AS)• Collection of IP prefixes under the control of a
single administrative entity
• 92,000+ ASes as of August 2019
25“Interior Routers”
“Border Routers”
AT&T
Level 3
Qwest
![Page 26: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/26.jpg)
Intra-AS & Inter-AS Routing
Intra-AS: routing within a single ASTrusted domain (within one company)Limited scale (<100,000 nodes)Typically using Link State protocol (e.g.OSPF)
Inter-AS: routing between AS’sPrivacy between providersPolicy-driven routingBGP, a Path Vector protocol
Variant of Distance Vector routing
![Page 27: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/27.jpg)
Link State: Control Traffic
• Each node floods its local information to every other node in network
• Each node ends up knowing entire network topology
→ use Dijkstra to compute shortest path to every other node
Host A
Host BHost E
Host D
Host C
N1 N2
N3
N4
N5
N7N6
![Page 28: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/28.jpg)
Link State: Node State
Host A
Host BHost E
Host D
Host C
N1 N2
N3
N4
N5
N7N6
A
BE
D
C
A
BE
D
C A
BE
D
C
A
BE
D
C
A
BE
D
C
A
BE
D
C
A
BE
D
C
![Page 29: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/29.jpg)
Distance Vector: Control Traffic
• When the routing table of a node changes, it sends table to neighbors
– A node updates its table with information received from neighbors
29
Host A
Host BHost E
Host D
Host C
N1 N2
N3
N4
N5
N7N6
![Page 30: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/30.jpg)
Example: Distance Vector Algorithm
Dest. Cost NextHop
B 2 B
C 7 C
D ∞ -
30
A C12
7
B D3
1
Node A
Dest. Cost NextHop
A 2 A
C 1 C
D 3 D
Node B
Dest. Cost NextHop
A 7 A
B 1 B
D 1 D
Node C
Dest. Cost NextHop
A ∞ -
B 3 B
C 1 C
Node D1 Initialization:2 for all neighbors V do3 if V adjacent to A4 D(A, V) = c(A,V); 5 else6 D(A, V) = ∞; …
![Page 31: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/31.jpg)
Example: 1st Iteration (C → A)
Dest. Cost NextHop
B 2 B
C 7 C
D ∞ -
31
Node A
A C12
7
B D3
1
Dest. Cost NextHop
A 2 A
C 1 C
D 3 D
Node B
Dest. Cost NextHop
A 7 A
B 1 B
D 1 D
Node C
Dest. Cost NextHop
A ∞ -
B 3 B
C 1 C
Node D(D(C,A), D(C,B), D(C,D))
…7 loop:…12 else if (update D(V, Y) received from V) 13 for all destinations Y do14 if (destination Y through V)15 D(A,Y) = D(A,V) + D(V, Y);16 else17 D(A, Y) = min(D(A, Y),
D(A, V) + D(V, Y));18 if (there is a new minimum for dest. Y)19 send D(A, Y) to all neighbors 20 forever
![Page 32: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/32.jpg)
Example: 1st Iteration (C → A)
Dest. Cost NextHop
B 2 B
C 7 C
D 8 C
32
Node A
A C12
7
B D3
1
Dest. Cost NextHop
A 2 A
C 1 C
D 3 D
Node B
Dest. Cost NextHop
A 7 A
B 1 B
D 1 D
Node C
Dest. Cost NextHop
A ∞ -
B 3 B
C 1 C
Node D
D(A,D)= min(D(A, D),D(A,C)+D(C,D) = min(∞ , 7 + 1) = 8
(D(C,A), D(C,B), D(C,D))
…7 loop:…12 else if (update D(V, Y) received from V) 13 for all destinations Y do14 if (destination Y through V)15 D(A,Y) = D(A,V) + D(V, Y);16 else17 D(A, Y) = min(D(A, Y),
D(A, V) + D(V, Y));18 if (there is a new minimum for dest. Y)19 send D(A, Y) to all neighbors 20 forever
![Page 33: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/33.jpg)
Dest. Cost NextHop
B 2 B
C 7 C
D 8 C
33
…7 loop:…12 else if (update D(V, Y) received from V) 13 for all destinations Y do14 if (destination Y through V)15 D(A,Y) = D(A,V) + D(V, Y);16 else17 D(A, Y) = min(D(A, Y),
D(A, V) + D(V, Y));18 if (there is a new minimum for dest. Y)19 send D(A, Y) to all neighbors 20 forever
Node A
A C12
7
B D3
1
Dest. Cost NextHop
A 2 A
C 1 C
D 3 D
Node B
Dest. Cost NextHop
A 7 A
B 1 B
D 1 D
Node C
Dest. Cost NextHop
A ∞ -
B 3 B
C 1 C
Node D
Example: 1st Iteration (C → A)
![Page 34: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/34.jpg)
Example: 1st Iteration (B→A, C→A)
Dest. Cost NextHop
B 2 B
C 3 B
D 5 B
34
Node A
A C12
7
B D3
1
Dest. Cost NextHop
A 2 A
C 1 C
D 3 D
Node B
Dest. Cost NextHop
A 7 A
B 1 B
D 1 D
Node C
Dest. Cost NextHop
A ∞ -
B 3 B
C 1 C
Node D
D(A,D) = min(D(A,D), D(A,B) + D(B,D))= min(8, 2 + 3) = 5
D(A,C) = min(D(A,C), D(A,B) + D(B,C)) = min(7, 2 + 1) = 3
…7 loop:…12 else if (update D(V, Y) received from V) 13 for all destinations Y do14 if (destination Y through V)15 D(A,Y) = D(A,V) + D(V, Y);16 else17 D(A, Y) = min(D(A, Y),
D(A, V) + D(V, Y));18 if (there is a new minimum for dest. Y)19 send D(A, Y) to all neighbors 20 forever
![Page 35: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/35.jpg)
Example: End of 1st Iteration
Dest. Cost NextHop
B 2 B
C 3 B
D 5 B
35
A C12
7
B D3
1
Node A
Dest. Cost NextHop
A 2 A
C 1 C
D 2 C
Node B
Dest. Cost NextHop
A 3 B
B 1 B
D 1 D
Node C
Dest. Cost NextHop
A 4 B
B 3 B
C 1 C
Node D
…7 loop:…12 else if (update D(V, Y) received from V) 13 for all destinations Y do14 if (destination Y through V)15 D(A,Y) = D(A,V) + D(V, Y);16 else17 D(A, Y) = min(D(A, Y),
D(A, V) + D(V, Y));18 if (there is a new minimum for dest. Y)19 send D(A, Y) to all neighbors 20 forever
![Page 36: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/36.jpg)
Example: End of 3nd Iteration
Dest. Cost NextHop
B 2 B
C 3 B
D 4 B
36
A C12
7
B D3
1
Node A
Dest. Cost NextHop
A 2 A
C 1 C
D 2 C
Node B
Dest. Cost NextHop
A 3 B
B 1 B
D 1 D
Node C
Dest. Cost NextHop
A 4 C
B 2 C
C 1 C
Node D
Nothing changes → algorithm terminates
…7 loop:…12 else if (update D(V, Y) received from V) 13 for all destinations Y do14 if (destination Y through V)15 D(A,Y) = D(A,V) + D(V, Y);16 else17 D(A, Y) = min(D(A, Y),
D(A, V) + D(V, Y));18 if (there is a new minimum for dest. Y)19 send D(A, Y) to all neighbors 20 forever
![Page 37: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/37.jpg)
BGP: a Path-Vector Protocol
• An AS-path: sequence of AS’s a route traverses
• Used for loop detection and to apply policy
• Possible default choice: route with fewest # of AS’s
37
110.10.0.0/16
AS-1
AS-2
130.10.0.0/16
AS-3
120.10.0.0/16
AS-4
AS-5
120.10.0.0/16 AS-2 AS-3 AS-4130.10.0.0/16 AS-2 AS-3
110.10.0.0/16 AS-2 AS-5
![Page 38: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/38.jpg)
Protocols at different layers
Application
Transport
Network
Data link
PhysicalL1
L2
L3
L4
L7 SMTP HTTP DNS NTP
TCP UDP
IP
Ethernet FDDI PPP
optical copper radio PSTN
![Page 39: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/39.jpg)
Goal: Get ALL of the data to its
destination
Solution (Protocol): TCP at the
transport layer
![Page 40: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/40.jpg)
TCP (Transmission Control Protocol)
• Multiplexes between services
• Multi-packet connections
• Handles loss, duplication, & out-of-order delivery
— all received data ACKnowledged
• Flow control
— sender doesn’t overwhelm recipient
• Congestion control
— sender doesn’t overwhelm network
![Page 41: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/41.jpg)
TCP header
![Page 42: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/42.jpg)
TCP connections
• Explicit connection setup
& teardown
• Explicit control flags (e.g.,
SYN, ACK, FIN, RST)
• Sequence numbers
— reliability & ordering
Setup: 3-way handshake
Source: Wikimedia commons
![Page 43: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/43.jpg)
Common TCP Ports
• 22: SSH
• 25: SMTP
• 53: DNS
• 67, 68: DHCP
• 80: HTTP
• 143: IMAP
• 443: HTTPS
• Ports 49152-65535 are used by client programs
![Page 44: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/44.jpg)
TCP Sequence Numbers
• Bytes in a TCP sequence are numbered (and acked)
Image from https://madpackets.com/2018/04/25/tcp-sequence-and-acknowledgement-numbers-explained/
![Page 45: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/45.jpg)
Layer Encapsulation: Protocol Headers
TCP header
IP header
Ethernet header
HTTP request/response
User A User B
![Page 46: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/46.jpg)
Protocols at different layers
Application
Transport
Network
Data link
PhysicalL1
L2
L3
L4
L7 SMTP HTTP DNS NTP
TCP UDP
IP
Ethernet FDDI PPP
optical copper radio PSTN
![Page 47: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/47.jpg)
Goal: Be addressable in ways
humans can remember on the
Internet
Solution: Domain Names
![Page 48: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/48.jpg)
DNS (Domain Name System)
• Host addresses: e.g., 128.135.11.239
– a number used by protocols
– conforms to network structure (the “where”)
• Host names: e.g., super.cs.uchicago.edu
– usable by humans
– conforms to organizational structure (the “who”)
• Domain Name System (DNS) is how we map from one to other
– a directory service for hosts on the Internet
– See nslookup
![Page 49: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/49.jpg)
Hierarchical Namespace
• “Top Level Domains” are at the top
• Domains are subtrees– E.g: .edu, uchicago.edu, cs.uchicago.edu
• Name is leaf-to-root path– linux.cs.uchicago.edu
• Name collisions trivially avoided!– each domain’s responsibility
root
edu com gov mil org net uk fr
uchicago ucla
cs law
linux
…
![Page 50: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/50.jpg)
Hierarchical Administration
• A zone corresponds to an administrative authority
responsible for a contiguous portion of hierarchy
• E.g.: UChicago controls law.uchicago.edu and
*.cs.uchicago.edu
while CS controls *.cs.uchicago.edu
root
edu com gov mil org net uk fr
uchicago ucla
cs law
linux
root
edu com gov mil org net uk fr
uchicago
cs law
ICANN/IANA
![Page 51: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/51.jpg)
Political Environment For Domains
• Internet Corporation for Assigned Names
and Numbers (ICANN) is a non-profit that
controls the assignment of both IP
addresses and domain names
![Page 52: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/52.jpg)
DNS Root Servers
• 13 root servers (labeled A-M; see http://www.root-
servers.org/)
B USC-ISI Marina del Rey, CA
L ICANN Los Angeles, CA
E NASA Mt View, CA
F Internet Software
Consortium
Palo Alto, CA
I Autonomica, Stockholm
K RIPE London
M WIDE Tokyo
A Verisign, Dulles, VA
C Cogent, Herndon, VA
D U Maryland College Park, MD
G US DoD Vienna, VA
H ARL Aberdeen, MD
J Verisign
![Page 53: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/53.jpg)
DNS Root Servers
• 13 root servers (labeled A-M; see http://www.root-
servers.org/)
• All replicated via anycast
B USC-ISI Marina del Rey, CA
L ICANN Los Angeles, CA
E NASA Mt View, CA
F Internet Software
Consortium,
Palo Alto, CA
(and 37 other locations)
I Autonomica, Stockholm (plus 29
other locations)
K RIPE London (plus 16 other locations)
M WIDE Tokyo
plus Seoul, Paris,
San Francisco
A Verisign, Dulles, VA
C Cogent, Herndon, VA (also Los Angeles, NY, Chicago)
D U Maryland College Park, MD
G US DoD Vienna, VA
H ARL Aberdeen, MD
J Verisign (21 locations)
![Page 54: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/54.jpg)
DNS Records
• DNS servers store Resource Records (RRs)
– RR is (name, value, type, TTL)
• Type = A: (→ Address)
– name = hostname
– value = IP address
• Type = NS: (→ Name Server)
– name = domain
– value = name of dns server for domain
• Type = MX: (→ Mail eXchanger)
– name = domain in email address
– value = name(s) of mail server(s)
![Page 55: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/55.jpg)
Inserting Resource Records into DNS
• Example: you want “blaseur.com”
• Register blaseur.com at registrar (e.g., GoDaddy)
– Provide registrar with names and IP addresses of yourauthoritative name server(s)
– Registrar inserts into the .com TLD server who your name servers are
• Store resource records in your server
– e.g., type A record for www.blaseur.com
– e.g., type MX record for blaseur.com
![Page 56: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/56.jpg)
56
DNS client(me.cs.uchicago.edu)
DNS server
root serverslocal
(mydns.uchicago.edu) .edu servers
nyu.eduservers
![Page 57: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/57.jpg)
57
DNS client(me.cs.uchicago.edu)
DNS server
root servers
.edu servers
nyu.eduservers
local
(mydns.uchicago.edu)
![Page 58: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/58.jpg)
58
root DNS server
DNS client(me.cs.uchicago.edu)
DNS server
.edu servers
nyu.eduservers
(mydns.uchicago.edu)
![Page 59: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/59.jpg)
59
root DNS server
DNS client(me.cs.uchicago.edu)
DNS server
.edu servers
nyu.eduservers
(mydns.uchicago.edu)
![Page 60: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/60.jpg)
60
root DNS server
recursive DNS query
DNS client(me.cs.uchicago.edu)
DNS server(mydns.uchicago.edu)
.edu servers
nyu.edu servers
![Page 61: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/61.jpg)
61
root DNS server
DNS client(me.cs.uchicago.edu)
DNS server(mydns.uchicago.edu)
.edu servers
nyu.edu servers
![Page 62: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/62.jpg)
root DNS server
iterative DNS query
DNS client(me.cs.uchicago.edu)
DNS server(mydns.uchicago.edu)
.edu servers
nyu.edu servers
![Page 63: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/63.jpg)
DNS FAQs
• Do you have to follow that recursive process every
time?
– No (DNS queries are cached)
• Is DNS “secure”?
– No
• Have people tried to make DNS secure
– Yes. See, e.g., DNSSEC, which aims to provide integrity
by signing DNS records
![Page 64: 09. How the Internet Works](https://reader031.vdocuments.net/reader031/viewer/2022012415/616ffa62b43f48244f54e182/html5/thumbnails/64.jpg)
Recap
How does A discover B’s name?
How are machines/devices named?
How does A find a path to B?
How do A & B communicate quickly, reliably?
IP Addressing & Allocation
DNS
Routing
TCP, Congestion control
A
B