All entities in a data communications network must be uniquely identified to allow data to be directed to the intended recipient. This process is known as "addressing" and the identifier allocated to a node is known as its address. Each node is usually allocated at least one address. The addresses (which resemble telephone numbers) are normally quoted in a numeric format (e.g. hexadecimal, decimal, or dotted decimal), which is easily encoded into binary for transmission across the network.
Most users are able only to remember a few numbers but are able to memorise entire lists of words. This could be one of the reasons people are normally identified by name rather than social security number! It is therefore easier to allocate a name (label) corresponding to the addresses used by the network. An email address is a name, as is a free-phone number. To use a name, it is first necessary to find the corresponding numeric address, this is usually performed by a name-server, which is a network resource which has a list of all names and the corresponding addresses.
More precisely: A name is a symbol, such as human-readable text string, which identifies a resource such as a process, device, or service. An address is a data structure, understood by the network, used to specify the destination of a connection/message/packet. A name server provides a service which resolves a name into an address.
A network provides the connections between two types of node. If a node allows users to login or run processes on it, the node is called an End System (ES), sometimes also known as a host. A node which does not have any users, but only routes packets from other nodes, is known as an Intermediate System (IS). Some nodes provide both functions and may be called by either name, depending upon which function they perform.
The neighboring nodes in a network are connected by links. A route is an address of a neighbour node, this is the link to be used to transmit a specific message towards its intended destination. Using a succession of routes between intermediate systems the network finds a path from the source end system to the destination end system. The selection of an appropriate series of routes between intermediate systems is known as routing.
The major distinction between names and addresses is whether they are intended to be human-readable or machine-readable. Names range from simple names of only local applicability, such as mail used to access mail service after gaining access to a computer providing this facility, to universal names. An example of a truly universal name is
<galaxy><star><planet><country><network><host><port>
The term port is an identifier number that specifies an individual process or user program running on the destination computer.
A typical address could be 8036565901
, or a binary
expansion of such a number, for example, 1000 0000 0011
0110 0101 0110 0101 1001 0000 0001.
Most names are allocated in hierarchical format (e.g.Medium
Access Control (MAC) hardware addresses, Internet
Domain Name Service (DNS) names, telephone numbers). A typical
hierarchical address is the universal name suggested earlier.
Such names consist of a sequence of fields that jointly identify
the entity. The fields may help to determine where an entity is
located, but this is not necessarily so; for example, the MAC hardware address used in
Ethernet has the form <manufacturer><serial
number>
. This says nothing about the location of the
host computer on network.
There are also two types of addressing used, flat and hierarchical.
When the networks use a hierarchical address structure, the
network may use this information to help perform the routing.
A typical example of a hierarchical addressing system is the telephone
numbering scheme. For example, the international phone number
643482009
can be parsed as 64-348-2009
where 64
designates a country code (New Zealand),
3
an area within the country (city of Christchurch),
48
a telephone exchange, and 2009
a
subscriber line.
Many networks use a flat addressing scheme (e.g. the MAC hardware address, the IP network address), where the actual address used does not have a relationship to the hierarchical name which it represents. This type of address is easily administered and assumes no specific network topology.
Although easy to administer, a flat address scheme provides no indication of the location of a computer in the network. It is therefore complex to arrange routing between end systems in a large flat network. The social security system is an example of a flat address space. Social security numbers are allocated to people in the order in which they are processed in a particular area. The number itself says nothing about the individual or where she/he may be found (the only information is the social security office where the person's records were processed!)
Both hierarchical and flat address spaces have advantages. Hierarchical addresses can simplify routing, since successive steps may depend on individual fields. For example, successively locating a country, an area, a central office, and a subscriber. It is also simple to assign hierarchical addresses without the need for a central authority. Abbreviation of addresses for local use is easy; for example, country and area codes do not need to be dialed for local phone calls. On the other hand, hierarchical address must be changed if subscribers move and the address space may be inefficiently used since the number of addresses available at a hierarchy level is largely independent of how many are needed. Both types of addressing are common.
See also: