Part I: Introduction
Download
Report
Transcript Part I: Introduction
Scaling the Network:
Subnetting and Protocols
Networking
CS 3470, Section 1
Today
ARP, IMAP, and DHCP Protocols
Subnetting
2
Packet Encapsulation
** Creative Commons: http://en.wikipedia.org/wiki/File:UDP_encapsulation.svg
3
Address Resolution
IP address is virtual
Not understood by underlying physical networks
IP packets need to be transmitted by the
underlying physical network
Address resolution
Translating IP address to physical address
Address Resolution Protocol (ARP)
4
ARP
A router has to know where to deliver
packets on the local network
ARP is used to discover MAC addresses
based on IP addresses
arp who-has 192.168.10.1 tell node31.ceee.lab
arp reply 192.168.10.1 is-at 00:60:08:ce:9d:3b
arp who-has node31.ceee.lab tell 192.168.10.254
arp reply node31.ceee.lab is-at 00:02:3f:b4:cd:87
ARP Cache
Each computer maintains a cache table
IP address hardware address mapping
Only about computers on the same network
Try out “/usr/sbin/arp –a” command
Exchanges ARP messages
To resolve IP addresses with unknown hardware
addresses
Encapsulated in Ethernet data frame
6
ARP Protocol
When a node sends an IP packet
Look up destination address in the ARP table
If not found
To another node on the same physical network
Broadcast a request to the local network
Whose IP address is this?
What info should the request message
contain?
7
ARP Response
The target node responds to sender (unicast?)
On receiving the response
Requester updates its table
Other nodes upon receiving the request
With its physical address
Adds the requester into its ARP table (why?)
Refresh the requester entry if already there
No action otherwise (why?)
Table entries deleted if not refreshed for a while
8
ARP Example
ARP broadcast by W requesting hardware
address of Y
9
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
dynamically
10
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
addresses
DHCP Protocol
State Protocol
DHCPDISCOVER (client)
DHCPOFFER (server)
DHCPREQUEST (client)
DHCPACK (server)
DHCPNAK (server)
DHCPINFORM (client)
DHCP
Newly booted or attached host sends
DHCPDISCOVER message to a special IP address
(255.255.255.255)
Rest of messages are unicast back and forth
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
renewed at the expiration of the lease time
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
IP Addressing
Classful addressing scheme separates groups of
addresses into classes
Class A
Class B
8 bits used for network (256)
24 bits used for hosts and network devices (16,777,216)
Binary address starts with 0
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)
Binary address starts with 110
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
Keep multicast class D
17
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
network
part
host
part
11001000 00010111 1
0000000 00000000
200.23.128.0/17
18
Subnet Motivation
network
part
host
part
11001000 00010111 1
0000000 00000000
200.23.128.0/17
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
networks
19
Subnet Motivation
network
part
host
part
11001000 00010111 1
0000000 00000000
200.23.128.0/17
We probably want to split this network up into
smaller networks (subnets) due to
Security reasons
Logistical reasons
Routing reasons
20
Let’s play with a small example
network
part
host
part
11000000 10101000 00001010 00000000
192.168.10.0/24
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
21
Let’s play with a small example
network
part
host
part
11000000 10101000 00001010 00000000
192.168.10.0/24
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?
22
Let’s play with a small example
network
part
subnet
ID
host
part
0
0000000
subnet
ID
host
part
1
0000000
11000000 10101000 00001010
192.168.10.0/25
Can address hosts 0-127
network
part
11000000 10101000 00001010
192.168.10.128/25
Can address hosts 128-255
23
Let’s play with a small example
network
part
11000000 10101000 00001010
subnet
ID
host
part
0
0000000
192.168.10.0/25
Now, how can routers easily figure out where
destination IP address 192.168.10.202
should be routed?
192.168.10.0/25 or 192.168.10.128/25 subnet?
24
Let’s play with a small example
network
part
11000000 10101000 00001010
subnet
ID
host
part
0
0000000
192.168.10.0/25
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?
25
Let’s play with a small example
network
part
11000000 10101000 00001010
subnet
ID
host
part
0
0000000
192.168.10.0/25
Subnet mask:
255.255.255.128
11111111 11111111 11111111
10000000
26
Let’s play with a small example
network
part
11000000 10101000 00001010
subnet
ID
host
part
1
0000000
192.168.10.128/25
Subnet mask:
255.255.255.128
11111111 11111111 11111111
10000000
27
Subnet Masks
We can figure out where to route by noting
that
dest subnet = subnet mask & dest IP addr
28
Subnet Masks
dest subnet = subnet mask & dest IP addr
Let’s say destination IP is 192.168.10.202
and lets & with subnet mask
11000000
11111111
11000000
10101000
11111111
10101000
00001010
11111111
00001010
110001010
100000000
100000000
&
192 . 168 . 10
. 128
We send packet to 192.168.10.128/25 network!
29
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
the most matching host bits.
30
Subnetting
Notes
Would use a default router if nothing matches
Not necessary for all ones in subnet mask to be
contiguous
Can put multiple subnets on one physical network
Subnets not visible from the rest of the Internet
Routing with CIDR
Destination IP is BA.DB.EE.F2
32