CMPE 151 Routing Marc Mosko
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
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.
4 Classful IP addresses 5 classes A: 7-bit net/24-bit host0xx Loopback127 B: 14-bit net/16-bit host10x C: 21-bit net/8-bit host110x D: multicast1110x E: experimental1111x240 – 254 Broadcast No subnet mask used. Bit-size of fields defined by address prefix.
5 Classful examples A networks net=10, host = B networks net=172.16, host = 8.7 C networks net= , host = 5 D network multicast group
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.
7 Enter Classless IP IP address is a 64-bit value: IP and mask. a.b.c.d / 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 = / A C6 FF.FF.F FF 0A C6 Network= Host=
8 The gateway decision Host IP: / 16 Dest IP: What should host do with packet? & = & = Same network, host should ARP and deliver locally.
9 The gateway decision (2) Host IP: / 16 Dest IP: What should host do with packet? & = & = Different network, host should send packet to default gateway for routing.
10 Common masks Masks /24256 hosts / hosts /26 64 hosts /27 32 hosts /28 16 hosts /29 8 hosts /30 4 hosts /31 not usable /32 single host Learn them There’s only 7 – just memorize it Or, use the addition trick in column 2
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 /29 = 8 addresses, 6 usable = 0 ``this net’’ address = all-1s broadcast & (inverse mask for host part) There are other rules about subnet zero (not discussed)
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.
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.
14 Dynamic routing What is a routing protocol? Exchange reachability information Prevent loops Networks at site
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 Chicago router
16 Routing table example Chicago router
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
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, 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”.
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.
20 Problems with RIP (2) Loops ABC Net 1
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) ABC Net 1
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.
23 RIP version 2 (RIPv2) Add subnet masks Triggered updates (faster convergence) Authentication Still has loops and C2I Is used today in small networks
24 RIP Demo modestofresnoturlock / /24 switch PC / /24.1.2
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
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?