Subject: Reasons for the IP-address change
We have to change IP addresses for all computers in the Department. We are
currently occupying 4 non-adjacent class-C IP subnets (128.146.20.0,
128.146.33.0, 128.146.182.0, 128.146.190.0). Each class-C subnet contains 255
IP-addresses. OIT has given us 4 new adjacent subnets (128.146.232.0 -
128.146.235.0) and expects us to vacate the old ones soon. This document
highlights the technical reason for this change.
How a subnet mask is used to determine if a given destination IP address lies
in the subnet:
We start by assuming we are in a 'normal' class C subnet, ie. only computers
within 128.146.33.X are local to us, since we also choose a familiar
computer, chemistry, with its IP address, 128.146.33.22, and a subnet mask of
255.255.255.0 (remember that this would be the subnet mask for a normal
class-C subnet).
128.146.33.22 is in binary, 10000000.10010010.00100001.00010110 (trust me!)
255.255.255.0 (the subnet) 11111111.11111111.11111111.00000000
To determine if a given destination IP address is in chemistry's class C
subnet both of these (chemistry's IP and the destination's IP address) are
AND'ed (NOTE A) with the subnet mask. If the results are the same then the
destination is on chemistry's subnet.
Let's try two examples, the host called neon, 128.146.33.10 and the host
www.disney.com, 63.70.44.55.
(128.146.33.22) 10000000.10010010.00100001.00010110
(255.255.255.0) 11111111.11111111.11111111.00000000
(AND'ed result) 10000000.10010010.00100001.00000000
(128.146.33.10) 10000000.10010010.00100001.00001010
(255.255.255.0) 11111111.11111111.11111111.00000000
(AND'ed result) 10000000.10010010.00100001.00000000
The AND'ed results are the same and chemistry can safely assume that
neon.mps.ohio-state.edu is in its local subnet. The consequence of this is
that chemistry knows to initiate contact with neon directly on its network
interface card or 'NIC'. (This information is stored in what is known as a
'Routing Table').
Now for www.disney.com:
(128.146.33.22) 10000000.10010010.00100001.00010110
(255.255.255.0) 11111111.11111111.11111111.00000000
(AND'ed result) 10000000.10010010.00100001.00000000
(063.070.44.55) 00110111.00101100.01000110.00111111
(255.255.255.0) 11111111.11111111.11111111.00000000
(AND'ed result) 00110111.00101100.01000110.00000000
The AND'ed results are NOT the same and chemistry must conclude that
www.disney.com is NOT in its local subnet. The consequence of this is that
chemistry must search its "Routing Table" for a computer or networking device
that will route the packets bound for www.disney.com. Since there are no
routes for any portion of www.disney.com's IP address, chemistry will use its
'Default Route', 128.146.33.1 (the address for the Cisco Router, a network
device, maintained by OIT and located in Baker Systems). The Cisco Router
will find the computer/network device, and that one will find the next and so
forth until a path is found to the destination. On a computer running a UNIX
operating system, one may use the command 'traceroute' (if available) to view
this 'hopping'. This is the result of the above example:
traceroute: Warning: www.disney.com has multiple addresses; using 63.70.47.55
traceroute to disney.com (63.70.47.55), 30 hops max, 40 byte packets
1 se7-vl800.net.ohio-state.edu (128.146.20.1) 1.405 ms 1.278 ms 1.178 ms
2 se1-fa1-0.net.ohio-state.edu (164.107.1.65) 0.926 ms 0.821 ms 0.816 ms
3 tc4-atm2-0s42.net.ohio-state.edu (140.254.58.90) 5.515 ms 1.569 ms 1.564 ms
4 199.18.22.5 (199.18.22.5) 2.700 ms 2.768 ms 2.399 ms
5 clv4-atm1-0.cleveland.oar.net (199.18.202.64) 369.287 ms 409.161 ms 93.929 ms
6 907.Hssi8-0.GW1.CLE1.ALTER.NET (157.130.99.33) 19.925 ms 16.832 ms 19.855 ms
7 142.at-2-1-0.XR2.CHI4.ALTER.NET (146.188.209.46) 17.365 ms 17.990 ms 21.166 ms
8 194.at-1-0-0.TR2.CHI2.ALTER.NET (152.63.65.66) 17.609 ms 16.525 ms 19.012 ms
9 126.at-5-1-0.TR2.ATL5.ALTER.NET (152.63.0.213) 51.157 ms 48.904 ms 51.137 ms
10 196.at-5-1-0.XR2.ATL1.ALTER.NET (152.63.81.33) 52.628 ms 51.183 ms 50.586 ms
11 194.ATM6-0.GW3.ORL1.ALTER.NET (146.188.233.133) 60.292 ms 60.381 ms 60.870 ms
12 disney-gw.customer.alter.net (157.130.72.58) 62.387 ms !X * 62.407 ms !X
------------------------------------------------------------------------------
PROXY ARP
Problems with class C subnets:
Unfortunately, the Chemistry Department outgrew the ~250 addresses in a
single class C subnet long ago. In fact we presently use the following 4
class C subnet's:
Subnet Subnet Mask
128.146.20.X 255.255.0.0
128.146.33.X 255.255.0.0
128.146.182.X 255.255.0.0
128.146.190.X 255.255.0.0
If we were to use the normal class C subnet mask of 255.255.255.0, then two
computers on different class C subnets but sitting physically next to each
other would have to route their packets to each other through the Cisco
Router at Baker systems. If the network between any of the chemistry
buildings and Baker Systems were to become slow or break down all together,
or if the Router itself failed, then any two computers that were on different
class C subnets would be affected (either unable to comunicate or only able
to comunicate very slowly). Also, this setup would not lend itself to
firewall protection, since department-internal traffic would leave our
buildings whenver hosts in different subnets wanted to communicate.
The dilemma when using a class B subnet mask:
The subnet mask shown in the table, 255.255.0.0, is a normal class B subnet
mask. We have been using this for some time now in the Department. Using the
technique above one can quickly see that with this subnet mask, chemistry,
128.146.33.22 and shiva, 128.146.190.31 would consider each other in their
local subnets. Unfortunately, chemistry would also consider any other
computer whose IP address started with 128.146 in its local subnet. Physics,
Math and many other departments have computers in 128.146.0.0. These
departments do not all share our physical local network. How do the packets
find their way from chemistry to these computers when chemistry is using this
class B subnet mask? Very good question!
PROXY ARP to the rescue!
The short answer is that the Cisco Router at Baker System is told to handle
this using something called 'Proxy ARP'. A router told to use Proxy Arp for
one of its physical connections will watch that physical connection and learn
what computers are on it. When the router receives a request from a computer
on that physical connection for any destination computer to identify itself
(an ARP or Address Resolution Protocol request), and the Router knows this
destination computer not to be on that physical connection, the Router itself
answers the request (thus the Proxy ARP). The Router keeps track of the fact
that it should now handle traffic between the two computers (one on the given
physical connection and the other not) and will subsequently forward the
packets between the two computers as if they were normal packets addressed to
the Router with a request to route.
Chemistry therefore is fooled into thinking that all computers in 128.146.X.Y
that are not in one of our local subnets (with X equal to 20, 33, 182 or 190)
are in fact the Cisco Router. This apparent inconsistency is ignored by
chemistry since one computer may in fact have more than one IP address
associated with it.
OIT to phase out PROXY ARP:
The Proxy ARP feature of the Router is depreciated by OIT and will be phased
out at some time in the near future. Rationale for this is that consistency
in setup makes maintaining the network equipment easier in terms of staff
turnover and continuity and in terms of flexibility when purchasing new
networking hardware, as any new hardware would not necessarily have to
provide Proxy ARP as a feature. Also, Proxy ARP reduces the performance of
the Router and is thus undesirable.
------------------------------------------------------------------------------
OIT has provided us with four adjacent class C subnets that lie within a bit
boundary (you will see what this means shortly). Our new subnets and new
subnet mask are
(128.146.232.X) 10000000.10010010.11101000.xxxxxxxx
(128.146.233.X) 10000000.10010010.11101001.xxxxxxxx
(128.146.234.X) 10000000.10010010.11101010.xxxxxxxx
(128.146.235.X) 10000000.10010010.11101011.xxxxxxxx
(255.255.252.0) 11111111.11111111.11111100.00000000
One can quickly see that any address in any 4 of the new subnets when AND'ed
with the new subnet mask of 255.255.252.0 give
(128.146.232.0) 10000000.10010010.11101000.00000000
This new subnet mask (neither class C nor class B) defines a subnet with 1024
(256 x 4) addresses. Not all of these addresses are available for use. For
instance, the default route will be 128.146.232.1 and the broadcast address
will be
(128.146.235.255) 10000000.10010010.11101011.11111111.
Support will designate this group of 4 class C subnets and the special subnet
mask, default gateway and new broadcast address as our 'Class IV' (pronounced
'EYE VEE') subnet.
Advantages to the new Class IV subnet:
The change to these new addresses and subnet mask allows us not to rely on
OIT to maintain Proxy ARP. It also allows us to reclaim addresses that are no
longer used in our old 4 Class C subnets. This is important since we were
close to running out of new addresses to assign. Rules for the firewall now
also become easier to maintain and in fact fewer are needed. Also, a smaller
number of addresses becomes unusable (if we were using a class C subnet
structure, e.g. 128.146.233.1, 128.146.234.1 and 128.146.235.1 would all be
addresses used by the Cisco router).
------------------------------------------------------------------------------
NOTE A
Each bit is compared in each number, if both bits in each number are 1 then
the AND returns 1, otherwise AND returns 0.
Logic Table for AND
bit from first number
1 0
bit from 1 1 0
second number 0 0 0
Steve Parker
|