Pass the CIDR Mystery Cache
nelson crew: Say goodnight, Gracie.
More
-
Difficulty:
-
-
Terrain:
-
Size:
 (micro)
Please note Use of geocaching.com services is subject to the terms and conditions
in our disclaimer.
These coordinates are
bogus.
As you are working through this puzzle, I urge you to remember the
following: There are 10 kinds of people in this world - those who
understand binary, and those who don't.
The Internet runs on a protocol called IP; go figure, this stands
for Internet Protocol.
IP is a delivery mechanism. Additional protocols run on top of IP
to accomplish various objectives. For verified transmissions,
Transmission Control Protocol (TCP) is used. Unverified
transmissions use User Datagram Protocol (UDP).
Internet transmissions use the appropriate protocol. For example,
Web and email traffic use TCP/IP as it is important to verify that
the entire transmission was received. UDP/IP is used for streaming
media as it is less important that the entire transmissions is
received, and a lot of bandwidth can by saved by cutting out the
transmission verification process.
IP has been around for a long time, and there are a few versions of
it. The iteration in use by today's Internet is v4.
IPv4 expresses (in human-readable form) it's addresses in a 4-byte
notation. This is 4 bytes separated by a dot, 192.168.0.1 is a
common example.
Each byte contains eight bits which, when expressed in binary form
(as the computer reads it) can allow for a number from 0 to 255,
referred to as an octet. This number is arrived at by the binary
position of each of the 8 bits in the byte.
A bit is either on or off, and this is expressed by 1 and 0. Taking
the 8 bits from the left to the right, the values are 128, 64, 32,
16, 8, 4, 2 and 1. For each bit that is turned on, that number
value is added to the whole. Thus, 165 expressed in binary is
10100101. We take the "on" bits and add the appropriate numeric
value, and end up with 128+32+4+1 = 165.
This version of IP is pretty good - it's stable and provides a lot
of available addresses. But as the consumer Internet we now know
grows, we are finding that the given address limit of IPv4 -
4,294,967,296 - is actually not going to be enough. It's not just
computers that need IP addresses now. Cell phones need one when
grabbing email. Those smart fridges you keep hearing about that
will order milk when you run out? Guess what - they'll need an IP
address, too.
There are further limitations to the number of usable addresses,
such as reserved ranges (127.0.0.1, for example, always points back
to the local network adapter) that are not Internet-routable.
The long-term answer is to switch to IPv6, which has such a high
number of available IP addresses that experts seem to think we
won't run out. The short-term answer is two-fold: NAT and CIDR.
We won't cover NAT in this section except to say that it is a means
for multiple computers to share a single Internet IP address.
CIDR is a different beast, more about managing the available
addresses.
As designed, IP addresses come in different classes, A-E (but
classes D and E aren't usable). The class determines the number of
available addresses. Class A networks have an 8-bit mask, allowing
for one large network with 16777214 hosts. Class B networks have a
16-bit mask, allowing for 65534 hosts, Class C networks have a
24-bit mask, allowing for 254 hosts. When trying to manage a finite
number of addresses, this bulk assigning of addresses resulted in a
lot of waste (and extremely cumbersome routing tables). So CIDR -
Classless Inter-Domain Routing - was born.
Using subnets, CIDR allows for IP addresses to be divvied into
smaller chunks, and thus allocated with much less waste.
This is accomplished with subnet masks. A subnetwork is created via
masking, hence the term subnet mask. Those of you who have looked
at settings on your computers at home or at work have likely seen
the standard 24-bit class C subnet mask of 255.255.255.0.
Now, in decimal form, subnet masks are basically meaningless. The
magic happens in binary form.
What happens is that the subnet mask is basically a line of ones
starting from the left. These "mask" the corresponding bits in the
IP address to define the subnetwork (or subnet). In a class C
network, the last octet would have been used exclusively to define
host addresses. In CIDR, bits are borrowed from the last octet to
define the subnet.
Let's take the standard class C address of 192.168.0.1 as an
example.
In binary form, the address 192.168.0.1 with a subnet of
255.255.255.0 (expressed in CIDR notation as 192.168.0.1/24 because
the 255.255.255.0 blocks 24 bits of data) looks like this:
| 192.168.0.1 |
11000000.10101000.00000000.00000001 |
| 255.255.255.0 |
11111111.11111111.11111111.00000000 |
Using the "on" subnet mask bits, we have now limited the scope of
this network to 8 bits, or 256 addresses, 0 - 255.
For those fact-checking, not all of these are usable. There is the
network address of 192.168.0.0 and the broadcast address of
192.168.0.255. As you can infer, the first address is taken for the
network address, and the last for the broadcast address. Any
network loses the first and last available address to these
functions, leaving a usable range of, in this example, 192.168.0.1
- 192.168.0.254.
So, we can see that with CIDR the subnet mask is now drastically
important.
Thus, with these rules in place, we can take any CIDR-notated IP
address and calculate the network and broadcast addresses.
Let's take the previous example address, 192.168.0.1, and shave the
network down. Let's make it a 30-bit address. 6 bits will be
"borrowed" from the last octet to define the subnet. This means the
subnet mask will be 255.255.255.252 (11111100 = 128+64+32+16+8+4 =
252), and the CIDR notation 192.168.0.1/30. Converting to binary we
get:
| 192.168.0.1 |
11000000.10101000.00000000.00000001 |
| 255.255.255.252 |
11111111.11111111.11111111.11111100 |
All but the last two bits are "masked", so our range of addresses
is 192.168.0.0 - 192.168.0.3. How do we know this? Those 6 "masked"
bits are borrowed to define the subnet, meaning each subnetwork can
only contain 4 hosts (2 bits remaining leaves only 00 to 11, a
range of four numbers). And our availble 256 addresses divided into
4-hosts chunks leaves 64 available subnets in this range. Extending
this, the first address is used for the network address -
192.168.0.0, and the last is used for the broadcast address -
192.168.0.3. This leaves 2 useable host addresses, 192.168.0.1 and
192.168.0.2.
Which brings us to the puzzle.
(Geez, finally.)
First take the CIDR-notated address of 65.103.156.20/29 and
determine the network and broadcast addresses and the subnet mask.
Then use the addresses to solve the following:
N47 AB.C W117 D.E
Answer Key:
- A) Take the number of bits in the last octet only of the subnet
and subtract 1
- B) Convert the following to decimal: 0000100
- C) Add the octets of the network address and subtract 105
- D) Take the last octet of the broadcast address and add 5
- E) Add up all octets for both the network and broadcast
addresses and then multiply by .72 - drop the decimals and keep the
whole number
I don't know if this will help you or not, but here's a
visual description of what's going on.
You can verify your results:
Pass
the CIDR Coords Verification
Additional Hints
(Decrypt)
[Cache:] Rq fnlf crbcyr arire ybbx hc
[Puzzle:] Whfg nfx naq V jvyy fraq lbh n pyhr. Vg'f n irel tbbq pyhr.
Treasures
You'll collect a digital Treasure from one of these collections when you find and log this geocache:

Loading Treasures