Understanding Every Field Like a Pro
Let’s be honest:
You’ve typed show ip route more times than you can count.
But do you fully understand everything it shows?
Most of us glance at the route and think:
“Oh yeah, it’s there. It’s working.”
But the routing table is more than just a list of destinations — it’s your router’s entire decision-making map.
In this blog, we’ll break down the routing table line by line, explain what each field means, and show you how to analyze and troubleshoot routes like a true networking pro.
What Is a Routing Table?
Think of a routing table as the GPS of a router. It tells the router:
- Where to send packets (destination prefixes)
- How to get there (next-hop IP or exit interface)
- Which path is preferred (based on metric & AD)
- Who gave the route (source protocol)
Your router consults this table every time it receives a packet.
Sample Routing Table Output (Cisco IOS)
Let’s start with an actual example from a Cisco router:
R1# show ip route
Gateway of last resort is 192.168.1.1 to network 0.0.0.0
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.1.1.0/24 is directly connected, FastEthernet0/0
L 10.1.1.1/32 is directly connected, FastEthernet0/0
S* 0.0.0.0/0 [1/0] via 192.168.1.1
O 192.168.2.0/24 [110/2] via 10.1.1.2, 00:00:12, FastEthernet0/0
Don’t worry — we’ll go through each piece of this step-by-step.
Understanding Route Codes (Route Sources)
The first column in the routing table is the code — it tells you where the route came from.
Here are the most common ones:
Code | Meaning |
C | Connected route (directly attached) |
L | Local route (IP of the router’s interface) |
S | Static route |
S* | Static default route |
R | RIP |
O | OSPF |
D | EIGRP |
B | BGP |
If you see L, it just means the router owns that IP — useful for loopback or troubleshooting reachability.
Next Up — Destination Prefix and Mask
After the code, you’ll see something like this:
O 192.168.2.0/24 …
This means:
- The destination network is 192.168.2.0
- The subnet mask is /24 (or 255.255.255.0)
The route was learned via OSPF (code O)
[AD/Metric] — What Do These Numbers Mean?
Example:
[110/2]
These are bracketed values used to decide route preference:
Field | Description |
Administrative Distance (AD) | Trust level of the source protocol (lower = better) |
Metric | Cost to reach the destination (protocol-specific) |
So [110/2] means:
- AD = 110 (OSPF default)
- Metric = 2 (OSPF cost)
If two routes have the same destination, the router:
- Picks the route with the longest prefix match
- If tied, picks the lowest AD
If still tied, picks the lowest metric
Next-Hop and Interface
Look at this part:
via 10.1.1.2, 00:00:12, FastEthernet0/0
This tells us:
- The next-hop IP is 10.1.1.2
- The route was last updated 12 seconds ago
- The packet will exit via FastEthernet0/0
If there’s no “via” (like in a directly connected route), it means the router owns the interface or network.
Special Symbol: The Asterisk *
S* 0.0.0.0/0 [1/0] via 192.168.1.1
The * symbol indicates a candidate default route (aka gateway of last resort).
This means:
- When the router doesn’t know where to send a packet, it uses this path.
Useful for internet-bound or unknown traffic.
Understanding the L (Local) Route
This one confuses many people:
L 10.1.1.1/32 is directly connected, FastEthernet0/0
Why /32?
Because this is a host route to the router’s own interface IP.
It allows the router to respond to ping or management traffic directed at its own IP.
You’ll always see an L route for each IP address the router has.
How to Use Routing Table in Troubleshooting
Let’s say you can’t reach 192.168.2.100.
Run:
show ip route 192.168.2.100
Cisco will show you which route matches, including the next-hop and interface.
If there’s no matching route, and no default route, the packet will be dropped.
Useful Commands
Command | What It Does |
show ip route | Displays the full routing table |
show ip route <IP> | Shows specific route decision |
traceroute <IP> | Verifies path hop-by-hop |
ping <IP> | Confirms reachability |
show ip protocols | Verifies routing protocols & timers |
Routing Table Best Practices
- Always check the longest prefix match first
- Confirm if the route is learned dynamically or statically
- Ensure the next-hop is reachable
- Use ping, traceroute, and debug ip routing for deeper analysis
- Know your AD values and how they influence route preference