Rgd: Subnetting about 370 hosts on a /24 Network
I am doing subnetting for the following.
There is a school, which got level 1 which is main lobby and 5 levels of classrooms ( level 2 to 6 )
I calculated that level 1 will use 161 hosts.
Level 2-6 - each will use 55 hosts per level
So i was wondering how do i subnet it .
For the main IP address is 203.218.71.0/24
I was thinking to subnet 3/4 to Main Lobby - I can split the main lobby into 3 sections with about 60 hosts each section
I was thinking to subnet 1/4 to level 2-6 floor
Which then further subnet them by slicing into 2 slice ( 4 levels per slice )
Each slice will have about 60 hosts ( can settle 4 levels )
Total we will use 5 out of 8 slices ( 1/2 x 1/4 ) - 5 levels
But for the ip address, how do i do it, is my subnetting workable ?
My main purpose is to link the whole school and cover the internal network, which the one connect to the internet is the main router > which then distribute to the switch & access point and do the linking.
Thanks
Hope to see your comment & thanks for helping.
You can't put 370 hosts in a single /24 - there's only room for 254 hosts in a /24.
In any event, subnetting should be split by function and not by physical location.
Rather than looking at levels, look at what groups of systems actually need to be in the same broadcast domain. Use VLANs to allow machines to exchange traffic directly on the same subnet, even if they're on different floors.
Keep student accessible machines separate from school administration, and put a firewall between them.
Look at using NAT where appropriate (class room machines?).
Unless you have a specific need for every host to have a public IP address (which you can't do anyway, see Alnitak's response above), I would stay away from it, for a number of reasons. You don't need a /24, a /30 would likely suit your needs just fine, using .1 as your provider gateway and .2 as your main WAN IP.
Use NAT for your segments, and use a logical RFC1918 scheme. For example, use 192.168.1.0/24 for the first floor, 192.168.2.0/24 for the second floor, etc.. Factor in eventual growth, so maybe bump each segment up to a /22. Private IP space is free and plentiful. Use 10.0.0.0/8 and give out a /16 to each floor if you want, whatever works for your eventual needs.
Overall, good design trumps all. The alternative is a lot of wasted time and energy to re-number everything after the fact. If you need additional public IPs for a specific reason, change to suit your needs, but public IPs for classroom use is a big waste of precious IPv4 resources that can easily be served by NAT.
Also, when listing your equipment, it would be helpful to note the actual devices you are using, so appropriate procedures can be pointed out. As a start with NAT, here is the main Cisco doc for it (again, I have no idea what equipment you are using, so take this link with a grain of salt if you're not using Cisco gear):
http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080094e77.shtml
Related
I was studying about Classful addressing with subnetting and Classless addressing but I am not able to clearly understand the difference/advantages between the two of them.
Suppose I have a company wants only 32 public IP addresses I can give them a Class C address with a subnet of 27 bits. Similarly I could give them a CIDR subnet to achieve the same result.
|What is my advantage in using CIDR?
| Why was CIDR required even after subnetting can achieve the same result?
| Shortcomings of subnetting with classful addresses.
Thanks in advance.
You are confusing a couple of concepts. Inter-Domain routing under network classes required that entire address class blocks be assigned to a single entity. There was no way to route inter-domain traffic except by class. You could subnet within a single entity, but you could not divide a classful block between entities.
All CIDR is doing is saying that the classes no longer exist, and you can break up what used to be a classful address block among different entities.
Network classes no longer exist, and they really are studied only for historical purposes. Learn how to subnet using CIDR first (become expert at it), then you can learn about network classes as a history lesson.
Class A starts with first bit 0
Class B starts with first two bits 10
Class C starts with first three bits 110
Class D starts with first four bits 1110
Class E starts with first four bits 1111
My friend, classful addressing is basically dividing the total ipV4 range into five classes :
Class A
Class B
Class C
Class D
Class E
whereas CIDR is based on concept of subnetting.
In your example , your company wants 32 public ip addresses. When we give them a class C address for example : 192.168.2.0 , their company will be reserved for whole ip addresses in range 192.168.2.1 - 192.168.2.254.But they only want 32 ip addresses which means 223 ip addresses will be wasted. This is the constraint of classful addressing . Now if we look at just subnetting , class c ip address has default subnet of 255.255.255.0 so if we divide the range of 192.168.2.0 in 6 subnets each containing 32 available ip addresses your problem is solved. But, if we take this example to higher level we will require CIDR. According to traditional subnetting, we can not combine the addresses from the networks 192.168.2.0 and 192.168.3.0 because the netmask for class C addresses is 255.255.255.0.However, using CIDR notation, we can combine these blocks by referencing this chunk as 192.168.2.0/23. This specifies that there are 23 bits used for the network portion that we are referring to. With this ,the 24th bit can be either 0 or 1 and it will still match, because the network block only cares about the first 23 digits.
CIDR allows us more control over addressing continuous blocks of IP addresses. This is much more useful than the subnetting we talked about originally . Your example only requires subnetting but if we require huge amount of addresses so that we may require to link class C address with class B portion , we will require CIDR.
IP Addresses have stayed the same. What has changed is "How devices can determine Network and Node part from an IP Address. With classful IP Address based processing, the number of bits assigned to network and host parts were fixed. For example when processing ip addresses using classes concept, the system will first determine the class of the IP Address and then use predetermined subnet mask to determine the network portion and host portion.
For class A first octet is network bit which allows 126 networks to be represented.
Due to restrictions on number of hosts and networks imposed by classes, you can define your own subtask mask which represent the network and host part of an IP address regardless which IP Address class you are using. The way that subnet mask is represented in text is called the "CIDR Notation".
I'm studying IP classes and the topic of subnetting is confusing me.
I'm doing some practice questions and the question I'm stuck on requires me to find number of addresses under each subnet.
What I have so far is, a block 211.17.180.0/24 from which I was able to obtain subnet mask /24 = 255.255.255.0. And that there's 32 subnets. I'm not too sure how to proceed from this point. Normally, I would say there's 254 usable addresses (excluding 211.17.180.0 and 211.17.180.255) but I'm not sure how to deal with 32 subnets.
Ok, I may have figured out how to solve this problem
Since there are 32 subnets, I multiply by 2, getting 64 addresses(multiply because there are 2 unusable address per every subnet)
Then, 256-64=192/32=6, so, there are 6 addresses per every subnet in this block.
I'm not sure if this is the right way to solve this problem, some confirmation would be really appreciated!
From what I understand, the problem mentions that there are 32 subnets inside the /24 block.
Your answer is correct, here's an alternative way to think about it if you think this is confusing:
If there are 32 subnets, it means you'll need 5 bits to encode subnet identification (211.17.180.0/29 through 211.17.180.31/29), which leaves you with 3 usable bits for the host IP on each subnet; since 2 addresses are unusable on each subnet, we get at most 2^3-2 = 6 usable addresses per subnet.
A large number of consecutive IP address are available starting at 198.16.0.0. Suppose that four organizations, A, B, C and D request 4000, 2000, 4000, and 8000 address, respectively, and in that order. For each of these, I need to give the first IP address assigned, the last IP address assigned, and the mask int the w.x.y.z/s notation. Please explain for each organization.
Now, a few years after this question was asked I was struggling with the same task.
Actually it is a problem from Andrew Tanenbaums Computer Networks Book and you are not allowed to sort stuff :)
To solve this one you need to do as follows:
You are starting with 198.16.0.0
Now company A requests 4000 IPs. You have to round this number (and any later request too) up to a power of two - 4096.
Now let's think: An IP-address consists of 32 Bit. Some of them are network Bits and some are host Bits (if this is new for you read this). How many host Bits do you need, so company A gets 4096 hosts? Right: log²(4096) = 12. So the remaining 20 Bits (32-12) are reserved for the network. Now we already have the start IP-address for company A and also the subnet mask: 198.16.0.0/20 (again if this confuses you read the link above).
Now we need to determine the last IP-address for company A.
To do so we look at our IP and subnet-mask in binary (consider "|" the boundary between network part and host part of the ip-address):
Start-IP (A):
11000110.00010000.0000|0000.00000000
Subnet-Mask(/20):
11111111.11111111.1111|0000.00000000
As you can see, now you have 12 Bits for your hosts, all of them are free to change so you have all in all 2^12 possibilities = 4096..
The last available IP would be the one, where all hosts are equal to 1:
End-IP:
11000110.00010000.0000|1111.11111111
In dezimal this would look like:
198.16.15.255
Now let's look at company B:
it requests 2000 - we round it up to the power of two: 2048
log²(2048)= 11 host-bits = 21 network-bits = /21
Now remember the last IP we assigned to A was:
End-IP:
11000110.00010000.00001111.11111111
So the next available one should be bigger by at least 1 right?
11000110.00010000.00001111.11111111 +1 = 11000110.00010000.00010000.00000000 = 198.16.16.0
We should be able to use this one as the start IP for company B
Lets try this out with our netmask of /21:
Start-IP (B):
11000110.00010000.00010|000.00000000
Subnet-Mask(/21):
11111111.11111111.11111|000.00000000
Seems to be working! We have 11 host Bits so we can connect 2^11 hosts =2048.
The last usable IP-address however will be the one where all host bits are equal to one:
11000110.00010000.00010|111.11111111 = 198.16.23.255
Now with company C things start to get complicated, please bear with me:
The problem here is, that they require more IPs then their predecessor. But we will handle it anyway :)
Company C wants 4000 IPs we round it up to 4096 and calculate the number of hosts bits as before: hosts=20.
Now we will try the same approach as before, so that you can see the problem:
We take the last assigned IP-address and increment it by one:
11000110.00010000.00010111.11111111 + 1=
11000110.00010000.00011000.00000000
Now let us apply our netmask of /20 on this IP:
Start-IP (B):
11000110.00010000.0001|1000.00000000
Subnet-Mask(/21):
11111111.11111111.1111|0000.00000000
Now you should see the problem:
We have have a 1 in our host-bit section. Therefore we can not use all 12 Bits but only 11 which would give us only 2^11 =2018 hosts.
So you might wonder: What if we just turn the 1 in the host part to a 0? Well in that case you would completely collide with the IP-addresses you provided to company B. So this is not an option. The only way is to "push" the 1 in to the network-bit section by applying the increment to the network section only, so that instead of:
11000110.00010000.0001|1000.00000000
you get (incrementing network part only: 11000110.00010000.0001 + 1)
11000110.00010000.0010|0000.00000000
which is equal to 198.16.32.0
the last ip would be again, where all host-bits are equal to 1 so
198.16.47.255
Now you can do the same thing with company D :)
The results should be:
A: 198.16.0.0 – 198.16.15.255 written as 198.16.0.0/20
B: 198.16.16.0 – 198.16.23.255 written as 198.16.16.0/21
C: 198.16.32.0 – 198.16.47.255 written as 198.16.32.0/20
D: 198.16.64.0 – 198.16.95.255 written as 198.16.64.0/19
I'm going to keep it short. You should learn the basics of subnetting by Googling for information, I can suggest Cisco for excellent learning material.
Your network, 198.16.0.0 /16, offers you 16 bits to use as subnet/host bits. This entire network offers a bit more than 65.000 hosts.
Step 1 - Sort your subnets, starting with the subnet requiring the most amount of hosts. 8000, 4000, 4000, 2000
Step 2 - How many host bits do you need for 8000 usable hosts? 13 host bits: 2^13 = 8192 hosts - 2 = 8190 usable hosts
Step 3 - We know we need 3 subnet bits, so we can add 3 towards the 16. Our new subnet mask for this subnet is /19.
Now we'll need to use binaries to figure out the complete first subnet. All zeroes in the host part gives you the network id and all ones in the host part gives you the broadcast id.
198.16.000|00000.00000000 = 198.16.0.0
198.16.000|11111.11111111 = 198.16.31.255
Step 4 - Your subnet for Organisation with 8000 usable hosts is 198.16.0.0/19.
Network ID: 198.16.0.0
First usable host: 198.16.0.1
Last usable host: 198.16.31.254
Broadcast ID: 198.16.31.255
Now we repeat those steps for the remaining 3 Organisations.
Step 1 - We know our next subnet needs to support 4000 usable hosts.
Step 2 - How many host bits do you need for 4000 usable hosts? 12 host bits: 2^12 = 4096 hosts - 2 = 4094 usable hosts
Step 3 - We know we need 4 subnet bits, so we can add 4 towards the 16. Our new subnet mask for this subnet is /20.
Now we'll need to use binaries to figure out the complete first subnet. All zeroes in the host part gives you the network id and all ones in the host part gives you the broadcast id.
Because we have already subnetted the network, we start where we ended.
198.16.0010|0000.00000000 = 198.16.32.0
198.16.0010|1111.11111111 = 198.16.47.255
Step 4 - Your subnet for Organisation with 4000 usable hosts is 198.16.32.0/20.
Network ID: 198.16.32.0
First usable host: 198.16.32.1
Last usable host: 198.16.47.254
Broadcast ID: 198.16.47.255
I have shown you the way for the first two. You can do the last two yourself as practice. Remember to first do the subnet with 4000 hosts and then the subnet with 2000 hosts. If you have any questions, don't hesitate to ask.
To start with, all the requests are rounded up to a power of two. The starting address, ending address, and mask are as follows 1:
A: 198.16.0.0 – 198.16.15.255 written as 198.16.0.0/20
B: 198.16.16.0 – 198.16.23.255 written as 198.16.16.0/21
C: 198.16.32.0 – 198.16.47.255 written as 198.16.32.0/20
D: 198.16.64.0 – 198.16.95.255 written as 198.16.64.0/19
This was one task I had as homework I just can't seem to understand. And my teacher is having a hard time explaining it to class. So here I am:
The problem:
What is the subnet mask of following host-address range? 99.224.0.1 - 99.239.255.254
My solution (or as far as I got)
First i wrote down the IPs in binary:
99.224.0.1
01100011.11100000.00000000.00000001
99.239.255.254
01100011.11101111.11111111.11111110
What I know is this is a A class network. And I thought it must have something to do with the difference in the bits, so I started to compare. (highest first)
01100011.11101111.11111111.11111110
01100011.11100000.00000000.00000001 (diff)
-----------------------------------
00000000.00001111.11111111.11111111
I ignored the last bit, because of the network / broadcast address.
Now I can turn it around and have my subnet mask?:
11111111.11110000.00000000.00000000
255.240.0.0
My question is: Is my approach correct? Is there an easier way to do it (by hand, or calc)?
If I'm very far from the correct way to do it, could someone help me understand?
Thanks for any help.
Your answer is correct, except that classful addresses don't exist anymore. The internet moved to Classless Inter-Domain Routing (CIDR) in 1993 so your terminology is a bit outdated ;)
IP networking these days works with routing prefixes. A prefix is a range of IP addresses defined by the first address in that range and the number of fixed bits at the start of the address. Your example shows this nicely.
Your example range is 99.224.0.1 - 99.239.255.254. Actually it is 99.224.0.0 - 99.239.255.255 because when used on a subnet the first and last addresses are reserved (but still part of the subnet and prefix).
The first address in the prefix we already have: 99.224.0.0. You can see the prefix length from your binary calculation (slightly modified):
01100011.11101111.11111111.11111111
01100011.11100000.00000000.00000000
----------------------------------- (xor)
00000000.00001111.11111111.11111111
----------------------------------- (not)
11111111.11110000.00000000.00000000
Just count the number of 1s at the beginning: 12. So your prefix is 99.224.0.0/12. This prefix covers all addresses that match 01100011.1110****.********.********.
When writing the prefix length down as a subnet mask you indeed get 255.240.0.0.
A little off-topic here because it is about networking and not about the algorithm to calculate the subnet mask, but maybe helpful: an example of how you can plan network addressing:
Lets say that for my office building I get IP addresses 192.0.2.0/24 (that is 192.0.2.0 - 192.0.2.255, subnet mask 255.255.255.0, 256 addresses). I need 50 addresses for servers, 100 addresses for employee devices and 40 addresses for guests.
Because addressing works with prefixes everything you get is a power of 2. If you use a /24 you have a prefix with 256 addresses. The full address is 32 bits, the first 24 are fixed so you have 8 bits left to use. 28 = 256. If you use a /25 you have a prefix 128 addresses, a /26 has 64 addresses etc.
That way you can also split up a prefix. 192.0.2.0/24 can be split up into 192.0.2.0/25 and 192.0.2.128/25. And those can be split again and again until you have a prefix that covers only a single address: a /32.
back to the example. To get (at least) 50 addresses for the servers I need to round up to the next power of 2. That is 26 = 64. To have that many addresses I need a /26 prefix. For the client devices I need to round up to 128 (27) so we need a /25. For the guests the next power of 2 is 64 (26) so a /26.
So we need to split up out /24 into a /25 and two /26s. One possible solution is:
Client devices: 192.0.2.0/25
Servers: 192.0.2.128/26
Guests: 192.0.2.192/26
Once we configure these subnets on our devices the first and last address of each subnet become special (the network and broadcast address) so we can use these ranges for our devices:
Client devices: 192.0.2.1 - 192.0.2.126
Servers: 192.0.2.129 - 192.0.2.190
Guests: 192.0.2.193 - 192.0.2.254
I'm trying to make a list of all MAC addresses that are reserved, do not exist, should not be used, should only be used locally etc. (Just like the list of reserved IP-addresses on Wikipedia, but for MAC.) Basically I want to loop over all MAC-addresses from a switch and filter out the "real" ones.
This page suggests all addresses starting with 00-00-5E or 01-00-5E are reserved, but when I look them up it seems like 00-00-5E is also assigned to the Information Sciences Institute (part of a university in California).
So 2 questions:
1) Is there any place I can find a list of reserved MAC-adresses?
2) What's up with 00-00-5E? Is only part of that range reserved, or is there some reason they assigned it to ISI?
I was just looking into this myself recently. I believe that the IANA (which you refer to in one of your links) will give the most authoritative answer: IANA Ethernet Number Assignments
I don't think that this means that these addresses can never be used though. According to RFC5342, Section 2.1
"The 2**8 unicast identifiers from 00-00-5E-00-00-00 through 00-00-5E-00-00-FF are reserved and require IESG Ratification for allocation (see Section 5.1)."
So basically, it appears you need special permission from IESG (Internet Engineering Steering Group) to get an address in that range, which I suppose the ISI has obtained somehow.
Section 2.1 of RFC5342 deals with 48-Bit MAC Identifiers and OUIs, and it doesn't make any mention of any address ranges that are strictly forbidden or permanently reserved from what I've understood.
The following OUI are reserved as per RFC 5342:
OUI 01:00:5E:(00:00:00-7f:ff:ff) - Used for IPV4 Multicast and MLPS Multicast.
OUI 00:00:5E:(00:01:00 – 00:01:FF) - Used for Virtual Router Redundancy Protocol (VRRP) IPV4
OUI 00:00:5E:(00:02:00 – 00:02:FF) - Used for Virtual Router Redundancy Protocol (VRRP) IPV6
OUI 33:33:00 – 33:33:FF - Reserved for IPV6 Multicast
OUI CF:00:00 – CF:FF:FF - Reserved by IANA for PPP(Point to Point Protocol)
OUI 00:00:5E (00:00:00 - 00:00:FF) - Requires IESG Ratification for allocation.
Was looking into this myself.. I know it's been a while since the post was active.. but I found these to be ok to use locally:
x2-xx-xx-xx-xx-xx
x6-xx-xx-xx-xx-xx
xA-xx-xx-xx-xx-xx
xE-xx-xx-xx-xx-xx
Source: https://honeywellaidc.force.com/supportppr/s/article/Locally-Administered-MAC-addresses
The registration authority for MAC addresses is the IEEE. It hands out OUIs (Organizationally Unique Identifiers), which give you a three byte prefix, and 2^24 addresses within it, for a fee (currently 2 995USD). You also get the rights to the corresponding multicasts, which have the prefix with the lowest bit of the first byte set. For instance, 00:80:C2 is allocated to the IEEE 802.1 committee, which uses 01:08:C2:00:00:00 for Spanning tree.
So, there isn't really a list of reserved addresses. There is a list of OUIs that have been allocated, unless the buyer has paid (a lot) extra for privacy. You can use any address that has the local bit set freely. A tiny fraction of multicast addresses have a significant meaning because heavyweights like IEEE, Cisco, IANA assign meanings to them. From the IEEE registration point of view, there is no particular significance to these blocks (except possibly to those it has allocated to itself).
Now, how did the 01-00-5E range end up allocated to the Information Sciences Institute? The simple
answer is that they paid for it. So, really the question should be 'how did the Internet get to use part of the range allocated to ISI?'. The answer is that the IANA used to be run from an office in ISI: specifically IANA was the legendary Jon Postel
Bottom line: you are on a bit of a fool's errand. You can distinguish local addresses and multicast addresses, and make some attempt to tie up allocated unicast addresses to vendor blocks. And you can probably do a bit more with well-known multicast addresses but only by tracking down individudal vendor's documentation (IANA is obviously an important one but only definitive for 1 of the 2^22 available blocks). One of the best places to start is probably the Wireshark codebase.