Saturday, June 25, 2011

IPv4 subnetting


The process of subnetting involves the separation of the network and subnet portion of an address from the host identifier. This is performed by a bitwise AND operation between the IP address and the (sub)network prefix. The result yields the network address or prefix, and the remainder is the host identifier.

Determining the network prefix

An IPv4 network mask consist of 32 bits, a sequence of ones (1) followed by a block of 0s. The last block of zeros (0) designate that part as being the host identifier.

The following example shows the separation of the network prefix and the host identifier from an address (192.168.5.130) and its associated /24 network mask (255.255.255.0). The operation is visualized in a table using binary address formats.

Binary form
   Dot-decimal notation
IP address
11000000.10101000.00000101.10000010
   192.168.5.130
Subnet mask
11111111.11111111.11111111.00000000
   255.255.255.0
Network prefix
11000000.10101000.00000101.00000000
   192.168.5.0
Host part
00000000.00000000.00000000.10000010
   0.0.0.130

The mathematical operation for calculating the network prefix is the binary and. The result of the operation yields the network prefix 192.168.5.0 and the host number 130 of a possible maximum of 256 addresses.

Special addresses and subnets

Internet Protocol version 4 uses specially designated address formats to facilitate recognition of special address functionality. The first and the last subnets obtained by subnetting have traditionally had a special designation and, early on, special usage implications. In addition, IPv4 uses the all ones host address, i.e. the last address within a network, for broadcast transmission to all hosts on the link.

Subnet zero and the all-ones subnet

The first subnet obtained from subnetting has all bits in the subnet bit group set to zero (0). It is therefore called subnet zero. The last subnet obtained from subnetting has all bits in the subnet bit group set to one (1). It is therefore called the all-ones subnet.


Subnet and host counts

The number of subnetworks available, and the number of possible hosts in a network may be readily calculated. In the example (above) two bits were borrowed to create subnetworks, thus creating 4 (22) possible subnets.

Network
Network (binary)
Broadcast address
192.168.5.0/26
 11000000.10101000.00000101.00000000
 192.168.5.63
192.168.5.64/26
 11000000.10101000.00000101.01000000
 192.168.5.127
192.168.5.128/26
 11000000.10101000.00000101.10000000
 192.168.5.191
192.168.5.192/26
 11000000.10101000.00000101.11000000
 192.168.5.255

The RFC 950 specification reserves the subnet values consisting of all zeros (see above) and all ones (broadcast), reducing the number of available subnets by two. However, due to the inefficiencies introduced by this convention it was abandoned for use on the public Internet, and is only relevant when dealing with legacy equipment that does not implement CIDR. The only reason not to use the all-zeroes subnet is that it is ambiguous when the prefix length is not available. All CIDR-compliant routing protocols transmit both length and suffix. RFC 1878 provides a subnetting table with examples.

The remaining bits after the subnet are used for addressing hosts within the subnet. In the above example the subnet mask consists of 26 bits, leaving 6 bits for the host identifier. This allows for 64 combinations (26), however the all zeros value and all ones value are reserved for the network ID and broadcast address respectively, leaving 62 addresses.

In general the number of available hosts on a subnet is 2n−2, where n is the number of bits used for the host portion of the address.

RFC 3021 specifies an exception to this rule when dealing with 31-bit subnet masks (i.e. 1-bit host identifiers). In such networks, usually point-to-point links, only two hosts (the end points) may be connected and a specification of network and broadcast addresses is not necessary.

A /24 network may be divided into the following subnets by increasing the subnet mask successively by one bit. This affects the total number of hosts that can be addressed in the /24 network (last column).

CIDR notation
Network mask
    Available
subnets
   Usable hosts
per subnet
 Total
  usable hosts
/24
255.255.255.0    
      1
      254
        254
/25
255.255.255.128
      2
      126
        252
/26
255.255.255.192
     4
       62
        248
/27
255.255.255.224
     8
       30
        240
/28
255.255.255.240
    16
       14
        224
/29
255.255.255.248
    32
        6
       192
/30
255.255.255.252
    64
        2
       128
/31
255.255.255.254
   128
        2 *
       256


0 comments:

Post a Comment

 
Custom Search

Copyright 2011 All Rights Reserved | SISCOMPC Designed by Bloggers Template | CSS done by Link Building