You are on page 1of 13

Distributed Systems

(4th edition, version 01)

Chapter 04: Naming


Naming Names, identifiers, and addresses

Naming
Introduction to Naming

Definition: Naming involves assigning identifiers to entities within a


distributed system to facilitate their recognition and operation.

Purpose: Names are crucial for denoting and accessing entities.

To interact with an entity, it is accessed through an 'access point’.

Access Points: they are specific entities that are identified using
addresses.
Naming Names, identifiers, and addresses

Identifiers
Identifiers : identifiers are specific types of names used in distributed
systems to uniquely reference entities.

Pure/Flat name
A name that has no meaning at all; it is just a random string. Pure names
can be used for comparison only. (e.g. ‘4b3f6b9a-8e4c-467d-bf8b-
509c1f71ad3f’)

Identifier: A name having some specific properties


1. An identifier refers to at most one entity.
2. Each entity is referred to by at most one identifier.
3. An identifier always refers to the same entity (i.e., it is never reused).
Naming Flat naming

Broadcasting
Broadcast the ID, requesting the entity to return its current address

Address Resolution Protocol (ARP)


ARP is a practical example of broadcasting used to link IP addresses to
MAC addresses.

To find out which MAC address is associated with an IP address, broadcast


the query “who has this IP address”?

Simple solutions
Naming Flat naming

Security in flat naming


Basics
We need to trust that the name-resolution process to return what is
associated with a flat name. Two approaches to follow:
• Secure the identifier-to-entity association
• Secure the name-resolution process

Self-certifying names
Use a value derived from the associated entity and make it (part of) the
flat name:
E.g.
• old name = ‘4b3f6b9a-8e4c-467d-bf8b-509c1f71ad3f’
• id(entity) = hash(data associated with the entity such as public key)
• New Name = ‘4b3f6b9a-8e4c-467d-bf8b-509c1f71ad3f’+ id(entity)

Secure flat naming


Naming Structured naming

Name resolution
Problem
To resolve a name, we need a root/directory node. How do we actually
find that (initial) node?

Closure mechanism: The mechanism to select the implicit context from


which to start name resolution
• www.distributed-systems.net: start at a DNS name server
• /home/maarten/mbox: start at the local NFS file server (possible
recursive search)
• 0031 20 598 7784: dial a phone number
• 77.167.55.6 : route message to a specific IP address

Name resolution
Naming Attribute-based naming

Hierarchical Scheme
Defining Hierarchical Scheme:
A method where a network is segmented into multiple domains.

Basic idea
Build a large-scale search tree for which the underlying network is
divided into hierarchical domains. Each domain is represented by a
separate directory node.

Directory services
Naming Attribute-based naming

Structured Naming
Flat vs Structured Names
Flat Names: Ideal for machines; not user-friendly.
Structured Names: Composed of readable, hierarchical components.
Example: Internet host naming follows structured naming (e.g.
www.google.com).
Breakdown: com (top-level domain) > google (domain name) > www
(subdomain).

Structured Naming:
Used in various system components like file systems and Internet hosts.
Essential for locating resources in a distributed systems.

Takeaways:
Flat names are efficient for computers but challenging for human use.
Structured names provide context and are easier for humans to
understand and remember.

Directory services
Naming Attribute-based naming

The Domain Name System (DNS)


Overview of DNS:
A major distributed naming service on the Internet.
Primarily used for finding IP addresses of hosts and mail servers.

DNS Name Space Structure:


Used in various system components like file systems and Internet hosts.
Essential for locating resources in a distributed systems.

Directory services
Naming Attribute-based naming

Attribute-based naming
Concept:
Attribute-based naming uses attribute-value pairs for entity identification,
enhancing search efficiency beyond traditional flat and structured names.

Mechanism:
Entities are described by characteristics (attributes).

Example:
In an office network, finding a printer with specified attributes:
[Color: Yes, Speed: >30ppm] returns printers meeting these criteria.

Directory services
Naming Attribute-based naming

Attribute-based naming
Solution for scalable searching
Implement basic attribute-based naming as database, and combine with
traditional structured naming system.

Lightweight Directory Access Protocol (LDAP)


Each directory entry consists of (attribute, value) pairs, and is uniquely
named to ease lookups.

Attribute Abbr. Value


Country C NL
Locality L Amsterdam
Organization O VU University
OrganizationalUnit OU Computer Science
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

Hierarchical implementations: LDAP


Naming Named-data networking

Named-data networking

Basics
• Retrieve an entity from the network by using that entity’s name and
not address.
• NDN prioritizes 'what' data is requested over 'where' it is located.
• The network takes that name as input and routes a request to a
location where the entity is stored (Eliminates the need for resolving a
name to an address!).
• NDN is envisioned to replace IP in future Internet architectures.

Example name
/distributed-systems.net/books/DistributedSystems/4/01/Naming
NDN
Naming Named-data networking

Summary of Naming in Distributed Systems


Types of Names:
Address: Name of an access point for an entity.
Identifier: Unique to each entity; one-to-one relationship.
Human-Friendly Names: Character strings designed for ease of use by
humans.

Naming Systems:
Flat Naming: Resolves an identifier to an entity's address.
Structured Naming: Organizes names in a hierarchical or logical
manner.
Attribute-Based Naming: Describes entities using attribute-value pairs.

Emerging New Concepts:


Named-data networks: Directly fetching data using names rather than
addresses.

Summary

You might also like