10/10/17 Today’s Objec2ves • Naming Challenges • Domain Name System Oct 9, 2017 Sprenkle - CSCI325 1 Review • What is RPC? Ø What is its purpose? Ø How does it work? Ø What implementa2on of RPC are we using in Project 2? • What is RMI? How does it relate to RPC? Oct 9, 2017 Sprenkle - CSCI325 2 1
10/10/17 Terminology • Pure names - uninterpreted bit paSerns; must be “looked up” before they are used Ø Example: Mac address • Non-pure names - contain informa2on about the object they name (such as loca2on or address); inadequate for object iden2fica2on over 2me Ø Example: IP address • Resolu2on - translate a name into useful data about an object • Binding - associa2on between name and object • ASribute - value of a property associated with an object (names are o`en bound to aSributes) • Contexts - sets of bindings between names and aSributes for objects Oct 9, 2017 Sprenkle - CSCI325 3 Naming Services Design Goals • Handle an arbitrary number of names • Have a long (infinite?) life2me • Provide high availability • Hide (or isolate) faults • Tolerate mistrust Oct 9, 2017 Sprenkle - CSCI325 4 2
10/10/17 Types of Naming Systems • Flat • Structured • ASribute-based Oct 9, 2017 Sprenkle - CSCI325 5 Flat Systems • Tend to be for LAN • No loca2on or other informa2on • Example: RPC or RMI naming Oct 9, 2017 Sprenkle - CSCI325 6 3
10/10/17 Structured naming DOMAIN NAME SYSTEM Oct 9, 2017 Sprenkle - CSCI325 7 DNS Components • A globally distributed, scalable, reliable database • Name Space: Ø Specifica2ons for a structured name space and data associated with the names • Resolvers: Ø Client programs that extract informa2on from Name Servers. • Name Servers: Ø Server programs which hold informa2on about the structure and the names. Oct 9, 2017 Sprenkle - CSCI325 8 4
10/10/17 Name Space root "" What are subdomains of wlu.edu? Oct 9, 2017 Sprenkle - CSCI325 9 Global Distribu2on • Data is maintained locally, but retrievable globally Ø No single computer has all DNS data • DNS lookups can be performed by any device • Remote DNS data is locally cachable to improve performance Oct 9, 2017 Sprenkle - CSCI325 10 5
10/10/17 Scalability • No limit to the size of the database • No limit to the number of queries Ø Tens of thousands of queries handled easily every second • Queries distributed among primaries, secondaries, and caches Oct 9, 2017 Sprenkle - CSCI325 11 Reliability • Data is replicated Ø Data from primary is copied to mul2ple secondaries • Clients can query Ø Primary server Ø Any of the copies at secondary servers • Clients will typically query local caches • DNS protocols can use either UDP or TCP Ø If UDP, DNS protocol handles retransmission, sequencing, etc. Oct 9, 2017 Sprenkle - CSCI325 12 6
10/10/17 Dynamicity • Primary database can be updated dynamically Ø Add/delete/modify of any record • Modifica2on of the primary database triggers replica2on Oct 9, 2017 Sprenkle - CSCI325 13 Resolvers • Resolver maps a name to an address and vice versa. Query Response Name Server Resolver Oct 9, 2017 Sprenkle - CSCI325 14 7
10/10/17 Itera2ve Resolu2on: Referrals a.root server a3.nstld a.gtld- .com server 5 ns1.google wlu .com server 7 3 itera2ve response (referral) “I don't know. Try a.root- itera2ve response (referral) 9 servers.net.” itera2ve response (referral) “I don't know. Try a.gtld-servers.net.” 1 itera2ve response (referral) “I don't know. Try a3.nstld.com.” 2 “I don't know. Try ns1.google.com.” 4 6 itera2ve response 8 “The IP address of www.google.com 10 client is 173.194.175.103.” itera2ve request “What is the IP address of www.google.com?” Oct 9, 2017 Sprenkle - CSCI325 15 Recursive Resolu2on root server edu com 3 server server 4 7 wlu google 8 2 server server 5 6 9 1 recursive request 10 “What is the IP address of www.google.com?” recursive response client “The IP address of www.google.com is 216.239.37.99.” Oct 9, 2017 Sprenkle - CSCI325 16 8
10/10/17 Name Server: Architecture Zone From data Name Server Process disk file Primary Authoritative Data Zone transfer server primary and secondary zones Cache Data responses from other name servers Agent looks up queries on behalf of resolvers Oct 9, 2017 Sprenkle - CSCI325 17 Name Server: Authorita2ve Data Name Server Process Authoritative Data primary and secondary zones Response Cache Data responses from other name servers Agent Resolver looks up queries Query on behalf of resolvers Oct 9, 2017 Sprenkle - CSCI325 18 9
10/10/17 Name Server: Using Other Name Servers Name Server Process Authoritative Data Primary and Secondary zones Response Cache Data Response responses from Arbitrary other name servers name Query server Agent Resolver looks up queries Query on behalf of resolvers Oct 9, 2017 Sprenkle - CSCI325 19 Name Server: Cached Data Name Server Process Authoritative Data Primary and Secondary zones Response Cache Data responses from other name servers Agent Resolver looks up queries Query on behalf of resolvers Oct 9, 2017 Sprenkle - CSCI325 20 10
10/10/17 Block Diagram Query Query Foreign User Name Resolver Program Server Response Response Reference Addition Cache Oct 9, 2017 Sprenkle - CSCI325 21 Dynamic DNS Dynamic Host Configuration Protocol Address? IP DHCP Server Update Address IP Client Zone File Primary DNS Server Oct 9, 2017 Sprenkle - CSCI325 22 11
10/10/17 Looking Ahead • COD paper – due tonight • Preliminary Bookstore deadline next Monday Oct 9, 2017 Sprenkle - CSCI325 23 12
Recommend
More recommend