A router is a device that is used in a computer network to connect computers and transfer packets of data among computers in the network. A router can have two or more connections from different networks. The router reads the address information from the incoming data packets to determine their destination. Then, packets are forwarded to the next network by using the information in the router's routing table. This traffic directing process of routers is repeated until the data packets reach the destination node.
Routing protocols handle routing activity on a system. Routers exchange routing information with other systems to maintain known routes to remote networks. Both routers and systems can run routing protocols. The routing protocols on the system communicate with routing daemons on other routers and systems. These protocols assist the system in determining where to forward packets. When network interfaces are enabled, the system automatically communicates with the routing daemons. These daemons monitor routers on the network and advertise the router's addresses to the systems on the local network. Some routing protocols, although not all, also maintain statistics that you can use to measure routing performance. Similar to packet forwarding, you must explicitly configure routing on an Oracle Solaris system.
RIP and RDISC are standard TCP/IP protocols. The following table describes the supported routing protocols in Oracle Solaris.
For more information about routing tables and types in Oracle Solaris, see Routing Tables and Routing Types in Configuring and Managing Network Components in Oracle Solaris 11.3.
This section describes in further details the routing protocols supported in Oracle Solaris.
Routing Information Protocol (RIP) is a distance-vector routing protocol. RIP uses a hop counter as its routing metric. It is implemented by the routing daemon in.routed. The daemon automatically starts when the system is booted. When run on a router with the –s option specified, the in.routed daemon fills the kernel routing table with a route to every reachable network and advertises reachability through all network interfaces. When run on a system with the –q option specified, the in.routed daemon extracts routing information but does not advertise reachability.
On systems, routing information can be extracted in the following two ways:
By specifying the flag. The in.routed daemon creates a minimal kernel table containing a single default route for each available router.
Systems use the Router Discovery (RDISC) protocol to obtain routing information from routers. When systems run RDISC, routers must also run another protocol, such as RIP, to exchange router information.
RDISC is implemented by the daemon in.routed, which must run on both routers and systems. On systems, in.routed uses RDISC to discover default routes from routers that advertise the address through RDISC. On routers, in.routed uses RDISC to advertise default routes to systems on directly-connected networks. See the in.routed(1M) man page and the gateways(4) man page for more information.
Quagga is a routing software suite that enables the implementation of RIP, RIPng, Open Shortest Path First (OSPF), Intermediate System to Intermediate System (IS-IS), and Border Gateway Protocol (BGP) protocols for UNIX platforms including Oracle Solaris.
RIPng offers an extension of RIP for support of IPv6, including various enhancements for IPv6. The functions of RIPng are similar to those of RIP.
OSPF is a router protocol which is used to distribute routing information within a larger autonomous system network. The latest version of OSPF, OSPFv3, adds support for IPv6.
IS-IS is a link state dynamic routing protocol which is used to distribute routing information within a large service provider network.
BGP uses a prefixed set of IP networks to make routing decisions based on the path and rules among large autonomous system networks.
The following table lists the Open Source Quagga routing protocols that are supported in Oracle Solaris.
For more information about the Quagga protocols, go to the Quagga Routing Suite web site at http://www.nongnu.org/quagga/index.html.
VRRP provides high availability of IP addresses, such as those that used for routers and load balancers. VRRP is an Internet standard protocol specified in RFC 5798, Virtual Router Redundancy Protocol Version 3 for IPv4 and IPv6. Oracle Solaris provides an administrative tool that configures and manages the VRRP service.
In addition to the existing standard Layer 2 VRRP, Oracle Solaris provides a proprietary Layer 3 VRRP to support VRRP over IPMP and InfiniBand interfaces and enhanced support for VRRP in zones.
For information about using VRRP and configuring VRRP routers, see Using Virtual Router Redundancy Protocol and Configuring and Administering Virtual Router Redundancy Protocol.