What does the AAAA in an AAAA record mean? I am guessing it is for address:address:address:address but couldn't even find a mention of AAAA in the IPv6 specification. Please provide a source.
"In the standard DNS zone format you use AAAA records – or “quad-a”. A
32 bit IPv4 address is an A record. IPv6 is four times the size – 128
bits – so it ended up being a quad-A record."
Taken from: http://ipv6friday.org/blog/2012/01/ipv6-and-dn
Related
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.
I am told that one can derive the port number if the IP is of the given form.
How does one do that? My searches didnt lead me anywhere
Edit ==
I am leaving the question containing the term IP address as this is something many people are likely to search for. Technically, from the document linked in the answer
If
this command is used, the argument is the concatenation of a
32-bit internet host address and a 16-bit TCP port address.
This address information is broken into 8-bit fields and the
value of each field is transmitted as a decimal number (in
character string representation). The fields are separated
by commas. A port command would be:
PORT h1,h2,h3,h4,p1,p2
where h1 is the high order 8 bits of the internet host
address.
I assume you're talking about the PORT ftp command.
As seen in the RFC 959, page 28, those two numbers represents the two bytes of a 16-bit word, as decimal numbers, with the high one first.
The general formula is:
(b1 << 8) | b2
Applied to your specific case:
(193 << 8) | 148 = 49 556
I understand the general concept of CIDR and how the prefix and suffix bits work, and I generally understand that you can take an address say:
73.132.68.12/24
There are 24 prefix and 8 suffix bits. The network address corresponding to this would be:
73.132.68.0 as the suffix is all zeros.
Going further, you can break this address down into more subnets by extending the network/prefix a little further. This is where I get a little confused though.
If I extended the prefix by 4, then only the last 4 bits would have to be 0 for the network address of any of the subnets. Does this mean that I have to use the first 4 bits in the last byte to identify the subnets? Here's what I mean in example...
73.132.68.16 --> subnet 1 with final byte as 0001 0000
73.132.68.32 --> subnet 2 with final byte as 0010 0000
73.132.68.48 --> subnet 3 with final byte as 0011 0000
etc.
Would this be an appropriate way to subnet the address ?
Is there a better way?
Yes, that's how it works in general, in your example you would have networks 73.132.68.0/28, 73.132.68.16/28, etc. The subnets are identified by the whole network prefix (28 bits in your example) so you should not consider only the last byte. Byte boundaries don't hold any special meaning, apart from having common C/B/A class names.