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.
FIRST:
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.
SECOND:
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.
Thanks for everyone's time (and patience!).