Subnetting Made Easy
You're probably familiar with IP addresses in the form NN.NN.NN.HH, where the numbers "NN" are part of the network number, and the "HH" represents the host part of the address. In this scheme, each "subnet" has up to 254 host addresses. This is very wasteful of address space, and in the new Ohio IP address plan we're doing things a bit differently.
In our plan, local area networks are assigned smaller blocks of addresses. This allows more discrete networks, and reduces the number of wasted addresses. However, it does require you to set up the routes in your NOS system a bit differently.
A NOS routing command looks something like this:
route add [184.108.40.206]/24
The number in brackets is the network number; it represents the lowest address in this network (the "0" address is part of the network, but it's used for special purposes and isn't assigned to a user). The "/24" indicates how many bits of the 32 bit address are being used as the network part. A value of 24 means that the left three bytes -- and the left three parts of the number -- represent the network, and the right 8 bytes represent the host.
We can use smaller blocks of host addresses by specifying that more than 24 of the address represent the network part. A route command of:
route add [220.127.116.11]/27
means that not only the first three bytes, but also the first three bits of the fourth byte, should be treated as the network id. That leaves 5 bits of the fourth byte to use as the host id. Five bits is enough to represent 32 numbers, and that's how many hosts this network can support (actually, the first and the last address aren't assigned, so there are 30 usable addresses here).
The routing command above would set up a route for 30 hosts with numbers ranging from 18.104.22.168 through 22.214.171.124 (remember that we don't use the first or last address in the block).
That's pretty straight-forward, but what if the block doesn't begin with 0 but instead runs from 64 through 95? To route this network, just change the fourth byte of the routing statement to represent the bottom of the block:
route add [126.96.36.199]/27
Most of the networks in our plan will have a 32 host size. Some may support 64 hosts, and in that case the number of network bits is 26. A 16 host network would have 28 network bits. We don't plan to allocate any networks smaller than that.
So, to give an example, let's say that in your area two frequencies are used for TCP/IP -- one on 2M and the other on UHF. Each channel is treated as a separate network and is assigned its own block of addresses. In this ex- ample, the 2M network uses 32 addresses starting at 188.8.131.52 and the UHF channel uses 16 addresses starting at 184.108.40.206. If your station has a radio set to each of the two frequencies, you would have routing commands like this in your autoexec.nos file:
route add [220.127.116.11]/27 vhf # route the 2M network out the vhf interface route add [18.104.22.168]/28 uhf # route UHF out the uhf interface
That's all there is to it. To summarize:
1. The network number in a routing statement is the lowest address in the assigned block.
2. The number of network bits is:
64 hosts 26 32 hosts 27 16 hosts 28
3. The first and last addresses in a block are never assigned to a user. The bottom address is reserved as the network number, and the top address is reserved as the broadcast address for the network.