Naming in Distributed Systems
- uniquely identify entities
- name resolution refers to the means by which a process is allowed to access a named entity, which supported by a naming system
- every computer connected to the internet needs to be “addressable“
Possible approaches to addressing mechanisms
- centralised
- Free-for-all
- by delegating naming responsibilities
The internet is the biggest distributed system
Addressing machanisms
Centralised Naming Approach
- Any name is handed out once and only once
- a single point of contact
Limitation: single point of contact is not a very scalable solution, and creates a single point of failure
Free-for-All Naming Approach
- Allows any object wants a name to make up its own name
- Although its a **massively ‘distributed’ solution **which avoids single point of failure, it does not guarantee uniqueness
THE ‘Delegating Naming Responsibilities’ Approach
- authority to allocate names is delegated to smaller parts of the system
- this approach better balances the conflicting issues associated with single points of failure
but what rules are appropriate for each system?
examples: MAC addresses, IP addresses and Domain Names
MAC Addresses
- a unique identifier given to each network device in a system: meaning that every ethernet or wifi card in a computer has one MAC address
- There are more MAC addresses than computers (since most computers have serveral network devices)
- a MAC address is 48 bit number
- a MAC consist of two main parts:
- the ‘Organisationally unique identifier’ (OUI)
- the ‘Network interface controller’ (NIC)
- A MAC address does not tell you where a device is on a network
IP Addresses
Unique identifier and contains some information about where a device is on a network
most IP addresses are 32 bit numbers, but are most often written as four 8 bit numbers separated by dots
Top-level authority for IP addresses is the Internet Assigned Numbers Authority (IANA)
Unlike MAC address, the delegation of IP addresses tkaes place initially to geographical regions
For this reason, IP addresses can tell you some information about the location of a device on a network
Domain Names
- created because humans find IP addresses hard to read
- Domain Name System (DNS) is used to create associations between human-readable names and IP addresses (eg. www.bbc.co.uk)
- ‘delegation model’ is complex, as it has aspects of geographical delegation
- eg. ‘.co.uk’ are for UK-based companies
DNS cannot allocate batches of names upfront, and need to respond in real time to requests to ranslate names into IP addresses
achieve this by being a Distributed System consisting of a hierarchy of servers with the most authoritative server at the top of the hierarchy
Protocols
define sets of rules how two or more objects should interact with one another
serve as specifications rather than implementations
(eg. HTTP)
HTTP Protocol: Statelessness
Request-response protocol, transfer data between web servers and web clients (typically web browsers)
Content exchange protocol
web servers are said to be stateless, meaning that once a request from a client application is fulfilled, the web server disconnects from the client and “forgets” that the client ever connected
- more complex system than ‘the Web’
- has to be in exactly one place at any one time
- if it is in two places at the same time then it has been duplicated accidentally
- If it is in zero places then it has been lost in the system, in detriment(harmed or damaged) of the sender and the recipient of that email
Email Associated Protocols
- The simple mail transport protocol (SMTP)
- connection based
- Content exchange protocol
- a client (mail agent) can issue multiple consecutive comments to the SMTP server, and should explicitly terminate its connection when its finished
- treat a single client-server interaction as an individual and complete transaction
- a series of client-server interacitions can take place before the connect vetween the client and the server are explicitly terminated