 192.168.1.144/28 192.168.1.144/28 192.168.1.160/28 192.168.1.160/28 192.168.1.160/28 192.168.1.160/28 192.168.1.160/28 192.168.1.160/28 192.168.1.160/27 192.168.1.160/27 192.168.1.176/28 192.168.1.176/28 192.168.1.176/28 192.168.1.176/28 192.168.1.176/28 192.168.1.176/28 192.168.1.192/28 192.168.1.192/28 192.168.1.192/28 192.168.1.192/28 192.168.1.192/28 192.168.1.192/28 192.168.1.192/28 192.168.1.208/28 192.168.1.208/28 192.168.1.208/28 192.168.1.208/28 192.168.1.208/28 192.168.1.208/28 192.168.1.208/28 192.168.1.192/26 192.168.1.224/28 192.168.1.224/28 192.168.1.224/28 192.168.1.224/28 192.168.1.224/28 192.168.1.224/27 192.168.1.224/27 192.168.1.240/28 192.168.1.240/28 192.168.1.240/28 192.168.1.240/28 192.168.1.240/28 Figure 36-7. Divide-by-half IP subnet allocation Normal binary Reverse binary 00000000 00000000 00000001 10000000 00000010 01000000 00000011 11000000 00000100 00100000 00000101 10100000 00000110 01100000 00000111 11100000 Figure 36-8. Reverse binary subnet allocation Allocating IP Subnets The exception to these rules for me is the allocation of /30 networks. Because these networks are generally used for point-to-point links, and as such will never expand, I usually allocate an entire /24 network (or more, depending on the overall need) just for /30 subnets. The results of using the reverse binary method to divide our 192.168.1.0/24 network are shown in Figure 36-9. Each allocated network can be expanded with no IP address changes. A reasonable balance is achieved, with large pools of available addresses re- maining after each allocation. The differences between the reverse binary and divide- by-half methods all but disappear by the eighth subnet allocation, where, in our ex- ample, each subnet has an equally sized subnet adjacent to it. 192.168.1.0/28 192.168.1.0/27 192.168.1.0/27 192.168.1.0/27 192.168.1.0/27 192.168.1.16/28 192.168.1.0/26 192.168.1.0/26 192.168.1.32/28 192.168.1.32/28 192.168.1.32/28 192.168.1.32/28 192.168.1.32/28 192.168.1.48/28 192.168.1.48/28 192.168.1.48/28 192.168.1.48/2