Overview • What do names do? Naming – identify objects – help locate objects – define membership in a group Outline – specify a role Terminology – convey knowledge of a secret Domain Naming System • Name space Distributed File Systems – defines set of possible names – consists of a set of name to value bindings Spring 2005 CS 461 1 Spring 2005 CS 461 2 Properties Examples • Names versus addresses • Hosts • Location transparent versus location-dependent cheltenham.cs.princeton.edu 192.12.69.17 • Flat versus hierarchical 192.12.69.17 80:23:A8:33:5B:9F • Files – name assignment vs name resolution /usr/llp/tmp/foo (server, file_id) • Global versus local • Users • Absolute versus relative Larry Peterson llp@cs.princeton.edu • By architecture versus by convention • Unique versus ambiguous Spring 2005 CS 461 3 Spring 2005 CS 461 4
Examples (cont) Domain Naming System • Mailboxes User 1 2 • Hierarchy user @ cs.princeton.edu cs.princeton.edu Name Mail server program edu com gov mil org net uk fr 192.12.69.5 4 192.12.69.5 princeton … mit cisco … yahoo nasa … nsf arpa … navy acm … ieee 3 TCP cs ee physics 192.12.69.5 5 ux01 ux04 IP • Name • Services chinstrap.cs.princeton.edu nearby ps printer with short queue and 2MB Spring 2005 CS 461 5 Spring 2005 CS 461 6 Name Servers Resource Records • Partition hierarchy into zones • Each name server maintains a collection of resource records (Name, Value, Type, Class, TTL) • Name/Value: not necessarily host names to IP addresses edu com gov mil org net uk fr • Type princeton … mit cisco … yahoo nasa … nsf arpa … navy acm … ieee – NS: Value gives domain name for host running name server that cs ee physics knows how to resolve names within specified domain. ux01 ux04 – CNAME: Value gives canonical name for a host; used to define Root name server • Each zone implemented by aliases. – MX: Value gives domain name for host running mail server that two or more name servers accepts messages for specified domain. … Princeton Cisco name server name server • Class: allow other entities to define types • TTL: how long the resource record is valid … CS EE name server name server Spring 2005 CS 461 7 Spring 2005 CS 461 8
Root Server Princeton Server (princeton.edu, cit.princeton.edu, NS, IN) (cs.princeton.edu, optima.cs.princeton.edu, NS, IN) (cit.princeton.edu, 128.196.128.233, A, IN) (optima.cs.princeton.edu, 192.12.69.5, A, IN) (ee.princeton.edu, helios.ee.princeton.edu, NS, IN) (cisco.com, thumper.cisco.com, NS, IN) (helios.ee.princeton.edu, 128.196.28.166, A, IN) (thumper.cisco.com, 128.96.32.20, A, IN) (jupiter.physics.princeton.edu, 128.196.4.1, A, IN) (saturn.physics.princeton.edu, 128.196.4.2, A, IN) … (mars.physics.princeton.edu, 128.196.4.3, A, IN) (venus.physics.princeton.edu, 128.196.4.4, A, IN) Spring 2005 CS 461 9 Spring 2005 CS 461 10 Name Resolution CS Server • Strategies Root 2 name – forward u d server (cs.princeton.edu, optima.cs.princeton.edu, MX, IN) e . n o 3 t 3 e 2 c n . – iterative 8 i 2 r p 1 . . (cheltenham.cs.princeton.edu, 192.12.69.60, A, IN) s 6 c 9 3 a . 1 . d 8 a 2 – recursive c 1 i c , u (che.cs.princeton.edu, cheltenham.cs.princeton.edu, d e . n o e t c n CNAME, IN) 4 r i p 1 Local Princeton cicada.cs.princeton.edu cicada.cs.princeton.edu (optima.cs.princeton.edu, 192.12.69.5, A, IN) name Client name server server 192.12.69.60 cs.princeton.edu, 192.12.69.5 (opt.cs.princeton.edu, optima.cs.princeton.edu, 8 5 cicada.cs.princeton.edu CNAME, IN) cicada.cs.princeton.edu, 192.12.69.60 (baskerville.cs.princeton.edu, 192.12.69.35, A, IN) • Local server 6 (bas.cs.princeton.edu, baskerville.cs.princeton.edu, – need to know root at only one CS CNAME, IN) name place (not each host) server 7 – site-wide cache Spring 2005 CS 461 11 Spring 2005 CS 461 12
Distributed File Systems Example • No Transparency Prefix Domain / 1 Global AFS: /cs.princeton.edu/usr/llp/tmp/foo /a/ 2 Windows: f:/usr/llp/tmp/foo /d/ 3 a b c d /d/k/ 4 • Transparency by Convention – NFS: /usr/llp/tmp/foo – Or Not: /n/fs/fac5/llp/tmp/foo e f g h i j k • Transparency by Architecture – Sprite: /usr/llp/tmp/foo l m n o p • Private versus Shared – AFS: /usr/llp/tmp/foo versus /afs/shared q r s Spring 2005 CS 461 13 Spring 2005 CS 461 14
Recommend
More recommend