Saturday, April 23, 2011

Dissecting Subnet Zero

Traditionally, it was strongly recommended not to use subnet zero (all-0s) and broadcast subnet for addressing (RFC 950 – Internet Standard Subnetting Procedure). This is to avoid the confusion of having a network and a subnet with indistinguishable addresses.

Below shows a Class B network – 172.16.0.0/16 is subnetted with /18 subnet mask:

Subnet Address Subnet Mask Broadcast Address Valid Host Range
172.16.0.0 255.255.192.0 172.16.63.255 172.16.0.1 – 172.16.63.254
172.16.64.0 255.255.192.0 172.16.127.255 172.16.64.1 – 172.16.127.254
172.16.128.0 255.255.192.0 172.16.191.255 172.16.128.1 – 172.16.191.254
172.16.192.0 255.255.192.0 172.16.255.255 172.16.192.1 – 172.16.255.254

As shown in the example above, 172.16.16.16 is resides in the 172.16.0.0 subnet (subnet zero). This subnet address is same with the network address – a network and subnet with indistinguishable addresses.

RFC 1878 – Variable Length Subnet Table For IPv4 states that the practice of excluding all-0s and all-1s subnets is obsolete.

MISC Note: Broadcast address is used in both logical (L3) and hardware (L2) addressing. With logical addressing, the host address will be all 1s. With hardware addressing, the hardware address will be all 1s in binary (all Fs in hexadecimal).

Sample Subnet Zero configuration:
Router(config)#no ip subnet-zero
Router(config)#int fa0/0
Router(config-if)#ip address 10.0.0.1 255.255.255.0  (1)
Bad mask /24 for address 10.0.0.1
Router(config-if)#ip address 10.1.0.1 255.255.255.0  (2)
Router(config-if)#ip address 172.16.0.1 255.255.255.0  (3)
Bad mask /24 for address 172.16.0.1
Router(config-if)#ip address 172.16.1.1 255.255.255.0  (4)
Router(config-if)#ip address 192.168.0.1 255.255.255.192 (5)
Bad mask /26 for address 192.168.0.1
Router(config-if)#ip address 192.168.0.65 255.255.255.192 (6)
Router(config-if)#exit
Router(config)#
Router(config)#ip subnet-zero
Router(config)#int fa0/0
Router(config-if)#ip address 10.0.0.1 255.255.255.0
Router(config-if)#ip address 172.16.0.1 255.255.255.0
Router(config-if)#ip address 192.168.0.1 255.255.255.192
Router(config-if)#

Subnet Zero explanation:

Note: The no ip subnet-zero global configuration command only affects the subnet zero; it does not affect the broadcast (all-1s) subnet.

No comments:

Post a Comment