• Main Menu
  • Subnet Masks

    A subnet mask allows users to identify which part of an IP address is reserved for the network and which part is available for host use. By looking at the IP address alone, especially now with classless inter-domain routing, users cannot tell which part of the address is which. Adding the subnet mask or netmask gives users all the information needed to calculate network and host portions of the address with ease. In summary, knowing the subnet mask can allow users to easily calculate whether IP addresses are on the same subnet or not.

    The are two fundamental rules when subnetting:

    • If a bit in a subnet mask has a value of one, then the bit is part of the network prefix in the corresponding ip address.
    • If a bit in a subnet mask has a value of zero, than the bit is part of the host suffix in the corresponding ip address.

    Determining Network and Host Portions of an IP Address with a Subnet Mask

    To determine what the network address is for any given IP address, users merely have to convert both octal addresses into binary and do a bitwise AND operation. Here is an example of using an IP address of with a network mask of

    IP Address: 10011100.10011010.01010001.00111000
    Subnet mask: 11111111.11111111.11111111.11110000
    Bitwise AND ———————————————–
    Result: 10011100.10011010.01010001.00110000

    The network address for the IP address and subnet mask in question is To determine how many hosts can be on this same subnet, it is a simple operation. Count the number of bits from the right until the first “1” in the binary network address display is reached. That number will be the power raised to 2 for the calculation of possible number of hosts. Also, subtract two from the result because one address is reserved for broadcast and network addresses. This results in the final algorithm of 2^n-2. In this case there are 4 bits of 0 in the network address, leaving 2^4-2 hosts possible or 14 hosts. This means that the network address is, that there is a range of addresses available to hosts from –, and that the broadcast address for this network is

    Default Subnet Mask

    When applying the two rules of subnetting to classful addresses, the default subnet mask for different classes of the ip addresses are:

    • Class A =
    • Class B =
    • Class C =

    Where 255 represents network prefix and 0 represents host suffix. In the above table is a standard class A subnet mask, since the first bit are all once (network) and the last three bites are all zeros (host). When this subnet mask is applied to a class A network, no subnetting is performed.

    How to Change Subnet Mask?

    The subnet mask is a value that basically differentiates the network and host portion of your networking device. If you can change the subnet mask of your computer for some purpose you can change by two different methods either by using graphical tools or by using command line interface.

    Following are the details of both the methods in the Microsoft Windows Operating System:

      • In the properties tab of Local Area Connection you should have to select TCP/IP and click the properties tab of TCP/IP. Click once on the field of subnet mask and delete the old subnet mask, then configured the new subnet mask and click on OK tab and then click OK. Check the new subnet mask with the command “ipconfig”.
      • You should have to execute the command “set address local static ip address subnet mask” in the netsh interface ip> mode of your Microsoft Windows computer.

    Defining Variable Length Subnet Masking

    With classful subnetting, all subnets have the identical number of host addresses. This could present issues if you need certain subnets to have a small number of IP addresses, and you need other subnets to have a large number of IP addresses. The solutions listed below; to solving this issue does not however optimize the network configuration. This is mostly due to IP addresses being wasted:

    If you require a large number of host addresses, you can create subnets that have numerous numbers of host addresses.

    • If you require a small number of host addresses, you can create subnets that have small numbers of host addresses.

    Previously, a single subnet mask was used in the entire network, and was shared by all hosts in that particular network. When one subnet mask is used, and the network is divided into subnets, then all subnets have the identical number of host addresses.Variable Length Subnet Masking Understanding Variable Length Subnet Masking

    Variable length subnet masks (VLSMs) allow subnets to be further subnetted, and also enable routers to handle different subnet masks. VLSMs provide the flexibility needed to optimize the network configuration by allowing you to configure network subnets that meet the requirements of your organization. No IP addresses are wasted. VLSMs (nonclassful subnetting) can be defined as the process whereby which subnets are divided into smaller segments of various sizes. The name used to describe the process wherein subnets are continuously subdivided, is recursive subnetting.

    For VLSM to allow subnets to be further subnetted, it utilizes the subnet mask to distinguish between the network address and the host address of the IP address. The process of dividing a subnet into further segments starts with the subnet mask used on the original subnet. The default subnet mask is not the starting point.

    When you use VLSM to divide a network into different sized subnets, a definite pattern of subnet IDs with trailing 0s have to be used. The trailing 0s actually prevent the subnet address spaces from overlapping with each other. With a Class C network, a maximum of seven subnets can be defined. This concept is illustrated below:

    • Subnet 1:
      • Subnet ID: 0
      • Subnet Mask:
      • Hosts per Subnet: 126
    • Subnet 2:
      • Subnet ID: 10
      • Subnet Mask:
      • Hosts per Subnet: 62
    • Subnet 3:
      • Subnet ID: 110
      • Subnet Mask:
      • Hosts per Subnet: 30
    • Subnet 4:
      • Subnet ID: 1110
      • Subnet Mask:
      • Hosts per Subnet: 14
    • Subnet 5:
      • Subnet ID: 11110
      • Subnet Mask:
      • Hosts per Subnet: 6
    • Subnet 6:
      • Subnet ID: 111110
      • Subnet Mask:
      • Hosts per Subnet: 2
    • Subnet 7:
      • Subnet ID: 111111
      • Subnet Mask:
      • Hosts per Subnet: 2

    From the above illustration, you can notice that the last two subnets, Subnet 7 and Subnet 6 are the same size. Subnet 7 is differentiated by a subnet ID that has all 1s. No trailing 0s are used to define Subnet 7. You can utilize this configuration at any subnet level to replace each of the subnets beneath that particular subnet.

    While RFC 1812 allows you to use subnets that are all 0s or all 1s, you should first verify that each host and router on your network supports this particular configuration. Even today, not all hosts and routers support RFC 1812. Before you can implement subnets with all 0s or all 1s, you have to meet the following requirements:

    • A routing protocol which supports RFC 1812 must be running within your network environment. Routing protocols that support RFC 1812 are:
    • You have to configure your hosts and routers to support all 0s or all 1s subnets. If you have hosts and routers running Windows Server 2003, the use of 0s or all 1s subnets is automatically supported. You do not need to perform any further configuration.

    Are Subnet Masks Necessary?

    Subnet masks are critical to communications on an IP network. Network devices use the IP address targets and defined netmask to determine if the network the host is on is a local subnet or a remote network. This is important because devices act differently depending on the result. If the subnet is local, the device will send an ARP request to retrieve the MAC or hardware address of the system in question to communicate over the data-link layer. If the address is found to be on a remote network, then the network device routes packets to the gateway in its routing table that is set to handle that network. If no routing table entry matches that network, the packets are routed to the default route. If no default route is defined, the packets are dropped with nowhere left to go.


    Got Something To Say:

    Your email address will not be published. Required fields are marked *

    1. Rakhi Dhavale

      18 November, 2013 at 4:27 pm

      thanks a lot!!

    2. fotw02

      6 September, 2012 at 6:47 am

      Love the explanation! Subtracting 2 from the number of available subnets though is not required since 1995 (see RFC 1878 at http://tools.ietf.org/html/rfc1878).

      2^n-2 however is still required for calculating the number of available hosts.

    3. sangeen khan

      8 April, 2012 at 10:48 pm

      This too much helpful for me, Excellent Explanation! Thanks Ton , keep it up thank you so much dear:

    4. Shravi

      7 April, 2012 at 8:21 pm

      Excellent explanation!! This is the first time subnetting has become clear to me after a lot of failed attempts. Thanks a ton.

    5. Majid

      26 November, 2011 at 9:45 pm

      Like all the other persons who have commented. This is by far yhe best explanation of subneting. I have read about 6 different articles before i cam to this one. All the others confuse matters by going straight to the binary.
      Excelent work

    6. bris

      26 October, 2011 at 6:52 pm

      Clear ans simple..Thanks a mil

    7. pandu

      20 October, 2011 at 1:19 pm

      a lot of information. thank u

    8. vishal pandey

      18 September, 2011 at 6:41 am

      best way of explanation.

    9. Derek Spencer

      3 June, 2011 at 9:25 pm

        Concise and to the point!   Thanks

    10. Appy

      22 April, 2011 at 9:24 pm

      seriously the best explanation of subnet masks!! hats off to You Man! Respect
      and thanks a lot to You!! God Bless! 🙂

    11. Ree

      5 April, 2011 at 1:44 pm

      This is the BEST explaination and break down of ip-address and subnetting I have read, it was simple and to the point.

    Network Layer
    177 queries in 0.556 seconds.