Dynamic Routing
Philip Smith
E2 Workshop, AfNOG2006
Static and Dynamic Routing
Static Routing is a simplistic approach Shortcomings
Cumbersome to configure Cannot adapt to addition of new links or nodes Cannot adapt to link or node failures Cannot easily handle multiple paths to a destination Does not scale to large networks
Solution is to use Dynamic Routing
Desirable Characteristics of Dynamic Routing
Automatically detect and adapt to topology changes Provide optimal routing Scalability Robustness Simplicity Rapid convergence Some control of routing choices
E.g. which links we prefer to use
Convergence why do I care?
Convergence is when all the routers have the same routing information When a network is not converged there is network downtime
Packets dont get to where they are supposed to go
Black holes (packets disappear) Routing Loops (packets go back and fore between the same devices)
Occurs when there is a change in status of router or the links
Interior Gateway Protocols
Four well known IGPs today
RIP EIGRP ISIS OSPF
RIP
Stands for Routing Information Protocol
Some call it Rest In Peace
Lots of scaling problems RIPv1 is classful, and officially obsolete RIPv2 is classless
has improvements over RIPv1 is not widely used in the Internet industry
Only use is at the internet edge, between dial aggregation devices which can only speak RIPv2 and the next layer of the network
Why not use RIP?
RIP is a Distance Vector Algorithm
Listen to neighbouring routes Install all routes in routing table
Lowest hop count wins Very simple, very stupid
Advertise all routes in table
Only metric is hop count Network is max 16 hops (not large enough) Slow convergence (routing loops) Poor robustness
IGRP/EIGRP
Enhanced Interior Gateway Routing Protocol Predecessor was IGRP which was classful
IGRP developed by Cisco in mid 1980s to overcome scalability problems with RIP
Cisco proprietary routing protocol Distance Vector Routing Protocol
Has very good metric control
Widely used in many enterprise networks and in some ISP networks
Multiprotocol (supports more than IP) Exhibits good scalability and rapid convergence Supports unequal cost load balancing
IS-IS
Intermediate System to Intermediate System Selected in 1987 by ANSI as OSI intradomain routing protocol (CLNP connectionless network protocol)
Based on work by DEC for DECnet/OSI (DECnet Phase V) NSFnet deployed, its IGP based on early ISIS-IP draft
Extensions for IP developed in 1988
IS-IS (cont)
Adopted as ISO proposed standard in 1989
Integrated ISIS supports IP and CLNP Several ISPs chose ISIS over OSPF due to superior Cisco implementation
Debate between benefits of ISIS and OSPF
1994-date: deployed by several larger ISPs Developments continuing in IETF in parallel with OSPF
OSPF
Open Shortest Path First
IETF Working Group formed in 1988 to design an IGP for IP OSPF v1 published in 1989 RFC1131 OSPF v2 published in 1991 RFC1247 Developments continued through the 90s and today
Open means it is public domain Uses Shortest Path First algorithm sometimes called the Dijkstra algorithm
OSPFv3 includes extensions to support IPv6
Why use OSPF?
Dynamic IGP, Link State Protocol
IETF standard RFC2328
many implementations
Encourages good network design
Areas naturally follow typical ISP network layouts
Relatively easy to learn Has fast convergence Scales well
Link State Algorithm
Each router contains a database containing a map of the whole topology
Links Their state (including cost)
All routers have the same information All routers calculate the best path to every destination Any link state changes are flooded across the network
Global spread of local knowledge
Routing versus Forwarding
Routing = building maps and giving directions Forwarding = moving packets between interfaces according to the directions
IP Routing finding the path
Path is derived from information received from the routing protocol Several alternative paths may exist
best next hop stored in forwarding table
Decisions are updated periodically or as topology changes (event driven) Decisions are based on:
topology, policies and metrics (hop count, filtering, delay, bandwidth, etc.)
IP Forwarding
Router makes decision on which interface a packet is sent to Forwarding table populated by routing process Forwarding decisions:
Destination address class of service (fair queuing, precedence, others) local requirements (packet filtering)
Routing Tables Feed the Forwarding Table
Forwarding Information Base (FIB)
Routing Information Base (RIB)
BGP 4 Routing Table
OSPF Link State Database
Static Routes
Summary
Now know:
Difference between static routes, RIP and OSPF Difference between Routing and Forwarding A Dynamic Routing Protocol should be used in any ISP network Static routes dont scale RIP doesnt scale (and is obsolete)