Scaling the Network:
Subnetting and Other Protocols
Networking
Today
CIDR
Subnetting
Private IP addresses
IP Addressing
Classful addressing scheme separates groups of
addresses into classes
Class A
8 bits used for network (256)
24 bits used for hosts and network devices (16,777,216) Binary address starts with 0
Class B
16 bits for networks (65,536)
16 bits for hosts and network devices (65,536) binary address starts with 10
Class C
24 bits for the network (16,777,216) 8 bits for the host (256)
Classless Inter-Domain Routing
Classful addressing scheme wasteful
IP address space exhaustion
Class B net allocated enough for 65K hosts
Even if only 2K hosts in that network
Solution: Classless Inter Domain Routing
(CIDR)
Eliminate class distinction
No A,B,C
Classless Addressing
Addresses allocated in contiguous blocks
Number of addresses assigned always power of 2
Network portion of address is of arbitrary length Address format: a.b.c.d/x
x is number of bits in network portion of address
Subnet Motivation
This network can have 215 = 32,768 hosts!
Imagine the size of the routing tables if we had a
flat network of all these hosts!
We want to split this network up into smaller
Subnet Motivation
We probably want to split this network up into
smaller networks (subnets) due to
Let’s play with a small example
Suppose you have this private class C
network, and you need to divide it evenly
You will have hosts 0-127
Friend will have hosts 128-255
Let’s play with a small example
Dividing the network into subnets involves
using some of the host bits as the subnet ID
What bit of the host part of the address do we
have to flip to signify >= 128 for the host ID?
Let’s play with a small example
Can address hosts 0-127
Can address hosts 128-255
Let’s play with a small example
Now, how can routers easily figure out where
Let’s play with a small example
A subnet number is the network part + subnet
ID + zeros for the host
192.168.10.0
A subnet mask consists of all 1’s for the
network+subnet ID and all 0’s for the host part
What is this subnet mask?
Subnet Masks
We can figure out where to route by noting
that
Subnet Masks
dest subnet = subnet mask & dest IP addr
Let’s say destination IP is 192.168.10.202
and lets & with subnet mask
192 . 168 . 10 . 128
We send packet to 192.168.10.128/25 network!
11000000 10101000 00001010 110001010 &
Longest-Prefix Match
Suppose two network IDs exist:
1) 128.186.0.0/16 2) 128.186.134.0/24
Suppose you have destination IP of
128.186.134.100
Both subnet mask & IP of 1 and 2 will yield
match – what to do?
Longest-prefix match – route to network with
Subnetting
Notes
Would use a default router if nothing matches Not necessary for all ones in subnet mask to be
contiguous
Routing with CIDR
Special IP Addresses
Network address: host id = all 0’s Local broadcast address: all 1’s
Used during system startup
Directed broadcast address: host id = all 1’s
Routers will forward this broadcast address
Local host address (this computer): all 0’s
Used during system startup
Loopback address
Private IP Addresses
Some addresses are not globally routable IP packets created by these addresses
cannot be transmitted into the public domain
Commonly used for home, office, and
Private IP Addresses
Address Range CIDR Number of
Addresses
Private IP addresses
Router uses Network Address Translation (NAT) to
send IP packets from private IP addresses onto public networks
Router places it’s own IP address as destination
Maintains table, knows which host to route addresses
IP Address Configuration
May configure a network statically by giving
each host it’s IP address and routing information (like gateway)
Or may configure a server to do this for you
DHCP Server
Dynamic Host Configuration Protocol (DHCP) DHCP server is responsible for providing
configuration information to hosts
There is at least one DHCP server for an
administrative domain
DHCP server maintains a pool of available
DHCP
Newly booted or attached host sends
DHCPDISCOVER message to a special IP address (255.255.255.255)
DHCP
IP leases are valid for a predefined period of
time (T1)
Leases are renewed at T1/2
Leases are released if they have not been
Internet Control Message Protocol
(ICMP)
Defines a collection of error messages that
are sent back to the source host whenever a router or host is unable to process an IP
datagram successfully
Destination host unreachable due to link /node
failure
Reassembly process failed
TTL had reached 0 (so datagrams don't cycle
forever)
IP header checksum failed