Chapter 5
IPv4 Addresses
TCP/IP Protocol Suite
Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
5-1 INTRODUCTION
The identifier used in the IP layer of the TCP/IP
protocol suite to identify each device connected to
the Internet is called the Internet address or IP
address. An IPv4 address is a 32-bit address that
uniquely and universally defines the connection of a
host or a router to the Internet; an IP address is the
address of the interface.
TCP/IP Protocol Suite
Topics Discussed in the Section
Notation
Range of Addresses
Operations
TCP/IP Protocol Suite
Note
An IPv4 address is 32 bits long.
Note
The IPv4 addresses are unique
and universal.
TCP/IP Protocol Suite
Note
The address space of IPv4 is
232 or 4,294,967,296.
Note
Numbers in base 2, 16, and 256 are
discussed in Appendix B.
TCP/IP Protocol Suite
Figure 5.1
TCP/IP Protocol Suite
Dotted-decimal notation
Example 5.1
Change the following IPv4 addresses from binary notation to
dotted-decimal notation.
a. 10000001 00001011 00001011 11101111
b. 11000001 10000011 00011011 11111111
c. 11100111 11011011 10001011 01101111
d. 11111001 10011011 11111011 00001111
Solution
We replace each group of 8 bits with its equivalent decimal
number (see Appendix B) and add dots for separation:
a. 129.11.11.239
b. 193.131.27.255
c. 231.219.139.111
d. 249.155.251.15
TCP/IP Protocol Suite
Example 5.2
Change the following IPv4 addresses from dotted-decimal
notation to binary notation.
a. 111.56.45.78
b. 221.34.7.82
c. 241.8.56.12
d. 75.45.34.78
Solution
We replace each decimal number with its binary equivalent:
a. 01101111 00111000 00101101 01001110
b. 11011101 00100010 00000111 01010010
c. 11110001 00001000 00111000 00001100
d. 01001011 00101101 00100010 01001110
TCP/IP Protocol Suite
Example 5.3
Find the error, if any, in the following IPv4 addresses:
a. 111.56.045.78
b. 221.34.7.8.20
c. 75.45.301.14
d. 11100010.23.14.67
Solution
a. There should be no leading zeroes (045).
b. We may not have more than 4 bytes in an IPv4 address.
c. Each byte should be less than or equal to 255.
d. A mixture of binary notation and dotted-decimal notation.
TCP/IP Protocol Suite
Example 5.4
Change the following IPv4 addresses from binary notation to
hexadecimal notation.
a. 10000001 00001011 00001011 11101111
b. 11000001 10000011 00011011 11111111
Solution
We replace each group of 4 bits with its hexadecimal
equivalent. Note that 0X (or 0x) is added at the beginning or the
subscript 16 at the end.
a. 0X810B0BEF or 810B0BEF16
b. 0XC1831BFF or C1831BFF16
TCP/IP Protocol Suite
10
Example 5.5
Find the number of addresses in a range if the first address is
146.102.29.0 and the last address is 146.102.32.255.
Solution
We can subtract the first address from the last address in base
256 (see Appendix B). The result is 0.0.3.255 in this base. To
find the number of addresses in the range (in decimal), we
convert this number to base 10 and add 1 to the result..
TCP/IP Protocol Suite
11
Example 5.6
The first address in a range of addresses is 14.11.45.96. If the
number of addresses in the range is 32, what is the last
address?
Solution
We convert the number of addresses minus 1 to base 256,
which is 0.0.0.31. We then add it to the first address to get the
last address. Addition is in base 256.
TCP/IP Protocol Suite
12
Figure 5.2
TCP/IP Protocol Suite
Bitwise NOT operation
13
Example 5.7
TCP/IP Protocol Suite
14
Figure 5.3
TCP/IP Protocol Suite
Bitwise AND operation
15
Example 5.8
TCP/IP Protocol Suite
16
Figure 5.4
TCP/IP Protocol Suite
Bitwise OR operation
17
Example 5.9
TCP/IP Protocol Suite
18
5-2 CLASSFUL ADDRESSING
IP addresses, when started a few decades ago,
used the concept of classes. This architecture is
called classful addressing. In the mid-1990s, a new
architecture, called classless addressing, was
introduced that supersedes the original architecture.
In this section, we introduce classful addressing
because it paves the way for understanding
classless addressing and justifies the rationale for
moving to the new architecture. Classless
addressing is discussed in the next section.
TCP/IP Protocol Suite
19
Topics Discussed in the Section
Classes
Classes and Blocks
Two-Level Addressing
Three-Level Addressing: Subnetting
Supernetting
TCP/IP Protocol Suite
20
Figure 5.5
TCP/IP Protocol Suite
Occupation of address space
21
Figure 5.6
TCP/IP Protocol Suite
Finding the class of address
22
Figure 5.7
Finding the class of an address using continuous checking
0
Class: A
TCP/IP Protocol Suite
Start
0
Class: B
1
0
Class: C
1
0
Class: D
Class: E
23
Example 5.10
Find the class of each address:
a. 00000001 00001011 00001011 11101111
b. 11000001 10000011 00011011 11111111
c. 10100111 11011011 10001011 01101111
d. 11110011 10011011 11111011 00001111
a. The first bit is 0. This is a class A address.
b. The first 2 bits are 1; the third bit is 0. This is a class C address.
c. The first bit is 1; the second bit is 0. This is a class B address.
d. The first 4 bits are 1s. This is a class E address.
TCP/IP Protocol Suite
24
Example 5.11
Find the class of each address:
a. 227.12.14.87
b. 193.14.56.22
c. 14.23.120.8
d. 252.5.15.111
a. The first byte is 227 (between 224 and 239); the class is D.
b. The first byte is 193 (between 192 and 223); the class is C.
c. The first byte is 14 (between 0 and 127); the class is A.
d. The first byte is 252 (between 240 and 255); the class is E.
TCP/IP Protocol Suite
25
Figure 5.8
TCP/IP Protocol Suite
Netid and hostid
26
Figure 5.9
TCP/IP Protocol Suite
Blocks in Class A
27
Note
Millions of class A addresses
are wasted.
TCP/IP Protocol Suite
28
Figure 5.10
TCP/IP Protocol Suite
Blocks in Class B
29
Note
Many class B addresses are wasted.
TCP/IP Protocol Suite
30
Figure 5.11
TCP/IP Protocol Suite
Blocks in Class C
31
Note
Not so many organizations are so small
to have a class C block.
TCP/IP Protocol Suite
32
Figure 5.12
TCP/IP Protocol Suite
The single block in Class D
33
Note
Class D addresses are made of one
block, used for multicasting.
TCP/IP Protocol Suite
34
Figure 5.13
TCP/IP Protocol Suite
The single block in Class E
35
Note
The only block of class E addresses was
reserved for future purposes.
TCP/IP Protocol Suite
36
Note
The range of addresses allocated to an
organization in classful addressing
was a block of addresses in
Class A, B, or C.
TCP/IP Protocol Suite
37
IP Address Patterns With Special Meanings
TCP/IP Protocol Suite
38
Reserved, Loopback and Private IP Addresses
TCP/IP Protocol Suite
39
Figure 5.14
TCP/IP Protocol Suite
Two-level addressing in classful addressing
40
Example 5.12
TCP/IP Protocol Suite
41
Figure 5.15
Information extraction in classful addressing
netid
000 ... 0
First address
TCP/IP Protocol Suite
42
Example 5.13
An address in a block is given as 73.22.17.25. Find the number
of addresses in the block, the first address, and the last
address.
Solution
Figure 5.16 shows a possible configuration of the network that
uses this block.
1. The number of addresses in this block is N = 232n =
16,777,216.
2. To find the first address, we keep the leftmost 8 bits and set
the rightmost 24 bits all to 0s. The first address is
73.0.0.0/8,
in which 8 is the value of n.
3. To find the last address, we keep the leftmost 8 bits and set
the rightmost 24 bits all to 1s. The last address is
73.255.255.255.
TCP/IP Protocol Suite
43
Figure 5.16
TCP/IP Protocol Suite
Solution to Example 5.13
44
Example 5.14
An address in a block is given as 180.8.17.9. Find the number
of addresses in the block, the first address, and the last
address.
Solution
Figure 5.17 shows a possible configuration of the network that
uses this block.
1. The number of addresses in this block is N = 232n =
65,536.
2. To find the first address, we keep the leftmost 16 bits and set
the rightmost 16 bits all to 0s. The first address is
18.8.0.0/16, in which 16 is the value of n.
3. To find the last address, we keep the leftmost 16 bits and set
the rightmost 16 bits all to 1s. The last address is
18.8.255.255.
TCP/IP Protocol Suite
45
Figure 5.17
TCP/IP Protocol Suite
Solution to Example 5.14
46
Example 5.15
An address in a block is given as 200.11.8.45. Find the number
of addresses in the block, the first address, and the last
address.
Solution
Figure 5.17 shows a possible configuration of the network that
uses this block.
1. The number of addresses in this block is N = 232n = 256.
2. To find the first address, we keep the leftmost 24 bits and set
the rightmost 8 bits all to 0s. The first address is
200.11.8.0/16, in which 24 is the value of n.
3. To find the last address, we keep the leftmost 24 bits and set
the rightmost 8 bits all to 1s. The last address is
200.11.8.255/16.
TCP/IP Protocol Suite
47
Figure 5.18
TCP/IP Protocol Suite
Solution to Example 5.15
48
Figure 5.19
TCP/IP Protocol Suite
Sample Internet
49
Note
The network address is the identifier of
a network.
TCP/IP Protocol Suite
50
Figure 5.20
TCP/IP Protocol Suite
Network addresses
51
Figure 5.21
TCP/IP Protocol Suite
Network mask
52
Figure 5.22
TCP/IP Protocol Suite
Finding a network address using the default mask
53
Example 5.16
A router receives a packet with the destination address
201.24.67.32. Show how the router finds the network address of
the packet.
Solution
Since the class of the address is B, we assume that the router
applies the default mask for class B, 255.255.0.0 to find the
network address.
TCP/IP Protocol Suite
54
Example 5.17
Three-level addressing can be found in the telephone system if
we think about the local part of a telephone number as an
exchange and a subscriber connection:
in which 626 is the area code, 358 is the exchange, and 1301 is
the subscriber connection.
TCP/IP Protocol Suite
55
Example 5.18
Figure 5.23 shows a network using class B addresses before
subnetting. We have just one network with almost 216 hosts.
The whole network is connected, through one single
connection, to one of the routers in the Internet. Note that we
have shown /16 to show the length of the netid (class B).
TCP/IP Protocol Suite
56
Figure 5.23
TCP/IP Protocol Suite
Example 5.18
57
Example 5.19
Figure 5.24 shows the same network in Figure 5.23 after
subnetting. The whole network is still connected to the Internet
through the same router. However, the network has used a
private router to divide the network into four subnetworks. The
rest of the Internet still sees only one network; internally the
network is made of four subnetworks. Each subnetwork can
now have almost 214 hosts. The network can belong to a
university campus with four different schools (buildings). After
subnetting, each school has its own subnetworks, but still the
whole campus is one network for the rest of the Internet. Note
that /16 and /18 show the length of the netid and subnetids.
TCP/IP Protocol Suite
58
Figure 5.24
TCP/IP Protocol Suite
Example 5.19
59
Figure 5.25
TCP/IP Protocol Suite
Network mask and subnetwork mask
60
Example 5.20
In Example 5.19, we divided a class B network into four
subnetworks. The value of n = 16 and the value of
n1 = n2 = n3 = n4 = 16 + log24 = 18.
This means that the subnet mask has eighteen 1s
and fourteen 0s. In other words, the subnet mask is
255.255.192.0 which is different from the network mask for
class B (255.255.0.0).
TCP/IP Protocol Suite
61
Example 5.21
In Example 5.19, we show that a network is divided into four
subnets. Since one of the addresses in subnet 2 is
141.14.120.77, we can find the subnet address as:
The values of the first, second, and fourth bytes are calculated
using the first short cut for AND operation. The value of the third
byte is calculated using the second short cut for the AND
operation.
TCP/IP Protocol Suite
62
Figure 5.26
TCP/IP Protocol Suite
Comparison of subnet, default, and supernet mask
63
Topics Discussed in the Section
Special Blocks
Special Addresses in each Block
TCP/IP Protocol Suite
64
Figure 5.35
Example of using the all-zero address
Source: 0.0.0.0
Destination: 255.255.255.255
Packet
TCP/IP Protocol Suite
65
Figure 5.36
Example of limited broadcast address
Network
221.45.71.64/24
221.45.71.20/24
TCP/IP Protocol Suite
221.45.71.126/24
221.45.71.178/24
66
Figure 5.37
Example of loopback address
Process 1
Process 2
Application layer
Transport layer
Packet
Network layer
Destination address:127.x.y.z
TCP/IP Protocol Suite
67
TCP/IP Protocol Suite
68
Figure 5.38
Example of a directed broadcast address
Network: 221.45.71.0/24
221.45.71.64/24
221.45.71.126/24
221.45.71.178/24
221.45.71.20/24
Packet
TCP/IP Protocol Suite
69