What Is Subnet Mask
What Is Subnet Mask
By Scott Seong
An IP address has two components, the network address and the host address. A subnet
mask separates the IP address into the network and host addresses (<network><host>).
Subnetting further divides the host part of an IP address into a subnet and host address
(<network><subnet><host>). It is called a subnet mask because it is used to identify
network address of an IP address by perfoming bitwise AND operation on the netmask.
A Subnet mask is a 32-bit number that masks an IP address, and divides the IP address
into network address and host address. Subnet Mask is made by setting network bits to all
"1"s and setting host bits to all "0"s. Within a given network, two host addresses are
reserved for special purpose. The "0" address is assigned a network address and "255" is
assigned to a broadcast address, and they cannot be assigned to a host.
Examples of commonly used netmasks for classed networks are 8-bits (Class A), 16-bits
(Class B) and 24-bits (Class C), and classless networks are as follows:
Class Address
CIDR /4
CIDR /5
CIDR /6
CIDR /7
A
/8
CIDR /9
CIDR /10
CIDR /11
CIDR /12
CIDR /13
CIDR /14
CIDR /15
# of Hosts
Netmask (Binary)
11110000 00000000 00000000
240,435,456
00000000
11111000 00000000 00000000
134,217,728
00000000
11111100 00000000 00000000
67,108,864
00000000
11111110 00000000 00000000
33,554,432
00000000
11111111 00000000 00000000
16,777,216
00000000
11111111 10000000 00000000
8,388,608
00000000
11111111 11000000 00000000
4,194,304
00000000
11111111 11100000 00000000
2,097,152
00000000
11111111 11110000 00000000
1,048,576
00000000
11111111 11111000 00000000
524,288
00000000
11111111 11111100 00000000
262,144
00000000
11111111 11111110 00000000
131,072
00000000
Netmask (Decimal)
240.0.0.0
248.0.0.0
252.0.0.0
254.0.0.0
255.0.0.0
255.128.0.0
255.192.0.0
255.224.0.0
255.240.0.0
255.248.0.0
255.252.0.0
255.254.0.0
/16
65,534
CIDR /17
32,768
CIDR /18
16,384
CIDR /19
8,192
CIDR /20
4,096
CIDR /21
2,048
CIDR /22
1,024
CIDR /23
512
/24
256
CIDR /25
128
CIDR /26
64
CIDR /27
32
CIDR /28
16
CIDR /29
CIDR /30
255.255.0.0
255.255.128.0
255.255.192.0
255.255.224.0
255.255.240.0
255.255.248.0
255.255.252.0
255.255.254.0
255.255.255.0
255.255.255.128
255.255.255.192
255.255.255.224
255.255.255.240
255.255.255.248
255.255.255.252
Subnetting an IP network is to separate a big network into smaller multiple networks for
reorganization and security purposes. All nodes (hosts) in a subnetwork see all packets
transmitted by any node in a network. Performance of a network is adversely affected
under heavy traffic load due to collisions and retransmissions.
Applying a subnet mask to an IP address separates network address from host address.
The network bits are represented by the 1's in the mask, and the host bits are represented
by 0's. Performing a bitwise logical AND operation on the IP address with the subnet
mask produces the network address. For example, applying the Class C subnet mask to
our IP address 216.3.128.12 produces the following network address:
IP:
1101 1000 . 0000 0011 . 1000 0000 . 0000 1100
Mask: 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000
--------------------------------------------1101 1000 . 0000 0011 . 1000 0000 . 0000 0000
(216.003.128.012)
(255.255.255.000)
(216.003.128.000)
Subnetting Network
Here is another scenario where subnetting is needed. Pretend that a web host with a Class
C network needs to divide the network so that parts of the network can be leased to its
customers. Let's assume that a host has a network address of 216.3.128.0 (as shown in the
example above). Let's say that we're going to divide the network into 2 and dedicate the
first half to itself, and the other half to its customers.
216 .
216 .
The web host will have the subnet mask of 216.3.128.128 (/25). Now, we'll further divide
the 2nd half into eight block of 16 IP addresses.
216 .
3 . 128 . (1000 0000)
216 .
3 . 128 . (1001 0000)
216 .
3 . 128 . (1010 0000)
216 .
3 . 128 . (1011 0000)
216 .
3 . 128 . (1100 0000)
216 .
3 . 128 . (1101 0000)
216 .
3 . 128 . (1110 0000)
216 .
3 . 128 . (1111 0000)
----------------------------255 . 255 . 255 . (1111 0000)
Customer
Customer
Customer
Customer
Customer
Customer
Customer
Customer
1
2
3
4
5
6
7
8
---------
Gets
Gets
Gets
Gets
Gets
Gets
Gets
Gets
16
16
16
16
16
16
16
16
IPs
IPs
IPs
IPs
IPs
IPs
IPs
IPs
(14
(14
(14
(14
(14
(14
(14
(14
usable)
usable)
usable)
usable)
usable)
usable)
usable)
usable)
With CIDR, a network of IP addresses is allocated in 1-bit increments as opposed to 8bits in classful network. The use of a CIDR notated address can easily represent classful
addresses (Class A = /8, Class B = /16, and Class C = /24). The number next to the slash
(i.e. /8) represents the number of bits assigned to the network address. The example
shown above can be illustrated with CIDR as follows:
216.3.128.12, with subnet mask of 255.255.255.128 is written as
216.3.128.12/25
Similarly, the 8 customers with the block of 16 IP addresses can be
written as:
216.3.128.129/28, 216.3.128.130/28, and etc.