Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar...
-
Upload
carmella-boyd -
Category
Documents
-
view
218 -
download
1
Transcript of Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar...
Naming
Computer Engineering DepartmentDistributed Systems Course
Asst. Prof. Dr. Ahmet SayarKocaeli University - Fall 2014
New Topic: Naming
• Names are used to share resources, uniquely identify entities and refer to locations
• Need to map from name to the entity it refers to– E.g., Browser access to www.cnn.com– Use name resolution
• Differences in naming in distributed and non-distributed systems– Distributed systems: naming systems is itself distributed
• How to name mobile entities?
Two Approaches for Creating Directory Services
• Hierarchical Approach– We will focus on this
• P2P Approach – <Key, Value>– Key is the name of the object– Value is whatever key resolves to
Distributed Hash TablesGeneral Mechanism
• Resolving key 26 from node 1 and key 12 from node 28 in a Chord system.
Hierarchical Approaches (1)
• Figure 5-5. Hierarchical organization of a location service into domains, each having an associated directory node.
Example: File Names• Hierarchical directory structure (DAG)
– Each file name is a unique path in the DAG– Resolution of /home/steen/mbox a traversal of the DAG
• File names are human-friendly
Resolving File Names across Machines
• Remote files are accessed using a node name, path name• NFS mount protocol: map a remote node onto local DAG
– Remote files are accessed using local names! (location independence)– OS maintains a mount table with the mappings
Name Space Distribution
• Naming in large distributed systems– System may be global in scope (e.g., Internet, WWW)
• Name space is organized hierarchically– Single root node (like naming files)
• Name space is distributed and has three logical layers– Global layer: highest level nodes (root and a few children)
• Represent groups of organizations, rare changes– Administrational layer: nodes managed by a single organization
• Typically one node per department, infrequent changes– Managerial layer: actual nodes
• Frequent changes– Zone: part of the name space managed by a separate name server
Name Space Distribution Example
• An example partitioning of the DNS name space, including Internet-accessible files, into three layers
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.
• The more stable a layer, the longer are the lookups valid (and can be cached longer)
The DNS Name Space
• Figure 5-19. The most important types of resource records forming the contents of nodes in the DNS name space.
Iterative Name Resolution
Recursive Name Resolution
Example: The Domain Name System
• Comparison between recursive and iterative name resolution with respect to communication costs.
X.500 Directory Service
• OSI Standard• Developed by ITU (International Telecommunication
Unit)• ISO is also a partner assisting in developing the standards• Directory Service: Special kind of naming service where:
– The primary use of a directory service is to provide a systematic set of records, usually organized in a hierarchical structure.
– Clients can look up entities based on attributes instead of full name
– Real-world example: Yellow pages: look for a dentist
Directory Structure
X.500 Directory Service
• Difference between DNS and X.500 Directory Service
• DNS is very simple key-value look up service• X.500 enables attribute based queries,
examples;– Return all records matching the query– Return all machines in cs department
• You can even use multiple attributes for queries
X.500 Infrastructure
• A directory server is called Directory System Agent (DSA)• A client accessing an X.500 directory is called a Directory
User Agent (DUA)• A client may also be a Lightweight Directory A ccess
Protocol (LDAP) client
X.500 Infrastructure
• It has a decentralized maintance, each site running X.500 is only responsible for its own local part of the directory, updates can be instantly done.
• Data management functions for viewing, adding, modifying, and deleting directory objects.
• Search capabilities for customizing complete data queries or complex queries.
LDAP• Lightweight Directory Access Protocol (LDAP)– X.500 too complex for many applications– LDAP: Simplified version of X.500– Widely used for Internet services– Application-level protocol, uses TCP port 389– Lookups and updates can use strings instead of
OSI encoding– Use master servers and replicas servers for
performance improvements
LDAP Examples
– Example LDAP implementations:• Active Directory (Windows 2000)• Active Directory Domain Services (AD DS) 2008den sonra• Novell Directory services• iPlanet directory services (Netscape)• OpenLDAP• Typical uses: user profiles, access privileges, network resources
– Basic functions• User account management• User authentication• Computer account management• Domain-wide services
X.500 Relationship with LDAP
• LDAP originally was developed for simple access to an X.500 directory. LDAP has later developed into an actual server specification based on X.500 model.
The LDAP Name Space -I
• A simple example of a LDAP directory entry using X.500 naming conventions
The LDAP Name Space -II