So that TCP/IP can perform routing functions, it must have access to current information about available routes. Such information is usually maintained in a routing table, where individual entries specify the following information:
The entries in the routing table can be made manually, or they can be made dynamically through the use of routing protocols. Manual entries, called static routes, have the disadvantage of becoming outdated. Any change in the network (such as a failure or the addition of a new node) requires manual intervention to reconfigure the static routes on all routers that have access to the affected area. Because most networks are dynamic, the manual maintenance of static routing tables is usually confined to special circumstances.
For most networks, the only way to respond to changes in the network fast enough to maintain connectivity is to use a routing protocol. A routing protocol dynamically detects a change in the network and updates all affected routing tables accordingly. The protocol does this much faster than a person could using static routing.