Week3

Naming in Distributed Systems

  1. uniquely identify entities
  2. name resolution refers to the means by which a process is allowed to access a named entity, which supported by a naming system
  3. every computer connected to the internet needs to be “addressable

Possible approaches to addressing mechanisms

  1. centralised
  2. Free-for-all
  3. by delegating naming responsibilities

The internet is the biggest distributed system

Addressing machanisms

Centralised Naming Approach

  1. Any name is handed out once and only once
  2. 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

  1. Allows any object wants a name to make up its own name
  2. Although its a **massively ‘distributed’ solution **which avoids single point of failure, it does not guarantee uniqueness

THE ‘Delegating Naming Responsibilities’ Approach

  1. authority to allocate names is delegated to smaller parts of the system
  2. 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

  1. 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
  2. a MAC consist of two main parts:
    • the ‘Organisationally unique identifier’ (OUI)
    • the ‘Network interface controller’ (NIC)
  3. A MAC address does not tell you where a device is on a network

IP Addresses

  1. Unique identifier and contains some information about where a device is on a network

  2. most IP addresses are 32 bit numbers, but are most often written as four 8 bit numbers separated by dots

  3. 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

  1. created because humans find IP addresses hard to read
  2. Domain Name System (DNS) is used to create associations between human-readable names and IP addresses (eg. www.bbc.co.uk)
  3. ‘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

Email

  • 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