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