Applications: DNS, HTTP and the WWW EECS 122: Lecture 6What we’ve covered so far..ApplicationsTodayDomain Name ServiceDNS: HistoryDNS FeaturesHost names are organized hierarchicallyHost names are administered hierarchicallyServer HierarchyDNS Example: Recursive QueryDNS Example: : Recursive QueryDNS: Iterated QueriesRobustness and SecurityExamplesDNS and MailDNS and Virtual IP addressesExample: www.akamai.comDNS SummaryThe WWWUniform Record LocatorHyper Text Transfer ProtocolHyper Text Transfer Protocol CommandsClient RequestServer ResponseResponse CodesExample (from Kurose and Ross)HTTP/1.0 ExampleHHTP/1.0 PerformanceHTTP/1.0 CachingWeb ProxiesWeb Proxies (cont’d)HTTP/1.1 (1996)Persistent ConnectionsPipelined Requests/ResponsesSupport for Virtual HostingHTTP/1.1 - CachingHTTP/1.1 - Caching (cont’d)HTTP/1.1 – Caching (cont’d)SummaryConclusionApplications: DNS, HTTP and the WWWEECS 122: Lecture 6Department of Electrical Engineering and Computer SciencesUniversity of CaliforniaBerkeleyLecture 6, Spring 2003A. Parekh, EE122: Revised and updated F2002 Lecture by Ion Stoica2What we’ve covered so far..Basic BackgroundGeneral Overview of different kinds of networksGeneral Design PrinciplesArchitecturePerformanceHow to write a network applicationNow let’s get into how things really work!February 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F20023ApplicationsMust separate the application processing from the application protocolsExample:WWW Browser & ServerHTTPAlso, applications can be run on the end hosts or inside the network cloudWWW on end hostsDNS in the network cloudNetworkIPTCP UDPApplicationHTTPDNSTCP UDPIPEthernet FDDI Token Etc.February 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F20024TodayDNSWWWHTTPBoth are client – server applicationshave decentralized managementenable access to vast amounts of distributed informationare based on open protocolsare distributed databasesFebruary 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F20025Domain Name ServiceResolves a host name names into an IP addressWhy host names?To organize machinesEg. robotics.eecs.berkeley.eduThis conveys more information to humans than 128.32.48.234Why IP addresss?The network needs an address to routeHost Names yield information to people and IP addresses yield information to routersFebruary 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F20026DNS: HistoryInitially all host-addess mappings were in a file called hosts.txt (in /etc/hosts)Changes were submitted to SRI by emailNew versions of hosts.txt were ftp’d periodically from SRIAn administrator could pick names at their discretionAs the internet grew this system broke down becauseSRI couldn’t handled the loadThe system was unreliable since there was a single point of contactNames were not uniqueMany hosts had inaccurate copies of hosts.txtInternet growth was threatened!February 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F20027DNS FeaturesHierarchical NamespaceDistributed architecture for storing names Nameservers assigned zones of the hierarchical namespaceBackup servers available for redundancyAdministration divided along the same hierarchyDNS client is simple: ResolverClient server interaction on UDP Port 53 (but can use TCP if desired)February 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F20028Host names are organized hierarchicallyThe first level names are called “Top Level Domains”Depth of tree is arbitrary (limit 128)Domains are subtreesE.g. berkeley.edu and eecs.berkeley.eduName collision avoidedE.g. berkeley.edu and berkeley.comrooteducomgov milorgnet uk frberkeleymiteecssimsargusFebruary 5, 2003Abhay Parekh, EE122 S2003: Version draws from Stoica EE122 F20029Host names are administered hierarchicallyrooteducomgov milorgnet uk frberkeleymiteecssimsargusrooteducomgov milorgnet uk frberkeleyeecssimsA zone corresponds to an administrative authority that is responsible for that portion of the hierarchyFebruary 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F200210Server HierarchyServers are organized in hierarchiesEach server has authority over a portion of the hierarchyA server maintains only a subset of all namesEach server contains all the records for the hosts in its zoneEach server needs to know other servers that are responsible for the other portions of the hierarchyEvery server knows the rootRoot server knows about all top-level domainsFebruary 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F200211DNS Example: Recursive QueryHost whistler.cs.cmu.edu wants IP address of www.berkeley.edu1. Contacts its local DNS server, mango.srv.cs.cmu.edu2. mango.srv.cs.cmu.edu contacts root name server, if necessary3. Root name server contacts authoritative name server, ns1.berkeley.edu, if necessary requesting hostwhistler.cs.cmu.eduwww.berkeley.eduroot name serverauthorititive name serverns1.berkeley.edulocal name servermango.srv.cs.cmu.edu123456February 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F200212DNS Example: : Recursive QueryRoot name server:May not know authoritative name serverMay know intermediate name server: who to contact to find authoritative name server?Recursive query:Puts burden of name resolution on contacted name serverHeavy load?requesting hostwhistler.cs.cmu.eduwww.berkeley.eduroot name serverlocal name servermango.srv.cs.cmu.edu123456authoritative name serverns1.berkeley.eduintermediate name server(edu server)78February 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F200213DNS: Iterated QueriesIterated query:Contacted server replies with name of server to contact“I don’t know this name, but ask this server”requesting hostwhistler.cs.cmu.eduwww.berkeley.eduroot name serverlocal name servermango.srv.cs.cmu.edu123467authoritative name serverns1.berkeley.eduintermediate name server(edu server)58iterated queryFebruary 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F200214Robustness and SecurityFor non-root severs multiple servers are common as wellCaching provides another form of redundancy and quicker response timeDOS attack in October 2002Secure DNS{A,..,M}.Root-Servers.NetFebruary 5, 2003Abhay Parekh, EE122 S2003:Updated from Stoica EE122
View Full Document