Transcript Document

Part I: Core networking
concepts
Naming & Addressing
Names and addresses
• Names are identifiers
– Used by
• end users / applications to interact with your system
• system components to interact with each other
– Name operators
• compare, resolve, bind/un-bind
• Addresses: names that locate objects
• Good names should be decoupled from addresses
Names or addresses?
•
•
•
•
•
•
•
NYU ID
/home/jinyang/doc/lec2.ppt
www.nytimes.com
199.239.137.245
http://www.nytimes.com/world
00:18:8B:06:DC:CB
BitTorrent: f22bd0823..c86a5
Addresses
Design considerations
• Addresses are used by routers to
forward packets to an endpoint
• Should be uniquely allocated
• Don’t have to be user-friendly
• Should enable scalable routing
IP address evolution
• Original scheme:
– 8-bit net (area) / 24-bit host (intra-area)
• Why distinguishing net and host?
• Why’s wrong with 8-bit net?
– 256 is not enough nets
– Most networks don’t have 16 million hosts
Class-based IP address
MIT 18.*.*.*
Apple 17.*.*.*
NYU 128.122.*.*
Microsoft 207.46.*.*
Forwarding based on classbased address
1. Examine first 1/2/3 bits,
2. Perform a lookup according to net #
Class-based --> CIDR
• Why not class-based addresses?
– Class A is wasteful!
– Too many organizations are > C, but < B
– Too many entries at routers
• CIDR: classless inter-domain routing
– Represent net size explicitly
216.239.32.0/19 61.135.0.0/16
– Allocate appropriate size
– Allocate hierarchically
Hierarchical allocation
Sprint
12.4.0.0/16
12.4.240.0/20
At&t
ISP
12.0.0.0/8
Another
ISP
Forwarding w/ CIDR addresses
• Longest prefix match
– 12.4.225.69 matches 12.24.225.0/20 instead
of 12.0.0.0/8
• Non-trivial
– 10-100 millions pkts/sec
– Memory latency 5-10 ns
Still not enough IP address?
• NAT (Network address Translator)
• Maps external address/port pairs to
internal address/port pairs
– Rewrites src/dst addresses!
• NAT breaks
– global reachability
– Protocols that identify host w/ IP addresses
IPv6
• 128-bit addresses
– Different classes of addresses
– Hierarchically allocated addresses like CIDR
– Lower 64-bits are interface ID
• Simplified header format
– 40 bytes as opposed to 20 in IPv4
IPv6 deployment options
• Embed v4 addresses in low bits of IPv6
• Tunnel IPv6 packets over IPv4 networks
• Applications must be dual-stacked or use
a v4-to-v6 translator
IPv6 deployment status
Names
Design Considerations
•
Ensuring uniqueness
1.
2.
3.
4.
•
Central naming authority
Hierarchical delegation
Pseudo-randomly
Content hashes
Intended audience: humans or machines?
DNS
• Why domain names?
– IP addresses are not user friendly
– Need topology-independent names
• Early 80s: hosts.txt file, maps host name  IP
• DNS: distributed service, maps domain name  IP
– Record types: A, NS, MX, CNAME, PTR …
Hierarchical names enable delegation
.
flat
.com
.edu
.gov
.nyu
.cs
.news
www
Deep hierarchy
.cn
.uk
Resolving hierarchical names
Query: www.google.com
Response: .com NS a.gtld-servers.nett
root
name server
.com
name server
Q: www.google.com
R: google.com NS ns1.google.com
application
Stub
resolver
cs.nyu.edu
DNS
server
.google.com
name server
Q: www.google.com
R: www.google.com A 216.239.32.10
• Root servers might become bottlenecks?
• Long latency?
Replicating servers for
capacity/availability
• Each sub-tree (zone) is kept at  2 name servers
• 13 root servers
– [A-M].root-servers.net
– Geographically diverse: VA, CA, MD, Japan etc.
• Another 13 name servers for .com, .net
Caching
Query: www.google.com
Response: .com NS a.gtld-servers.nett
com
name server
Stub
resolver
Stub
resolver
Stub
resolver
root
name server
Q: www.google.com
R: .google.com NS ns1.google.com
cs.nyu.edu
DNS
server
.com NS
.google.com NS
www.google.com A
google
name server
Q: www.google.com
R: www.google.com A 216.239.32.10
• All record types are cached according to TTL
• Caching NS records is effective at reducing latency
Caching, continued
• Cache negative response
– 10-42% lookups result in a neg answer
– Most neg answers are for reverse IP lookups
• Setting low TTL for A records harmful?
– Not really [Jung et. al. 2002]
– Most DNS cache hits happen in short succession
• Sharing DNS caches at multiple sites useful?
– Not really
– Names follow zipf distribution, misses are for rare names
“Innovative uses” of DNS
load balancing/server selection
• DNS server returns different A records
to different clients at different times
• Short TTL: e.g. 60 sec for Akamai
“Innovative” uses of DNS
spam blacklisting
• Is 125.191.168.35 a spam source?
• Resolve name
35.168.191.125.bl.spamcop.net
Problems with current
naming/addressing
A layered naming architecture
“Almost every problem in computer science can
be solved by another level of indirection”
-- David Wheeler 70s
LNA Proposal overview
User level descriptor (ULD)
e.g. email, search string
Youtube -> (SID_a5f4)
SID
SID_a5f4 -> (EID_365a, TCP, port 80)
EID
EID_365a -> IP_12.4.224.3
IP
Claimed Advantage #1:
Host mobility
• Authors’ claim
– TCP breaks if hosts
change IPs
– Difficult to initiate
connection to mobile
host
• How LNA solves it?
• Devil’s advocate
Claimed Advantage #2:
Service/data migration/replication
• Authors’ claim
– URL-based links
break if domain
name changes
– No name for
replicated data
• How LNA solves it?
• Devil’s advocate
Claimed Advantage #3:
Accommodating middle boxes
• Authors’ claim
– No explicit support
for network-level
middle boxes
– No explicit support
for application-level
middle boxes
• Devil’s advocate