# Static routing

Static routing describes a process by which routing is configured with fixed values that do not change at runtime unless manually edited. Static routes are used with and without dynamic Routing protocols and usually share the same routing table as those protocols. Routes require at least two attributes; the destination and the gateway, but may contain additional attributes such as a metric (sometimes called the administrative distance). Some implementations treat the network address and subnet mask as separate values, however in practice both of the values have to be considered for any given routing decision to determine the longest prefix match. Static routes together with connected routes and routes from configuration protocols such as DHCP or Router Advertisements provide the routes which are then redistributed using dynamic routing protocols. While static routes are entered into the system and remain there until removed or changed manually, dynamic routing protocols create and delete routes dynamically at runtime without intervention. Thus the term static here refers to the nature of remaining unchanged by the system itself. The most prominent example of a static route is a default route which is often used on devices with a statically configured IP address to provide the device with access to the rest of the network or the internet by default. In contrast to a so called connected route which is automatically generated upon address assignment based on the used subnet mask, a static route must be manually configured. Due to this the configuration may fail if there is no route to the provided gateway at the time of configuration, other than the connected route which will always succeed as it does not require a gateway. The gateway of a static route need not be an address, but can also specify an interface in most implementations.

## Uses

Static routing may have the following uses:
* When using static address configuration (in the absence of DHCP or Router Advertisements) it can be used to provide a default route, forming a special case of the longest prefix match as it has a prefix length of zero and therefore always matches, and always matches last.
* In small networks it is a viable method for providing alternative routes to direct traffic when multiple routers exist. This is a simple but limited form of Teletraffic engineering.
* Static routing has applications in environments with many routes with infrequent changes as it reduces the delay it would take to synchronize the routes from another device.
* On heavily resource constrained devices where routing protocols may not be viable due to lack of computation power, static routes may be used instead.
* Static routes, connected routes, and routes from dynamic configuration protocols can be redistributed by dynamic routing protocols. For instance, a router may have a static or connected route for a local network segment, which is then redistributed over dynamic routing protocols to enable connectivity to that network.
* By using the metric to reduce the priority of a static route a fallback can be provided for instance when a DHCP server becomes unavailable. This can also prevent a type of lockout situation in which one would be unable to access the device otherwise.

## Advantages

Static routing has the following advantages:
* Due to being configured on the device it can serve as a bootstrap for other protocols.
* It does not require connectivity to work, providing high fault tolerance in case of network failures.
* Compared to dynamic routing protocols, static routes are much more widely available, for instance, many low-end consumer switches are capable of setting static routes.
* As static routes are not read from the network, there are also fewer security considerations. Dynamic routing protocols may need to be secured such that an attacker cannot redirect traffic from the outside.

## Disadvantages

Static routing can have some potential disadvantages:
* Human error: As the routes have to be manually configured this may be a source of human error in the absence of automated configuration management.
* Administrative overhead: Similarly the routes have to be provided to the devices. This can be remedied by configuration management, but also using simpler means of using a template engine to generate configuration using repetition or IP address management software.
* Fault tolerance: While static routes not being removed during a network failure can be good in that routes continue to function, however, most implementations continue to use a static route as long as the interface the gateway is on is in an up state. When network hardware fails it is not necessary down; a hang may cause interfaces to keep running but not accept traffic. Routing protocols usually implement timeouts after which routes are removed or have integration with additional protocols such as Bidirectional Forwarding Detection to reduce the time the faulty route is present to sub-second.
* Observability: Static routes themselves do not propagate, which means that in a network built using only static routes it is hard to get a big picture of all present routes unless monitored. Dynamic routing protocols often transmit topology information or can be connected to debugging tools such as a Looking Glass server.

## Example

To route IP traffic destined for the network 10.10.20.0/24 via the next-hop router with the IPv4 address of 192.168.100.1, the following configuration commands or steps can be used:

### Linux

Linux distributions generally provide a variety of network configuration software for users to use, but also ship with a default such as systemd-networkd or ifupdown. The configuration software of choice is then used to configure the persistent configuration which is applied on boot. It is also possible to configure Linux networking ad-hoc using the ip command from the iproute2 package. The following command can be used to configure the route using ip:

### Cisco

Cisco routers running the Cisco IOS operating system can be configured using the command line interface:

#### Configuring administrative distance

The administrative distance can be manually (re)configured so that the static route can be configured as a backup route, to be used only if the dynamic route is unavailable.
Setting the administrative distance to 254 will result in the route being used only as a backup.