26
CMPE 151 Routing Marc Mosko

CMPE 151 Routing

  • Upload
    fawn

  • View
    48

  • Download
    4

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: CMPE 151 Routing

CMPE 151Routing

Marc Mosko

Page 2: CMPE 151 Routing

2

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

Page 3: CMPE 151 Routing

3

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.

Page 4: CMPE 151 Routing

4

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.

Page 5: CMPE 151 Routing

5

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

Page 6: CMPE 151 Routing

6

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.

Page 7: CMPE 151 Routing

7

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 0A.18.11.C6

FF.FF.F8.00 00.00.07.FF

0A.18.10.00 00.00.01.C6

Network = 10.24.16.0

Host = 0.0.1.198

Page 8: CMPE 151 Routing

8

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.

Page 9: CMPE 151 Routing

9

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.

Page 10: CMPE 151 Routing

10

Common masks

Masks 255.255.255.0 0 /24 256 hosts 255.255.255.128 0+128 /25 128 hosts 255.255.255.192 128 + 64 /26 64 hosts 255.255.255.224 192 + 32 /27 32 hosts 255.255.255.240 224 + 16 /28 16 hosts 255.255.255.248 240 + 8 /29 8 hosts 255.255.255.252 248 + 4 /30 4 hosts 255.255.255.254 252 + 2 /31 not usable 255.255.255.255 254 + 1 /32 single host

Learn them There’s only 7 – just memorize it Or, use the addition trick in column 2

Page 11: CMPE 151 Routing

11

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.700010111 00000111 (inverse mask

for host part).....111

There are other rules about subnet zero (not discussed)

Page 12: CMPE 151 Routing

12

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 now-

a-days.

Page 13: CMPE 151 Routing

13

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.

Page 14: CMPE 151 Routing

14

Dynamic routing

What is a routing protocol? Exchange reachability information Prevent loops

http://www.oreilly.com/catalog/iprouting/chapter/pipr_0401.gif

Networks at site

Page 15: CMPE 151 Routing

15

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 Interface Nexthop Distance Status Timer172.16.50.0 E0 172.16.50.1 0 CONN --172.16.250.0 S0 172.16.250.2 0 CONN --172.16.252.0 S1 172.16.252.1 0 CONN --172.16.1.0 S0 172.16.250.1 1 UP 0:00:02192.168.1.0 S0 172.16.250.1 1 UP 0:00:02172.16.100.0 S1 172.16.252.2 1 UP 0:00:14172.16.251.0 S1 172.16.252.2 2 UP 0:00:14

Chicago router

Page 16: CMPE 151 Routing

16

Routing table example

Destination Interface Nexthop Distance Status Timer172.16.50.0 E0 172.16.50.1 0 CONN --172.16.250.0 S0 172.16.250.2 0 CONN --172.16.252.0 S1 172.16.252.1 0 CONN --172.16.1.0 S0 172.16.250.1 1 UP 0:00:02192.168.1.0 S0 172.16.250.1 1 UP 0:00:02172.16.100.0 S1 172.16.252.2 1 UP 0:00:14172.16.251.0 S1 172.16.252.2 2 UP 0:00:14

Chicago router

Page 17: CMPE 151 Routing

17

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

Page 18: CMPE 151 Routing

18

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”.

Page 19: CMPE 151 Routing

19

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.

Page 20: CMPE 151 Routing

20

Problems with RIP (2)

Loops

A B C

Net

1Time Dist NH Dist NH Dist NH

1 0 self -- --30 0 self 1 A --60 0 self 1 A 2 B70 failure 1 A 2 B90 failure 3 C 2 B

120 failure 3 C 4 B150 failure 5 C 4 B… … …

510 failure 15 C 16 B540 failure 16 C 16 B

Router A Router B Route C

Page 21: CMPE 151 Routing

21

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)

A B C

Net

1

Time Dist NH Dist NH Dist NH1 0 self -- --

30 0 self 1 A --60 0 self 1 A 2 B70 failure 1 A 2 B90 failure 3 C 2 B120 failure 3 C 4 B150 failure 5 C 4 B… … …

510 failure 15 C 16 B540 failure 16 C 16 B

Router A Router B Route C

Page 22: CMPE 151 Routing

22

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.

Page 23: CMPE 151 Routing

23

RIP version 2 (RIPv2)

Add subnet masks Triggered updates (faster convergence) Authentication Still has loops and C2I Is used today in small networks

Page 24: CMPE 151 Routing

24

RIP Demo

modesto fresno turlock

192.168.11.0/24

192.168.2.0/24

switch

PC

192.168.4.0/24

192.168.3.0/24.1 .2

Page 25: CMPE 151 Routing

25

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

Page 26: CMPE 151 Routing

26

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?