CORNELL CS 5190 - Lecture 6: Naming and DNS

Unformatted text preview:

CS519: Computer NetworksLecture 6: Apr 5, 2004Naming and DNSCS519| “Any problem in computer science can be solved with another layer of indirection”David WheelerCS519Naming is a layer of indirection| What problems does it solve?z Makes objects human readablez Hides complexity and dynamics• Multiple lower-layer objects can have one name• Changes in lower-layer objects hiddenz Allows an object to be found in different ways• One object can have multiple namesCS519Names map to objects through a resolution serviceDistributed Name Resolution ServiceCS519Identifiers and Locators| A name is always an identifier to a greater or lesser extentz Can be persistent or non-persistentz Can be globally unique, locally unique, or even non-unique| If a name has structure that helps the resolution service, then the name is also a locatorCS519Naming in networksCS519DNS names map into addressesDomain Name(www.cnn.com)Domain Name System (DNS)Many-to-many•Hierarchical•User-friendly•Location independent•But not org independentCS519Addresses map into routesIP address(128.94.2.17)Routing algorithm(BGP, OSPF, RIP)One-to-many•Hierarchical•Location Dependent•Non-unique•Can change often•Refers to an interface, not a hostCS519Routes get packets to interfaces•A path•Source dependent•Can change oftenCS519DNS names and IP addresses are identifiers and locators| Both are typically non-persistent| Private IP addresses identify only in the context of an IP realm| Domain names are good identifiersz woodstock.cs.cornell.edu identifies a hostz www.cnn.com identifies a service| URLs are good identifiersCS519IP address as locator| A bizarre way to think of an internet route is as a series of “route segments”z A “route” from the source host to the first hop routerz A route from the first hop router to the access ISPz A route from the access ISP to the dest ISPz A route from the dest ISP to the dest sitez A route from the dest site to the dest subnetz A “route” from the dest subnet to the desthostCS519IP address as locator| If we can think of a route as a series of route segments . . .| Then we can think of the IP address as a series of “flat” (sub-)addressesz Where each (sub-)address maps into a route segment| ISP-site-subnet-hostCS519So what?| There is a fundamental thing happening here| (Hierarchical) route segments prevents all nodes from having to know about the whole network| Hierarchy always requires a global reference pointz The top of the hierarchyz In IP, this is the ISPCS519To summarize| Internet uses Names, Addresses, and Routesz Routes are special, because they depend on point of view| Also Identifiers and Locatorsz An locator is, in a way, a series of identifiersz Where everyone knows how to get to the top, and the top knows how to get to the bottomCS519Names in the Internet| The Internet has always had namesz Because IP addresses are hard to remember| But, the Internet hasn’t always had domain names| Used to be, this was a valid email address:z george@isiz How did any given host know the IP address of “isi”???CS519The “host table” and DNS| Before DNS, there was the host table| This was a complete list of all the hosts in the Internet!| It was copied every night to every machine on the Internet!| At some point, this was perceived as a potential scaling bottleneck…| So a distributed directory called the “Domain Name System” was invented (DNS)CS519The host table (historic)24.72.188.13isi-mail……133.65.29.1mit-lcs133.65.14.77mit-dlabIP AddressHost NameCS519Distributed Directory| A primary goal of DNS was to have a distributed “host table”, so that each site could manage its own name-to-address mapping| But also, it should scale well!CS519DNS is simple but powerful| Only one type of queryz Query(domain name, RR type)• Resource Record (RR) type is like an attribute typez Answer(values, additional RRs) | Example:z Query(woodstock.cs.cornell.edu, A)z Answer(128.84.97.3)CS519DNS is simple but powerful| Limited number of RR types| Hard to make new RR typesz Not for technical reasons…z Rather because each requires global agreementCS519DNS is the core of the Internet| Global name spacez Can be the core of a naming or identifying scheme| Global directory servicez Can resolve a name to nearly every computer on the planetCS519Important DNS RR types| NS: Points to IP addr of next Name Server down the tree| A: Contains the IP addressz AAAA for IPv6| MX: Contains the name of the mail server| CNAME: “Canonical name”, for aliasing| PTR: Returns name given an IP addressz reverse DNS lookupCS519DNS tree structure.edu.cornell.edu.cs.cornell.edu.com. jp. us.cmu.edu. mit.edu.eng.cornell.edu.foo.cs.cornell.edu A 10.1.1.1bar.cs.cornell.edu A 10.1.1.1NS RR “pointers”CS519Primary and secondary serverscornell.edu.cs.cornell.edu.NS RRs point to both primary and secondary serversRRs are initially configured into primary serverPrimary server replicates RRs onto secondary servers periodically(updates are incremental)CS519Resolver structure and configuration.edu.cornell.edu.cs.cornell.edu.com. jp.cmu.edu.eng.cornell.edu.Static configurationof root serversStub resolver resides on client host, points to configured recursive serverResolver manages DNS queries on behalf of stub resolversCS519Resolver structure and configuration.edu.cornell.edu.cs.cornell.edu.com. jp.cmu.edu.eng.cornell.edu.1. Stub resolver sends recursive query2,3,4… Resolver makes iterative queries to serversN. Resolver returns final answer to stub resolver (which also caches result)Resolver caches results for efficiencyCS519DNS query and reply have same formatmsg header| identification: 16 bit # for query, repy to query uses same #| flags:z query or replyz recursion desired z recursion availablez reply is authoritativez reply was truncatedCS519DNS protocol, messagesName, type fieldsfor a queryRRs in reponseto queryrecords forauthoritative serversadditional “helpful”info that may be usedCS519UDP or TCP| DNS usually uses UDP| Like RPC: query and reply fit into a single unfragmented UDP packet| Client resends query after timeoutz About 3 seconds| Client will use TCP if reply is truncatedz Truncated bit is setz TCP also used for zone transfersCS519DNS cache management| All RRs have Time-to-live (TTL) values| When TTL expires, cache entries are removed| NS RRs tend to have long TTLsz Cached for a long timez Reduces load on higher level servers| A RRs may have very short TTLsz Order


View Full Document

CORNELL CS 5190 - Lecture 6: Naming and DNS

Download Lecture 6: Naming and DNS
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 6: Naming and DNS and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 6: Naming and DNS 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?