Routing Protocols
Name IGP or EGP Type VLSM Updates Algorithm Metric Convergence Scalability Configuration Port/Protocol
RIP interior (intra-AS) distance vector classful broadcast full routing table periodically Bellman-Ford hop count slow poor easy UDP 520
RIP-2 interior (intra-AS) distance vector classless multicast full routing table periodically Bellman-Ford hop count slow poor easy UDP 520
IGRP (obs.) interior (intra-AS) distance vector classful ?broadcast/multicast full routing table periodically constrained bandwidth and cumulative delay (optionally others) slow/med. good medium IP 9
OSPF interior (intra-AS) link state classless LSA. partial updates to topology to known neighbors Dijkstra shortest paths sum of links' cost (cumulative bandwidth) fast good hard IP 89
EIGRP interior (intra-AS) balanced hybrid classless partial updates of topology to neighbors DUAL constrained bandwidth and cumulative delay (optionally others) * 256 (very) fast good medium IP 88
BGP exterior (inter-AS) classless list of ASNs to path to peers none? policies TCP 179

Notes: IGRP and EIGRP are Cisco proprietary.
EIGRP also classified as distance vector. Has replaced use of IGRP.

what to send when to send to whom can form Loops?
Distance vector routing table periodically neighbor routers yes
Link state my links status when topology (i.e. my link status) changes flood to all routers-->fast convergence no

Distance vector:
router/link failures can create instability/loop:
maximum distance is 16.
split horizon: don't send to router a route learned from that router (i.e. don't tell someone something you learned from him).
poison reverse: override split horizon to send a "net unreachable" to router you learned the route from (i.e. if you hear bad news, pass it to the person you had been hearing the good news from).
If internet has cycle, still can have count to infinity upon failure.
holddown interval: ignore updates about a route learned to be unreachable to give time for the other routers to learn about it and adjust (this update might be stale news) (i.e. ignore what others say because they might not have heard the bad news yet).
negative reachability updates to obviate long timeouts of holddown timers.
triggered updates so don't wait until next periodic update to send news.
Not so simple after all...

Which Routing Protocol to Use
redundant links or parallel paths require VLSM or discontiguous major networks simplest
no no RIP V1
no yes RIP V2
yes no IGRP
yes yes OSPF or EIGRP

OSPF
within an AS (autonomous system), all Areas connect to Area 0 (backbone) at an ABR (area border router).
all routers in an Area have the same topology table (updates localized to Area).
only ABRs and ASBR do route summarization.