Routing Algorithm Classes
Distance Vector Routing
Tell your neighbours about the world
Examples: RIP, IGRP, EIGRP
- Routers share routing tables with directly connected neighbours
- Each router only knows the distance and next-hop for each destination
- No complete topology knowledge
✅ Simple
✅ Low computation & overhead
❌ Slow convergence
❌ Only works in small networks (max 15 hops for RIP)
❌ Needs split horizon and poison reverse to prevent loops
❌ May not always choose the best path
Link State Routing
Tell the world about your neighbours
Examples: OSPF, IS-IS
- Share what neighbours they are connected (LSAs) to with the world
- Each routed builds a complete topology map (LSDB)
- All routers will end up with the same LSDB
- Only topology changes are flooded, not full updates
✅ Fast convergence
✅ Loop-free (loop cannot be the shortest path)
✅ Efficient updates, only send changes, not complete state
❌ Complex
❌ Higher resource usage
❌ Needs more planning, i.e. area hierarchy
Path Vector Routing
Similar to distance vector routing, but share all hops instead of just distance
Examples: BGP
✅ Loop prevention: if you see yourself in a path, don't accept the route
✅ Policy control (BGP)
✅ Scalable
✅ Transparency: see full path
❌ Slow convergence
❌ Complex configuration
❌ Needs manual tuning
❌ Large tables
❌ Depends on TCP