Transcript Lecture10

ECE 4110 –
Internetwork Programming
Subnetting, Supernetting,
and Classless Addressing
IP Addresses



IP address is 32 bits long.
Conceptually the address is the pair
(NETID, HOSTID).
IP domain name and addresses managed:


Formerly, by IANA (Internet Assigned Numbers
Authority)
Now by ICANN (Internet Corporation for
Assigned Names and Numbers)
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
2
Classful Addressing (revisited)
3
Classful Addressing




(cont’d)
Historically, a class A address was
assigned to networks with > 216
(65,536) hosts.
Class B to networks with 28 (256) to
216 hosts.
Class C to networks with < 218 hosts.
Class E was reserved for future use.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
4
Classful Addressing

(cont’d)
Scaling issues:




Eventual exhaustion of the IPv4 address space.
Ability to route traffic between ever increasing
number of networks that comprise the internet.
IPv4 uses 32 bit address 232  4.3 billion
addresses, and six billion lives on earth at
present.
CIDR (Classless Inter-Domain Routing) slowed
down address exhaustion.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
5
Classful Addressing

Class A all 0s network number is used to represent
the “default” route (0.0.0.0).




A routing table entry that means any destination not
matching any other table entry should be sent to the
default route.
Class A all 1s network number is loopback.


(cont’d)
Packet never leaves the machine.
Used for testing the protocol stack or accesing processes
on the same machine.
Another block (netid 10) in Class A address space is
reserved for private use.
27 - 3 = 125 class A networks.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
6
Classful Addressing




(cont’d)
16 class B blocks are reserved for
private addresses.
214 - 16 = 16,368 class B blocks.
256 Class C blocks are used for private
addresses.
221-256 = 2,096,896 class C networks.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
7
Classful Addressing



(cont’d)
Most of class E is wasted.
Nobody wants class C.
In the beginning:



IP addresses were assigned based on request,
not need.
32-bit address was thought to be plenty.
Classful addressing is easy to understand and
implement, but not efficient. Class C blocks are
too small, class B blocks are too large.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
8
Subnetting




Makes the subnet structure of a network
invisible outside the organization’s private
network.
External Internet does not need to know
internal subnet structure.
To reach any host, external routers only
need to know the path to the “gateway”
router for the entire subnetwork.
Subnetting reduces the size of routing
tables.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
9
Subnetting



(cont’d)
At boot time, a machine gets its own IP
address (E.g., stored on disk).
Host also needs to know how many bits are
used for subnet ID and how many for host
ID. This is the subnet mask.
Subnet mask is 32 bit value containing “one
bits” for the network ID and subnet ID,
“zero valued bits” for host ID.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
10
Subnetting

(cont’d)
When a host is given its own IP address
and its subnetwork mask it can then figure
out:

Am I class A, B, or C address?


Where is the boundary between the network ID
and the subnet ID?


Look at higher order bits.
Defined by class definition.
Where is the boundary between the subnet ID
and the host ID?

Spring 2003
Tuna Tugcu
Host ID is 0s in mask.
ECE 4110 – Internetwork Programming
11
Subnetting



(cont’d)
All 0’s host number is used to identify the
base network (or subnetwork).
All 1’s host number represents broadcast
address for the network (or subnetwork).
It is also possible to deploy network
numbers from the private address space for
internal connectivity (RFC 1918).

A Network Address Translator (NAT) must be
used to provide external internet access.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
12
A Network with Two Levels of
Hierarchy (not subnetted)
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
13
A Network with Three Levels of
Hierarchy (subnetted)
14
Addresses in a Network with
and without Subnetting

“Site+Subnet id” is called extended network prefix.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
15
Analogy from the Telephone
Network
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
16
Default Mask vs Subnet Mask
17
Finding the Subnet Address:
Straight Method

11001000 00101101 00100010 00111000
11111111 11111111 11110000 00000000
11001000 00101101 00100000 00000000

The subnetwork address is 200.45.32.0.


Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
18
Finding the Subnet Address:
Short-Cut Method
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
19
Comparison of a Default
Mask and a Subnet Mask

The number of subnets must be a power of 2.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
20
Example

A company is granted the site address
201.70.64.0 (class C). The company
needs six subnets.

Design the subnets.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
21
Example (Sol’n)

The number of 1s in the default
mask is 24 (class C).





6 is not a power of 2.
The next number that is a power of 2 is 8.
We need 3 more 1s in the subnet mask.
The total number of 1s in the subnet mask is 27
(24 + 3).
Subnet mask:


11111111 11111111 11111111 11100000, or
255.255.255.224
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
22
Example (Sol’n)
23
Variable Length Subnet
Masks (VLSM)



IP network is subdivided in unequal
pieces.
Each subnetwork has its own mask
thus “extended-network-prefixes”
have different lengths.
Allows size of subnets to reflect the
number of required host addresses in
each subdivision.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
24
VLSM

We want to use:



Smaller subnets (longer masks) where we have fewer
nodes.
Larger subnets (shorter masks) where we have more
nodes.
Routing protocols must carry extended-networkprefix information with each route advertisement.


(cont’d)
OK to use: OSPF, RIPV2, IS-IS, CISCO’s E–IGRP they are
all classless
Routers must use a forwarding algorithm based on
longest match.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
25
VLSM
Spring 2003
Tuna Tugcu
(cont’d)
ECE 4110 – Internetwork Programming
26
VLSM: Example 1


Destination: 10.1.2.5 =
00001010.00000001.00000010.00000101
Routing table has entries for:

Route #1: 10.1.0.0/ 24
10.1.0.0/24 = [00001010.00000001.00000000].00000000

Route #2: 10.1.2.0/ 24
10.1.2.0/24 = [00001010.00000001.00000010].00000000

Route #3: 10.1.0.0/ 16
10.1.0.0/16 = [00001010.00000001].00000000.00000000

Route #2 has the longest matching prefix.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
27
Sidenote: Private Networks

IANA has reserved the following addresses as
private networks (RFC – 1918).

10.0.0.0 - 10.255.255.255
(10.0.0.0/8 prefix)

172.16.0.0 - 172.31.255.255
(172.16.0.0/12 prefix)

192.168.0.0 - 192.168.255.255
(192.168.0.0/16 prefix)


Private networks are not routable on the Internet.
They can be used simultaneously by many
organizations.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
28
VLSM: Example 2


An organization has the “private” network prefix
192.168.0.0/16 and plans to deploy VLSM.
Here is their plan:
192.168.0.0/16
0
1
0
1
Spring 2003
Tuna Tugcu
…
2
30
3
31
…
12
13
0
14
1
…
0
1

15
14
…
16 Equal size
blocks => 4 bits
15
6
ECE 4110 – Internetwork Programming
7
29
VLSM: Example 2


(cont’d)
To have 16 equal size blocks 24 =16 =>4 bits are
needed beyond /16 => 20 extended-networkprefix.
Each of these blocks has 212=4096 addresses
inside.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
30
VLSM: Example 2









(cont’d)
Base Prefix:
11000000.10101000.00000000.00000000 = 192.168.0.0/16
Subnet
Subnet
Subnet
Subnet
Subnet
……
Subnet
Subnet
Subnet
11000000.10101000.00000000.00000000
11000000.10101000.00010000.00000000
11000000.10101000.00100000.00000000
11000000.10101000.00110000.00000000
11000000.10101000.01000000.00000000
Spring 2003
Tuna Tugcu
#
#
#
#
#
0:
1:
2:
3:
4:
=
=
=
=
=
192.168.0.0/20
192.168.16.0/20
192.168.32.0/20
192.168.48.0/20
192.168.64.0/20
# 13: 11000000.10101000.11010000.00000000 = 192.168.208.0/20
# 14: 11000000.10101000.11100000.00000000 = 192.168.224.0/20
# 15: 11000000.10101000.11110000.00000000 = 192.168.240.0/20
ECE 4110 – Internetwork Programming
31
VLSM: Example 3


While at this level in the hierarchical addressing
plan, let’s look at the resulting host addresses
available for Subnet #3.
Define the host addresses for Subnet #34
(192.168.48.0/20).
192.168.0.0/16
0
1
0
Spring 2003
Tuna Tugcu
1
…
2
30
3
31
…
12
13
0
14
1
…
0
1
15
14
15
…
ECE 4110 – Internetwork Programming
6
7
32
VLSM: Example 3







(cont’d)
Subnet #3:
11000000.10101000.00110000.00000000 = 192.168.48.0 /20
Host
Host
Host
……
……
Host
Host
11000000.10101000.00110000.00000001 = 192.168.48.1
11000000.10101000.00110000.00000010 = 192.168.48.2
11000000.10101000.00110000.00000011 = 192.168.48.3
#1:
#2:
#3:
#4093: 11000000.10101000.00111111.11111101 = 192.168.63.253
#4094: 11000000.10101000.00111111.11111110 = 192.168.63.254
The broadcast address for Subnet #34 is found by setting the host-number field to
all 1s.

Broadcast : 11000000.1010100.00111111.11111111 = 192.168.63.255
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
33
VLSM: Example (Notation)

We are working with a /16 base address



Subnet #144-#144 is Sub-subnet #14 under
Subnet #14.


Subnet #34 is the subnet with value 3
20-bit extended network prefix
(a 4-bit field has been added to the /16 base
address)
Both subnet and sub-subnet fields are 4 bits.
Thus, the extended network prefix is now 24
bits long.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
34
VLSM: Example 4
While still at the same level, let’s look at the
16 subnets we have under Subnet #144
(192.168.224.0/20).

192.168.0.0/16
0
1
0
1
…
Spring 2003
Tuna Tugcu
2
30
3
31
…
12
13
0
14
1
…
0
1
15
14
…
15
6
7
ECE 4110 – Internetwork Programming
35
VLSM: Example 4








(cont’d)
Subnet # 14:
11000000.10101000.11100000.00000000 = 192.168.224.0/20
Subnet
Subnet
Subnet
Subnet
Subnet
……
……
Subnet
Subnet
11000000.10101000.11100000.00000000
11000000.10101000.11100001.00000000
11000000.10101000.11100010.00000000
11000000.10101000.11100011.00000000
11000000.10101000.11100100.00000000
#
#
#
#
#
14-0:
14-1:
14-2:
14-3:
14-4:
=
=
=
=
=
192.168.224.0/24
192.168.225.0/24
192.168.226.0/24
192.168.227.0/24
192.168.228.0/24
# 14-14: 11000000.10101000.11101110.00000000 = 192.168.238.0/24
# 14-15: 11000000.10101000.11101111.00000000 = 192.168.239.0/24
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
36
VLSM: Example 5

Still at the same level, let’s look at the host
addresses on one of these new sub – subnets,
Sub-subnet #144-#34 (192.168.227.0/24).
192.168.0.0/16
0
1
0
1
…
2
30
3
31
…
12
13
14
…
0 1 2 3
0
Spring 2003
Tuna Tugcu
15
14 15
1
…
ECE 4110 – Internetwork Programming
6
7
37
VLSM: Example 5









(cont’d)
Subnet #144-#34: 11000000.10101000.11100011.00000000 = 192.168.227.0/24
Host
Host
Host
Host
Host
……
……
Host
Host
#1:
#2:
#3:
#4:
#5:
11000000.10101000.11100011.00000001
11000000.10101000.11100011.00000010
11000000.10101000.11100011.00000011
11000000.10101000.11100011.00000100
11000000.10101000.11100011.00000101
=
=
=
=
=
192.168.227.1
192.168.227.2
192.168.227.3
192.168.227.4
192.168.227.5
#253:
#254:
11000000.10101000.11100011.11111101 = 192.168.227.253
11000000.10101000.11100011.11111110 = 192.168.227.254
The broadcast address for Subnet # 144–#34 is determined by setting all the bits in
the host number field to 1:

Broadcast:
11000000.10101000.11100011.11111111 = 192.168.227.255
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
38
VLSM: Example 6
Let’s go down one more level, and look at
sub-subnet #144–#144 (192.168.238.0/24).

192.168.0.0/16
0
1
0
1
…
Spring 2003
Tuna Tugcu
2
30
3
31
…
12
13
0
14
1
…
0
1
15
14
…
15
6
7
ECE 4110 – Internetwork Programming
39
VLSM: Example 6










(cont’d)
Since 8 = 23 , 3 more bits are required to identify each of eight subnets.

Extended-network-prefix length will be /27.
Subnet #14-14:
11000000.10101000.11101110.00000000 = 192.168.238.0/24
Subnet
Subnet
Subnet
Subnet
Subnet
Subnet
Subnet
Subnet
11000000.10101000.11101110.00000000
11000000.10101000.11101110.00100000
11000000.10101000.11101110.01000000
11000000.10101000.11101110.01100000
11000000.10101000.11101110.10000000
11000000.10101000.11101110.10100000
11000000.10101000.11101110.11000000
11000000.10101000.11101110.11100000
#14-14-0:
#14-14-1:
#14-14-2:
#14-14-3:
#14-14-4:
#14-14-5:
#14-14-6:
#14-14-7:
Spring 2003
Tuna Tugcu
=
=
=
=
=
=
=
=
192.168.238.0/27
192.168.238.32/27
192.168.238.64/27
192.168.238.96/27
192.168.238.128/27
192.168.238.160/27
192.168.238.192/27
192.168.238.224/27
ECE 4110 – Internetwork Programming
40
Going the Other Way:
Supernetting


Several class C blocks combined to create
larger blocks.
Two methods:

Pick the blocks to be merged randomly.


Routers outside the organization treat each block
separately.
Pick them according to a set of rules:



Spring 2003
Tuna Tugcu
Number of blocks must be a power of 2.
Blocks must be contiguous.
If number of blocks is N, third byte of the first address
must be divisible by N.
ECE 4110 – Internetwork Programming
41
Supernetting
Spring 2003
Tuna Tugcu
(cont’d)
ECE 4110 – Internetwork Programming
42
Comparison of Subnet, Sefault,
and Supernet Masks
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
43
Supernetting:
Example 1

Question:


We need to make a supernetwork out of 16
class C blocks. What is the supernet mask?
Solution:

For 16 blocks, we need to change four 1s to 0s
in the default mask. So, the mask is
11111111 11111111 11110000 00000000
or
255.255.240.0
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
44
Supernetting:
Example 2

A supernet has a first address of
205.16.32.0 and a supernet mask of
255.255.248.0. A router receives three
packets with the following destination
addresses:




205.16.37.44
205.16.42.56
205.17.33.76
Which packet belongs to the supernet?
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
45
Supernetting:
Example 2 (sol’n)

Apply the supernet mask to see if we can
find the beginning address.




205.16.37.44 AND 255.255.248.0  205.16.32.0
205.16.42.56 AND 255.255.248.0  205.16.40.0
205.17.33.76 AND 255.255.248.0  205.17.32.0
Only the first address belongs to this
supernet.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
46
Supernetting:
Example 3


A supernet has a first address of
205.16.32.0 and a supernet mask of
255.255.248.0.
How many blocks are in this supernet
and what is the range of addresses?
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
47
Supernetting:
Example 3 (sol’n)


Supernet mask has 21 1s.
Default mask has 24 1s.
(difference of 3 bits)
 23 or 8 blocks in this supernet.



Blocks are 205.16.32.0 to
205.16.39.0.
First address is 205.16.32.0.
Last address is 205.16.39.255.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
48
CIDR: Classless InterDomain
Routing




CIDR removes concept of class A, B, C
network addresses.
Instead, uses concept of network prefix.
CIDR supports arbitrary sized networks.
Routers use network prefix instead of first 3
bits of IP address to determine dividing
point between network number and host
number.
Spring 2003
Tuna Tugcu
ECE 4110 – Internetwork Programming
49
CIDR

(cont’d)
Constraints:


Block size must be a power of 2.
Beginning address must be divisible by block
size.
E.g.: If the block contains 4 addresses, the starting
address cannot be 193.140.196.2, because:
11000001
11000001
11000001
11000001
Spring 2003
Tuna Tugcu
10001100
10001100
10001100
10001100
11000100
11000100
11000100
11000100
00000010
00000011
00000100
00000101
ECE 4110 – Internetwork Programming
50