Chapter 4 - Naming PDF

Summary

This document discusses various aspects of naming systems focusing on different approaches, such as flat, structured, and attribute-based naming, in distributed systems. The document explains how entities are identified and located in networks like the Internet.

Full Transcript

Chapter 4 - Naming Objectives of the Chapter □ we will discuss □ some general issues in naming □ how human-friendly names are organized and implemented; e.g., those for file systems and the WWW; classes of naming systems □ flat naming □ str...

Chapter 4 - Naming Objectives of the Chapter □ we will discuss □ some general issues in naming □ how human-friendly names are organized and implemented; e.g., those for file systems and the WWW; classes of naming systems □ flat naming □ structured naming, and □ attribute-based naming 3 5.1 Names, Identifiers, and Addresses □ a name in a distributed system is a string of bits or characters that is used to refer to an entity □ an entity is anything; e.g., resources such as hosts, printers, disks, files, objects, processes, users, Web pages, newsgroups, mailboxes, network connections,... □ entities can be operated on □ e.g., a resource such as a printer offers an interface containing operations for printing a document, requesting the status of a job, etc. □ a network connection may provide operations for sending and receiving data, setting quality of service parameters, etc. □ to operate on an entity, it is necessary to access it through its access point, itself an entity (special) 4 □ access point □ the name of an access point is called an address (such as IP address and port number as used by the transport layer) □ the address of the access point of an entity is also referred to as the address of the entity □ an entity can have more than one access point (similar to accessing an individual through different telephone numbers) □ an entity may change its access point in the course of time (e.g., a mobile computer getting a new IP address as it moves) 5 □ an address is a special kind of name □ it refers to at most one entity □ each entity is referred by at most one address; even when replicated such as in Web pages □ an entity may change an access point, or an access point may be reassigned to a different entity (like telephone numbers in offices) □ separating the name of an entity and its address makes it easier and more flexible; such a name is called location independent □ there are also other types of names that uniquely identify an entity; in any case a true identifier is a name with the following properties □ it refers to at most one entity □ each entity is referred by at most one identifier □ it always refers to the same entity (never reused) □ identifiers allow us to unambiguously refer to an entity 6 □ examples □ name of an FTP server (entity) □ URL of the FTP server □ address of the FTP server □ IP number:port number □ the address of the FTP server may change □ there are three classes on naming systems: flat naming, structured naming, and attribute-based naming 7 5.2 Flat Naming □ a name is a sequence of characters without structure; like human names? may be if it is not an Ethiopian name! □ difficult to be used in a large system since it must be centrally controlled to avoid duplication □ moreover, it does not contain any information on how to locate the access point of its associated entity □ how are flat names resolved (or how to locate an entity when a flat name is given) □ name resolution: mapping a name to an address or an address to a name is called name-address resolution □ possible solutions: simple solutions, home-based approaches, and hierarchical approaches 8 1. Simple Solutions □ two solutions (for LANs only): Broadcasting and Multicasting, and Forwarding Pointers a. Broadcasting and Multicasting □broadcast a message containing the identifier of an entity; only machines that can offer an access point for the entity send a reply □ e.g., ARP (Address Resolution Protocol) in the Internet to find the data link address (MAC address) of a machine □ a computer that wants to access another computer for which it knows its IP address broadcasts this address □ the owner responds by sending its Ethernet address □ broadcasting is inefficient when the network grows (wastage of bandwidth and too much interruption to other machines) □ multicasting is better when the network grows - send only to a restricted group of hosts 9 □ multicasting can also be used to locate the nearest replica - choose the one whose reply comes in first b. Forwarding Pointers □ how to look for mobile entities □ when an entity moves from A to B, it leaves behind a reference to its new location □ advantage □simple: as soon as the first name is located using traditional naming service, the chain of forwarding pointers can be used to find the current address □ drawbacks □ the chain can be too long - locating becomes expensive □ all the intermediary locations in a chain have to maintain their pointers □ vulnerability if links are broken hence, making □ forwarding sure that pointers chainsis are robust are anshort and that important issue 10 □ broadcasting and multicasting have scalability problems; 2. Home-Based Approaches performance and broken links are problems in forwarding pointers □ a home location keeps track of the current location of an entity; often it is the place where an entity was created □ it is a two-tiered approach □ an example where it is used in Mobile IP □ each mobile host uses a fixed IP address □ all communication to that IP address is initially directly sent to the host’s home agent located on the LAN corresponding to the network address contained in the mobile host’s IP address □ whenever the mobile host moves to another network, it requests a temporary address in the new network (called care-of-address) and informs the new address to the home agent 11 □ when the home agent receives a message for the mobile host (from a correspondent agent) it forwards it to its new address (if it has moved) and also informs the sender the host’s current location for sending other packets home-based approach: the principle of Mobile IP 12 □ problems: □ creates communication latency (Triangle routing: correspondent-home network-mobile) □the home location must always exist; the host is unreachable if the home does no more exist (permanently changed); the solution is to register the home at a traditional name service and let a client first look up the location of the home 13 5.3 Structured Naming □ flat names are not convenient for humans □ Name Spaces □ names are organized into a name space □ each name is made of several parts; the first may define the nature of the organization, the second the name, the third departments,... □ the authority to assign and control the name spaces can be decentralized where a central authority assigns only the first two parts □ a name space is generally organized as a labeled, directed graph with two types of nodes □ leaf node: represents the named entity and stores information such as its address or the state of that entity □ directory node: a special entity that has a number of outgoing edges, each labeled with a name □ each node in a naming graph is considered as another entity with an identifier 20 an example partitioning of the DNS name space, including Internet- accessible files, into three layers 33 □ the name space is divided into nonoverlapping parts, called zones in DNS □ a zone is a part of the name space that is implemented by a separate name server □ some requirements of servers at different layers: performance (responsiveness to lookups), availability (failure rate), etc. □ high availability is critical for the global layer, since name resolution cannot proceed beyond the failing server; it is also important at the administrational layer for clients in the same organization □ performance is very important in the lowest layer, since results of lookups can be cached and used due to the relative stability of the higher layers □ they may be enhanced by client side caching (for global and administrational layers since names do not change often) and replication; they create implementation problems since they may introduce inconsistency (see Chapter 7) 34 Item Global Administrational Managerial Geographical scale of network Worldwide Organization Department Total number of nodes Few Many Vast numbers Responsiveness to lookups Seconds Milliseconds Immediate Update propagation Lazy Immediate Immediate Availability requirement Very High High low Number of replicas Many None or few None Is client-side caching applied? Yes Yes Sometimes a comparison between name servers for implementing nodes from a large- scale name space partitioned into a global layer, an administrational layer, and a managerial layer 35 5.4 Attribute-Based Naming □ flat naming: provides a unique and location-independent way of referring to entities □ structured naming: also provides a unique and location- independent way of referring to entities as well as human- friendly names □ but both do not allow searching entities by giving a description of an entity □ in attribute-based naming, each entity is assumed to have a collection of attributes that say something about the entity □ then a user can search an entity by specifying (attribute, value) pairs known as attribute-based naming □ Directory Services □ attribute-based naming systems are also called directory services whereas systems that support structured naming are called naming systems 49 □ how are resources described? one possibility is to use RDF (Resource Description Framework) that uses triplets consisting of a subject, a predicate, and an object □ e.g., (person, name, Alice) to describe a resource Person whose Name is Alice □ or in e-mail systems, we can use sender, recipient, subject, etc. for searching □ Hierarchical Implementations: LDAP □ distributed directory services are implemented by combining structured naming with attribute-based naming □ e.g., Microsoft’s Active Directory service □ such systems rely on the lightweight directory access protocol or LADP which is derived from OSI’s X.500 directory service □a LADP directory service consists of a number of records called directory entries (attribute, value) pairs, similar to a resource record in DNS; could be single- or multiple-valued (e.g., Mail_Servers on next slide) 50 Attribute Abbr. Value Country C NL Locality L Amsterdam Organization O Vrije Universiteit OrganizationalUnit OU Comp. Sc. CommonName CN Main server Mail_Servers -- 137.37.20.3, 130.37.24.6,137.37.20.10 FTP_Server -- 130.37.20.20 WWW_Server -- 130.37.20.20 a simple example of an LDAP directory entry using LDAP naming conventions to identify the network addresses of some servers 51 □ the collection of all directory entries is called a Directory Information Base (DIB) □ each record is uniquely named so that it can be looked up □ each naming attribute is called a Relative Distinguished Name (RDN); the first 5 entries above □ a globally unique name is formed using abbreviations of naming attributes, e.g., /C=NL/O=Vrije Universiteit/OU=Comp. Sc. □ this is similar to the DNS name nl.vu.cs □ listing RDNs in sequence leads to a hierarchy of the collection of directory entries, called a Directory Information Tree (DIT) □ a DIT forms the naming graph of an LDAP directory service where each node represents a directory entry 52 □ node N corresponds to the directory entry shown earlier; it also acts as a parent of other directory entries that have an additional attribute, Host_Name; such entries may be used to represent hosts part of the directory information tree 53 Attribute Value Attribute Value Country NL Country NL Locality Amsterdam Locality Amsterdam Organization Vrije Universiteit Organization Vrije Universiteit OrganizationalUnit Comp. Sc. OrganizationalUnit Comp. Sc. CommonName Main server CommonName Main server Host_Name star Host_Name zephyr Host_Address 192.31.231.42 Host_Address 137.37.20.10 two directory entries having Host_Name as RDN □ read pages 221 - 226 about Decentralized Implementations 54

Use Quizgecko on...
Browser
Browser