Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 10/12/2007.

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.
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
Distributed Systems Principles and Paradigms Chapter 04 Naming.
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.
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 At long last we can ask the question - how does the user interface with the network?
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.
DOMAIN NAME SYSTEM. Introduction  There are several applications that follow client server paradigm.  The client/server programs can be divided into.
DNS. Outline r Domain Name System r DNS Hierarchy r Resolution.
Chapter 25 Domain Name System
Hands-On Microsoft Windows Server 2008 Chapter 8 Managing Windows Server 2008 Network Services.
11.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 11: Introducing WINS, DNS,
Distributed Computing COEN 317 DC2: Naming, part 1.
ICS362 Distributed Systems Dr Ken Cosh Week 5. Review Communication – Fundamentals – Remote Procedure Calls (RPC) – Message Oriented Communication – Stream.
Domain Name System (DNS)
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
1 DNS: Domain Name System People: many identifiers: m SSN, name, Passport # Internet hosts, routers: m IP address (32 bit) - used for addressing datagrams.
Module 2: Implementing DNS to Support Active Directory
1 Application Layer Lecture 6 Imran Ahmed University of Management & Technology.
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.
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.
Computer Science Lecture 9, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS Iterative versus Recursive name resolution.
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.
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)
DNS DNS overview DNS operation DNS zones. DNS Overview Name to IP address lookup service based on Domain Names Some DNS servers hold name and address.
ADVANCED OPERATING SYSTEMS STRUCTURED NAMING BY KANNA KARRI.
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.
Active Directory. Computers in organizations Computers are linked together for communication and sharing of resources There is always a need to administer.
COMP 431 Internet Services & Protocols
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.
Basics of the Domain Name System (DNS) By : AMMY- DRISS Mohamed Amine KADDARI Zakaria MAHMOUDI Soufiane Oujda Med I University National College of Applied.
Ch 2. Application Layer Myungchul Kim
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.
Understand Names Resolution
Chapter 25 Domain Name System.
IMPLEMENTING NAME RESOLUTION USING DNS
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.
EE 122: Domain Name Server (DNS)
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
Bina Ramamurthy Chapter 9
Distributed Systems CS
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
DNS: Domain Name System
Presentation transcript:

Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 10/12/2007

Fall 2007cs4252 Agenda Naming –DNS Directory Services Ref: COMP 212, University of Liverpool

Fall 2007cs4253 Computers vs Humans Entities (Internet hosts, routers, file systems, services) are accessed using identifiers (numbers) –IP address –File descriptor –Port number … Humans like to use meaningful names – –My Documents –“Dater” (from our Java RMI example) We need services that bind names and identifiers

Fall 2007cs4254 Identifiers Special type of (usually, computer readable) name with the following properties: –An id refers to at most one entity –Each entity is referred by at most one id –An id always refers to the same entity (never reused) Identifier includes or can be transformed to an address for an object –e.g. NFS file handle, Java RMI remote object reference, etc.

Fall 2007cs4255 Names A name is human-readable value (usually a string) that can be resolved to an identifier or address –Internet domain name, file pathname, process number  e.g. /etc/passwd, For many purposes, names are preferable to identifiers –because the binding of the named resource to a physical location is deferred and can be changed –because they are more meaningful to users Resource names are resolved by name services –to give identifiers and other useful attributes

Fall 2007cs4256 Examples

Fall 2007cs4257 Uniform Resource Locator (URI) Used for identifying resources in the Internet Typed by the protocol field (http, ftp, nfs, etc.) Part of the name is service-specific Resources cannot be moved between domains

Fall 2007cs4258 Name Resolution

Fall 2007cs4259 Namespaces Names are often organized into namespaces. Allow simple but meaningful names to be used Potentially infinite number of names Structured –to allow similar subnames without clashes –to group related names Allow re-structuring of names –for some types of change, old programs should continue to work Management of trust

Fall 2007cs42510 Name Graphs 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). Each namespace has at least one root node. Nodes can be referred to by path names (with absolute or relative) File systems are a classic example …

Fall 2007cs42511 Example – File System UNIX file system is a classic example

Fall 2007cs42512 Variations Global vs local name –Global name denotes the same entity (always interpreted with respect to the same directory node) –Local name its interpretation depends on where the name is being used More than one path to a node Naming graph: tree (hierarchical), more than one root, DAG

Fall 2007cs42513 Example – Alias – Solution 1 Alias is another name for the same entity Multiple absolute paths to the same node (hard link)

Fall 2007cs42514 Example – Alias – Solution 2 Allow a leaf to contain an absolute path name (symbolic link)

Fall 2007cs42515 Merging Name Spaces Merging name spaces problem: we have different name spaces that we wish to access from any given name space Possible Solution: Mounting A directory node called a mount point stored the id of (or all the necessary information for identifying and accessing) a directory node from a foreign name space called mounting point

Fall 2007cs42516 Mounting (I) The following information is required: 1.Name of the access protocol (resolved to the implementation of a communication protocol) 2.Name of the server (resolved to an address where the server can be reached) 3.Name of the mounting point (resolved to a node in the foreign name space, by the foreign server)  e.g. nfs://flits.cs.vu.nl//homes/steen

Fall 2007cs42517 Mounting (II) Mounting remote name spaces through a specific process protocol (in this case Sun’s Network File System protocol - NFS)

Fall 2007cs42518 Internet Name Server A good naming server should provide –Scalability –Decentralized maintenance –Robustness, fault- tolerance –Global scope  Names mean the same thing everywhere Why not centralized? –Single server with all name-to-IP address mappings –single point of failure –traffic volume –distant centralized database (performance) –maintenance –doesn’t scale!

Fall 2007cs42519 DNS (Domain Name System) Distributed database implemented in hierarchy of many name servers Decentralized control and management of data Application-layer protocol used by hosts and name servers –Communicate to resolve names (name/address translation) –Core Internet function implemented as application layer protocol

Fall 2007cs42520 DNS Namespace An example partitioning of the DNS name space, including Internet-accessible files, into the three name space layers. A “zone” in DNS is a non-overlapping part of the namespace that is implemented by a separate name server.

Fall 2007cs42521 DNS Name Servers Authoritative name servers store parts of the database Names assigned to authoritative name servers –For a host, authority stores that host’s IP address, name –Responds to queries for host’s IP address –Perform name/address translation for that host’s name Root name server knows authoritative servers for particular subdomains –Hierarchy organizes authoritative name servers –Reserving a domain gives you control of entry in root name server for particular names

Fall 2007cs42522 DNS Lookup Iterative Name Resolution. –Server responds with as much as it knows (i.e. name of server to contact next)  “I don’t know this name, but ask this server” –Client iteratively queries additional servers Recursive Name Resolution. –Server goes out and searches for more info on behalf of the client (recursive) –Only returns final answer or “not found” –Puts burden of name resolution on contacted name server –Heavy load?  Root server implosion

Fall 2007cs42523 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).

Fall 2007cs42524 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.

Fall 2007cs42525 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 # # # # # # # #

Fall 2007cs42526 Iterative VS Recursive Name Resolution The comparison between recursive and iterative name resolution with respect to communication costs.

Fall 2007cs42527 Typical Procedure Client does recursive request to local name server Local name server does iterative requests to find name Local name server has knowledge of root servers

Fall 2007cs42528 Directory Services

Fall 2007cs42529 Directory Service Directory service:- 'yellow pages' for the resources in a network –Retrieves the set of names that satisfy a given description –e.g. X.500, LDAP, MS Active Directory Services (DNS holds some descriptive data, but: –the data is incomplete –DNS isn't organised to search it)

Fall 2007cs42530 What Are Directory Services? All Directory services use a hierarchical structure that stores information about objects on the network. What differentiates the various implementations are the types of objects that they track.

Fall 2007cs42531 X.500 and LDAP X.500 –Global directory service framework defined by sets of international standards –Published by ISO and ITU –Provides cataloguing service used to arrange information across sites LDAP –Open standard for directory services –Protocol sets for accessing information directories –Simpler functions than X.500  Queries smaller, quicker response times, lower network traffic

Fall 2007cs42532 X.500 Namespace A simple example of a X.500 directory entry using X.500 naming conventions. AttributeAbbr.Value CountryCNL LocalityLAmsterdam OrganizationLVrije Universiteit OrganizationalUnitOUMath. & Comp. Sc. CommonNameCNMain server Mail_Servers , , FTP_Server WWW_Server

Fall 2007cs42533 The X.500 Name Space (2) Part of the directory information tree.

Fall 2007cs42534 Practical Use Managing large computer networks is a nightmare Who are the users? –Privileges, profiles, policies,… What resources are available? –Different default printers in different rooms,… Settings for various applications –Network settings: default gateway, mail server, firewall… Hierarchical organisation …

Fall 2007cs42535 Microsoft Active Directory Active directory uses LDAP to send queries to servers Active Directory Services Interface (ADSI) is a connector used with the API for LDAP ADSI designed to interoperate with other directory service products Active directory uses DNS as a locator service to resolve domain, site and services names to an IP address.

Fall 2007cs42536 Others eDirectory Novel’s implementation. Support Windows, NetWare, Linux and some Unixes Netscape Directory Service –RedHat directory service –Fedora directory service Apache Directory Service –Integrates with Java OpenLDAP …

Fall 2007cs42537 Discovery Service Discovery service:- a directory service that also: –is automatically updated as the network configuration changes –meets the needs of clients in spontaneous networks –discovers services required by a client (who may be mobile) within the current scope, for example, to find the most suitable printing service for image files after arriving at a hotel. –Examples of discovery services: Jini discovery service, the 'service location protocol', the 'simple service discovery protocol' (part of UPnP), the 'secure discovery service'.

Fall 2007cs42538 Questions? That’s all for today!