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