172.23.0.0, is a class B address, so the default subnet mask is 255.255.0.0 /16.
For 2100 subnets, you would do 2 ^ 12 = 4096 possible subnets
For host, do 2 ^ 4 = 16 - 2 = 14 possible hosts per subnet.
The subnet is 255.255.255.240, because you borrow 12 bits of host portation to determine the subnet mask. Remember its a class B adress, so 255.255.0.0 or /16, it use 16 bits. So do the math 16 bits (default) + 12 bits (subnets) = 28 (255.255.255.240, or /28).
Hope it help you,
To make it short and easy at a CCNA level, most of the information is irrelevent. You have been asked to design a subnet mask that is uniform for all subnets.
The only relevent part of the question at this point is how big should each subnet be. You have been asked to design the subnets to contain up to 10 hosts each. Therefore each subnet should be at least 12 ip addresses large. That's 10 hosts plus the network address and the broadcat address.
You must divide based on powers of two, so 1, 2, 4, 8, 16, 32 etc...
The smallest number able to contain 12 addresses is 16.
This means you would take 256, subtract 16 and be left with 240.
This shortcut only works for up to 254 hosts, to go past that, you would need to add a few steps to handle the 8-bit boundary.
You can tackle this from one of two ways. 1st you can look at how many subnets you need, in this case 2100, then you go about determining how many bits you need for that many subnets. 2nd you can look at how many host you need for a subnet, in this case 10.
Going the first route. You have a class B address, which means 16 bits for hosts and 16 bits for the network. the first 16 bits for the network are fixed, so we have a mask of 255.255.x.x to start with. With the remaining 16 bits from the hosts, we have to determine how many bits will give us the desired number of subnets.
For me 2^10 = 1024, is always a good place holder. What we need is at least 2100 subnets, so we have 2^12 = 4096. Now this may seem like overkill, but its what needs to be done to follow the rules, as 2^11 = 2048, which is not enough.
So looking at it from that point of view, we have 12 bits for subnets, which gives us 255.255.255.240 for a subnet mask. In binary it looks like 11111111.11111111.11111111.11110000, where you filled in the next 12 bits as 1s, and the remaining 4 as 0s.
Now if we do it from the host perspective, we need at least 10 hosts. Which means 2^4 = 16, as 2^3 = 8, is not enough. From this side we have 16 bits for hosts, but we only used 4, which leaves us with 12 bits for subnets.
There are several ways to do these types of problems, you just need to figure out which way works best for you, and go with it.