Chapter 9 Naming, Addressing and Routing

Chapter 9
Naming, Addressing and Routing
9.1
9.2
9.3
9.4
9.5
9.6
Addressing . . . . . . . . . . . . . . . . . . . . .
9.1.1 MAC Addresses . . . . . . . . . . . . . . . . . .
9.1.2 IP Addresses . . . . . . . . . . . . . . . . . . .
9.1.3 Service Addresses . . . . . . . . . . . . . . . . .
Routing . . . . . . . . . . . . . . . . . . . . . . .
9.2.1 Routing Tables . . . . . . . . . . . . . . . . . .
9.2.2 Special IP Addresses . . . . . . . . . . . . . . .
Naming . . . . . . . . . . . . . . . . . . . . . . .
9.3.1 Domain Names . . . . . . . . . . . . . . . . . .
9.3.2 The Domain Name System . . . . . . . . . . .
Quality of Service . . . . . . . . . . . . . . . . .
9.4.1 Transport Layer QoS . . . . . . . . . . . . . . .
9.4.2 Link Layer QoS . . . . . . . . . . . . . . . . . .
Address Exhaustion and IPv6 . . . . . . . . . .
Glossary . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
64
64
65
67
68
69
71
71
72
73
73
74
74
77
78
A name indicates what we seek.
An address indicates where it is.
A route indicates how to get there.
— RFC 791
Even on a physical bus, where transmissions are heard by all connected
devices, the intended recipient is often a specific device or even a particular
process executing on a specific device. Addressing is the mechanism by which
63
64
CHAPTER 9. NAMING, ADDRESSING AND ROUTING
we identify the sender and recipient of a particular transmission. Addressing
occurs at the link (LAN), network (WAN) and transport (inter-process, when
IP is being used) layers of the OSI model.
Within the link layer, addresses are assigned for a single hop between a
pair of locally-connected devices. Routing and naming are therefore not normally performed within the link layer. Within the network layer, addresses
are global and identify hosts that may be many hops away from each other.
Routing and naming are therefore very important at the network layer.
Information on computer networks can be sent to all connected machines
(broadcast), to a set of participating machines (multicast), or to a specific
recipient (unicast). Each kind of addressing has its own conventions but in
general a certain pattern of bits will be reserved to represent the broadcast
address and a specific range of addresses with a fixed prefix will represent
a multicast address. For multicast addresses, the variable portion of the
address identifies a multicast group to which the transmission is being set.
Membership of a multicast group is dynamic, and devices can join and leave
when instructed to do so by software.
Naming allows us to associate a symbolic (human-readable, mnemonic)
name with a numeric address. Software at the application layer performs
name translation (or name resolution) to convert these names into numeric
network addresses for us. Routing provides a path through the network
from source to destination, passing through routers and gateways during the
journey.
9.1
Addressing
Addressing assigns a unique numeric identifier to a device or host. Addresses
can refer to local devices, global network nodes, or processes running within
a global node. Each kind of address has its own representation and meaning.
9.1.1
MAC Addresses
The link layer is concerned with the exchange of frames on a shared physical
medium between devices such as Network Interface Cards (NICs) in computers and routers. Such devices have a Medium Access Control (MAC)
address that is unique within their local area network. A MAC address is
9.1. ADDRESSING
65
90-49-FA-17-47-70
10:8C:CF:42:2A:45
01:00:00:00:00:00
Organisationally
Unique
Identifier
FF:FF:FF:FF:FF:FF
NIC
Serial
Number
Multicast Address
Broadcast Address
Figure 9.1: Examples of MAC addresses. The first three bytes identify the organisation that manufactured the device, and the second three bytes are a serial
number belonging to the device. 90-49-FA identifies a device manufactured by Intel Corporation (e.g., a computer NIC), and 10:8C:CF a device manufactured by
Cisco (e.g., a router or gateway).
six bytes long and is usually written as six pairs of hexadecimal digits, each
pair separated by hyphens or colons (Figure 9.1).
Link layer addressing supports broadcast and multicast addressing. Broadcast MAC addresses have all bits set to 1 (e.g., FF:FF:FF:FF:FF:FF). Multicast MAC addresses have a 1 in the least significant bit of the most significant
byte (e.g., 01:00:00:00:00:00) with the remaining bits identifying the multicast group to which the frame is being sent.
9.1.2
IP Addresses
The network layer is concerned with the exchange of packets between devices
that do not necessarily share a common physical medium. Multiple hops may
be required to deliver a packet from the sender to its destination.
Every device connected to the Internet has its own Internet Protocol (IP)
address. Devices with IP addresses include routers, computers, printers, fax
machines, and Voice-over IP (VoIP) telephones. IP addresses are different
from MAC addresses because they are assigned by software rather then being
permanently associated with a specific piece of hardware.
Two versions of the Internet Protocol are currently used. The most
widely-used type of IP address is IPv4, IP version 4. Each IPv4 address
consists of four bytes (also known as octets, to emphasise that they contain exactly eight bits) usually written as four decimal numbers separated
by dots. This is called ‘dotted quad notation’. Each number represents one
byte, so it can have any value between 0 and 255. (For example, the machine
named rtfm.mit.edu had the IP address 18.181.2.75 at the time this was
written.) For ordinary IP addresses, this allows 2564 — or 232 , a little over
66
CHAPTER 9. NAMING, ADDRESSING AND ROUTING
host
Class A
105.24.53.107
105.24.53.107/8
Class B
145.24.53.107
145.24.53.107/16
Class C
195.24.53.107
195.24.53.107/24
network
Figure 9.2: Classful network addressing. The first few bits of an Internet address
used to determine the size of the network and host portions of the address. Since
1993, Classless Internet Domain Routing (CIDR) has replaced classful network
addressing, and network/host address portions can now be more finely divided. In
CIDR, the size (in bits) of the network portion (the routing prefix) of an address
is indicated after the address. The CIDR equivalent for the three example classful
addresses is shown on the right.
4 thousand million — addresses.
IP addresses are hierarchical, just like a telephone numbers. Each IP
address has two parts, a network part and a host part. The size of each part
can vary from one to three octets, depending on the class of the address, but
the sum of the two parts always totals four bytes.
IP Classes
There are five classes of IP address, called A, B, C, D and E. The class to
which a given address belongs is determined by the first few bits.
Class A addresses are reserved for large organisations. They begin with a
binary 0, so the first octet must be between 0 and 127. The First octet is the
network portion, and the last three octets are the host portion. In principle,
this provides for single networks with up to 16,777,216 directly-connected
devices.
Class B is reserved for medium-sized organisations, such as college campuses. Class B addresses begin with a binary 10, so the first octet must be
between 128 and 191. The first two octets are the network portion and the
last two octets are the host portion, allowing in principle a local network
with up to 65,536 directly-connected devices.
Class C is intended for smaller organisations. Class C addresses begin
with a binary 110 so the first octet must be between 192 and 223. The first
9.1. ADDRESSING
67
three octets are the network portion and the last octet is the host portion,
allowing in principle up to 256 directly-connected devices.
Classes D & E are reserved for special purposes. Class D is used for
multicast communication and begins with a binary 1110, so the first octet
must be between 224 and 239. Class E is reserved by the IETF for its own
experimental purposes. Class E addresses begin with binary 1111, so the
first octet must be between 240 and 255. For both class D and class E, the
first octet is the network portion of the address.
An IP address with the host bits all set to 1 (e.g., 145.24.255.255) is
the local broadcast address.
Classless Network Addressing
The above classful network addressing scheme was relaxed in 1993, in an
effort to slow the exhaustion of IPv4 addresses and to reduce the size of
routing tables inside routers. It was replaced by Classless Inter-Domain
Routing (CIDR) in which the network portion can be of any size.
In CIDR notation, the size (in bits) of the network portion of an address is written after the address and separated from it by a forward slash
character (‘/’). When writing a network address, any trailing bytes that
are zero can be omitted from the written representation. For example, the
loopback address 127.0.0.1/8 is part of the Class A loopback network
127.0.0.0/8 which can be written 127/8, and the Class B private network
192.168.0.0/16 can be written 192.168/16.
Classful addressing remains important because the vast majority of assigned Internet addresses obey its structure and numbering rules, and much
of the networking literature still uses the terminology.
9.1.3
Service Addresses
The transport layer is concerned with the exchange of datagrams or data
streams between processes or network applications running on remote machines. Within the IP suite, the transport-layer User Datagram Protocol
(UDP) and Transmission Control Protocol (TCP) use port numbers to identify a communication endpoint associated with a specific client, server or peer
process running on a remote network device.
Just as an IP packet header contains a source and destination IP address,
UDP and TCP headers contain a source and destination port number. Port
68
CHAPTER 9. NAMING, ADDRESSING AND ROUTING
numbers are 16 bits wide and so in principle provide for 65,356 communication endpoints on a single network device. This 16-bit address space is
divided into three ranges: well-known (or system) ports, registered ports, and
dynamic (or private) ports.
The well-known port numbers range from 0 to 1023. Communication to
servers for network services that are critical to the functioning of the most
popular Internet applications can be established or performed on ports located in this range. Examples include the Simple Mail Transfer Protocol
(SMPT, for sending e-mail messages) on port 25 and the Hypertext Transfer
Protocol (HTTP, implementing the World Wide Web) on port 80. Special
privileges are usually required for an application to advertise or provide services on a well-known port.
The registered port numbers range from 1024 through 49151. These are
available for use by individuals and organisations for their own applications.
The dynamic port numbers range from 49152 to 65535. These can be
used informally by anyone for any purposes, and are also used by TCP
for dynamically-allocated ports on which client-server communication is performed once the connection to the server has been established.
The Internet Assigned Numbers Authority (IANA) maintains an official
list of well-known and registered port numbers. On Unix-like machines (including MacOS X and Linux) a list of these port numbers can be found in
the file /etc/services.
9.2
Routing
The network portion of an IP address defines a subnet, a set of hosts that
share the same network address. Hosts whose IP addresses have the same
network portion are attached to a single link and can communicate with
each other in a single hop; there is no need to route those packets through a
WAN from source machine to destination machine. Hosts whose IP addresses
have different network portions are not connected to the same local network;
routing is required to send packets between these hosts.
To determine whether routing is required, the network layer uses a network mask (usually abbreviated to ‘netmask ’) that has a 1 for each bit in the
network portion of local addresses, and a 0 in the host portion bits. Performing a bitwise and operation between any IP address and the local netmask
allows the network layer to find out if a given IP address belongs to the local
9.2. ROUTING
69
network or to a foreign network.
Routing simply means sending packets through the network with the
intention of getting each one to its proper destination. A router uses packet
forwarding to send a packet: if the packet cannot be delivered locally to its
final destination then the router uses its routing tables to find the best route
towards the destination and forwards the packet to the next device along the
route.
Packets sent to an IP address that is part of the local network will be
delivered directly to the final destination, by encapsulating them in a frame
whose MAC address is that of the destination device.
Packets sent to an IP address that is not part of the local network will
be delivered to the designated router (or gateway) for the local network, by
encapsulating them in a frame whose MAC address is that of the router.
A router is usually directly connected to at least two networks. When a
packet arrives at the router, either the packet can be delivered directly to a
host on one of the connected networks or it must be forwarded to another
router closer to its final destination. The router’s network layer inspects
the destination IP address of arriving packets. If the destination address
is associated with a network connected directly to a NIC on the router,
the packet is forwarded (via link-layer encapsulation) directly to its final
destination. Otherwise the router uses the information in its routing tables
to determine the ‘best’ destination for the packet — the one that moves it
‘closest’ to its final destination — which will be another router (or gateway).
The packet is forwarded directly to that router, moving it one hop closer to
its destination. The routing process repeats, from the start of this paragraph,
in the new router.
9.2.1
Routing Tables
Routing tables tell a network device or router where to send a packet based
on its destination IP address. Routing tables typically contain three kinds
of entry indicating network, host and default routes.
A network route indicates a destination interface or gateway based on
the network portion of the destination IP address. A router with several
connected LANs will have network routes that allow traffic between those
LANs to be forwarded to the correct interface for local delivery.
A host route indicates a destination interface or gateway based on the
entire destination IP address.
70
CHAPTER 9. NAMING, ADDRESSING AND ROUTING
Destination
0.0.0.0
10.0.1.1
10.0.1/24
10.0.1.255
10.0.1.120
127.0.0.1
127/8
10.0.1.124
Gateway
10.0.1.1
00:16:01:98:0d:20
link#4
link#4
127.0.0.1
127.0.0.1
127.0.0.1
84:38:35:60:45:12
Interface
en0
en0
en0
en0
lo0
lo0
lo0
en0
Table 9.1: A very simple routing table, typical of a personal computer connected
to a private LAN. The default route (destination 0.0.0.0) sends packets to the
LAN’s router at 10.0.1.1 from where the entire Internet is reachable. A host
route for the LAN’s router directs traffic to its MAC address 00:16:01:98:0d:20
over the Ethernet interface en0. A network route for 10.0.1/24 sends all other
packets bound for the local subnet to their destinations via en0, and an explicit
host route for the local broadcast address directs traffic to the same interface. The
IP address of the local machine is 10.0.1.120 and a host route directs packets
sent to that address back to the loopback interface lo0 at the conventional address
127.0.0.1. The next two entries indicate that traffic to the loopback address
127.0.0.1 and the loopback network 127/8 will also be sent to the loopback interface lo0. Finally, a dynamic host route has been added for a machine on the local
network, 10.0.1.124, and packets sent to that address will be forwarded directly
to the machine’s MAC address 84:38:35:60:45:12 over the interface en0.
The default route indicates a destination interface or gateway to which
packets should be sent when there is no explicit route for them. (If a gateway
is specified as the default route then the routing table should also contain a
host route entry for the gateway.)
Routes that depend only on the local network topology can be configured
statically. These are called static routes. Some routers, such as gateways,
monitor traffic or perform other computations to keep their routing tables upto-date with the best available routes as network conditions change. Routes
that enter the table as part of this process are called dynamic routes (or
adaptive routes).
Routing tables are present in many network devices that are not dedicated routers. Most personal computers can be connected to more than
one network at once (to both a wired Ethernet and to a wireless network,
for example), and the loopback device is almost always attached to a vir-
9.3. NAMING
71
tual interface that is distinct from any physical network interface. Sending
a packet out from such a machine requires routing to determine which interface to transmit on, and whether delivery should be attempted directly or
indirectly via a router. Table 9.1 shows an example of such a routing table.
9.2.2
Special IP Addresses
Some IP addresses and subnets are reserved for special use on LANs, either
by standardisation or by convention.
• 0.0.0.0 is a source-only ‘wildcard’ address used during configuration
of software and/or hardware. When used as a destination in a routing
table entry it denotes the default route.
• 10.0.0.0/8 is a large private network, for example a corporate internal
network.
• 127.0.0.1 is the ‘loopback’ address — a way of addressing the local
machine, regardless of its actual IP address on the LAN.
• 169.254.0.0/16 is a medium-size private network used for self-assigned
IP addresses used, for example, when two hosts are communicating directly on a single link and no IP address is otherwise specified.
• 192.168.0.0/16 is medium-size private network popular for creating
a home and office LANs.
• 255.255.255.255 is the broadcast address for the local network.
9.3
Naming
One feature of the Internet that makes it accessible to the general population is the use of symbolic names that refer to machines and services. If we
combine the name of an organisation of interest (such as Ritsumeikan University) with the name of its organisational type and/or country (such as .ac
and .jp), and remember that Web servers within organisations are usually
running on hosts called www., we can immediately form a likely address and
enter it into an Internet application and have some hope of contacting that
organisation’s Web site or other Internet service. At the very least we can
easily remember the names of several large Internet search providers (such
as startpage.com) which will very quickly tell us that what we needed was
72
CHAPTER 9. NAMING, ADDRESSING AND ROUTING
www.ritsumei.ac.jp. Given these names, an Internet service automatically
provides us with their numeric IP addresses.
The service that performs this name translation (or name resolution)
is called the Domain Name System (DNS) and the machines that provide
that service are called DNS servers. Every network device that performs
name resolution (including personal computers and laptops) must have the
addresses of one or more DNS servers configured by their administrator.
Host addresses, server names, and numeric Internet addresses can all
change over time. The DNS is therefore organised as a self-updating distributed database in which local modifications take only a few hours to propagate to the rest of the world. Moving a service from one machine to another,
or changing the symbolic name of a service while keeping the underling server
unchanged, can be accomplished very easily and quickly with no disruption
to the affected services.
9.3.1
Domain Names
A domain name is a string that identifies an IP resource such as a computer,
a web server, or any other service communicated via the Internet. Domain
names are usually chosen to be memorable or mnemonic, and when associated with a particular organisation they will often include the name of the
organisation. Note that the term domain refers to a realm of administrative authority and that a single computer, or a single service running on a
computer, can represent an entire domain.
A domain name is associated with a numeric IP address. The domain
name system (DNS) translates domain names into their numeric IP addresses, which are needed to locate and communicate with IP network services and devices.
Naming within the DNS is is hierarchical and each domain name consists
of several individual names belonging to adjacent levels within the hierarchy.
The individual names are separated by dots (‘.’) and written from the least
significant (e.g., the name of a single computer such as www) to the most
significant (e.g., a country code such as jp).
At the top of the DNS hierarchy is the root domain, which has no name.
It is almost always omitted from Internet address names. A fully-qualified
domain name (FQDN) is a domain name that includes names for all levels
in the DNS hierarchy, making its interpretation unambiguous. Since the last
component of a FQDN is the root domain, which has no name, all FQDNs
9.4. QUALITY OF SERVICE
73
end with a single dot character (followed, in principle, by the name of the
root domain — which is an empty string).
Immediately under the root domain are the top-level domains (TLDs).
Domain names that are written without the root domain usually end with a
TLD such as .com, .org, .jp, etc. When the TLD is related to the name of
a country, as in the case of .jp, it is called a country-code TLD (ccTLD).
Domain names can only contain ASCII characters. In 2003 a system
called Internationalized Domain Names in Applications (IDNA) was introduced to allow non-ASCII characters to be encoded within an ASCII domain
name that would be decoded and displayed correctly as Unicode characters by
application software. Since 2010, ccTLDs in the native alphabets of several
countries have been allowed into the root domain as Internationalized Domain Name Country Code TLDs (IDN ccTLDs), encoding their non-western
Unicode characters within a DNS-friendly ASCII string.
9.3.2
The Domain Name System
Physically the DNS is a database composed of many name servers distributed
throughout the world that cooperate with each other to provide naming
services.
Each server is responsible for managing a zone of domain names within
the Internet’s name space. A zone is usually associated with one or more
domain names that are adjacent to each other at a particular level in the
DNS hierarchy. A server might also be responsible for all of the subdomains
belonging to one or more of its domains. A server is said to be authoritative
for the domain names in its zone.
9.4
Quality of Service
Quality of Service (QoS) covers a range of techniques intended to improve
the experience of network communication. Channels that offer quality of
service guarantees try to provide more predictable communication behaviour
for their applications.
Within the transport layer, higher-quality communication means avoiding
errors such as dropped, delayed, or out-of-order packets.
Link layers usually provide a best-effort service (or best effort delivery)
that has no guarantee of quality or priority. In particular, delivery of any
74
CHAPTER 9. NAMING, ADDRESSING AND ROUTING
packet can be delayed because of local congestion anywhere along the route.
9.4.1
Transport Layer QoS
Network conditions are constantly changing and gateways are constantly updating their routing metrics in response to those changes. Packets sent in
sequence may be delivered to the destination by different routes. If an earlier
packet travels over a slower route, and a later packet over a faster route, the
later packet may be delivered before the earlier one. The packets will be
delivered out of order.
Packet loss occurs when a packet fails to arrive at the destination. This
can be caused by many factors including signal degradation within the medium
(corrupted packets will be dropped because of incorrect checksums) and congestion within a channel (a packet will be dropped after too many retransmission failures). Packet loss (and other service degradation) can also be
caused intentionally by network operators attempting to control or dissuade
certain kinds of traffic. Examples include blocking unauthorised VoIP (e.g.,
Skype) over a mobile telephone’s wifi connection, or throttling peer-to-peer
file sharing connections on a home subscriber’s Internet connection.
Packet duplication can occur for several reasons including routers mistakenly forwarding a packet over more than one route and link-layer protocols
mistakenly detecting a dropped packet and retransmitting it.
Transport layer services can improve the quality of service by requesting retransmission when packets are overdue, discarding duplicates when received, and reconstructing an orderly sequence of packets before delivery to
the receiver. Examples of this include the connection-oriented protocols such
as TCP, and several datagram-oriented protocols such as the Reliable User
Datagram Protocol (RUDP) and Reliable Datagram Sockets (RDS). Simpler
protocols, such as UDP, offer no quality of service improvements and pass
on all the imperfections of the the underlying network and link layers to the
application.
9.4.2
Link Layer QoS
Network administrators can assign explicit priorities to different kinds of
network traffic in order to maintain predictable results. Voice-over-IP (VoIP)
depends on jitter and latency being minimised (late packets are useless).
Streaming media (audio and video) works best when a minimum average
9.4. QUALITY OF SERVICE
0
1
precedence
2
75
3
4
5
6
7
D
T
R
0
0
precedence bits 0–2:
111 : Network Control
110 : Internetwork Control
101 : Critical (Voice RTP)
100 : Flash Override
011 : Flash (Video, VoIP)
010 : Immediate
001 : Priority
000 : Routine (best-effort)
precedence bits 3–5:
D : 1 = low delay
T : 1 = high throughput
R : 1 = high reliability
other bits 6–7: unused
Table 9.2: RFC 791 (Internet Protocol) Type of Service (ToS) byte. The first
three bits define a precedence for the packet. Priorities are typically enforced
by processing high-priority packets before any lower-priority packets that might
already be queued for processing. The highest priority is given to control messages
intended for local network and internetwork control, followed by various grades of
streaming media, and finally the lowest priority is given to bulk transfers where
overall bandwidth is more important than communication consistency. The next
three bits indicates whether the communication would benefit from low latency,
high throughput, and/or high reliability.
throughput is maintained (pausing to wait for a playback buffer to refill is
annoying for the audience). Bulk transfers of data work better if higher
overall throughput can be traded for uneven throughput (fast completion is
more important than the smoothness of the transfer).
Asynchronous Transfer Mode (ATM) is an example of a link layer technology that provides a very high quality of service by preallocating resources
for specific uses and by using small (53-byte) frames called ATM cells. It was
popular with telephone companies and providers of streaming media, but has
been declining in favour of IP-only networks that use IP and Ethernet QoS
features instead.
Throughput
In network connectivity, throughput is the rate of packets successfully delivered. It can be measured in bits per second (bps) or packets per unit
time. Mathematical models of throughput in communications networks were
76
CHAPTER 9. NAMING, ADDRESSING AND ROUTING
priority
level
0
1
2
3
4
5
6
7
IEEE 802.1p description
queue
priority
best-effort
normal
background
low
spare
low
excellent effort (business critical)
normal
controlled load (streaming multimedia)
high
video (interactive media) [< 100ms latency and jitter] high
voice [< 10ms latency and jitter]
highest
network control [lowest latency and jitter]
highest
Table 9.3: IEEE 802.1p Ethernet frame priorities and the queue priorities assigned
to them by one particular manufacturer of network equipment. The mapping is
neither one-to-one (there are only four queue priorities and so the mapping is
many-to-one) nor monotonic (the default best-effort service has higher priority
than transfers at background or spare priorities).
developed in the early 20th century, initially to model the requirements of
early telephone exchanges. This led to the field of Queuing Theory, which
today is applied to the study of packets in queues and stacks. The number
of packets arriving at a queue per time unit (usually either per second or
per service time) is usually denoted λ. Throughput can be asymmetrical
and is characterised as uplink throughput (think ‘uploading’) and downlink
throughput (think ‘downloading’).
Latency
Latency, or delay, is the amount of time that elapses between data being sent
and its final delivery. Jitter is a measure of the variance of latency over time.
When the latency varies greatly from packet to packet, a high level of jitter
is present. Network latency and jitter can be caused by many factors:
• transmission delay: the time required to place the bits onto the physical
medium;
• propagation delay: the time for a packet to travel over a medium from
sender to receiver;
• queuing delay: the time a packet spends waiting in a queue to be
processed by sender or receiver;
9.5. ADDRESS EXHAUSTION AND IPV6
77
• processing delay: the time needed for encapsulation, or to decode and
then modify the header for forwarding or remove it for delivery to a
local process.
9.5
Address Exhaustion and IPv6
A 32-bit addressing scheme allows for approximately 4.2 × 109 unique addresses. Even with local subnets and many devices being connected to private networks behind a single, public, Internet-facing address, the number of
IPv4 addresses is a severely limited resource.
On 31 January 2011, the last two IPv4 /8 networks were allocated (to
APNIC, the Asia Pacific Network Information Centre, in Australia). At the
time of writing (2014) some of the five Regional Internet Registries (RIRs,
responsible for allocation of IP addresses for a particular geographical area
of the world) have already exhausted their supply. The remaining RIRs are
expected to run out of unallocated addresses within the next few years.
The exhaustion of IPv4 addresses has been anticipated by the IETF since
the Internet began to experience exponential growth in the late 1980s. In
response to this and other shortcomings with IPv4, RFC 2460 introduced
a new IP called IPv6 which has (amongst other improvements) a 128-bit
address space that allows for about 3.4 × 1038 unique addresses.
IPv6 addresses are usually written as eight groups of four hexadecimal
digits, each group representing 16 bits of the address, with colons separating
the groups (for example, 2001:db8:85a3::8a2e:370:7334). One consecutive sequence of groups in an address whose values are all zero can be replaced
with a double colon. (The IPv6 loopback address
0000:0000:0000:0000:0000:0000:0000:0001
may therefore be abbreviated to ::1.)
Despite the maturity of the IPv6 specifications and the fact that many
network devices are designed to handle IPv6 traffic, IPv4 remains the dominant protocol used on the public Internet and carries (as of May 2014) more
than 96% of its traffic. No one really knows how well IPv6 would work on
existing infrastructure if it were to replace IPv4 entirely.
78
9.6
CHAPTER 9. NAMING, ADDRESSING AND ROUTING
Glossary
adaptive routes — routing table entries which change in response to changing network conditions.
addressing — assigning a numeric identifier to a device or service, and the
act of directing communication to that device or service.
Asynchronous Transfer Mode — a link-layer technology with strong QoS
guarantees that was popular within telephone and streaming media companies.
ATM cell — a 53-byte frame in an ATM network.
authoritative — (name server) the name server that manages a given domain.
best effort — with no guarantee of quality or reliability.
best-effort service — a service that is provided on a best-effort basis.
broadcast address — an address to which packets can be sent which will
cause them to be received by all attached network devices as if they had been
addressed specifically to each device in turn.
broadcast — communication with all locally-connected machines at once.
classful network addressing — an IP addressing scheme in which the size
of the network portion of an address is determined by its first few bits.
Classless Internet Domain Routing (CIDR) — an IP addressing scheme
in which the size of the network portion of an address is determined by
network hardware configuration.
class — (IP address) the class to which an address belongs, based on its first
few bits.
country-code TLD (ccTLD) — a top-level domain for a country formed
from the letters used to identify that country, for example .jp is the ccTLD
for IP addresses within Japan.
data streams — a continuous flow of information between one host and
another over a connection-oriented communications link.
datagrams — the name given to unreliable packets that are being used to
transmit application-level data directly.
9.6. GLOSSARY
79
default route — the machine (and/or interface) to which packets will be
sent in the absence of any explicit route for the destination host or network
address.
delayed — not received in a timely fashion.
DNS servers — a service that provides name resolution within the DNS.
Domain Name System — a global distributed database that maps symbolic names of Internet resources to numeric IP addresses.
domain — an Internet host or a group of related Internet hosts, each of
which is a sub-domain within the group.
domain name — the name of a resource on the Internet. A domain name
may refer to an individual host or be a parent to a group of sub-domains.
dotted quad notation — a way of writing IPv4 addresses as four decimal
numbers separated by dots.
downlink — the flow of information into a network device.
dropped — discarded due to data corruption, congestion or circular routing.
dynamic port — a client-server session communication port whose number
is assigned randomly, during (e.g.) TCP connection negotiation, in the range
49152 to 65535.
dynamic route — a routing table entry that is added, modified or removed
in response to changing network conditions.
frame — a unit of data within the link layer.
fully-qualified domain name — a domain name in which none of the
hierarchical elements are missing. FQDNs end with a dot, because the root
domain’s name is empty.
hierarchical — consisting of elements at different levels of significance.
hop — movement of a packet from one host to another locally-connected
host.
host route — a routing table entry that describes the interface and/or
router to which packets addressed to a specific host should be sent.
host — a device connected to the Internet.
80
CHAPTER 9. NAMING, ADDRESSING AND ROUTING
IEEE 802.1p — a IEEE working group that developed QoS extensions for
Ethernet frames.
Internationalized Domain Name Country Code TLD (IDN ccTLD) —
a country-code top-level domain name that contains an ASCII encoding of
non-western Unicode characters used to write the country’s name in its local
script.
Internationalized Domain Names in Applications (IDNA) — a convention for encoding non-western Unicode characters within an ASCII domain name for the purpose of displaying that domain name correctly in
application level software.
Internet Assigned Numbers Authority (IANA) — the authority that
allocates and manages numeric IP addresses.
IP Address — the numeric address of a host or resource on the Internet
and which can be used as the source or destination address in an IP packet.
IPv4 Address — a 32-bit IP address as used by IPv4.
IPv4 — version 4 of the Internet Protocol, defined by RFC 791.
IPv6 Address — a 128-bit address as used by IPv6.
IPv6 — version 6 of the Internet Protocol, defined by RFC 2460.
jitter — the variability in the latency of communication between two communication endpoints.
latency — the time that elapses between the transmission of data and its
reception.
MAC Address — a six-byte address used by the link layer to identify a
directly-connected device on the local network.
membership — (multicast group) the state of being part of a multicast
group and of having packets sent to that group delivered as if they were
addressed directly to the member.
multicast — sending a packet to several hosts as once, all of which are
members of the group identified by a multicast address.
multicast address — an IP address that identifies a multicast group.
name — a human-readable, often mnemonic, name associated with a network host or resource.
9.6. GLOSSARY
81
name resolution — converting a symbolic host or resource name into a
numeric IP address.
name translation — the same as name resolution.
naming — the process of associating symbolic names with network resources.
netmask — a shorter form of network mask.
network mask — a bit mask that separates the network portion of an IP
address from the host portion.
network route — a routing table entry that describes the interface and/or
router to which traffic destined for a particular network should be sent.
network — a group of machines connected by a communications medium.
numeric address — a unique binary identifier associated with a network
host or service.
octet — another word for byte, emphasising that it contains 8 bits.
out-of-order — (packets or reception) occuring in an sequence that is not
the same as the sequence in which sending occurred.
packet — a unit of data exchanged between network devices. ‘Packet’
usually refers to network-layer communication, in contrast with datagrams
(transport layer) and frames (link layer).
packet duplication — receiving the same packet more than once when only
one delivery was expected.
packet forwarding — relaying packets from one network segment to another by devices in a computer network.
packet loss — failing to receive a packet.
peer-to-peer file sharing — the sharing of large files (typically music or
movies) between peers within a decentralised structure.
port number — a 16-bit numeric address associated with a particular process, service, or connected endpoint.
precedence — an indication of the order in which data should be delivered
or operations should be performed.
priority — the relative importance of a packet or the data within it.
82
CHAPTER 9. NAMING, ADDRESSING AND ROUTING
private network —
private port — a port (in the range 49152 to 65536) reserved for individual,
private use or one which was allocated for the duration of a single client-server
connection.
Quality of Service — a characterisation of communication based on metrics
such as reliability, throughput, latency and jitter.
Regional Internet Registry (RIR) — an organisation that allocate Internet addresses within one of five geographical regions.
registered port — a port in the range 1024 to 49151 that has been officially
reserved for specific use by an individual or organisation.
Reliable Datagram Sockets (RDS) — a high-performance, low-latency,
reliable, connectionless, transport-layer protocol for delivering datagrams.
Developed by Oracle.
Reliable User Datagram Protocol (RUDP) — a transport layer protocol that implements TCP-like features with less overhead. Developed by
Bell Labs.
root domain — the (empty) name of the top-level DNS zone in the hierarchical namespace of the Internet DNS.
router — a network device that receives and forwards packets on behalf of
communication Internet hosts.
routing metrics — measures of network characteristics such as reachability
and delay that are used to pick a particular route while forwarding a packet.
routing prefix — the sequence of bits at the start of an IP address corresponding to its network portion.
routing tables — tables of host, network and default routes within a router.
routing — the process of forwarding a packet between hosts until it reaches
its final destination, along a path that is implicit in the routing tables of the
routers involved.
service — a process offering data processing or other computation for clients,
typically over the network. Examples include DNS name resolution, e-mail
delivery via SMTP, and serving World Wide Web pages via HTTP.
static routes — routes that are manually added to a routing table.
9.6. GLOSSARY
83
subnet — a subdivision of an IP network into a smaller network. It can be
accomplished by extending the routing prefix into the host portion of an IP
address.
symbolic names — mnemonic or memorable, human-readable names given
to network hosts or resources.
system port — a port in the range 0 to 1023 reserved for a critical Internet
service such as e-mail delivery via SMTP or Web page retrieval via HTTP.
throughput — a measure of the amount of data being sent through a network, in bits per second or packets per unit time.
top-level domain — one of the domains that is immediately below the
root domain and which typically end most Internet addresses as they are
commonly written. Examples include .com, .org and .jp.
unicast — sending a packet to a single destination.
uplink — the flow of information out of a network device.
Voice-over IP — the carriage of telephone or other voice traffic over an IP
network.
well-known port — another name for system port.
zone — a collection of one or more Internet domains, managed by a specific
DNS server which provides authoritative name resolution for domains within
the zone.
Copyright © 2014 E.W. Cooper and I.K. Piumarta
All rights reserved.
Permission is granted for you to download, save and then view or
print one copy of this document for personal study purposes. No other
form of publishing, duplication or redistribution is permitted without
explicit prior consent.