← Interview Prep

Juniper Junos — Routing Troubleshooting

Troubleshooting enterprise routing on Junos: RE/PFE architecture, the toolbox (show route, traceoptions, monitor traffic), a layered methodology, and protocol-by-protocol OSPF/IS-IS/BGP failure modes, policy, preference and ECMP load-balancing.

Troubleshooting routing on Junos is a discipline: know the architecture (where control-plane and forwarding-plane state live), reach for the right tool, and work a protocol failure methodically — adjacency first, then routes, then forwarding. This page is a vendor-neutral, original walkthrough of the enterprise-routing troubleshooting scope (OSPF, IS-IS, BGP, policy, load-balancing) in Junos terms.

The mental split on any Junos box: the Routing Engine (RE) runs the control plane (rpd, the RIB / inet.0) and the Packet Forwarding Engine (PFE) holds the FIB and forwards. "Route in the RIB but traffic drops" → suspect the RIB→FIB gap or the PFE.

Architecture & the toolbox

ToolUse
show route [detail|extensive]What's in the RIB, why a route is active, preference, next-hop resolution.
show <proto> neighbor / interface / databaseAdjacency state and link-state/BGP data per protocol.
traceoptionsPer-protocol debug to a file with fine-grained flags (e.g. hello, error, route) — the core Junos debug.
monitor traffic interfacetcpdump on RE-bound traffic (control plane) — careful, only punted packets.
show route forwarding-tableThe FIB the PFE actually uses.
ping / traceroute (+ routing-instance)Reachability, per-VRF.
show log messages, show system processesrpd health, crashes, resource limits.

Methodology

  1. Scope it: one prefix, one neighbor, one box, or everywhere? Recent change? (show | compare, rollback history).
  2. Control plane up? Is the protocol adjacency/session formed? (neighbor state)
  3. Route present & active? Is the prefix in the RIB, active, with a resolvable next-hop?
  4. In the FIB? Did it reach the forwarding table / PFE?
  5. Forwarding correct? Filters (firewall filter), load-balancing, CoS, RPF.

OSPF

Adjacency walks Down → Init → 2Way → ExStart → Exchange → Full. Where it stalls tells you the fault:

Stuck atUsual cause
Init / not formingHello/dead timer mismatch, area ID mismatch, auth mismatch, subnet/mask mismatch, wrong network type, interface passive, ACL/filter dropping 224.0.0.5.
ExStart / ExchangeClassic MTU mismatch — DBD packets can't be exchanged.
2Way (expected)Both are DROther on a broadcast segment — fine, not a fault.

Verify with show ospf neighbor, show ospf interface [detail] (area, type, timers, MTU), show ospf database; enable traceoptions flag hello / flag error. Route not chosen? Check LSA presence, area type (stub/NSSA), and external metric type.

IS-IS

BGP

Session FSM: Idle → Connect → Active → OpenSent → OpenConfirm → Established. Stuck in Active/Connect = TCP/reachability problem.

SymptomCheck
Won't establishReachability to the peer (loopback via IGP for iBGP), local-address, local/peer AS, TTL/multihop for eBGP, auth/MD5, firewall filter on port 179.
Established but no routes receivedPeer's export policy, your import policy, address family activated, RR/cluster config.
Routes received but not used / not advertisedNext-hop unresolved (need inet.3 for labeled, or an IGP route to the NH), your export policy, best-path loss.

show bgp summary, show bgp neighbor, show route receive-protocol bgp <peer> / advertising-protocol bgp <peer>, and show route resolution for next-hop resolution.

Routing policy, preference & load-balancing

Likely interview questions

Related: Juniper — Switching Troubleshooting · BGP · OSPF · Troubleshooting Scenarios.

Original content aligned to the JNCSP-ENT enterprise-routing scope — not derived from copyrighted courseware.