Distributed Systems Naming. Naming Names are used to share resources Name uniquely identify entities Names refer to location If we have named entity,

Slides:



Advertisements
Similar presentations
EECS122 - UCB 1 CS 194: Distributed Systems: Naming Computer Science Division Department of Electrical Engineering and Computer Sciences University of.
Advertisements

Rasool Jalili, OS2, Sem Naming Chapter 4. Rasool Jalili, OS2, Sem Advertisment!! Please inform the students to subscribe to the mailing.
Dr. Kalpakis CMSC621 Advanced Operating Systems Naming.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Naming (2) DISTRIBUTED.
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
DNS Domain Name System. Domain names and IP addresses People prefer to use easy-to-remember names instead of IP addresses Domain names are alphanumeric.
Distributed Systems Principles and Paradigms Chapter 04 Naming.
Naming Technologies within Distributed Systems
DNS Domain Name System. Domain names and IP addresses People prefer to use easy-to-remember names instead of IP addresses Domain names are alphanumeric.
Domain Name System (or Service) (DNS) Computer Networks Computer Networks Term B10.
The implementation of a name space
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
CS 582 / CMPE 481 Distributed Systems Naming Class Overview Why naming? Terminology Naming Fundamentals Name Services Case Studies –DNS –GNS.
1 Domain Name System (DNS). 2 DNS: Domain Name System Internet hosts, routers: –IP address (32 bit) - used for addressing datagrams –“name”, e.g., gaia.cs.umass.edu.
Computer Science Lecture 9, page 1 CS677: Distributed OS Today: Naming Names are used to share resources, uniquely identify entities and refer to locations.
Naming Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming.
Application Layer session 1 TELE3118: Network Technologies Week 12: DNS Some slides have been taken from: r Computer Networking: A Top Down Approach.
Domain Name System: DNS
1 Naming Names are used to uniquely identify resources/services. Name resolution: process to determine the actual entity that a name refers to. In distributed.
Distributed Systems Naming Chapter 5.
Naming Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming.
CPSC 441: DNS1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes derived.
DNS. Outline r Domain Name System r DNS Hierarchy r Resolution.
The Domain Name System (DNS)
NET0183 Networks and Communications Lecture 25 DNS Domain Name System 8/25/20091 NET0183 Networks and Communications by Dr Andy Brooks.
Distributed Computing COEN 317 DC2: Naming, part 1.
CS 4396 Computer Networks Lab
1 Domain Name System (DNS). 2 DNS: Domain Name System Internet hosts: – IP address (32 bit) - used for addressing datagrams – “name”, e.g.,
ICS362 Distributed Systems Dr Ken Cosh Week 5. Review Communication – Fundamentals – Remote Procedure Calls (RPC) – Message Oriented Communication – Stream.
Domain Name System (DNS)
Computer Science Lecture 9, page 1 CS677: Distributed OS Today: Naming Names are used to share resources, uniquely identify entities and refer to locations.
DNS Domain Name System. Domain names and IP addresses People prefer to use easy-to-remember names instead of IP addresses Domain names are alphanumeric.
Domain names and IP addresses Resolver and name server DNS Name hierarchy Domain name system Domain names Top-level domains Hierarchy of name servers.
DNS: Domain Name System
1 DNS: Domain Name System People: many identifiers: m SSN, name, Passport # Internet hosts, routers: m IP address (32 bit) - used for addressing datagrams.
1 Application Layer Lecture 6 Imran Ahmed University of Management & Technology.
Distributed Systems Principles and Paradigms Chapter 04 Naming.
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Naming Chapter 4. Name Spaces (1) A general naming graph with a single root node.
Naming Chapter 4.
Distributed Computing COEN 317 DC2: Naming, part 1.
Internet and Intranet Protocols and Applications Lecture 5 Application Protocols: DNS February 20, 2002 Joseph Conron Computer Science Department New York.
6. Naming (name services)
Computer Science Lecture 9, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS Iterative versus Recursive name resolution.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 10/12/2007.
CPSC 441: DNS 1. DNS: Domain Name System Internet hosts: m IP address (32 bit) - used for addressing datagrams m “name”, e.g., - used by.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
EE 122: Lecture 20 (Domain Name Server - DNS) Ion Stoica Nov 15, 2001 (* based on the some on-line slides of J. Kurose & K. Rose and of Raj Jain)
ADVANCED OPERATING SYSTEMS STRUCTURED NAMING BY KANNA KARRI.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
1 Name services (concepts, DNS, case study X.500)
COMP 431 Internet Services & Protocols
Internet Naming Service: DNS* Chapter 5. The Name Space The name space is the structure of the DNS database –An inverted tree with the root node at the.
Networking (Cont’d). Congestion Control l Is achieved by informing nodes along a route that congestion has occurred and asking them to reduce their packet.
Naming CSCI 6900/4900. Mounting Mounting – Merging different namespaces transparently File system example –Directory node of one namespace stores identifier.
Lecture 9: Name and Directory Servers CDK4: Chapter 9 CDK5: Chapter 13 TVS: Chapter 5.
Naming CSCI 4780/6780. Name Space Implementation Naming service – A service that lets users to add/delete and lookup names In large distributed systems.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 9: Domain Name Servers
Naming Chapter 4.
Naming A name in a distributed system is a string of bits or characters used to refer to an entity. To resolve name a naming system is needed.
5.3. Structured Naming Advanced Operating Systems Fall 2017
Lecture 7: Name and Directory Servers
Lecture 7: Name and Directory Servers
Lecture 8: Name and Directory Servers
DNS: Domain Name System
Presentation transcript:

Distributed Systems Naming

Naming Names are used to share resources Name uniquely identify entities Names refer to location If we have named entity, then we can access it The organisation and implementation of human- friendly naming systems.

Names or Codes, or Numbers? –Names (when meaningful) are easier to remember than codes or numbers… –Number (or sequence codes) are more useful for structuring data and locating resources by a program.. –Example: IPv marg.csse.unimelb.edu.au CSSE network Level 5 subnet Machine Identifier Australia Education Institutions The University of Melbourne Computer Science and Software Engineering Machine name

Naming Naming as it relates to mobile entities Name is a string of bits or characters refer to an entity. Entity may be host, printer, disk, file, user, mailbox, web page, message,…..

Names or Codes? or Numbers? –As discussed in file system (hierarchical naming of files) and mounting at right location. Which one is better? Disk 4, Sector 26, Block15 /usr/bin/tar

Naming Each entity has access point The name of access point is called address of entity or entity access point Identifier – a reference to an entity that is often unique and never reused E.g. any person has a name and telephone number (access point)

Naming The name of entity is independent of its address Name should be: –An identifier (name) refer to only one entity –The name always refers to the same entity

Name Spaces The name space is the way that names in a particular system are organized. This also defines the set of all possible names. Examples: –Phone numbers –Credit card numbers –DNS –Human names in the US –Robert Ludlum books –Files in UNIX, Windows –URLs

Name Space Name space is the set of all names in distributed system Name space is a directed graph with a single root node. Root node of naming graph is a node with no incoming edges

Role of Names and Naming Services - Name Resolution Naming Service nameIPattributes …….. Client

Namespaces Within distributed systems, a namespace is represented by a labelled, directed graph with two types of nodes: -leaf nodes: information on an entity. -directory nodes: a collection of named outgoing edges (which can lead to any other type of node). Nodes can be referred to by path names (with absolute or relative). File systems are a classic example …

Name Spaces (1) Leaf node represents named entity Directory node is entity in distributed system

Name space examples File system is a name space where leaf is a file Directory node represents file directory URL is identifier name for web services

Name Space Distribution The name space is partitioned into three layers: Global layer –It is the root node and some other related nodes –It is not changed –It represented organizations,….

Name Space Distribution Administrational layer –Represents departments in such organization –It is relatively stable Managerial layer –Nodes change regularly –Represents shared files,…

Name Space Distribution Comparing the features/characteristics of name servers that implement nodes within a large-scale name space (partitioned into a global, administrational and managerial layer). Availability and performance requirements are met by replication and caching at each of the various layers (more on caching later). Feature/CharacteristicGlobalAdministrationalManagerial Geographical scale of networkWorldwideOrganizationDepartment Total number of nodesFewManyVast numbers Responsiveness to lookupsSecondsMillisecondsImmediate Update propagationLazyImmediate Number of replicasManyNone or fewNone Is client-side caching applied?Yes Sometimes

Name Space Distribution

A comparison between name servers for implementing nodes from a large- scale name space partitioned into a global layer, as an administrational layer, and a managerial layer. ItemGlobalAdministrationalManagerial Geographical scale of networkWorldwideOrganizationDepartment Total number of nodesFewManyVast numbers Responsiveness to lookupsSecondsMillisecondsImmediate Update propagationLazyImmediate Number of replicasManyNone or fewNone Is client-side caching applied?Yes Sometimes

Name Resolution The process of looking up a name is called name resolution Let the number does not mean any thing for people but when we give information that this is telephone number then name resolution can start This help information is called closure mechanism

More on Name Resolution A “name resolver” provides a local name resolution service to clients – it is responsible for ensuring that the name resolution process is carried out. Two Common Approaches: 1. Iterative Name Resolution. 2. Recursive Name Resolution.

Iterative Name Resolution The name resolver queries each name server (at each layer) in an iterative fashion. Note: the client is doing all the work here (and generating a lot of traffic, too).

Name Resolution If distributed system is in LAN only, then it implements name space by means of single name server In WAN, Distributed system implements name space over multiple name servers

Recursive Name Resolution The name resolver starts the process, then each server temporarily becomes a client of the next name server until the resolution is satisfied. The results are then returned to the client.

Caching and Recursive Name Resolution Recursive name resolution of. Name servers cache intermediate results for subsequent lookups. This is seen as a key advantage to the recursive name resolution approach, even though the workload has been moved from the client to the servers. Nevertheless, think about subsequent lookups … Server for node Should resolve Looks up Passes to child Receives and caches Returns to requester cs # -- # vu # # # # ni # # # # # # root # # # # # # # #

Iterative vs. Recursive Resolution The comparison between recursive and iterative name resolution with respect to communication costs. Again, the recursive technology is generally regarded to have an advantage in this situation (especially over longer, more expensive WAN links).

Two Naming Examples The Domain Name Service (DNS) The X.500 Directory Service

Domain Name System (DNS) P. Mockapetris, K. Dunlap: “Development of the domain name system”, Proc. SIGCOMM’88 Symposium –Address/name translation DNS is used for looking up host address and mail servers –Hierarchical name space distributed database –Distributed set of servers –Replicated for reliability –The name space consists of set of labels (each of length 63 char) and the complete path name is 255 char

DNS Names A subtree within DNS is referred to as a “domain”. A path name is referred to as a “domain name”. These can be relative or absolute. A DNS server operates at each node (except those at the bottom). Here, the information is organised into “resource records”.

DNS Name Servers Why not have a central DNS server? single point of failure traffic volume may be far maintenance difficult Alternative no server has all name-to-IP address mappings

Resolver and name server 1.An application program on a host accesses the domain system through a DNS client, called the resolver 2.Resolver contacts DNS server, called name server 3.DNS server returns IP address to resolver which passes the IP address to application Reverse lookups are also possible, i.e., find the hostname given an IP address

Authoritative DNS Servers No server has all name-to-IP mappings –local name servers: Each institution/company/ ISP has a local (default) name server Host DNS query first tries the local name server –authoritative name server: For a host: stores that host’s IP address & name Can perform name/address translation

DNS name servers Note: Name server names are in italics, and the corresponding domains are in parentheses. Arrows denote name server entries a.root-servers.net (root) ns0.ja.net (ac.uk) dns0.dcs.qmw.ac.uk (dcs.qmw.ac.uk) alpha.qmw.ac.uk (qmw.ac.uk) dns0-doc.ic.ac.uk (ic.ac.uk) ns.purdue.edu (purdue.edu) uk purdue.edu ic.ac.uk qmw.ac.uk dcs.qmw.ac.uk *.qmw.ac.uk *.ic.ac.uk *.dcs.qmw.ac.uk *.purdue.edu ns1.nic.uk (uk) ac.uk co.uk yahoo.com

Composed naming domains used to access a resource from a UR URL Resource ID (IP number, port number, pathname) Network address 2:60:8c:2:b0:5a file Web server WebExamples/earth.html8888 DNS lookup Socket

URL example If the URL is given to DNS and it looks up for it, so: URL will be “ ” +”8888”+”web_examples/earth.html” IP + port # + path name IP to get the server address Port# to get socket Trace the path name to get the file “earth.html” from the socket

DNS example: mail address Name Server Mail Transfer Agent TCP IP MX for ics.forth.gr ? User

DNS master file (hosts.txt) of host names & their IPs maintained by Network Information Center (NIC) distributed by , or downloaded by FTP The global layer of DNS are:.com,.edu,.gov,.mil,.net,.org,.uk,.eg,… DNS is stored in files with set of records (internet database) as A, NS, ….

Domain Hierarchy Domain := context for defining/resolving names educomgovmilorgnetukgr ibmyahoo ieee uoc csd soc econ Crete

The DNS Name Space The most important types of resource records forming the contents of nodes in the DNS name space. Type of record Associated entity Description SOAZoneHolds information on the represented zone AHostContains an IP address of the host this node represents MXDomainRefers to a mail server to handle mail addressed to this node SRVDomainRefers to a server handling a specific service NSZoneRefers to a name server that implements the represented zone CNAMENodeSymbolic link with the primary name of the represented node PTRHostContains the canonical (Pointer) name of a host HINFOHostHolds information on the host ( Machine architecture & OS) TXTAny kindContains any entity-specific information considered useful

DNS Implementation An excerpt from the DNS database for the zone cs.vu.nl. The “database” is a small collection of files maintained within each DNS “zone”.

DNS records DNS: distributed db storing resource records (RR) oType=NS oname is domain (eg., foo.com) ovalue is hostname of authoritative name server for this domain o Eg: (foo.com, dns.foo.com, NS) RR format: (name, value, type, ttl) o Type=A o name is hostname o value is IP address o Eg: (relay1.bar.foo.com, , A) o Type=CNAME o name is alias name for some “canonical” (the real) name, eg., is really servereast.backup2.ibm.com o value is canonical name o Type=MX o value is name of mailserver associated with name

DNS example (I) H ost sci.alexu.edu.eg wants IP address of gaia.cs.umass.edu 1. Contacts its local DNS server, dns.alexu.edu.eg 2. dns.alexu.edu.eg contacts root name server, if necessary 3. root name server contacts authoritative name server, dns.umass.edu, if necessary requesting host Sci.alexu.edu.eg gaia.cs.umass.edu root name server authoritative name server dns.umass.edu local name server dns.alexu.edu.eg

DNS example (II) Root name server: may not know authoritative name server may know intermediate name server: who to contact to find the authoritative name server requesting host sci.alexu.edu.eg local name server dns.alexu.edu.eg gaia.cs.umass.edu root name server authoritative name server dns.cs.umass.edu intermediate name server dns.umass.edu 7 8

DNS example (III): Iterated queries recursive query: puts burden of name resolution on contacted name server heavy load? iterated query: contacted server replies with name of server to contact “I don’t know this name, but ask this server” requesting host Sci.alexu.edu.eg gaia.cs.umass.edu root name server local name server dns.alexu.edu.eg authoritative name server dns.cs.umass.edu intermediate name server dns.umass.edu 7 8 iterated query

DNS Root Servers (I) Contacted by local name server that can not resolve a name Root name server: contacts authoritative name server if name mapping not known gets mapping returns mapping to local name server 13 root name servers worldwide {a, b, c, …, m}.root-servers.org Critical part of the Internet infrastructure !

DNS Root Servers (III) F: Internet Systems Consortium, Inc. Sites: Ottawa, Toronto San Jose, San Francisco, Los Angeles New York City Rome, Paris, Lisbon, Madrid, Munich Sao Paulo Beijing, Seoul, Taipei, Hong Kong, Singapore, Dubai Moscow Dubai Brisbane, Auckland Monterrey Johannesburg Tel Aviv Jakarta

Addresses of root servers A.ROOT-SERVERS.EDU. (formerly NS.INTERNIC.NET) A.ROOT-SERVERS.NET. (formerly NS1.ISI.EDU) B.ROOT-SERVERS.NET. (formerly C.PSI.NET) C.ROOT-SERVERS.NET. (TERP.UMD.EDU) D.ROOT-SERVERS.NET. (NS.NASA.GOV) E.ROOT-SERVERS.NET. (NS.ISC.ORG) F.ROOT-SERVERS.NET. (NS.NIC.DDN.MIL) G.ROOT-SERVERS.NET. (AOS.ARL.ARMY.MIL) H.ROOT-SERVERS.NET. (NIC.NORDU.NET) I.ROOT-SERVERS.NET. (at NSI (InterNIC)) J.ROOT-SERVERS.NET. (operated by RIPE NCC) K.ROOT-SERVERS.NET. (at ISI (IANA)) L.ROOT-SERVERS.NET. (operated by WIDE, Japan) M.ROOT-SERVERS.NET

DNS Implementation - BIND (I) Developed at Berkeley UDP-based –avoid the overhead of TCP connection 2 parts: –resolver handles the queries issued by applications “client” for up to 3 name servers –name server implements referrals, canonical name substitution, etc

DNS Implementation - BIND (II) Resolver: –Up to 3 names servers, in fixed ordered queried in sequence –Try 2nd server if 1st does not respond, try 3rd server if 2nd does not respond initial timeout: 1 sec timeout := 2*timeout, if none of the servers responds –A server is tried up to 4 times Max. #queries before giving up: 12 –The query ID is not changed upon retransmissions The resolver does not care which server responds … nor which query packet generated a response

DNS Implementation - BIND (III) Name server: –list of up to 16 addresses of name servers always sorted by the server’s expected response time –Cycle through list of servers, up to 3 times Initial timeout: 4 sec Max. timeout: 45 sec Timeout is doubled after each cycle A single query destined to an unreachable, unreplicated name server would lead up to 9 query datagrams –Up to 20 referrals protection against looping ! –… or up to 8 canonical name substitutions

Example: X.500 Naming Service A traditional naming service (like DNS) operates very much like the Telephone Directory. Find ‘B’, then find ‘Barry’, then find ‘Paul’, then get the number. With a directory service, the client can look for an entity based on a description of its properties instead of its full name. This is more like the Yellow Pages. Find ‘Perl Consultants’, obtain the list, search the list, find ‘Paul Barry’, then get the number.

X.500 principles Organizes directory entries into a hierarchical namespace Powerful search capabilities Often used for interfacing incompatible directory services Used DAP for client-server communication DAP (App. Layer) requires entire OSI stack to operate Too heavy for small environments

More on X.500 Directory entries in X.500 are roughly equivalent to domain names in DNS. The entries are organised as a series of “Attribute/Value Pairings” A collection of directory entries is referred to as a Directory Information Base (DIB).

The X.500 Name Space (1) A simple example of a X.500 directory entry using X.500 naming conventions. AttributeAbbr.Value CountryCEG LocalityLAlexandria OrganizationLAlexu Universiteit OrganizationalUnitOUMath. & Comp. Sc. CommonNameCNMain server Mail_Servers , , FTP_Server WWW_Server

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Hierarchical Implementations: LDAP (2) Figure (a) Part of a directory information tree.

56 Part of the X.500 Directory Information Tree (DIT) X.500 Service (root) Australia (country) India US A NSW (state) Vic (state) Govt Private Educational Monash UniMelb CSSE Medicine Staff Students Object class for NSW govt.

The X.500 Name Space (3) Two directory entries having Host_Name as RDN. AttributeValueAttributeValue CountryNLCountryNL LocalityAmsterdamLocalityAmsterdam OrganizationVrije UniversiteitOrganizationVrije Universiteit OrganizationalUnitMath. & Comp. Sc.OrganizationalUnit Math. & Comp. Sc. CommonNameMain serverCommonNameMain server Host_NamestarHost_Namezephyr Host_Address Host_Address

Naming versus Locating Entities a)Direct, single level mapping between names and addresses. b)T-level mapping using identities.

Mobile IP Traditional routing –based on IP destination address –network prefix determines physical subnet –change of physical subnet implies change of IP address (conform to new subnet), or special routing table entries to forward packets to new subnet Changing of IP address –DNS updates take to long time –TCP connections break –security problems Changing entries in routing tables –does not scale with the number of mobile hosts and frequent changes in the location –security problems Solution requirements –retain same IP address, use same layer-2 protocols –authentication of registration messages, …

Mobile IP routers Anchor point for communication with the mobile node A tunnel is established bet. the home agent & a reachable point for the mobile node. Association bet. Home IP & Care-of address