Mark writes: > Actually, this needs to be qualified a bit further because of > the possibility of subnetting. In essence, you don't want to > use the subnet addresses with all bits off or all bits on. As > an example: > > Assume your address is 192.168.001.xxx and your subnet mask > is 255.255.255.128 (that says that you're including the high > order bit of the rightmost octet as part of the network address > and not as part of the host address (e.g. you have two subnets > on 192.168.001 - subnet 0 and subnet 1). > > Valid addresses would be 192.168.001.001 to 192.168.001.126 and > 192.168.001.129 to 192.168.001.254 (or in essence, addresses 1-126 > on the second sub-net). You know, I used to think it was this simple too. You just pick some arbitrary point in the host part of your class-whatever IP address and extend the subnet mask to include the bits to the left of that point and use all the bits to the right for hosts. I was quite shocked a couple years ago to find that it's no where near as simple as this. You would think that a class C address which normally has 24 bits of "network" number and 8 bits of "host" number could have those 8 bits of host address used anyway you want to. So you could have one subnet (the full class C) of 0..255, or two networks 0..127 and 128..255, or four networks 0..63, 64..127, 127..191, 192..255, etc. Well, no such luck. Apparently, both the host part of the address and the *subnet* part must reserve both all zeros and all ones as broadcast addresses. This mans that you *can't* split a class C address exactly in half, as you would only have a single bit for the subnet part of the address, and both possible values would be reserved for broadcast addresses! So you always need at least two bits for the subnet and for the host part, and two of the possible values for each part (all zeros and all ones) are reserved. This means that while you can't (legally anyway) split a class C into two 128 address networks, you can split it into four 64 address networks, BUT TWO OF THESE ARE UNUSABLE because the subnet part of the address would be all zeros or all ones. Thus only subnets 01 and 10 are legal, and only addresses 64..127 and 127..191 can be used, thus wasting half your possible addresses! In reality very few people know about these official restrictions, and so there are lots of "illegal" configurations out there, but if you start trying to interoperate with multiple vendors router equipment then you may start having problems. For a Class C Network, these are your options for subnetting (adapted form the Farallon Netopia router config manual): Number of # of possible #of possible Total valid subnet bits subnets hosts per subnet host addresses ----------- ------------- ---------------- -------------- 0 n/a n/a 254 (no subnet) 1 0 Not useable 2 2 62 124 3 6 30 180 4 14 14 196 5 30 6 180 6 62 2 124 7 0 Not useable 8 0 Not useable G.