naming computer engineering department distributed systems course asst. prof. dr. ahmet sayar...

24
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

Upload: carmella-boyd

Post on 18-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

Naming

Computer Engineering DepartmentDistributed Systems Course

Asst. Prof. Dr. Ahmet SayarKocaeli University - Fall 2014

Page 2: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli 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?

Page 3: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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

Page 4: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

Distributed Hash TablesGeneral Mechanism

• Resolving key 26 from node 1 and key 12 from node 28 in a Chord system.

Page 5: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

Hierarchical Approaches (1)

• Figure 5-5. Hierarchical organization of a location service into domains, each having an associated directory node.

Page 6: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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

Page 7: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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

Page 8: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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

Page 9: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

Name Space Distribution Example

• An example partitioning of the DNS name space, including Internet-accessible files, into three layers

Page 10: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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)

Page 11: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

The DNS Name Space

• Figure 5-19. The most important types of resource records forming the contents of nodes in the DNS name space.

Page 12: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

Iterative Name Resolution

Page 13: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

Recursive Name Resolution

Page 14: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

Example: The Domain Name System

• Comparison between recursive and iterative name resolution with respect to communication costs.

Page 15: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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

Page 16: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

Directory Structure

Page 17: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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

Page 18: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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

Page 19: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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.

Page 20: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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

Page 21: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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

Page 22: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

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.

Page 23: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

The LDAP Name Space -I

• A simple example of a LDAP directory entry using X.500 naming conventions

Page 24: Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014

The LDAP Name Space -II