Tip
This is the documentation for the 25.06 version. Looking for the documentation of the latest version? Have a look here.
Dynamic Routing¶
Dynamic routing refers to routes that are capable of changing, generally due to routing protocols exchanging routing information with neighboring routers.
Unlike static routes, dynamic routing does not require remote network destinations and gateways to be hardcoded in the configuration. Routes and gateways are automatically determined by the protocol instead.
Currently TNSR supports multiple dynamic routing protocols:
- Border Gateway Protocol (BGP):
BGP routes between autonomous systems, connecting to defined neighbors to exchange routing and path information. BGP supports IPv4 and IPv6.
- Intermediate System to Intermediate System (IS-IS):
The IS-IS routing protocol is a link-state interior gateway protocol similar to OSPF. IS-IS operates at layer 2 and automatically locates neighbors on directly connected layer 2 networks. IS-IS can route both IPv4 and IPv6 traffic with the same configuration.
- Open Shortest Path First v2 (OSPF):
OSPF is a link-state interior gateway protocol that automatically locates neighboring IPv4 routers within an autonomous system, typically with multicast, and exchanges routing information for networks reachable through each neighbor. OSPF v2 only supports IPv4.
- Open Shortest Path First v3 (OSPF6):
Similar to OSPF v2, but for IPv6 networks.
- Routing Information Protocol (RIP):
A routing protocol where each router broadcasts its routing table to peers on connected segments. Simple and widely supported, but not as fast or efficient as other protocols.
Each dynamic routing type supports Virtual Routing and Forwarding (VRF) and can have multiple server instances in different VRFs.
Dynamic routing on TNSR is handled by FRR.
IS-IS and OSPF Comparison¶
IS-IS and OSPF are frequently compared as they both can perform similar roles as interior gateway protocols for routing and share some common traits. However, they each have certain attributes which set them apart.
Both protocols utilize link-state and Dijkstra’s algorithm to make routing decisions.
Both protocols establish and maintain adjacency with neighbors.
Both protocols have a concept of “areas”.
Both protocols flood their link-state database out all participating interfaces to build a view of the network.
Both protocols operate in a similar, predictable, manner.
IS-IS operates on the data link layer (Layer 2) while OSPF operates at the IP layer (Layer 3).
IS-IS requires interfaces which support L2, which makes it incompatible with most VPN and tunneling methods.
OSPF supports manual neighbors, while IS-IS must be able to discover neighbors automatically.
OSPF uses area types to influence how it treats routing to or through areas.
IS-IS uses levels to make decisions at the router level instead of per-area.
IS-IS has faster convergence and scales better as it uses only one Link State PDU (LSP) per router.
OSPF sends multiple Link State Advertisements (LSAs), one for each LSA type.
IS-IS natively supports both IPv4 and IPv6 in the same configuration and daemon, in part because it operates at L2 and is not tied to a specific L3 protocol.
OSPF requires separate configuration and daemons for IPv4 (OSPFv2) and IPv6 (OSPFv3) and consumes more routing resources as a consequence.
There are also numerous low-level detail differences, but this simple high-level comparison gives an overview to help choose a protocol.
Dynamic Routing Protocol Lists¶
Throughout dynamic routing, certain commands accept one or more parameters which specify a source of routes, such as routes obtained using other routing protocols.
The list of available route sources may include:
- connected:
Routes for directly connected networks.
- kernel:
Routes from the kernel.
- bgp:
Routes obtained dynamically from BGP neighbors.
- isis:
Routes obtained dynamically from IS-IS neighbors.
- ospf:
Routes obtained dynamically from OSPF or OSPF6 neighbors.
Note
To find out which route sources a specific command supports, type ?
or
press Tab
at the end of the command, which will print list of available
options.