Specifications

Page 87 /148
Routing Kernel Process
The Routing Engine kernel provides the underlying infrastructure for all the
JUNOS software processes. In addition, it provides the link between the routing
tables and the Routing Engine's forwarding table. It is also responsible for all
communication with the Packet Forwarding Engine, which includes keeping the
Packet Forwarding Engine's copy of the forwarding table synchronized with the
master copy in the Routing Engine.
3.1.2 JUNOS Routing Architecture
Routing Databases
The JUNOS software maintains two databases for routing information:
§ Routing tableContains all the routing information learned by all routing
protocols.
§ Forwarding tableContains the routes actually used to forward packets
through the router.
In addition, the interior gateway protocols (IGPs), IS-IS, OSPF, and RIP, maintain
link-state databases.
The following sections describe each database in more detail.
Routing Protocol Databases
Each IGP routing protocol maintains a database of the routing information it has
learned from other routers running the same protocol and uses this information as
defined and required by the protocol. IS-IS and OSPF use the routing information
they received to maintain link-state databases, which they use to determine which
adjacent neighbors are operational and to construct network topology maps.
IS-IS and OSPF use the Dijkstra algorithm and RIP uses the Bellman-Ford
algorithm to determine the best route or routes (if there are multiple equal-cost
routes) to reach each destination and installs these routes into the JUNOS
software routing table.
JUNOS Routing Tables
The JUNOS software routing table is used by the routing protocol process to
maintain its database of routing information. In this table, the routing protocol
process stores statically configured routes, directly connected interfaces (also
called direct routes or interface routes), and all routing information learned from
all routing protocols. The routing protocol process uses this collected routing
information to select the active route to each destination, which is the route that
actually is used to forward packets to that destination.
By default, the JUNOS software maintains three routing tables: one for unicast
routes, one for multicast routes, and a third for MPLS. You can configure
additional routing tables to support situations where you need to separate out a
particular group of routes or where you need greater flexibility in manipulating
routing information. In general, most operations can be performed without
resorting to the complexity of additional routing tables. However, creating
additional routing tables has several specific uses, including importing interface
routes into more than one routing table, applying different routing policies when
exporting the same route to different peers, and providing greater flexibility with
noncongruent multicast topologies.
Each routing table is identified by a name, which consists of the protocol family
followed by a period and small, nonnegative integer. The protocol family can be
inet (Internet), iso (ISO), or mpls (MPLS). The following names are reserved for
the default routing tables maintained by the JUNOS software:
§ inet.0Default unicast routing table
§ inet.1Multicast routing cache
§ inet.3MPLS routing table for path information
§ mpls.0MPLS routing table for label-switched path (LSP) next hops
Forwarding Tables
The JUNOS software installs all active routes from the routing table into the
forwarding table. The active routes are those routes that are used to forward
packets to their destinations. The JUNOS kernel maintains a master copy of the
forwarding table. It copies the forwarding table to the Packet Forwarding Engine,
which is the part of the router responsible for forwarding packets.