Department of Electrical Engineering and Computer SciencesUniversity of CaliforniaBerkeley !!"#$%&'!!()* +,&&-## Basic BackgroundGeneral Overview of different kinds of networksGeneral Design PrinciplesArchitecturePerformanceHow to write a network application Now let’s get into how things really work!'().!!"()$!!"/-0'!!" Must separate the application processing from the application protocolsExample: WWW Browser & Server HTTPAlso, applications can be run on the end hosts or inside the network cloud WWW on end hosts DNS in the network cloudNetworkIPTCP UDPApplicationHTTPDNSTCP UDPIPEthernet FDDI Token Etc.'().!!"()$!!"/-0'!!1)DNSWWWHTTPBoth are client – server applications have decentralized management enable access to vast amounts of distributed information are based on open protocols are distributed databases'().!!"()$!!"/-0'!!.00&Resolves 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 routers'().!!"()$!!"/-0'!!)Initially all host-addess mappings were in a file called hosts.txt (in /etc/hosts) Changes were submitted to SRI by email New versions of hosts.txt were ftp’d periodically from SRI An administrator could pick names at their discretionAs the internet grew this system broke down because SRI couldn’t handled the load The system was unreliable since there was a single point of contact Names were not unique Many hosts had inaccurate copies of hosts.txtInternet growth was threatened!'().!!"()$!!"/-0'!!2'Hierarchical NamespaceDistributed architecture for storing names Nameservers assigned zones of the hierarchical namespace Backup servers available for redundancyAdministration divided along the same hierarchy DNS client is simple: ResolverClient server interaction on UDP Port 53 (but can use TCP if desired)'().!!"()$!!"/-0'!!30 4 )The 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 frberkeleymiteecssimsargus'().!!"()$!!"5+-0'!!600 )rooteducomgov milorgnet uk frberkeleymiteecssimsargusrooteducomgov milorgnet uk frberkeleyeecssimsA zone corresponds to an administrative authority that is responsible for that portion of the hierarchy'().!!"()$!!"/-0'!!!&)Servers are organized in hierarchiesEach server has authority over a portion of the hierarchy A 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 hierarchy Every server knows the root Root server knows about all top-level domains'().!!"()$!!"/-0'!!70 %&8)Host whistler.cs.cmu.eduwants IP address of www.berkeley.edu1. Contacts its local DNS server, mango.srv.cs.cmu.edu2. mango.srv.cs.cmu.educontacts root name server, if necessary3. Root name server contacts authoritative name server,ns1.berkeley.edu, if necessaryrequesting hostwhistler.cs.cmu.eduwww.berkeley.eduroot name serverauthoritative name serverns1.berkeley.edulocal name servermango.srv.cs.cmu.edu123456'().!!"()$!!"/-0'!!70 %&8)Root 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
View Full Document