CS 582 / CMPE 481 Distributed Systems Naming Class Overview Why naming? Terminology Naming Fundamentals Name Services Case Studies –DNS –GNS.

Slides:



Advertisements
Similar presentations
Distributed Web Systems Name Services Lecturer Department University.
Advertisements

EECS122 - UCB 1 CS 194: Distributed Systems: Naming Computer Science Division Department of Electrical Engineering and Computer Sciences University of.
Dr. Kalpakis CMSC621 Advanced Operating Systems Naming.
Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
CS 6401 The Domain Name System Outline Domain Name System.
Spring 2006CS 3321 Name Service (DNS) Outline Terminology Domain Naming System.
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.
Slides for Chapter 9: Name Services From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001.
Distributed Systems Principles and Paradigms Chapter 04 Naming.
NAME SERVICES 1 Name Services From Chapter 9 of Distributed Systems Concepts and Design,4 th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published.
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.
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.
NamingCS-4513, D-Term Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,
NamingCS-4513, D-Term Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,
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.
1 Chapter 9: Name Services From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001 Presentation.
DOMAIN NAME SYSTEM. Introduction  There are several applications that follow client server paradigm.  The client/server programs can be divided into.
Domain Name System ( DNS )  DNS is the system that provides name to address mapping for the internet.
DNS. Outline r Domain Name System r DNS Hierarchy r Resolution.
Chapter 25 Domain Name System
The Domain Name System Presented by: Baolan Bo Bo Liangzhen LiangzhenShuguangWeihuaYujun Instructor: Dr. Sharon P. Hall.
Distributed Computing COEN 317 DC2: Naming, part 1.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
NAME SERVICES. Names and addresses File names /etc/passwd URLS Internet domain names—dcs.qmw.ac.uk Identifiers- ROR, NFS.
ICS362 Distributed Systems Dr Ken Cosh Week 5. Review Communication – Fundamentals – Remote Procedure Calls (RPC) – Message Oriented Communication – Stream.
Ch-9: NAME SERVICES By Srinivasa R. Gudipati. To be discussed.. Fundamentals of Naming Services Naming Resolution The Domain Name System (DNS) Directory.
Computer Science Lecture 9, page 1 CS677: Distributed OS Today: Naming Names are used to share resources, uniquely identify entities and refer to locations.
Chapter 16 – DNS. DNS Domain Name Service This service allows client machines to resolve computer names (domain names) to IP addresses DNS works at the.
DNS: Domain Name System
25.1 Chapter 25 Domain Name System Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 17 Domain Name System
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Chapter 29 Domain Name System (DNS) Allows users to reference computer names via symbolic names translates symbolic host names into associated IP addresses.
Naming Chapter 4. Name Spaces (1) A general naming graph with a single root node.
Naming Chapter 4.
Domain Name System CH 25 Aseel Alturki
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
Distributed Computing COEN 317 DC2: Naming, part 1.
Name services By N.Sudhakar Yadav Outline  General concepts  Domain Name System (DNS)  Directory and Discovery Services  Introduction  Jini  Global.
Computer Science Lecture 9, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS Iterative versus Recursive name resolution.
Naming March 8, Networks What is naming?  Associations between some elements in a set of names and some elements in a set of values  Binding.
1 Kyung Hee University Chapter 18 Domain Name System.
Configuring Name Resolution and Additional Services Lesson 12.
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.
ADVANCED OPERATING SYSTEMS STRUCTURED NAMING BY KANNA KARRI.
Nguyễn Bảo Toàn Bùi Ngọc Sơn Name service.
Introduction to Active Directory
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)
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 6900/4900. Names & Naming System Names have unique importance –Resource sharing –Identifying entities –Location reference Name can be resolved.
Basics of the Domain Name System (DNS) By : AMMY- DRISS Mohamed Amine KADDARI Zakaria MAHMOUDI Soufiane Oujda Med I University National College of Applied.
Naming CSCI 4780/6780. Name Space Implementation Naming service – A service that lets users to add/delete and lookup names In large distributed systems.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
System Administration(SAD622S) Name of Presenter: Shadreck Chitauro Lecturer 18 July 2016 Faculty of Computing and Informatics.
Domain Name System (DNS)
DNS.
Prepared by Dr: Naglaa Fathi Mohammed Soliman
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.
Net 323 D: Networks Protocols
5.3. Structured Naming Advanced Operating Systems Fall 2017
Distributed Systems CS
Name Services Bina Ramamurthy 5/18/2019 B.Ramamurthy.
Presentation transcript:

CS 582 / CMPE 481 Distributed Systems Naming

Class Overview Why naming? Terminology Naming Fundamentals Name Services Case Studies –DNS –GNS

Names are … Network addresses Process identifiers File names User names Service names Class identifiers …

Why naming? Names are used to –facilitate sharing a name is a common way for other objects to communicate with an object with that name a single name may represent a set of multiple objects doing the same job –uniquely identify particular members of some large set a name may specify roles played by the object(s) named a name may give hints about the location of the object named a name may indicate a set of operations allowed (authorized) by the object named

Terminology An Entity in a distributed system can be pretty much anything A Name is a string of bits used to refer to an entity We operate on an entity through its Access Point The Address is the name of the access point.

Examples Example –Telephone as Access Point to a person –The Telephone Number then becomes the address of the person –Person can have several telephone numbers –Entity can have several addresses Another Example: Transport-Level Addresses –for servers this can be IP address and port number Entities may change access points over time –telephone numbers, addresses, IP addresses in mobile systems, …

Naming in Distributed Systems Characteristics of naming in distributed systems –Locations are unintuitive make object migration difficult –naming system could be distributed as well its efficiency and scalability may depend on how distribution is done What we can learn from telephone networks [Birrel] –Decentralized –changes are done by authorized entities –database is replicated –multiple names are allowed –names are context-dependent

Naming Fundamentals Different types of names –Addresses name of an access point to an associated entity an entity may be accessible at more than one address an entity may change its address and the address is reassigned to other entity –Identifiers properties of identifier –an identifier refers to at most one entity –an entity is referred to by at most one identifier –an identifier always refers to the same entity – immutable (never reused) –human readable names represented as character-string used in many different forms –DNS –file names

Naming Fundamentals (cont.) Name spaces –a collection of all valid names recognized by a name service –naming domain a name space for which there exists a single overall naming authority for managing names within it –naming context an abstraction that either maps a given name to attributes or further naming context and derived name –naming convention absolute vs. relative flat vs. hierarchical

Naming Fundamentals (cont.) Name spaces (cont.) –represented as a labeled, directed graph regular node –represents a named entity and has no outgoing edges –contains information on the entity (address or identifier) or content of an entity context node –has a number of outgoing edges with labels –contains context table of (edge label, node id) pairs –path name a sequence of labels refers to a node absolute path name relative path name

Naming Fundamentals (cont.) Names and location –Non-pure names names convey information on where to find the objects named –object location –name service location –Pure names –no interpretation of names themselves –pure names don’t convey location

Naming Fundamentals (cont.) Name resolution –a process that looks up a name in the name database to obtain associated attributes an object identifier or address services provided by the object named a server managing the object named –closure mechanism is required knowing how and where to start name resolution select the initial node in a name space to figure out where to start –system should provide a way of where to start –Examples »address of a root node of a file system (e.g. location of inode of root directory) »pre-defined syntax in naming (e.g. phone numbers) »name context hints (e.g. CWD, HOME) –multiple levels of navigation linking - aliases to another name contexts (e.g. symbolic or hard links) mounting - merged name spaces (e.g. NFS or GNS)

Name Services Name service –a service that allows users and processes to add, remove, and lookup names –main tasks name space/database management name resolution Desirable properties [Lampson] –Scalable –long lifetime –high availability –fault isolation –tolerance of mistrust

Name Services (cont.) Design considerations [Needham] –Bindings relax binding time since distributed systems are more dynamic cache frequently used bindings if possible and update on use –name resolution name servers are usually replicated for availability and reliability pure names should be used carefully considering the size of networks, broadcasting capability, etc. –Consistency accessibility is considered more important than absolute correct result –synchronous consistency –Scalability never assume the size the name space is liable to get

Name Services (cont.) Name space management –name space can be partitioned into three levels [Cheriton/Mann] global level –top level nodes in the name space »context node encompasses many organizations –rare changes and large number of users »cacheable in the lower levels - performance may be not relatively critical »stability and high availability are important – replication administrational level –context nodes representing group of nodes belonging to same organization in the name space –relatively stable but more frequent changes than global level nodes »availability and performance requirements similar to global level managerial level –context nodes for small group and regular nodes in the name space –frequent changes and high access rate »lesser availability requirement but immediate response required

Name Services (cont.) Name resolution mechanisms –name resolver agent that is responsible for ensuring name resolution process –iterative name resolution client’s name resolver contacts as many name servers as it can until name resolution is done –each name server has partial information –intermediate server may play a role of name resolver –Stateless name servers Client NS2 NS1 NS3 Name servers client NS2 NS1 NS3

Name Services (cont.) Name resolution mechanisms (cont.) –recursive name resolution name server passes the result to next name server until name resolution is done –may put higher performance demand on each name server allow each name server to gradually learn the address of other name servers responsible for part of names that it was not able to resolve –cached resolution results can be leveraged next time may provide cheaper communication cost –administrational nodes are usually closer to their managerial nodes Higher level servers need to maintain state for resolutions! client NS 2 NS1 NS3

Name Services (cont.) Other name resolution mechanisms –multicast navigation multicast name resolution request and corresponding server returns the result

DNS Design goal – primarily used for host name resolution and for looking up mail hosts Characteristics –designed to provide short average response times for lookups simple request and response protocol based on UDP data are managed by a combination of partition, replication, and cache – temporal inconsistency is allowed –central authority of data consistency –common denominator for Internet application-level naming spaces – not designed for federation

DNS (cont.) Name space [RFC 1034] –Structure hierarchical with a single root each node has an exactly one incoming edge except the root partitioned by organizations and locations –naming convention each node is labeled with case-insensitive alpha-numeric characters –each label: 63 characters –complete path: 255 characters labels are separated by “.” –eg: read left (leaf node) to right (root or root of subtree) –domain name list of labels on the path from node to root of sub-tree relative or absolute

DNS (cont.) Name server –DNS database is distributed across a logical network of servers –DNS naming data are divided into zones attribute data for names in a domain names and addresses of name servers names of name servers for delegated sub-zones zone management parameters –server may have data for zero or more zones zone must be replicated authoritatively in at least two failure- independent servers server may cache non-authoritative zone files –validity of cache is determined by time-to-live value zone data are stored in one of several fixed types of resource records

DNS (cont.) 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 name of a host HINFOHostHolds information on the host this node represents TXTAny kindContains any entity-specific information considered useful Resource Record types

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.... authoritative path to lookup: jeans-pc.dcs.qmw.ac.uk *

DNS (cont.) DNS name resolution [RFC 1034] –use DNS protocol based on UDP/IP –resolver chooses recursive or iterative navigation based on server’s capability –multiple queries can be packed into a single request message Basic DNS algorithm for name resolution (domain name -> IP number) Look for the name in the local cache Try a superior DNS server, which responds with: –another recommended DNS server –the IP address (which may not be entirely up to date)

DNS in typical operation 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.... client.ic.ac.uk IP: alpha.qmw.ac.uk 2 3 IP:dns0.dcs.qmw.ac.uk jeans-pc.dcs.qmw.ac.uk ? IP:ns0.ja.net 1 IP:jeans-pc.dcs.qmw.ac.uk 4 Without caching *