Transcript ppt
CMPE 151
Routing
Marc Mosko
Talk Outline
Routing basics
Why segment networks?
IP address/subnet mask
The gateway decision based on dest IP address
default gateway and static routing
gateway discovery (DHCP, IDRP RFC1256)
dynamic routing
A simple routing protocol
RIPv1
All the problems w/ RIP
quick RIPv2 differences
Demo RIP
commands: netstat, route, ip route
2
Why segment networks
All systems see all others
Broadcast traffic causes load (ARP, etc.)
Security (e.g. block Windows file sharing)
Over wide-area
Want to eliminate L2 broadcasts
Different administrative units want different
address spaces
L3 provides glue between different link
technologies, such as Ethernet and DSL.
3
Classful IP addresses
5 classes
A: 7-bit net/24-bit host
0xx
0 - 126
Loopback
127
B: 14-bit net/16-bit host
10x
128 - 191
C: 21-bit net/8-bit host
110x
192 - 223
D: multicast
1110x
224 - 239
E: experimental
1111x
240 – 254
Broadcast
255.255.255.255
No subnet mask used. Bit-size of fields
defined by address prefix.
4
Classful examples
A networks
10.1.2.3
net=10, host = 1.2.3
B networks
172.16.8.7
net=172.16, host = 8.7
C networks
192.168.4.5 net=192.168.4, host = 5
D network
224.3.4.5
multicast group 224.3.4.5
5
Classful IP addresses
What’s the problem?
Not enough networks
A = 125 usable
B = 16k usable
C = 2M usable
2M might seem like a lot, but is not enough for
whole world.
Point-to-point links would take up a whole class
C.
No one is going to put 16M hosts on a class A.
6
Enter Classless IP
IP address is a 64-bit value: IP and mask.
a.b.c.d / 255.255.255.0
a.b.c.d / 24
The mask specifies the network part of the address,
used by routers.
What is left over (inverse mask) is used by hosts.
Example: IP = 10.24.17.198 / 255.255.248.0
0A.18.11.C6
FF.FF.F8.00
0A.18.10.00
Network
Host
0A.18.11.C6
00.00.07.FF
00.00.01.C6
= 10.24.16.0
= 0.0.1.198
7
The gateway decision
Host IP: 10.0.64.1 / 16
Dest IP: 10.0.65.2
What should host do with packet?
10.0.64.1 & 255.255.0.0 = 10.0.0.0
10.0.65.2 & 255.255.0.0 = 10.0.0.0
Same network, host should ARP and deliver
locally.
8
The gateway decision (2)
Host IP: 10.0.64.1 / 16
Dest IP: 10.1.65.2
What should host do with packet?
10.0.64.1 & 255.255.0.0 = 10.0.0.0
10.1.65.2 & 255.255.0.0 = 10.1.0.0
Different network, host should send packet to
default gateway for routing.
9
Common masks
Masks
255.255.255.0
255.255.255.128
255.255.255.192
255.255.255.224
255.255.255.240
255.255.255.248
255.255.255.252
255.255.255.254
255.255.255.255
0
0+128
128 + 64
192 + 32
224 + 16
240 + 8
248 + 4
252 + 2
254 + 1
/24
/25
/26
/27
/28
/29
/30
/31
/32
256 hosts
128 hosts
64 hosts
32 hosts
16 hosts
8 hosts
4 hosts
not usable
single host
Learn them
There’s only 7 – just memorize it
Or, use the addition trick in column 2
10
Miscellaneous
Reserved numbers
Why is /31 not usable?
0 = ``this net’’ and all-1s = broadcast
In /30, 4 addresses, but only 2 usable, etc.
Examples
10.7.5.16/29 = 8 addresses, 6 usable
10.7.5.16 = 0 ``this net’’ address
10.7.5.23 = all-1s broadcast
10.7.5.23 & 0.0.0.7
00010111
00000111 (inverse mask for host part)
.....111
There are other rules about subnet zero (not
discussed)
11
IP address summary
IP address & subnet mask
Hosts and routers know both.
Given IP, Mask, and destination IP, a host can
determine if local delivery or send to gateway.
The 0 and all-1s addresses reserved.
Just about everything is classless routing nowa-days.
12
Gateway discovery
How does a host know which gateway?
Static: put in /etc/gateways
Simple, but not resilient to failures.
DHCP/BOOTP
Better administration, can be changed, but still
sensitive to gateway failure.
IRDP (RFC 1256)
Hosts can send a query to the network and available
gateways send responses.
Allows automatic re-configuration around failures.
Routing protocol
Host can run a routing protocol and learn full routing
information. Can be a ``stub’’ that does not forward.
13
Dynamic routing
What is a routing protocol?
Exchange reachability information
Prevent loops
Networks
at site
http://www.oreilly.com/catalog/iprouting/chapter/pipr_0401.gif
14
Routing Table
Information stored (at minimum)
Destination (likely w/ subnet mask)
Next-hop to reach network
Distance (or something else for loop-freedom)
Status
Destination
172.16.50.0
172.16.250.0
172.16.252.0
172.16.1.0
192.168.1.0
172.16.100.0
172.16.251.0
Interface
E0
S0
S1
S0
S0
S1
S1
Nexthop
172.16.50.1
172.16.250.2
172.16.252.1
172.16.250.1
172.16.250.1
172.16.252.2
172.16.252.2
Distance
0
0
0
1
1
1
2
Chicago router
Status
CONN
CONN
CONN
UP
UP
UP
UP
Timer
---0:00:02
0:00:02
0:00:14
0:00:14
15
Routing table example
Destination
172.16.50.0
172.16.250.0
172.16.252.0
172.16.1.0
192.168.1.0
172.16.100.0
172.16.251.0
Interface
E0
S0
S1
S0
S0
S1
S1
Nexthop
172.16.50.1
172.16.250.2
172.16.252.1
172.16.250.1
172.16.250.1
172.16.252.2
172.16.252.2
Distance
0
0
0
1
1
1
2
Chicago router
Status
CONN
CONN
CONN
UP
UP
UP
UP
Timer
---0:00:02
0:00:02
0:00:14
0:00:14
16
A simple routing protocol
Routing Information Protocol (RIP)
Very old protocol (for computers!).
Each node periodically broadcasts routing table out
each interface.
For each received broadcast, for each destination, pick
next hop that has the shortest distance.
Distance is from 0 to 15.
Distance 16 = infinity (not reachable).
RIP is in the class of:
Distributed Bellman-Ford
Distance Vector
17
RIP and subnet mask
Does not use subnet masks
Exception: If the router is configured with a subnet
mask, it will assume that mask for the network.
In picture, 172.16.0.0 is class B. But is being used as
a class C. As long as all routers have /24 mask, RIP
will “do the right thing”.
18
Problems with RIP (1)
Based on hop count
NY would choose 56k line to reach Ames
because it is 1 hop. The 2-hop T1 lines (1.5
Mbps) would be better.
19
Problems with RIP (2)
Loops
failure
failure
Net 1
Time
1
30
60
70
90
120
150
…
510
540
Router A
Dist
NH
0
self
0
self
0
self
failure
failure
failure
failure
A
Router B
Dist
NH
-1
A
1
A
1
A
3
C
3
C
5
C
…
15
C
16
C
B
Route C
Dist
NH
--2
B
2
B
2
B
4
B
4
B
…
16
B
16
B
C
20
Problems with RIP (3)
What would fix problem?
Don’t advertise out I/F what you get in I/F (split horizon)
When change to NH, send advert right away
If I/F goes down, poison route (poison reverse)
Router A
Dist
NH
0
self
0
self
0
self
failure
failure
failure
failure
Time
1
30
60
70
90
120
150
…
510
540
Net 1
failure
failure
A
Router B
Dist
NH
-1
A
1
A
1
A
3
C
3
C
5
C
…
15
C
16
C
B
Route C
Dist
NH
--2
B
2
B
2
B
4
B
4
B
…
16
B
16
B
C
21
Problems with RIP (4)
Summary
Count-to-infinity
It is built in to RIP.
You cannot completely remove it.
It is in by design. RIP does not exchange enough
information to be loop-free in all cases, so it must
detect loops by C2I.
Split-horizon & poison reverse
Only work for short loops.
You can still have long cycles with loops, which
C2I will eventually remove.
22
RIP version 2 (RIPv2)
Add subnet masks
Triggered updates (faster convergence)
Authentication
Still has loops and C2I
Is used today in small networks
23
RIP Demo
192.168.2.0/24
modesto
192.168.4.0/24
fresno
.1
turlock
192.168.3.0/24
.2
switch
192.168.11.0/24
PC
24
UNIX routing support
routed = RIP
mrouted = multicast DVMRP
Gated and Zebra = modern protocols
Commands
route add
ip route (linux)
netstat –nr
arp -a
route –nv monitor
/etc/gateways
25
Other topics (whiteboard)
Distance vector vs. link state
OSPF
Can DV be loop free? (yes!)
What is BGP4?
Fault-tolerant network design
Two NICs in server
Two switches
Two Routers
Two ISPs
How to make it all work together?
26