Hi would someone be able to assist with the following question? The question is from a past paper in preparation for an exam.
Consider a router that interconnects three subnets: Subnet 1, Subnet 2, Subnet 3. Suppose all of the interfaces in each of these subnets are required to have the prefix 223.1.17/24. Also suppose that subnet 1 is required to support up to 125 different hosts, and subnets 2 and 3 are each required to support up to 60 different hosts.
Provide three network addresses (of the form a.b.c.d/x) that define the beginning of the IP address range for each subnet, and explain your reasoning.
I think the answer is the following, but I'm not sure.
Subnet 1: 223.1.17.1/25
Subnet 2: 223.1.17.128/26
Subnet 3: 223.1.17.193/26
Regards.
Not quite, Network addresses are always the first Addresses in a Subnet, so the answers would be:
223.1.17.0/25, beginning of IP Address Range: 223.1.17.1 (until .126)
223.1.17.128/26, beginning of IP Address Range: 223.1.17.129 (until .190)
222.1.17.192/26, beginning of IP Address Range: 223.1.17.193 (until .254)
Other than that, your CIDR-Subnet Length is correct, 1 needs at least 126 Hosts (- BC and NA), which justifies /25 -> 24 bits for Class C, 1 bit for Subnet and 7 bit(=2^7 = 128 - Broadcast - Network Address = 126) for hosts, No. 2 and 3 need at least 62 Hosts (-BC and NA) each.
You can see that by using a IP calculator. There are many on the net that also show you some more details..
My favorite (including IPv6) is at http://netools.ch
Related
Can someone explain exactly how CIDR blocks work and how it translates into 0.0.0.0/32 for example? Please use laymen’s terms or perhaps even an analogy to something not network related. Can’t seems to find an explanation that clicks with me. Thanks!!
Classless Inter-Domain Routing (CIDR) blocks are for specifying a range to IP addresses in format of IPv4 or IPv6. For the sake of simplicity I will explain rest of this in format of IPv4 however it is applicable to IPv6.
General format for CIDR Blocks: x.y.z.t/p
x, y, z and t are numbers from 0 to 255. Basically, each represents an 8 bit binary number. That's why it is range is up to 255. Combination of this numbers becomes an IPv4 IP address that must be unique to be able to identify a specific instance.
In case of AWS, p is a number from 16 to 28. It represents the number of bits that are inherited from given IP address. For example: 10.0.0.0/16 represents an IP address in following format: 10.0.x.y where x and y are any number from 0 to 255. So, actually it represents a range of IP addresses, starting from 10.0.0.0 to 10.0.255.255.
However for each CIDR block, AWS prohibits 5 possible IP addresses. Those are the first 4 available addresses and the last available address. In this case:
10.0.0.0: Network address
10.0.0.1: Reserved for VPC router
10.0.0.2: DNS server
10.0.0.3: Reserved for future use
10.0.255.255: Network broadcast
See here for official doc.
Actually this is one of the main reasons why AWS permits numeric value of p up to /28. Because for p=30, there will be 4 available values however AWS needs 5 IP address to use. In my opinion for p=29, they might found it inefficient to occupy 5 addresses to provide 3 possible IP address.
Number of possible IP addresses can be calculated by using this formula:
NumberOfPossibleIPs = 2^(32-p) - 5
Classless Inter-Domain Routing (CIDR) block basically is a method for allocating IP addresses and IP routing. When you create a network or route table, you need to specify what range are you working in. "0.0.0.0" means that it will match to any IP address. Some IP addresses are specific, like 10.0.0.0, which will match to any IP address beginning with 10. With any IP address range, you can be more specific by using a suffix(something like /32 from your example). These allow the notation to specify number of bits to be used from Prefix(actual IP-range like 10.0.0.0). It represents the bit length of the subnet mask, as indicated above. The subnet mask is like masking when painting. You place a mask over what you DO NOT want to paint on.
For example, 10.10.0.0/16 will have 256 * 256 IP address in its range.
NOTE: Some of the IP address in a range are reserved for various purposes. According to AWS VPC documentation, following are the reserved IP addresses.
10.0.0.0: Network address.
10.0.0.1: Reserved by AWS for the VPC router.
10.0.0.2: Reserved by AWS. The IP address of the DNS server is always the base of the VPC network range plus two; however, we also reserve the base of each subnet range plus two. For VPCs with multiple CIDR blocks, the IP address of the DNS server is located in the primary CIDR. For more information, see Amazon DNS Server.
10.0.0.3: Reserved by AWS for future use.
10.0.0.255: Network broadcast address. We do not support broadcast in a VPC, therefore we reserve this address.
Hope this helps!
All of the above answers are great, but are missing something pretty important for the people who don't understand addressing.
IP addresses are literally just a string of binary, broken up into 4 "octets". Each octet is a 2^8 block; 00000000. So to a machine, an IP address looks like this (with (.) added for human-ness):
00000000(.)00000000(.)00000000(.)00000000
When we're talking about the "mask" on the IP address, it means "the bits that don't change". The /8 or /255.0.0.0 on the end of the block signifies the number of bits that are not allowed to be used by this network.
So, lets say we have a CIDR block of 10.0.0.0/8 - this can also be written in the format 10.0.0.0/255.0.0.0, and you may in fact see this for of notation in older versions of linux. You will also note that 255 is the decimal representation of the binary string 11111111 - 8 binary "ones". So what the machine sees is the following:
Net: 00001010(.)00000000(.)00000000(.)00000000
Mask: 11111111(.)00000000(.)00000000(.)00000000
The part of the mask with 0's is usable address space within the network.
So the following example addresses are valid in this network, because on the 0 parts of the masked range are changing:
00001010(.)00000001(.)00110000(.)00111000
00001010(.)00110001(.)00110100(.)00111001
When we say "cidr block" we simply mean "the human-readable shorthand way of expressing binary strings understood by a machine". In the above example, the first octet can be expressed as 10, and the latter octets 0. And the Mask can be expressed as 255 and the latter octets of 0, or; because the mask is always a sequence of 1's, then a sequence of 0's, the length of the 1's, i.e. 8
And as such, we get a cidr of 10.0.0.0/255.0.0.0, or 10.0.0.0/8
A few more examples:
-- 172.1.1.0/24
net: 10101100.00000001.00000001.00000000
mask: 11111111.11111111.11111111.00000000
^ 24 bits for the mask ^ 8 bits of usable space
-- 10.10.10.8/29
net: 00001010.00001010.00001010.00001000
mask: 11111111.11111111.11111111.11111000
^ 29 bits for the mask. ^ 3 bits of usable space
Importantly though, this is only one aspect of networking. Usually a couple of these are reserved for things. See other answers for AWS specific things. In their examples, the "first 4" ip addresses reserved for AWS will be the first 4 usable addresses, which would be
...00 - Network address
...01 - Router
...10 - DNS
...11 - Futureproofing
The address of a class B host is to be split into subnets with a 6-bit subnet number. What is the maximum number of subnets and the maximum number of hosts in each subnet?
62 subnets and 262142 hosts.
64 subnets and 262142 hosts
62 subnets and 1022 hosts.
64 subnets and 1022 hosts.
My attempt :
In class B network ID is 16 bits. Given 6 bits for subnet ID, so remaining bits for host ID is = 32- (16+6) = 10 bits.
Maximum number of hosts in each subnet = 2^(number of bits for hosts) - 2(all 0's and all 1's not allowed in hosts IDs, because first is subnet ID while last is broadcast ID) = 2^10 - 2 = 1022.
I've read somewhere :
Subtracting 2 from host IDs is necessary while subtracting 2 from
subnet IDs is not necessary.
So, maximum number of subnet IDs is = 2^(number of bits for subnet ID) - 2(not compulsory) = 2^6 = 64 is maximum.
Can you explain please, Is subtracting 2 from subnet ID necessary?
Many years ago, you had to subtract 2 from the number of subnets, and older network documentation and training still states this. This was clarified in an RFC to not be the case. With the IPv4 address shortage, you need to be able to use every subnet available.
FYI, there is one exception to the rule about not using the subnet and broadcast addresses for hosts: you can use a /31 subnet for point-to-point links. The RFC which clarifies this is 15 years old, but many people still use /30 thinking it is the smallest subnet available. Using /31 will double the number of point-to-point links which you can have.
I figured out the subnet mask for both subnets 1 and 2. My problem is I can't grasp how the subnet turns to 172.20.11.254 and 172.20.13.254 respectively? I assume this is VSLM, but not certain. I'm just learning this. I got 172.20.8.0 and 172.20.6.0 as my subnet and I know that is wrong now. Thanks for any help you can provide.
To determine which subnet mask will work for the 172.20.0.0 network, first look at the number of hosts required for each subnet:
Subnet1 (connected to FastEthernet0/0) has 672 hosts. To support 672 hosts, a subnet mask of /22 is required (10 host bits in the 2n-2 formula will afford 1022 host addresses in the subnet).
Subnet2 (connected to FastEthernet0/1) has 258 hosts. To support 258 hosts, a subnet mask of /23 is required (9 host bits in the 2n-2 formula will afford 510 host addresses in the subnet).
With a network address of 172.20.0.0 and the masks needed to fit the requirements, you need to configure the following IP address and subnet masks:
For the FastEthernet0/0 connection:
172.20.8.0/22 is the third possible subnet. (172.20.0.0/22 is the first possible subnet and 172.20.4.0/22 is the second possible subnet.)
172.20.11.254 is the last possible IP address in the subnet.
255.255.252.0 is the decimal version of a 22-bit mask.
For the FastEthernet0/1 connection:
172.20.12.0/23 is the next available subnet that does not overlap.
172.20.13.254 is the last possible IP address in the subnet.
255.255.254.0 is the decimal version of a 23-bit mask.
Use the following commands to configure the SFO interfaces:
SFO>enable
SFO#configure terminal
SFO(config)#interface FastEthernet0/0
SFO(config-if)#ip address 172.20.11.254 255.255.252.0
SFO(config-if)#no shutdown
SFO(config-if)#interface FastEthernet0/1
SFO(config-if)#ip address 172.20.13.254 255.255.254.0
SFO(config-if)#no shutdown
SFO(config-if)#exit
SFO(config)#exit
SFO#copy run start
I detect some desperation, so let's see if I can convey and understandable explanation. :-)
172.20.0.0 seems to be the address space destined for you to use in this exercise. That is a class B network (255.255.0.0, or /16 netmask), but since we're going to subnet it variably, you can safely forget that. For example, you could subnet all of it it in small, class C subnets (all with a mask of 255.255.255.0, or /24), and if you did you would use 172.20.0.0/24 for one network, 172.20.1.0/24 for another, 172.20.2.0/24 for another, and so on. But if you did that, each subnet would be able to hold no more than 254 hosts (that is because you leave the last octet - 8 bits - for the host portion, and you have to reserve two - the first and last - for the subnet address and the broadcast address: 2^8-2=254).
But 254 hosts is not enough for your needs, since you have requirements for 672 and 258.
If you use a smaller sized mask (meaning larger sized network -> more hosts) like a /23 (255.255.254.0) you now have 9 bits for the host portion, therefore you can acommodate 2^9-2=510 hosts, big enough for 258, but not for 672. So for the latter you will need a /22 network (255.255.252.0), which will leave 10 bits for the host portion thus allowing 2^10-2=1022.
With each bit you reduce in the netmask, you double your network size. So if a /24 goes from 172.20.0.0 to 172.20.0.255 (the single '0' class C network), a /23 goes from 172.20.0.0 to 172.20.1.255 (two class C networks, '0' and '1'). And a /22 goes from 172.20.0.0 to 172.20.3.255 (four class C networks). In each case the first address is considered the network address and is not assigned to any device, and the last one is the broadcast address, and is not assigned either.
So, back to your example, they choose to assign the 3rd /22 network (1st being from 172.20.0.0 to 172.20.3.255, 2nd being from 172.20.4.0 to 172.20.7.255, and 3rd being from 172.20.8.0 to 172.20.11.255) to that particular subnet. So 172.20.8.0/22 it is. And they choose to assign the 7th /23 subnet possible (1st is '0' and '1' class C's, 2nd is '2' and '3' class C's, and so on) to the other subnet. So 172.20.12.0/23 it is for it. Remember that they cannot overlap!
Now, as to why they chose the .254 addresses for the router interfaces, that is just a convention. Router interfaces are usually configured to use either the first usable (.1) IP address or the last usable (.254) IP address in their subnets, at least on the LAN side. Note that your subnets' broadcast addresses are 172.20.11.255 for the /22 and 172.20.13.255 for the /23. In both cases they picked for the router interfaces the address which is one below them, i.e. the last usable address. But it could have been any one in the corresponding range.
Did that help?
Had my own self notes which has gone missing in the worst of times. Desperately trying to figure out if I have got the calculations right for subnet masking in the following questions. I have answered them all. Just wish to be sure I got it right.
It is not a help with some outstanding homework. It is for my upcoming exams. Really appreciate any help. Thanks.
Need 5 subnets for class C network. starting ip address is 192.168.0.0
subnet mask is 255.255.255.0
Questions:
1. How bits are borrowed from to make the subnet?
ANS: Borrowed from the host portion of the IP address. In this case we need 5 subnets so it
will be 2 to the power of 3 (Cos 2 to the power of 2 only gives 4 subnets - not enough).
2. How many subnets are now available?
ANS: 8 subnets are available. 2 to the power of 3 is 8.
3.What is the new subnet mask?
ANS: 255.255.255.224
4.How many host addresses available in each subnet?
ANS: 8
5.How many host addresses can be used in each subnet and why?
ANS: 7. 192.168.0.0 is reserved.
6.What is the IP address of each subnet?
192.168.0.0
192.168.0.32
192.168.0.64
192.168.0.96
192.168.0.128
192.168.0.160
192.168.0.192
192.168.0.224
This is really more suited for other StackExchange sites (like ServerFault), but I can help.
1) Correct. Although you may want to specifically mention that since 2^3 (2 to the power of 3) gives you enough subnets (8), then you borrow 3 bits from the host portion of the address. So the new subnet mask is /27 (24+3), or, as you correctly mention in Q3, 255.255.255.224.
2) Correct.
3) Correct. May also be noted as /27.
4) Wrong. Since from the last octet you borrowed 3 bits for subnetting, you only have the last 5 bits for host addresses. That gives you 2^5 = 32 host addresses in each subnet.
5) Wrong. Out of the 32 addresses available, the first from each subnet is reserved as the subnet's network address, and the last one from each subnet is reserved as the subnet's broadcast address. Therefore, you're left with 30 addresses (2^5 - 2) you can actually use in each subnet. For example, in the first of the subnets, 192.168.0.0 is the network address and 192.168.0.31 is the broadcast address. 192.168.0.1 through 192.168.0.30 are usable.
6) Correct.
Let me know if that helps!
I have a quick query about using VLSM. I need to adopt a optimized addressing scheme making use of VLSM, I have 3 networks in total connected via two different routers, router 1 has a network of 300 hosts and another network of 25 hosts. Router 1 is connected to router 2 and that has an additional 82 hosts. Would it be possible to do this scheme over two IP addresses?
Lets say my starting IP is 182.20.1.0, how would this work?
You would at least need 4 subnets (between router 1 and 2 you need a /30 subnet). You need to reserve ip addresses for each subnet starting from the subnet with the highest number of hosts.
The number of hosts determines how big your subnets will be. You can have (2^n-2) host for every subnet, having n the number of reserved bits.
So for your first subnet you'll need 9 bits, leaving you with a /23 subnet.
Start over for your next subnet with the next available ip address.