An interior gateway protocol (IGP) is a method for network administrators to handle computer network traffic routing from one part of a controlled network to another. An interior gateway protocol is only necessary if there are multiple routers that need to be traversed for traffic to get around the network. In cases where an IGP is necessary, the network is referred to as an autonomous system (AS). The IGP, then, is responsible for making sure all the routers in the AS know how to move traffic through one another to their destinations. This is different from an exterior gateway protocol, which is responsible for directing traffic leaving or entering a particular AS.
An interior gateway protocol is considered a dynamic routing protocol because of its ability to automatically update the routing information for each router. Compared to a static method, in which the administrator is required to manually update each router, an IGP is considerably more useful for a larger network of routers; the static method is best for smaller or single router networks. There are several types of interior gateway protocols that fall under a couple of general classifications.
A distance-vector routing protocol is based on an algorithm in which each router in the AS calculates the shortest path to a destination by counting the number of other routers data must pass through to reach a destination. The routers will send out messages to one another to plot a path where every other router encountered counts as one "hop" along the path. The path with the fewest hops is then known by the router as the preferred route for the data packets to take. If a router in this path goes off-line, the router looks for the next lowest hop count route, and so on.
One drawback is that interior gateway protocols based on distance-vector routing can have issues with time lag. Every time a new router is added to, or removed from the AS, all of the routers must converge again to determine the shortest path. The time lag occurs because the routers wait for three minutes before giving up on the preferred path and beginning the process of convergence by looking for a new path. Distance-vector IGP routing also has no knowledge of whether a link to a particular router is faster than another, and only relies on the number of hops between one another as the ideal path.
The other type of interior gateway protocol is the link-state method. In a link-state protocol, each router in the AS shares a bit more information. As each router talks to another, they build a database containing information on the other routers in the AS, including the speed at which it takes communications to occur between routers. The database is then processed in each router, and the routing tables are worked out. With a link-state IGP, the AS is capable of undergoing rapid changes and is able to quickly re-route to various other routers should one route become unavailable; convergence in a link-state routing protocol happens in seconds, as opposed to minutes.
Link-state interior gateway protocols also have a drawback in that they tend to use greater computing resources when compared to their distance-vector cousins. The routers in the AS are doing a lot of calculations on the fly during convergence, as well as gathering and retaining a good deal of information, so they tend to use more processor power and memory. If a network using the link-state method experiences the frequent removal or addition of routers, this can be taxing, because the convergence quickly floods the AS routers with new information. As a work-around, the routers are separated into hierarchies where only the routers within a particular group converge with one another. A backbone router, called an area border router (ABR), then converges with the other ABRs to complete convergence across the AS.
Something of a mix of the two types is the enhanced interior gateway routing protocol (EIGRP). Although EIGRP is proprietary to Cisco Systems routers, it takes both methodologies into consideration. In an EIRGP AS, the routers store multiple possible routes to a destination and use the best route first unless that route becomes unavailable. At that point, the router immediately falls back on the secondary route. Aside from the number of hops calculated in a route, EIGRP also stores information on the bandwidth, and speed between hops.