260 likes | 498 Views
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
E N D
CMPE 151Routing 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
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.
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.
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
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.
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.0000.00.07.FF 0A.18.10.00 00.00.01.C6 Network = 10.24.16.0 Host = 0.0.1.198
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.
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.
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
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)
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.
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.
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
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
Routing table example Chicago router
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
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”.
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.
Problems with RIP (2) • Loops A B C Net 1
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
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.
RIP version 2 (RIPv2) • Add subnet masks • Triggered updates (faster convergence) • Authentication • Still has loops and C2I • Is used today in small networks
RIP Demo modesto fresno turlock 192.168.2.0/24 192.168.4.0/24 192.168.3.0/24 .1 .2 switch 192.168.11.0/24 PC
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
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?