Navigation Back up to About Overview

Understanding Junos OS Routing Tables

Junos OS automatically creates and maintains several routing tables. Each routing table is used for a specific purpose. In addition to these automatically created routing tables, you can create your own routing tables.

Each routing table populates a portion of the forwarding table. Thus, the forwarding table is partitioned based on routing tables. This allows for specific forwarding behavior for each routing table. For example, for VPNs, each VPN-based routing table has its own VPN-specific partition in the forwarding table.

It is common for the routing software to maintain unicast routes and multicast routes in different routing tables. You also might have policy considerations that would lead you to create separate routing tables to manage the propagation of routing information.

Creating routing tables is optional. If you do not create any, Junos OS uses its default routing tables, which are as follows:

  • inet.0—For IP version 4 (IPv4) unicast routes. This table stores interface local and direct routes, static routes, and dynamically learned routes.
  • inet.1—For the IPv4 multicast forwarding cache. This table stores the IPv4 (S,G) group entries that are dynamically created as a result of join state information.
  • inet.2—For subsequent address family indicator (SAFI) 2 routes, when multiprotocol BGP (MBGP) is enabled. This table stores unicast routes that are used for multicast reverse-path-forwarding (RPF) lookup. The routes in this table can be used by the Distance Vector Multicast Routing Protocol (DVMRP), which requires a specific RPF table. In contrast, Protocol Independent Multicast (PIM) does not need this table because it can perform RPF checks against the inet.0 table. You can import routes from inet.0 into inet.2 using routing information base (RIB) groups, or install routes directly into inet.2 from a multicast routing protocol.
  • inet.3—For IPv4 MPLS. This table stores the egress address of an MPLS label-swiched path (LSP), the LSP name, and the outgoing interface name. This routing table is used only when the local device is the ingress node to an LSP.
  • inet6.0—For IP version 6 (IPv6) unicast routes. This table stores interface local and direct routes, static routes, and dynamically learned routes.
  • instance-name.inet.0—If you configure a routing instance, Junos OS creates the default unicast routing table instance-name.inet.0.
  • instance-name.inet.2—If you configure routing-instances instance-name protocols bgp family inet multicast in a routing instance of type VRF, Junos OS creates the instance-name.inet.2 table.

    Another way to create the instance-name.inet.2 table is to use the rib-group statement. See Example: Exporting Specific Routes from One Routing Table Into Another Routing Table.

    Note: Importing inet-vpn multicast routes from the bgp.l3vpn.2 table into the instance-name.inet.2 table does not create the instance-name.inet.2 table. The import operation works only if the instance-name.inet.2 table already exists.

  • instance-name.inetflow.0—If you configure a flow route, Junos OS creates the flow routing table instance-name.inetflow.0.
  • bgp.l2vpn.0—For Layer 2 VPN routes learned from BGP. This table stores routes learned from other provider edge (PE) routers. The Layer 2 routing information is copied into Layer 2 VPN routing and forwarding instances (VRFs) based on target communities.
  • bgp.l3vpn.0—For Layer 3 VPN routes learned from BGP. This table stores routes learned from other PE routers. Routes in this table are copied into a Layer 3 VRF when there is a matching route table.
  • mpls.0—For MPLS label switching operations. This table is used when the local device is a transit router.
  • iso.0—For IS-IS routes. When you are using IS-IS to support IP routing, this table contains only the local device’s network entity title (NET).
  • juniper_private—For Junos OS to communicate internally between the Routing Engine and PIC hardware.

Published: 2012-06-29