IP Addresses
IP Addresses: Classful Addressing
CONTENTS
• INTRODUCTION
• CLASSFUL ADDRESSING
• Different Network Classes
• Subnetting
• Classless Addressing
• Supernetting
•CIDR (classless Interdomain Routing)
4.1
INTRODUCTION
What is an IP Address?
An IP address is a unique global address for a network interface.
An IP address:
- is a 32 bit long identifier.
- encodes a network number (network prefix)
and a host number.
What is an IP Address?
An IP address is a 32-bit address.
The IP addresses are unique.
Address Space
…………..
addr1 …………..
addr15
addr2 ………….. …………..
…………..
addr41 addr226
addr31
…………..
…………..
IPv4 address space
The address space of IPv4 is 232 or 4,294,967,296.
Address space rule
…………..
addr1 …………..
The addr2
address space
addr15
in a protocol that uses N-bits to define
…………..
an Address is: 2 N …………..
…………..
addr41 addr226
addr31
………….. …………..
Basic Addressing
Why is each section a number
between 0 and 255? Dots separate the sections
• Computers operate in binary,
humans operate in decimal.
• Computers treat IP addresses
as a single large 32 digit [Link]
binary number, but this is
hard for people to do.
• So, we split them up into four
smaller sections so we can
remember and work with Each section
them better! contains a number
between 0 and 255
Why????
Basic Addressing
[Link]
32/4 == 8.
28 = 256. 00001010 00000001 00000001 00000001
But, computers number starting 8 8 8 8
at 0, so to make a space of 256 32
numbers, we number from 0 to
255.
Each 8 digit group
represents a number
between 0 and 255
Binary Notation
01110101 10010101 00011101 11101010
Dotted Decimal Notation
IP addresses are written in a so-called dotted decimal notation.
Each byte is identified by a decimal number in the range [0..255]:
Example:
10000000 10001111 10001001 10010000
1st Byte 2nd Byte 3rd Byte 4th Byte
= 128 = 143 = 137 = 144
[Link]
Figure 4-1
Dotted-decimal notation
Hexadecimal Notation
0111 0101 1001 0101 0001 1101 1110 1010
75 95 1D EA
0x75951DEA
Example 1
Change the following IP address from binary notation to dotted-decimal
notation.
10000001 00001011 00001011 11101111
Solution
[Link]
Example 2
Change the following IP address from dotted-decimal notation to
binary notation:
[Link]
Solution
01101111 00111000 00101101 01001110
Example 3
Find the error in the following IP Address [Link]
Solution
There are no leading zeroes in Dotted-decimal notation (045)
Example 3 (continued)
Find the error in the following IP Address [Link]
Solution
In decimal notation each number <= 255
301 is out of the range
Example 4
Change the following binary IP address Hexadecimal notation
10000001 00001011 00001011 11101111
Solution
0X810B0BEF or 810B0BEF16
CLASSFUL ADDRESSING
Figure 4-2
Occupation of the address space
Basic Addressing
Each device on a network is
assigned an IP address. [Link]
Each IP address has two
fundamental parts:
00001010 00000001 00000001 00000001
• The network portion, which
describes the physical wire
Network
Host
the device is attached to.
• The host portion, which
identifies the host on that
wire.
• How can we tell the
difference between the two
sections?
Basic Addressing
The network mask shows us [Link]
where to split the network
and host sections.
00001010 00000001 00000001 00000001
Each place there is a 1 in the
network mask, that binary
Network
Host
digit belongs to the network
portion of the address.
Each place there is a 0 in the
network mask, that binary
digit belongs to the host 11111111 11111111 11111111 00000000
portion of the address.
[Link]
Basic Addressing
An alternative set of [Link]
terminology is:
• The network portion of the
00001010 00000001 00000001 00000001
address is called the prefix.
• The host portion of the
Prefix
Host
address is called the host.
• The network mask is
expressed as a prefix length,
which is a count of the
number of 1’s in the subnet
mask. 11111111 11111111 11111111 00000000
8 + 8 + 8 = 24
[Link]/24
Basic Addressing
The network address is the 10 1 1 0/24
IP address with all 0’s in the 00001010 000000011 00000001 00000000
host bits.
prefix host
The broadcast address is the
IP address with all 1’s in the these bits are 0, so this is the network address
host bits.
Packets sent to either 10 1 1 255/24
address will be delivered to 00001010 000000011 00000001 11111111
all the hosts connected to
prefix host
the wire.
these bits are 1, so this is the broadcast address
In classful addressing the address space is divided into 5 classes:
A, B, C, D, and E.
Figure 4-3
Finding the class in binary notation
Figure 4-4
Finding the address class
Example 5
Show that Class A has 231 = 2,147,483,648 addresses.
Example 6
Find the class of the following IP addresses
00000001 00001011 00001011 11101111
11000001 00001011 00001011 11101111
Solution
•00000001 00001011 00001011 11101111
1st is 0, hence it is Class A
•11000001 00001011 00001011 11101111
1st and 2nd bits are 1, and 3rd bit is 0 hence, Class C
Figure 4-5
Finding the class in decimal notation
Example 7
Find the class of the following addresses
[Link]
[Link]
Solution
•[Link]
1st byte = 158 (128<158<191) class B
•[Link]
1st byte = 227 (224<227<239) class D
IP address with appending port number
• [Link]:25
• the for octet before colon is the IP address.
• The number of colon (25) is the port number.
Network Addresses
The network address is the first address.
The network address defines the network to the rest of the Internet.
Given the network address, we can find the class of the address, the
block, and the range of the addresses in the block.
Figure 4-6
Netid and hostid
In classful addressing, the network address (the first address in the block
is the one that is assigned to the organization.
Example 8
Given the network address [Link], find the
class, the block, and the range of the addresses
Solution
The 1st byte is between 128 and 191.
Hence, Class B
The block has a netid of 132.21.
The addresses range from
[Link] to [Link].
Mask
• A mask is a 32-bit binary number.
• The mask is ANDeD with IP address to get
• The bloc address (Network address)
• Mask And IP address = Block Address
Figure 4-10
Masking concept
Figure 4-11
AND operation
The network address is the beginning address of each block.
It can be found by applying the default mask to any of the addresses in
the block (including itself).
It retains the netid of the block and sets the hostid to zero.
Default Mak
• Class A default mask is [Link]
• Class B default mask is [Link]
• Class C Default mask [Link]
Network prefix and Host number
The network prefix identifies a network and the host number identifies a
specific host (actually, interface on the network).
network prefix host number
How do we know how long the network prefix is?
– The network prefix used to be implicitly defined (class-based
addressing, A,B,C,D…)
– The network prefix now is flexible and is indicated by a prefix/netmask
(classless).
Example
Example: [Link]
IP address is [Link]
– Is that enough??? -> No, need netmask or prefix
Using Prefix notation IP address is: [Link]/16
– Network prefix is 16 bits long
Network mask is: [Link] or hex format: ffff0000
-----> Network id (IP address AND Netmask) is: [Link]
-----> Host number (IP address AND inverse of Netmask) is: 137.144
128.143 137.144
Subnetting
• Problem: Organizations have
multiple groups/entities within
their organization which are University
UniversityNetwork
Network
independently managed. Each
would prefer to manage their own Engineering Medical
IT facilities, i.e., own network School School
– Solution 1: Allocate to each
entity their own IP
network/domain Library
• Organization must own
multiple IP address
domains
• Expensive (each IP domain
costs money) and
cumbersome to manage
– Solution 2: Add another level Subnetting
of hierarchy to the existing IP
addressing structure
Basic Idea of Subnetting
• Split the host number portion of an IP address into a subnet number and a
(smaller) host number.
• Result is a 3-layer hierarchy
network prefix host number
network prefix subnet number host number
• Then: extended network prefix
• Subnets can be freely assigned within the organization
• Internally, subnets are treated as separate networks
• Subnet structure is not visible outside the organization
Chapter 5
Subnetting/Supernetting and Classless Addressing
CONTENTS
• SUBNETTING
• SUPERNETTING
• CLASSLESS ADDRSSING
5.1
SUBNETTING
IP addresses are designed with two levels of hierarchy.
Figure 5-1
A network with two levels of hierarchy (not subnetted)
Figure 5-2
A network with three levels of hierarchy (subnetted)
Note
• Subnetting is done by borrowing bits from the host part and add them
the network part.
Figure 5-3
Addresses in a network with and without subnetting
Figure 5-5
Default mask and subnet mask
Finding the Subnet Address
Given an IP address, we can find the subnet address the same way we
found the network address. We apply the mask to the address. We can
do this in two ways: straight or short-cut.
Straight Method
In the straight method, we use binary notation for both the address
and the mask and then apply the AND operation to find the subnet
address.
Example 9
What is the subnetwork address if the destination address is [Link]
and the subnet mask is [Link]?
Solution
11001000 00101101 00100010 00111000
11111111 11111111 11110000 00000000
11001000 00101101 00100000 00000000
The subnetwork address is [Link].
Short-Cut Method
** If the byte in the mask is 255, copy the byte in the address.
** If the byte in the mask is 0, replace the byte in the address with 0.
** If the byte in the mask is neither 255 nor 0, we write the mask and
the address in binary and apply the AND operation.
Example 10
What is the subnetwork address if the destination address is [Link] and
the mask is [Link]?
Solution
See next slide
Figure 5-6
Solution
Figure 5-7
Comparison of a default mask and a subnet mask
The number of subnets must be a power of 2.
Example 11
A company is granted the site address [Link] (class C). The company
needs six subnets. Design the subnets.
Solution
The number of 1s in the default
mask is 24 (class C).
Solution (Continued)
The company needs six subnets. This number 6 is not a power of 2. The next
number that is a power of 2 is 8 (23). We need 3 more 1s in the subnet mask.
The total number of 1s in the subnet mask is 27 (24 + 3).
The total number of 0s is 5 (32 - 27). The mask is
Solution (Continued)
11111111 11111111 11111111 11100000
or
[Link]
The number of subnets is 8.
The number of addresses in each subnet is 25 (5 is the number
of 0s) or 32.
See Next slide
Figure 5-8
Example 3
Example 12
A company is granted the site address [Link] (class B). The company
needs 1000 subnets. Design the subnets.
Solution
The number of 1s in the default mask is 16 (class B).
Solution (Continued)
The company needs 1000 subnets. This number is not a power of 2. The
next number that is a power of 2 is 1024 (210). We need 10 more 1s in
the subnet mask.
The total number of 1s in the subnet mask is 26 (16 + 10).
The total number of 0s is 6 (32 - 26).
Solution (Continued)
The mask is
11111111 11111111 11111111 11000000
or
[Link].
The number of subnets is 1024.
The number of addresses in each subnet is 26 (6 is the number of 0s) or 64.
See next slide
Figure 5-9
Example 4
Figure 5-10
Variable-length subnetting
SUPERNETTING
What is supernetting?
• Supernetting is the opposite of subnetting.
• In subnetting you borrow bits from the host part.
• Supernetting is done by borrowing bits from the network side.
• And combine a group of networks into one large supernetwork.
Figure 5-11
A supernetwork
Rules:
The number of blocks must be a power of 2 (1, 2, 4, 8, 16, . . .).
The blocks must be contiguous in the address space (no gaps between the
blocks).
The third byte of the first address in the superblock must be evenly divisible
by the number of blocks. In other words, if the number of blocks is N, the
third byte must be divisible by N.
Example 5
A company needs 600 addresses. Which of the following set of class C blocks
can be used to form a supernet for this company?
[Link] [Link] [Link]
[Link] [Link] [Link] [Link]
[Link] [Link] [Link] [Link]
[Link] [Link] [Link] [Link]
Solution
1: No, there are only three blocks.
2: No, the blocks are not contiguous.
3: No, 31 in the first block is not divisible by 4.
4: Yes, all three requirements are fulfilled.
In subnetting, we need the first address of the subnet and the subnet
mask to define the range of addresses.
In supernetting, we need the first address of the supernet
and the supernet mask to define the range of addresses.
Figure 5-12
Comparison of subnet, default, and supernet masks
Example 13
We need to make a supernetwork out of 16 class C blocks. What is the
supernet mask?
Solution
We need 16 blocks. For 16 blocks we need to change four 1s to 0s in the
default mask. So the mask is
11111111 11111111 11110000 00000000
or
[Link]
Example 14
A supernet has a first address of [Link] and a supernet mask of
[Link]. A router receives three packets with the following
destination addresses:
[Link]
[Link]
[Link]
Which packet belongs to the supernet?
Solution
We apply the supernet mask to see if we can find the beginning address.
[Link] AND [Link] [Link]
[Link] AND [Link] [Link]
[Link] AND [Link] [Link]
Only the first address belongs to this supernet.
Example 15
A supernet has a first address of [Link] and a supernet mask of
[Link]. How many blocks are in this supernet and what is the
range of addresses?
Solution
The supernet has 21 1s. The default mask has 24 1s. Since the difference is 3,
there are 23 or 8 blocks in this supernet. The blocks are [Link] to
[Link]. The first address is [Link]. The last address is
[Link].
5.3
CLASSLESS ADDRESSING
Number of Addresses in a Block
There is only one condition on the number of addresses in a block;
it must be a power of 2 (2, 4, 8, . . .). A household may be given a
block of 2 addresses. A small business may be given 16 addresses.
A large organization may be given 1024 addresses.
Figure 5-13
Variable-length blocks
Beginning Address
The beginning address must be evenly divisible by the number of
addresses. For example, if a block contains 4 addresses, the beginning
address must be divisible by 4. If the block has less than 256 addresses,
we need to check only the rightmost byte. If it has less than 65,536
addresses, we need to check only the two rightmost bytes, and so on.
Example 16
Which of the following can be the beginning address of a block that contains
1024 addresses?
[Link]
[Link]
[Link]
[Link]
Solution
To be divisible by 1024, the rightmost byte of an address should be 0 and the
second rightmost byte must be divisible by 4. Only the address [Link]
meets this condition.
Figure 5-14
Slash notation
Slash notation is also called CIDR notation.
Example 17
A small organization is given a block with the beginning address and the
prefix length [Link]/29 (in slash notation). What is the range of the
block?
Solution
• The beginning address is [Link]. To find the last address
we keep the first 29 bits and change the last 3 bits to 1s.
• Beginning: 11001111 00010000 00100101 00011000
• Ending : 11001111 00010000 00100101 00011111
• There are only 8 addresses in this block.
Example 17 cont’d
We can find the range of addresses in Example 17 by another method. We
can argue that the length of the suffix is 32 - 29 or 3. So there are 23 = 8
addresses in this block. If the first address is [Link], the last address
is [Link] (24 + 7 = 31).
A block in classes A, B, and C can easily be represented in slash
notation as A.B.C.D/ n where n is either 8 (class A), 16 (class B),
or 24 (class C).
Example 18
What is the network address if one of the addresses is [Link]/27?
Solution
The prefix length is 27, which means that we must keep the first 27 bits as is
and change the remaining bits (5) to 0s. The 5 bits affect only the last byte.
The last byte is 01010010. Changing the last 5 bits to 0s, we get 01000000 or
64. The network address is [Link]/27.
Example 19
An organization is granted the block [Link]/26. The organization
needs to have four subnets. What are the subnet addresses and the range of
addresses for each subnet?
Solution
The suffix length is 6. This means the total number of addresses in the block
is 64 (26). If we create four subnets, each subnet will have 16 addresses.
Solution (Continued)
Let us first find the subnet prefix (subnet mask). We need four subnets, which
means we need to add two more 1s to the site prefix. The subnet prefix is then
/28.
Subnet 1: [Link]/28 to [Link]/28.
Subnet 2 : [Link]/28 to [Link]/28.
Subnet 3: [Link]/28 to [Link]/28.
Subnet 4: [Link]/28 to [Link]/28.
See Figure 5.15
Figure 5-15
Example 19 cont’d
Example 20
An ISP is granted a block of addresses starting with [Link]/16. The ISP
needs to distribute these addresses to three groups of customers as follows:
1. The first group has 64 customers; each needs 256 addresses.
2. The second group has 128 customers; each needs 128 addresses.
3. The third group has 128 customers; each needs 64 addresses.
Design the subblocks and give the slash notation for each subblock. Find out
how many addresses are still available after these allocations.
Solution
Group 1
For this group, each customer needs 256 addresses. This means the
suffix length is 8 (28 = 256). The prefix length is then 32 - 8 = 24.
01: [Link]/24 [Link]/24
02: [Link]/24 [Link]/24
…………………………………..
64: [Link]/24[Link]/24
Total = 64 256 = 16,384
Solution (Continued)
Group 2
For this group, each customer needs 128 addresses. This means the suffix
length is 7 (27 = 128). The prefix length is then 32 - 7 = 25. The addresses
are:
001: [Link]/25 [Link]/25
002: [Link]/25 [Link]/25
………………..
128: [Link]/25 [Link]/25
Total = 128 128 = 16,384
Solution (Continued)
Group 3
For this group, each customer needs 64 addresses. This means the suffix
length is 6 (26 = 64). The prefix length is then 32 - 6 = 26.
001:[Link]/26 [Link]/26
002:[Link]/26 [Link]/26
…………………………
128:[Link]/26 [Link]/26
Total = 128 64 = 8,192
Solution (Continued)
Number of granted addresses: 65,536
Number of allocated addresses: 40,960
Number of available addresses: 24,576