Network Addressing Issues in

pigeoneggtrainsNetworking and Communications

Oct 24, 2013 (3 years and 7 months ago)


Network Addressing Issues in

What was going on

TCP/IP had pretty much become THE

TCP/IP made it easy to go global.

Organizations were encouraged to get
unique global addresses.

) Don’t have to worry about reassigning
addresses when connecting outside the LAN.

) Addresses were handed out willy

TCP/IP Address Classes

There are 5 different address classes.

You can determine which class any IP address is in by
examining the first 4 bits of the IP address.

Class A

addresses begin with
(1 to 126)

Class B

addresses begin with
(128 to 190)

Class C

addresses begin with
(192 to 223)

Class D

addresses begin with
(224 to 239)

Class E

addresses begin with
(240 to 254)

TCP/IP Address Classes

Addresses beginning with
, or

decimal, are reserved for loopback
and for internal testing on a local machine.

[You can test this: you should always be able
to ping
, which points to yourself]

Class D

addresses are reserved for
Class E

addresses are
reserved for future use. They should not
be used for host addresses.

The Problem

Class B

address space was (still is) in danger of

More than half the
Class B

address space was gone.

Lack of appropriate
size network numbers for
size organizations.

Class B

gives you 65,535 hosts

Class C

gives you 254 hosts

A lot of
Class B

networks were not fully utilized.

State of the TCP/IP Addresses


Over 50% of the
Class B

addresses gone

6% of the
Class C

networks assigned.

Exhaustion was expected around 2008

Max number of computers:
~4.3 billion

Adding to the Problem


routers to move packets
across the Internet they needed to know
where the networks were.

The explosion of networks had created
problems for routers that must keep track
of all of these networks.

The number of networks to keep track of
was doubling roughly every 10
12 months.

How Routers Functioned

IP addresses are 32 bits wide and normally we
see them written as four decimal numbers
separated by dots. (i.e.

This address is split into a

part and a



is normally the LAN the host lives on.

Thus routers can do their job just by dealing with

part of the address.

State of the Routers


With the existing network routers were in
danger of being overwhelmed.

Because of design all

routers had
to have a list of all networks, all were
faced with the same problem.

The NSFnet routers were able to handle
25,000 network entries….they had 19,400
listed networks with 7,400 additional networks

Problem Specifics

The problem is this:

There are 126 usable Class A networks

There are around 32,000 usable Class B

There are over 2 million Class C networks

Solving the Routing Problem


Short Term

Development of new routing protocols for
interdomain routing.

Basically a special set of protocols for routing
between the Internet network service

Assign IP network numbers based on the
Internet topology.

Instead of handing out IP addresses willy
we now group them together.

Network Topology

Instead of looking at the whole network
address, a router will only look at one part.

Example: We send a message to

Before we would see that it is a
Class C

network and the router would route it to the
232.134.15 network.

Now the first router sends it to the 232
network router. The 232 network router
sends it to the 134 network router and so on.

Solving the Address Space

(Short Term)

Conserving the address space

A short term solution is to increase
utilization of the existing network classes.

Class B

networks allow for some 65,000

However a lot of those networks have a large
number of unused hosts.

By creating subnets within the existing
networks can better utilize the existing

Creating Subnets

(General Version)

Since the IP address is divided into a network
and host part, to subdivide a network we need to
extend the network part into the host part.

This extension is called the subnet.

First any subnet or hosts numbered “0” or “
are considered special.

Broadcast and designation of “this” host.

So if we had 4 usable addresses in a subnet, 2
would automatically be lost.

Creating Subnets


Remember which part of the IP address belongs to the
network (N) and which part belongs to the node (n).







Example: is a Class B address so by
default the Network part of the address is defined by the
first two octets (140.179.x.x) and the node (or host) part
is defined by the last 2 octets (x.x.240.200).

Creating Subnets

In order to specify the network address for a
given IP address, the node section is set to all

Example: specifies the network address

When the node section is set to all "1"s, it
specifies a broadcast that is sent to all hosts on
the network. specifies the example broadcast
address. Note that this is true regardless of the length
of the node section.

Subnet Masking

To identify the network and node parts of the address you apply a
subnet mask to an IP address.

The network bits are represented by the 1s in the mask, and the node
bits are represented by the 0s.

Performing a bitwise logical AND operation between the IP address and
the subnet mask results in the
Network Address.

Example using our test IP address/default Class B subnet mask:

10001100.10110011.11110000.11001000 (

11111111.11111111.00000000.00000000 (


10001100.10110011.00000000.00000000 (

Default Subnet Masks

Class A


Class B


Class C


Creating Our Own Masks

Additional bits can be added to the default
subnet mask for a given Class to further
subnet, or break down, a network.

When a bitwise logical AND operation is
performed between the subnet mask and
IP address, the result defines the

Also called the
Network Address



There are some restrictions on the subnet address.

Node addresses of all "0"s and all "1"s are reserved for
specifying the local network (when a host does not know it's
network address) and all hosts on the network (broadcast
address), respectively.

A subnet address cannot be all "0"s or all "1"s. This also implies
that a 1 bit subnet mask is not allowed.

This restriction is required because older standards enforced this
restriction. Recent standards that allow use of these subnets
have superseded these standards, but many "legacy" devices do
not support the newer standards. If you are operating in a
controlled environment, such as a lab, you can safely use these
restricted subnets.


10001100.10110011.11011100.11001000 (

00000.00000000 (255.255.


10001100.10110011.11000000.00000000 (

Broadcast Address

10001100.10110011.11011111.11111111 (

In this example a
3 bit subnet mask

was used.

There are 6 (23
2) subnets available with this size mask (remember that
subnets with all 0's and all 1's are not allowed). Each subnet has 8190
2) nodes. Each subnet can have nodes assigned to any address
between the Subnet address and the Broadcast address. This gives a
total of 49,140 nodes for the entire class B address subnetted this way.
Notice that this is less than the 65,534 nodes an unsubnetted class B
address would have.


You can calculate the Subnet Address by
performing a bitwise logical AND operation
between the IP address and the subnet mask,
then setting all the host bits to

Similarly, you can calculate the

for a subnet by performing the same
logical AND between the IP address and the
subnet mask, then setting all the host bits to
That is how these numbers are derived in the
example above.

Detailed Example

Say you are assigned a
Class C

network number of You want to utilize this network across
multiple small groups within an organization. You can do
this by subnetting that network with a subnet address.

We will break this network into 14 subnets of 14 nodes
each. This will limit us to 196 nodes on the network
instead of the 254 we would have without subnetting, but
gives us the advantages of traffic isolation and security.
To accomplish this, we need to use a subnet mask 4 bits

Recall that the default Class C subnet mask is

Extending this by 4 bits yields a mask of 255.255.255.

Detailed Example

This gives us 16
possible network
numbers, 2 of which
cannot be used:

Combing Routing and Subnetting




CIDR was invented several years ago to keep the
internet from running out of IP addresses.

The "classful" system of allocating IP addresses
can be very wasteful; anyone who could
reasonably show a need for more that 254 host
addresses was given a Class B address block of
65533 host addresses.

Only a tiny percentage of the allocated Class A
and Class B address space has ever been
actually assigned to a host computer on the

Combing Routing and Subnetting

People realized that addresses could be
conserved if the class system was eliminated.
By accurately allocating only the amount of
address space that was actually needed, the
address space crisis could be avoided for many

This was first proposed in 1992 as a scheme
. Under supernetting, the
classful subnet masks are extended so that a
network address and subnet mask could, for
example, specify multiple Class C subnets with
one address.


11000000.00111100.10000000.00000000 ( )

11000000.00111100.10000001.00000000 ( )

11000000.00111100.10000010.00000000 (

11000000.00111100.10000011.00000000 (


Supernetted Subnet address

11111111.11111111.11111100.00000000 (

Broadcast address

11000000.00111100.10000011.11111111 (

In this example, the subnet includes all the
addresses from to

Notation Notes

Under CIDR, the subnet mask notation is reduced to a
simplified shorthand. Instead of spelling out the bits of
the subnet mask, it is simply listed as the number of 1s
bits that start the mask.

Example: Instead of writing the address (
and subnet mask ( the network address
would be written simply as:

which indicates starting address of the network, and number of
1s bits (22) in the network portion of the address.

If you look at the subnet mask in binary
00.00000000), you can
easily see how this notation works.

The use of a CIDR notated address is the same as for a Classful
address. Classful addresses can easily be written in CIDR
notation (Class A = /8, Class B = /16, and Class C = /24)

Private Subnets

There are three IP network addresses reserved
for private networks. The addresses are
, and
They can be used by anyone setting up internal
IP networks, such as a lab or home LAN behind
a NAT or proxy server or a router. It is always
safe to use these because routers on the
Internet will never forward packets coming from
these addresses. These addresses are defined
RFC 1918

Assigning IP Addresses

It is currently almost impossible for an individual or company to be
allocated their own IP address blocks. You will simply be told to get
them from your ISP.

The reason for this is the ever
growing size of the internet routing

Just 10 years ago, there were less than 5000 network routes in the
entire Internet.

Today, there are over 100,000.

Using CIDR, the biggest ISPs are allocated large chunks of address
space (usually with a subnet mask of /19 or even smaller); the ISP's
customers (often other, smaller ISPs) are then allocated networks
from the big ISP's pool.

That way, all the big ISP's customers (and their customers, and so on)
are accessible via 1 network route on the Internet.

Long Term Changes

It is expected that CIDR will keep the Internet
happily in IP addresses for the next few years at
least. After that, IPv6, with 128 bit addresses,
will be needed.

Under IPv6, address allocation would
comfortably allow a billion unique IP addresses
for every person on earth!

The complete and gory details of CIDR
(released in September 1993) are documented