Dynamic routing, also called adaptive routing, describes the capability of a system, through which routes are characterized by their destination, to alter the path that the route takes through the system in response to a change in conditions. The adaptation is intended to allow as many routes as possible to remain valid (that is, have destinations that can be reached) in response to the change.
People using a transport system can display dynamic routing. For example, if a local railway station is closed, people can alight from a train at a different station and use another method, such as a bus, to reach their destination. Another example of dynamic routing can be seen within financial markets. For example, ASOR or Adaptive Smart Order Router (developed by Quod Financial), takes routing decisions dynamically and based on real-time market events.
The term is commonly used in data networking to describe the capability of a network to 'route around' damage, such as loss of a node or a connection between nodes, so long as other path choices are available. There are several protocols used to achieve this:
Systems that do not implement dynamic routing are described as using static routing, where routes through a network are described by fixed paths (statically). A change, such as the loss of a node, or loss of a connection between nodes, is not compensated for. This means that anything that wishes to take an affected path will either have to wait for the failure to be repaired before restarting its journey, or will have to fail to reach its destination and give up the journey.
Many systems use some next-hop forwarding protocol -- when a packet arrives at some node, that node decides on-the-fly which link to use to push the packet one hop closer to its final destination.
Routers that use some adaptive protocols, such as the Spanning Tree Protocol, in order to "avoid bridge loops and routing loops", calculate a tree that indicates the one "best" link for a packet to get to its destination. Alternate "redundant" links not on the tree are temporarily disabled -- until one of the links on the main tree fails, and the routers calculate a new tree using those links to route around the broken link.
Routers that use other adaptive protocols, such as grouped adaptive routing, find a group of *all* the links that could be used to get the packet one hop closer to its final destination. The router sends the packet out any link of that group which is idle. The link aggregation of that group of links effectively becomes a single high-bandwidth connection.