The Routing Engine software consists of several software processes that control router functionality and a kernel that provides the communication among all the processes (see Figure 2.1). It consists of software processes that support Internet routing protocols, control the router's interfaces and the router chassis itself, and allow router system management. All these processes run on top of a kernel that enables communication among all the processes and has a direct link to the Packet Forwarding Engine software. You use the JUNOS software to configure the routing protocols that should run on the router and to configure properties of the router's interfaces. Then, you use the JUNOS software to monitor the router and to troubleshoot protocol and network connectivity problems. The Routing Engine kernel provides the underlying infrastructure for all 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. Routing Protocol ProcessThe routing protocol process (RPD) controls the routing protocols that run on the router. It starts all configured routing protocols and handles all routing messages. It maintains one or more routing tables, which consolidate the routing information learned from all routing protocols into common tables. From this routing information, the routing protocol process determines the active routes to network destinations and installs them into the Routing Engine's forwarding table. Finally, it implements routing policy, which allows you to control the routing information that is transferred between the routing protocols and the routing table. Using routing policy, you can filter routing information so that only some of it is transferred, and you also can set properties associated with the routes. JUNOS software implements full IP routing functionality, providing support for IP Version 4 (IPv4) and IP Version 6 (IPv6). The routing protocols are fully interoperable with existing IP routing protocols, and they have been developed to provide the scalability and control necessary for the Internet core . JUNOS software provides the following routing and MPLS applications protocols:
A major function of the routing protocol process is to maintain the Routing Engine's routing tables and from these tables to determine the active routes to network destinations. The routing protocol process then installs these routes into the Routing Engine's forwarding table. The JUNOS kernel then copies this forwarding table to the Packet Forwarding Engine. The routing protocol process maintains multiple routing tables. By default, it maintains the following three routing tables. You can configure additional routing tables to suit your requirements.
For unicast routes, the routing protocol process determines active routes by choosing the most preferred route, which is the route with the lowest preference value. By default, the route's preference value is simply a function of how the routing protocol process learned about the route. You can modify the default preference value using routing policy and with software configuration parameters. For multicast traffic, the routing protocol process determines active routes based on traffic flow and other parameters specified by the multicast routing protocol algorithms. The routing protocol process then installs one or more active routes to each network destination into the Routing Engine's forwarding table. By default, all routing protocols place their routes into the routing table. When advertising routes, the routing protocols by default advertise only a limited set of routes from the routing table. Specifically, each routing protocol exports only the active routes that were learned by that protocol. In addition, the Interior Gateway Protocols (IGPs) IS-IS, OSPF, and RIP export the direct (interface) routes for the interfaces on which the protocol is explicitly configured. You can control the routes that a protocol places into each table and the routes from that table that the protocol advertises. You do this by defining one or more routing policies and then applying them to the specific routing protocol. Routing policies applied when the routing protocol places routes into the routing table are referred to as import policies because the routes are being imported into the routing table. Those applied when the routing protocol is advertising routes that are in the routing table are referred to as export policies because the routes are being exported from the routing table. In other words, the terms import and export are used with respect to the routing table. Routing policies allow you to control (filter) which routes a routing protocol imports into the routing table and which routes a routing protocol exports from the routing table. Routing policy also allows you to set the information associated with a route as it is being imported into or exported from the routing table. Filtering imported routes allows you to control the routes used to determine active routes. Filtering routes being exported from the routing table allows you to control the routes that a protocol advertises to its neighbors. You implement routing policy by defining policies and then applying them to specific protocols. A policy specifies the conditions to use to match a route and the action to perform on the route when a match occurs. For example, when a routing table imports routing information from a routing protocol, a routing policy might modify the route's preference, mark the route with a color to identify it and allow it to be manipulated at a later time, or prevent the route from even being installed in a routing table. When exporting routes from a routing table into a routing protocol, a policy might assign metric values, modify the BGP community information, tag the route with additional information, or prevent the route from being exported altogether. You also can define policies for redistributing the routes learned from one protocol into another protocol. Interface ProcessThe JUNOS interface process (dcd) allows you to configure and control the physical interface devices and logical interfaces present in a router. You can configure various interface properties such as the interface location (that is, which slot a Flexible PIC Concentrator [FPC] is installed in and which location on the FPC the Physical Interface Card [PIC] is installed in), the interface encapsulation, and interface-specific properties. You can configure the interfaces that currently are present in the router, as well as interfaces that currently are not present but that you might be adding at a future time. The JUNOS interface process communicates, through the JUNOS kernel, with the interface process in the Packet Forwarding Engine, thus enabling the JUNOS software to track the status and condition of the router's interfaces. Chassis ProcessThe JUNOS chassis process (chassisd) allows you to configure and control the properties of the router, including conditions that trigger alarms and clock sources. The chassis process communicates directly with a chassis process in the JUNOS kernel. SNMP and MIB II ProcessesThe JUNOS software supports the Simple Network Management Protocol (SNMP), which helps administrators monitor the state of a router. The software supports SNMP Version 1 and Version 2 (also known as Version 2c, or v2c). The JUNOS implementation of SNMP does not include any of the security features that were originally included in the IETF SNMP drafts but were later dropped because of the inability to standardize on a particular method. The SNMP software is controlled by the JUNOS SNMP and MIB II processes, which consist of an SNMP master agent and various subagents. Management ProcessWithin the JUNOS software, the management process (mgd), a process-controlling process, starts and monitors all the other software processes. It also starts the command-line interface (CLI), which is the primary tool you use to control and monitor the JUNOS Internet software. This management process starts all the software processes and the CLI when the router boots. If a software process terminates, the management process attempts to restart it. |