This tutorial explains IP route command and its parameters in details with example.
IP route command is used to configure the static route. Static routes are the most secure way of routing. They will also increase overall network performance. These features are extremely helpful in small network.
IP route command and parameters explained
We have two commands to configure the static route.
Router(config)# ip route destination_network_# [subnet_mask] IP_address_of_next_hop_neighbor [administrative_distance] [permanent]
Router(config)# ip route destination_network_# [subnet_mask] interface_to_exit [administrative_distance] [permanent]
This is the base command which adds new route in routing table.
This is the first parameter. It specifies the destination network address. We need to provide subnet mask if we are using sub-network. Sub-networks are the smaller networks created from one large network in subnetting. If we are not using sub-network then we can omit the subnet mask value. It will parse automatically.
IP_address_of_next_hop_neighbor / interface_to_exit
This parameter provides a way to reach the destination network. Both commands use separate way to assign this value. First command provides the IP address of next hop neighbor. It tells router that if it receives a packet for destination [that we set in previous parameter], forward that packet to this next hop neighbor IP address.
Second command also do the same job but in different way. It specifies exit interface instead of next hop IP address. It tells router that if it receives a packet for the destination specified by previous parameter then exits that packet from this interface. Device attached on other end of this interface will take care of the packet.
Administrative distance is the trustworthiness of route. Route with the lowest AD value will be chosen while forwarding the packet. By default static route has two AD values depending on the previous parameter. If you have used next hop neighbor IP address, then the default AD value will be 1. If you have used exit interface, then the default AD value will be 0. This parameter allows us to create multiple static routes for the same destination. For example we can create primary and backup path for the destination network. To create backup path, we need to set AD value to higher than default, such as 2 or 3. With this configuration router will use primary path. Due to some reason if primary route fails, the router will start using backup route automatically.
When a route goes down router will remove that from routing table. Permanent parameter will keep this route in routing table even if it goes down. Its optional parameter we can omit it. If we omit it, router will remove this route from routing table if it goes down. You might use this parameter for security reason if you never want packets to take another path.
Configure Default Route
By default when a packet arrives in interface, router checks destination filed in packet and compare it with routing table. If it finds a match for destination network then it will forward that packet from related interface. If it does not find a match in routing table then it will discard that packet. This is the default behavior of router. Default route allows us to override this behavior. Default route is a way to deal with all unmatched packets. If no match for destination network found in routing table then it would be forwarded to the default route.
Following command will set default route
Router(config)# ip route 0.0.0.0 0.0.0.0 IP_address_of_next_hop_neighbor [administrative_distance] [permanent]
Router(config)# ip route 0.0.0.0 0.0.0.0 interface_to_exit [administrative_distance] [permanent]
Above command sets destination network to 0.0.0.0/0 that represents all networks.
IP route command example
For demonstration purpose we will use Packet Tracer network simulator software. Beside Packet Tracer you can use any other network simulator software such RouterSim, GNS, Boson or even better if you could afford, use real Cisco devices for follow this practice.
Create a practice topology as shown in fowling figure. Alternatively you can download this topology.
|Device||Connected from||Connected to||IP Address|
|Router0||Serial 0/0/0||Router1's serial0/0/0||192.168.0.253/30|
|Router1||Serial 0/0/0/||Router0's serial0/0/0||192.168.0.254/30|
Assign IP address to devices
Assign IP address 10.0.0.2/8 to PC0.
Repeat same process for PC1 and assign IP address 220.127.116.11/8.
Assign IP address to interfaces of router
Double click Router0 and click CLI and press Enter key to access command prompt of router.
Two interfaces FastEthernet0/0 and Serial0/0/0 of Router0 are used in this topology. By default interfaces on router are remain administratively down during the start up. We need to configure IP address and other parameters on interfaces before we could actually use them for routing. Interface mode is used to assign IP address and other parameters. Interface mode can be accessed from global configuration mode. Following commands are used to access global configuration mode.
Router>enable Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#
From global configuration mode we can enter in interface mode. From there we can configure the interface. Following commands will assign IP address on FastEthernet0/0.
Router(config)#interface fastEthernet 0/0 Router(config-if)#ip address 10.0.0.2 255.0.0.0 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#
interface fastEthernet 0/0 command is used to enter in interface mode.
ip address 10.0.0.2 255.0.0.0 command will assign IP address to interface.
no shutdown command will bring the interface up.
exit command is used to return in global configuration mode.
Serial interface needs two additional parameters clock rate and bandwidth. Every serial cable has two ends DTE and DCE. These parameters are always configured at DCE end. We can use show controllers interface command from privilege mode to check the cable's end.
Router#show controllers serial 0/0/0 Interface Serial0/0/0 Hardware is PowerQUICC MPC860 DCE V.35, clock rate 2000000 [Output omitted]
Fourth line of output confirms that DCE end of serial cable is attached. If you see DTE here instead of DCE skip these parameters.
Now we have necessary information let's assign IP address to serial interface.
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface serial 0/0/0 Router(config-if)#ip address 192.168.0.253 255.255.255.252 Router(config-if)#clock rate 64000 Router(config-if)#bandwidth 64 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#
Router#configure terminal Command is used to enter in global configuration mode.
Router(config)#interface serial 0/0/0 Command is used to enter in interface mode.
Router(config-if)#ip address 192.168.0.253 255.255.255.252 Command assigns IP address to interface. For serial link we usually use IP address from /30 subnet.
Router(config-if)#clock rate 64000 And Router(config-if)#bandwidth 64 In real life environment these parameters control the data flow between serial links and need to be set at service providers end. In lab environment we need not to worry about these values. We can use these values.
Router(config-if)#no shutdown Command brings interface up.
Router(config-if)#exit Command is used to return in global configuration mode.
We will use same commands to assign IP addresses on interfaces of Router1. Since we have provided clock rate and bandwidth on serial interface of Router0 we need not to assign them on serial interface of Router1. Following command will assign IP addresses on interface of Router1.
Router>enable Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface fastEthernet 0/0 Router(config-if)#ip address 18.104.22.168 255.0.0.0 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#interface serial 0/0/0 Router(config-if)#ip address 192.168.0.254 255.255.255.252 Router(config-if)#no shutdown Router(config-if)#exit
Configure Static Route
Run following command from global configuration mode in routers.
Router(config)#ip route 22.214.171.124 255.0.0.0 192.168.0.254
Router(config)#ip route 10.0.0.0 255.0.0.0 192.168.0.253
That's all we need to switch packet from one network to another. To verify the result we can use ping command. Access the command prompt of PC1 and use ping command to test the connectivity from PC0.
A successful reply indicates that static routing is configured properly. In next article we will extend this example with more complex topology.