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.
© Copyright 2026 Paperzz