Name Services Updated by Rajkumar Buyya

Slides:



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

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.
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 Domain Name System Overview Introduction DNS overview How DNS helps us? Summary.
Domain Name System: DNS
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 5 Introduction to DNS in Windows Server 2008.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
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 Services Oakton Community College CIS 238.
Hands-On Microsoft Windows Server 2008 Chapter 8 Managing Windows Server 2008 Network Services.
Distributed Computing COEN 317 DC2: Naming, part 1.
Name Services Vidya Satyanarayanan. Why do we need Name Services?
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.
Ch-9: NAME SERVICES By Srinivasa R. Gudipati. To be discussed.. Fundamentals of Naming Services Naming Resolution The Domain Name System (DNS) Directory.
Example applications Symbolic names and the Domain Name System (DNS)
Chapter 29 Domain Name System (DNS) Allows users to reference computer names via symbolic names translates symbolic host names into associated IP addresses.
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.
Domain Name System. CONTENTS Definitions. DNS Naming Structure. DNS Components. How DNS Servers work. DNS Organizations. Summary.
Internet and Intranet Protocols and Applications Lecture 5 Application Protocols: DNS February 20, 2002 Joseph Conron Computer Science Department New York.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 10/12/2007.
Configuring Name Resolution and Additional Services Lesson 12.
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)
TCP/IP (Transmission Control Protocol / Internet Protocol)
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.
Nguyễn Bảo Toàn Bùi Ngọc Sơn Name service.
Web Server Administration Chapter 4 Name Resolution.
1 Name services (concepts, DNS, case study X.500)
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.
Domain Name System INTRODUCTION to Eng. Yasser Al-eimad
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.
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.
Ip addressing: dhcp & dns
Understand Names Resolution
IP and MAC Addresses, DNS Servers
Networking Applications
Name service.
Instructor Materials Chapter 5 Providing Network Services
Chapter 9: Domain Name Servers
IMPLEMENTING NAME RESOLUTION USING DNS
Chapter 9: Name Services
DNS.
SUBMITTED BY: NAIMISHYA ATRI(7TH SEM) IT BRANCH
Prepared by Dr: Naglaa Fathi Mohammed Soliman
Working at a Small-to-Medium Business or ISP – Chapter 7
Naming Chapter 4.
Chapter 19 Domain Name System (DNS)
Working at a Small-to-Medium Business or ISP – Chapter 7
Net 431 D: ADVANCED COMPUTER NETWORKS
EE 122: Domain Name Server (DNS)
Lecture 7: Name and Directory Servers
Lecture 7: Name and Directory Servers
Domain Name System (DNS)
Working at a Small-to-Medium Business or ISP – Chapter 7
Lecture 8: Name and Directory Servers
Bina Ramamurthy Chapter 9
Distributed Systems CS
Distributed Systems CS
Web Server Technology Unit 10 Website Design and Development.
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
DNS: Domain Name System
Ip addressing: dhcp & dns
Chapter-2-NameServices
Name Services Bina Ramamurthy 5/18/2019 B.Ramamurthy.
Windows Name Resolution
Presentation transcript:

Name Services Updated by Rajkumar Buyya Redmond Barry Distinguished Professor Introduction Name services and the DNS Directory/Discovery services Summary Most concepts are drawn from Chapter 13 George took about 1.25 hours to present this material.

Which one is easy for humans and machines? and why? 74.125.237.83 or google.com 128.250.1.22 or distributed systems website 128.250.1.25 or Prof. Buyya Disk 4, Sector 2, block 5 OR /usr/raj/hello.c 2

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: IPv4 128.250.29.30 marg.csse.unimelb.edu.au Level 5 subnet Machine Identifier Australia CSSE network Education Institutions The University of Melbourne Computer Science and Software Engineering Machine name

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

Aim To introduce the name service as a distinct service that is used by client processes to obtain attributes such as the address of resources or objects when given their name. 5

To understand the need for naming systems in distributed systems Learning objectives To understand the need for naming systems in distributed systems To be familiar with the design requirements such as structure and management of name spaces, and operations supported by them. To understand the operation of the Internet naming service – DNS (Domain Name Service) To understand structure and operation of directory service – X.500 Directory Service & LDAP Ditributed Systems are widely scattered, operating on different networks. How do we find a particular service or server? How do name services work, what functions can they perform, how can we harness their power? DNS is the most common an well known naming service. How does it work? 6

1. Introduction In a distributed system, names are used to refer to a wide variety of resources such as: Computers, services, remote objects, and files, as well as users. Naming is fundamental issue in DS design as it facilitates communication and resource sharing. A name in the form of URL is needed to access a specific web page. Processes cannot share particular resources managed by a computer system unless they can name them consistently Users cannot communicate within one another via a DS unless they can name one another, with email address. Names are not the only useful means of identification: descriptive attributes are another. Services/protocols: refer to them by name (http/ftp/ssh/smtp etc) 7

What are Naming Services? How do Naming Services facilitate communication and resource sharing? An URL facilitates the localization of a resource exposed on the Web. e.g., abc.net.au means it is likely to be an Australian entity? A consistent and uniform naming helps processes in a distributed system to interoperate and manage resources. e.g., commercials use .com; non-profit organizations use .org Users refers to each other by means of their names (i.e. email) rather than their system ids Naming Services are not only useful to locate resources but also to gather additional information about them such as attributes

What are Naming Services? Definition Key benefits Resource localization Uniform naming Device independent address (e.g., you can move domain name/web site from one server to another server seamlessly). In a Distributed System, a Naming Service is a specific service whose aim is to provide a consistent and uniform naming of resources, thus allowing other programs or services to localize them and obtain the required metadata for interacting with them.

The role of names and name services Resources are accessed using identifier or reference An identifier can be stored in variables and retrieved from tables quickly Identifier includes or can be transformed to an address for an object E.g. NFS file handle, CORBA remote object reference 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, http://www.cdk5.net/ 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 Identifier could be a hash, alphanumneric or binary code that can be rapidly looked up from a table, retrieving the actual address. 10

Role of Names and Naming Services - Name Resolution 66.102.11.104 Client name IP attributes www.google.com www.hotmail.com …….. 100.109.23.104 Naming Service

Requirements for name spaces 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 name trees for some types of change, old programs should continue to work Management of trust Students should read Section 9.2.1 Subnames: james.domain1.com, james.domain2.com Com->domain1,domain2->->james 12

Composed naming domains used to access a resource from a URL http://www.cdk5.net:8888/WebExamples/earth.html URL Resource ID (IP number, port number, pathname) 138.37.88.61 WebExamples/earth.html 8888 DNS lookup (Ethernet) Network address 2:60:8c:2:b0:5a ARP lookup file Web server Socket ARP on the router finds the correct physical machine for the requested IP address 13 Address Resolution Protocol (ARP)

Names and resources More on URNs (Uniform Resource Names) Currently, different name systems are used for each type of resource: resource name identifies file pathname file within a given file system process process id process on a given computer port port number IP port on a given computer Uniform Resource Identifiers (URI) offer a general solution for any type of resource. There two main classes: URL Uniform Resource Locator (URL) typed by the protocol field (http, ftp, nfs, etc.) part of the name is service-specific resources cannot be moved between domains URN Uniform Resource Name (URN) requires a universal resource name lookup service - a DNS-like system for all resources More on URNs (Uniform Resource Names) format: urn:<nameSpace>:<name-within-namespace> examples: a) urn:ISBN:021-61918-0 b) urn:cloudbus.unimelb.edu.au:TR2005-10 resolution: send a request to nearest ISBN-lookup service - it would return whatever attributes of a book are required by the requester send a request to the urn lookup service at cloudbus.unimelb.edu.au - it would return a url for the relevant document Popup: showing examples of URNs Show demo, ls/pwd, ps aux, netstat -n 14

2. Name Services and the Domain Name System A name service stores a collection of one or more naming contexts, sets of bindings between textual names and attributes for objects such as computers, services, and users. The major operation that a name service supports is to resolve names. 15

Namespaces allows for structure in names. Navigation Namespaces allows for structure in names. URLs provide a default structure that decompose the location of a resource in protocol used for retrieval internet end point of the service exposing the resource service specific path This decomposition facilitates the resolution of the name into the corresponding resource Moreover, structured namespaces allows for iterative navigation… Navigation is the act of chaining multiple Naming Services in order to resolve a single name to the corresponding resource.

Iterative navigation Reason for NFS iterative name resolution Client 1 2 3 A client iteratively contacts name servers NS1–NS3 in order to resolve a name NS2 NS1 NS3 Name servers Reason for NFS iterative name resolution This is because the file service may encounter a symbolic link (i.e. an alias) when resolving a name. A symbolic link must be interpreted in the client’s file system name space because it may point to a file in a directory stored at another server. The client computer must determine which server this is, because only the client knows its mount points. Used in: DNS: Client presents entire name to servers, starting at a local server, NS1. If NS1 has the requested name, it is resolved, else NS1 suggests contacting NS2 (a server for a domain that includes the requested name). NFS: Client segments pathnames (into 'simple names') and presents them one at a time to a server together with the filehandle of the directory that contains the simple name. Show NFS issue on board Client asks for file at /server1/mnt/file -> which points to -> /server2/mnt/file 17

Server controlled navigation In an alternative model, name server coordinates naming resolution and returns the results to the client. It can be: Recursive: it is performed by the naming server the server becomes like a client for the next server this is necessary in case of client connectivity constraints Non recursive: it is performed by the client or the first server the server bounces back the next hop to its client

Non-recursive and recursive server-controlled navigation 1 2 3 4 client NS2 NS1 NS3 Non-recursive server-controlled Recursive server-controlled 1 2 3 5 4 client NS2 NS1 NS3 A name server NS1 communicates with other name servers on behalf of a client Iterative (prev slide) - client contacts name servers ns1-ns3 itself until it can resolve address Server controlled - name server contacts other ns until it can resolve address Recursive server controlled - name server passes request down chain, is unaware of who eventually resolves IP DNS offers recursive navigation as an option, but iterative is the standard technique. Recursive navigation must be used in domains that limit client access to their DNS information for security reasons. 19

DNS - The Domain Name System A distributed naming database (specified in RFC 1034/1305) Name structure reflects administrative structure of the Internet Rapidly resolves domain names to IP addresses exploits caching heavily typical query time ~100 milliseconds Scales to millions of computers partitioned database caching Resilient to failure of a server replication 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) Naming structure like a tree - authorative/root DNS, then auth DNS for .com, au, uk, tw, etc etc Look in local cache Try superior DNS server (i.e. your ISP) Try superior DNS server (root/authorative server) 20

DNS name servers: Hierarchical organisation a.root-servers.net (root) ns0.ja.net (edu.au) mulga.cis.unimelb.edu.au (cis.unimelb.edu.au) abc.unimelb.edu.au (unimelb.edu.au) dns0-doc.usyd.edu.au (usyd.edu.au) ns.purdue.edu (purdue.edu) au purdue.edu usyd.edu.au unimelb.edu.au ... cis.unimelb.edu.au *.unimelb.edu.au *.usyd.edu.au *.cis.unimelb.edu.au * .purdue.edu ns1.nic.au (au) edu.au ... com.au yahoo.com .... Note: Name server names are in italics, and the corresponding domains are in parentheses. Arrows denote name server entries authoritative path to lookup: raj-pc.cis.unimelb.edu.au 21

DNS in typical operation a.root-servers.net (root) ns0.ja.net (edu.au) mulga.cis.unimelb.edu.au (cis.unimelb.edu.au) alpha.unimelb.edu.au (unimelb.edu.au) dns0-doc.usyd.edu.au (usyd.edu.au) ns.purdue.edu (purdue.edu) au purdue.edu usyd.edu.au unimelb.edu.au ... cis.unimelb.edu.au *.unimelb.edu.au *.usyd.edu.au *.cis.unimelb.edu.au * .purdue.edu ns1.nic.au (au) edu.au ... com.au yahoo.com .... Without caching IP: alpha.unimelb.edu.au 2 client.usyd.edu.au Animation: reveals each step in looking up jeans-pc.dcs.qmw.ac.uk from a client in the ic.ac.uk domain Discuss how caching reduces the number of steps. IP:raj-pc.cis.unimelb.edu.au 4 raj-pc.cis.unimelb.edu.au ? IP:ns0.ja.net 1 3 IP:mulga.csse.unimleb.edu.au 22

DNS server functions and configuration Main function is to resolve domain names for computers, i.e. to get their IP addresses caches the results of previous searches until they pass their 'time to live' Other functions: get mail host for a domain reverse resolution - get domain name from IP address Host information - type of hardware and OS Well-known services - a list of well-known services offered by a host Other attributes can be included (optional) Explain caching and TTL Mail: where is the mail server for someone@csse.unimelb.edu.au Reverse: What is the friendly name for 128.250.1.22 (mulga.csse.unimelb.edu.au), nslookup 128.250.1.22 Services: whois mulga.csse.unimelb.edu.au We will see the other types of attributes in the next slide 23

DNS resource records Record type Meaning Main contents A A computer address (IPv4) IPv4 number AAA A computer address (IPv6) IPv6 number NS An authoritative name server Domain name for server CNAME The canonical name for an alias Domain name for alias SOA Marks the start of data for a zone Parameters governing the zone PTR Domain name pointer (reverse Domain name lookups) HINFO Host information Machine architecture and operating system MX %nslookup; >set type=MX; >broberg.com.au MX can list many candidate mail servers, weighted with a priority (show demo using nslookup) Can storage host archictecture info (HINFO) or location (LOC) Should we do that? These days, it is recommended not to!!!!! Mail exchange List of < preference, host > pairs TXT Text string Arbitrary text 24

DNS issues Name tables change infrequently, but when they do, caching can result in the delivery of stale data. Clients are responsible for detecting this and recovering Its design makes changes to the structure of the name space difficult. For example: merging previously separate domain trees under a new root moving subtrees to a different part of the structure (e.g. if Scotland became a separate country, its domains should all be moved to a new country-level domain.) A service might be moved from one server to another, changing IPs! Need to update DNS entry, cached info becomes invalid! Explain implications for DNS based load balancing!! Merging two countries domain trees would be complicated, and there might be duplicates Adding new country domain trees would be challenging also 25

Directory services (registration and discovery) Sometime users wish to find a particular person or resource, but they don’t know its name, only some of its attributes. What is the name of the user with a telephone number 03-83441344? What is the name of professor teaching Cloud computing at UniMelb (e.g., ask Google!) Sometime users require a service, but they are not concerned with what system entity provides it. Where can I print high resolution colour image? Directory services can help with above situation: they store collections of bindings and attributes and also looks up entries that match attribute-based specs. 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 very incomplete DNS isn't organised to search it) 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'. Where is there a printer that prints A5 size? DNS is best for just resolving names to IP’s, it is busy enough already! We saw that we could store arbritrary info in DNS but it is definitely not recommended We spoke about bonjour, local discovery service for ubiq/mobile users SSDP is used by many media sources and players/renderers 26

X.500 Directory Service X.500 and LDAP (Lightweight Directory Access Protocol) a hierarchically-structured standard directory service designed for world-wide use X.500 is standardised by ITU (international telecommunication union) and ISO accommodates resource descriptions in a standard form and their retrieval for any resource (online or offline) never fully deployed, but the standard forms the basis for LDAP, the Lightweight Directory Access Protocol, which is widely used – IETF RFC 2251. A secure access to directory through authentication is also supported. 27

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

Summary Names services facilitate communication and resource sharing in distributed systems. They are playing very important role in Distributed systems such as the Internet, Web, CDNs (Content Delivery Networks), Web Services – publication and discovery Name services: defer the binding of resource names to addresses (and other attributes) Names are resolved to give addresses and other attributes Goals : Scalability (size of database, access traffic (hits/second), update traffic) Reliability Trust management (authority of servers) Issues exploitation of replication and caching to achieve scalability without compromising the distribution of updates navigation methods Directory and discovery services: 'yellow pages' retrieval by attributes dynamic resource registration and discovery 29

Student Experience Survey (SES) The online SES is active from Monday 9 October (2017). We welcome your feedback which helps us improve the quality of our courses and subjects . Your response is completely confidential. To complete your Subject Experience Survey: 1. Go to the survey website: https://subjecteval.unimelb.edu.au<https://subjecteval.unimelb.edu.au/> 2. Login with your standard University username and password. Alternatively, you can access your surveys from your LMS Home Screen. A new 'My Surveys' module will tell you if you have surveys. The survey will take you approximately 5-10 minutes to complete. # Q1, intellectually stimulating # Q4, well taught # Q5, have been required to work at high standard # Q9, Learned to apply knowledge to practice 5. Strongly agree, 4. Agree, 3. Neutral, 2. Disagree, 1. Strongly disagree

Survey Completion in Class Subject Experience Survey is critical to maintaining survey response rates. Faculties and teaching staff play an important role in endorsing the SES as a reminder that their (Students) feedback is encouraged, valued, and put to good use. Teaching staff may choose to book a computer lab and allocate class time for students to complete the SES on computers or mobile devices. Teaching staff should not remain in the room while the SES is being completed by students. (10 or 15 min?) 31