I know that subnetting questions come up time and again but I don't think that these have cropped up, nor do I think that they're answered in the excellent subnetting series here.
I have to subnet 192.168.0.0 to provide 2 usable subnets and 4 usable hosts per subnet. I could borrow 2, 3, 4 or 5 bits to give 192.168.0.0/26, 192.168.0.0/27, 192.168.0.0/28 and 192.168.0.0/29 and, as far as I can see, each of these solutions will work. My "gut" feeling is to go with either /27 or /28 as either of them will give me the greatest room for expansion in the future, but is there a "best" solution? What I mean is does one of the 4 possible solutions provide the best network in terms of performance (benchmark)? I realise that this scenario is a network of trivial size but I'd like to get the concept right before I even consider a business-wide network of maybe 1,000 hosts.
When borrowing bits, I understand that at least 2 must be taken and at least 2 left (so a class C network can't be subnetted to 192.168.0.0/25 or 192.168.0.0/31). I know that the first and last host addresses can't be used (network and broadcast addresses respectively) but why can't the first and last sub-networks be used? I've set up a simple P2P between 2 PCs and I can ping between them if one is 192.168.0.1/25 and the other is 192.168.0.2/25 so the first sub-network addresses are accepted by the PCs.
I hope I understood correctly what I've been told (for the second problem) and that I've explained my questions sufficiently.
In answer to your first question I don't think there is any 'best' answer; you have to try to take a view of where the networks will be going and what might be required in future and then choose the best scenario that gives you the balance between flexibility, expansion and control (by which I mean tying down your hosts into the smallest groups you can). There can't really be a 'right' answer to that; it's down to your judgment. However if you're studying subnetting for CCNA or similar pay attention to the working. If they say something like "eight subnets with at least six hosts per subnet" then there might be more than one 'right' answer to the question and you'll be expected to get them all.
In answer to your second question, you can use the first subnet and it will work but some schools of thought say you're not supposed to. For example, Cisco kit won't accept it unless you first use the ip subnet zero command, and you mustn't include it on the CCNA exam or they'll mark it as wrong. As to the last subnet, I used to know why but I can't remember (must be age). Perhaps someone else will elaborate
Thanks for the feedback. It seems that my "gut" feeling about the first question is right. I just wanted to know if any of the solutions was more "right" than any of the others. I quite understand the comment about reading the CCNA questions carefully.
I look forward to further comments about the second question.
Using subnet zero for addressing was discouraged because of the confusion inherent in having a network and a subnet with indistinguishable addresses.
The All-Ones Subnet
Use of the all-ones subnet for addressing has been discouraged in the past because of the confusion inherent in having a network and a subnet with identical broadcast addresses.
Problems with Subnet Zero and the All-Ones Subnet
Traditionally, it was strongly recommended that subnet zero and
all-ones subnet not be used for addressing. According to RFC 950 , "It is useful to preserve and extend the interpretation of these special (network and broadcast) addresses in subnetted networks. This means the values of all zeros and all ones in the subnet field should not be assigned to actual (physical) subnets." This is the reason why network engineers required to calculate the number of subnets obtained by borrowing three bits would calculate 23-2 (6) and not 23 (8). The -2 takes into account that subnet zero and the all-ones subnet are not used traditionally.
However, if a network engineer working with a Cisco IOS software release older than 12.0 finds it safe to use subnet zero, the ip subnet-zero command in the global configuration mode can be used to overcome this restriction. As of Cisco IOS Software Release 12.0, Cisco routers now have ip subnet-zero enabled by default,