Routing Protocols: RIP, OSPF and BGP
Routing can be static or dynamic. While on small networks static routing is used – i.e., datagrams always travel by the exact same path to reach their destination – on the Internet or big networks dynamic routing is necessary.
With dynamic routing, routers can change routes on the fly, if they feel that there are better paths for reaching a given destination. For example, if there is more than one way to reach a given destination and the current route is longer than another available route, the routers can reconfigure themselves to use the shorter route. Here “long” and “short” refers to the number of existing hops (i.e., routers) in the way. Shorter routes are not necessarily the fastest, as we will explain.
The communication between the routers in order to reprogram their routing tables is done using a routing protocol. The three most well known dynamic routing protocols are RIP (Routing Information Protocol), OSPF (Open Shortest Path First) and BGP (Border Gateway Protocol).
If routers are using RIP protocol, they will send out their routing tables to all routers they have access to every 30 seconds. Routing table is a table containing all networks the routers know how to reach and also the distance (given in hops) to them.
When receiving a new routing table from another router, each router can see if there is any network on that list that has a shorter path than the one that it is currently configured to use. If there is, the router will reconfigure itself to use this new shorter path.
The problem is that the shorter paths are not always the best, as RIP protocol does not implement any way to check the performance of that path. It also doesn’t check for congestion or if the path is really available. So a longer route may be faster.
RIP uses UDP on port 520.
Despite its name, OSPF protocol doesn’t look for the shortest path, but for the fastest. When routers use OSPF protocol, they check the status of other routers they have access to from time to time sending a hello message. From that message they know if a router is online and what is its status. Another difference is that using OSPF routers know all the paths that can be used to reach a given destination, while on RIP routers know only the shortest path. A third difference is that RIP-based routers will send out their routing tables every 30 seconds, which raise network traffic.
Another difference is that OSPF-based routers allow load balancing: if there is more than one route to a given destination, the router may divide datagrams between them in order to lower the individual traffic on each one of them.
OSPF works directly on the Internet layer with IP protocol, thus it doesn’t use TCP or UDP protocols.
BGP is a protocol targeted to huge networks, like the Internet – in fact BGP is the protocol used by routers on the net. As such, it is classified as an external gateway protocol, while RIP and OSPF are classified as internal gateway protocols – as they are used on networks that are under the same administration.
BGP group routers and computers that are under the same administration into a unit called autonomous system (AS) – for example, all routers and computers that belong or are connected to the same Internet service provider (ISP) are part of the same AS. While running inside the same autonomous system BGP is called IBGP (Internal), while running between two different autonomous systems BGP is called EBGP (External).
BGP is far more complex than RIP and OSPF, as it uses several different criteria (called attributes) to determine which is the best route to take: Weight, Local preference, Multi-exit discriminator, Origin, AS_path, Next hop and Community.
Unlike RIP, BGP-based routers only sends out what is new on their routing tables instead of sending the whole table from time to time, helping to decrease the network traffic. Another difference between BGP and RIP is that BGP checks from time to time if a given path is online or not.
BGP uses TCP on port 179.