6.2 Unicast Protocol Statements

6.2.1 Unicast Protocol Overview

Routing protocols determine the "best" route to each destination, and they distribute routing information among the systems on a network. Routing protocols are divided into two general groups: interior protocols and exterior protocols. GateD software combines management of the interior and exterior routing protocols in one software daemon.

6.2.2 Intra-Domain Routing Protocols

Intra-Domain Routing protocols are used to exchange reachability information within an autonomous system (AS). They are referred to as a class by the acronym igp. There are two intra-domain routing protocols currently supported by this version of GateD:

RIP
The Routing Information Protocol, Version 1 and Version 2, is the most commonly used interior protocol. RIP selects the route with the lowest metric as the best route. The metric is a hop count representing the number of gateways through which data must pass in order to reach its destination. The longest path that RIP accepts is 15 hops. If the metric is greater than 15, a destination is considered unreachable and GateD discards the route. RIP assumes that the best route is the one that uses the fewest gateways, i.e. the shortest path, not taking into account congestion or delay on route.

The RIP version 1 protocol is described in RFC 1058 and the RIP version 2 protocol is described in RFC 1723.
OSPF
Open Shortest Path First is a link-state protocol. OSPF is better suited than RIP for complex networks with many routers. OSPF provides equal cost multipath routing.
OSPF is described in RFC 2178.

The OSPF code in Gated support OSPF version 2 specified by RFC 1583 (which obsoleted RFC 1247). The OSPF version 2 MIB is defined in RFC 1850 which replaced RFC 1253. Other related documents are RFC 1245, RFC 1246 and RFC 1370.

IS-IS
Intermediate System to Intermediate System (ISIS) is a link state interior gateway protocol (IGP) originally developed for routing ISO/CLNP (International Organization for Standardization/Connectionless Network Protocol) packets. The version distributed with GateD can route IP packets as well.
HELLO

HELLO, another routing protocol, uses delay as the deciding factor in choosing the best route. Roundtrip time is the length of time that it takes a datagram to travel from the source and destination. HELLO is historically significant for the Internet as it was the protocol used among the original prototype NSFNET backbone fuzzball gateways. Today, like fuzzballs, HELLO is a little-used protocol. The support for HELLO will be obsoleted in version 4.2.


6.2.3 Inter-Domain Routing Protocols

Exterior protocols are used to exchange routing information between autonomous systems. Exterior protocols are only required when an autonomous system must exchange routing information with another autonomous system. Routers within an autonomous system run an interior routing protocol like RIP. Only those gateways that connect an autonomous system to another autonomous system need to run an exterior routing protocol. There are two exterior protocols currently supported by GateD:

EGP
Exterior Gateway Protocol: Originally EGP reachability information was passed into ARPANET/MILNET "core" gateways where the best routes were chosen and passed back out to all connected autonomous systems. As the Internet moved toward a less hierarchical architecture, EGP, an exterior routing protocol which assumes a hierarchical structure, became less effective.
The EGP protocol is described in RFC 827and RFC 904.
BGP
Border Gateway Protocol is replacing EGP as the exterior protocol of choice. BGP exchanges reachability information between autonomous systems, but provides more capabilities than EGP. BGP uses path attributes to provide more information about each route as an aid in selecting the best route. Path attributes may include, for example, administrative preferences based on political, organizational, or security (policy) considerations in the routing decision. BGP supports non-hierarchical topologies and can be used to implement a network structure of equivalent autonomous systems.


BGP version 1 is described in RFC 1105; version 2 in RFC 1163; version 3 in RFC 1267; and version 4 in RFC 1771. The version 3 MIB is described in RFC 1269. The three documents, RFC 1164, RFC 1268, and RFC 1772, describe the application of versions 2, 3, and 4 in the Internet. A protocol analysis of an experience with BGP version 3 is available in RFC 1265 and RFC 1266. RFC 1397 talks about advertising a default route in BGP version 2 and 3.

BGP version 4 is described in RFC 1997 BGP Communities, RFC 1966 BGP Route Reflection, RFC 1966 BGP AS Confederations, and RFC 1403 BGP - OSPF interaction. A useful application document is: RFC 1998 An Application of the BGP Community Attribute in Multi-home Routing.

6.2.4 Other Routing Protocols

Router Discovery
The Router Discovery protocol is used to inform hosts of the availability of hosts it can send packets to and is used to supplement a statically configured default router. This is the preferred protocol for hosts to run. They are discouraged from wiretapping routing protocols. Router Discovery is described in RFC 1256


6.2.5 Other Support



ICMP

On systems without the BSD routing socket, gateD listens to ICMP messages received by the system. Currently gateD only does processing ICMP redirect packets, but more functionality may be added in the future, such as support for the router discovery messages. Processing of ICMP redirect messages is handled by the redirect statement.

Redirect
The redirect code process ICMP or ISO redirects learned by monitoring ICMP messages, or via the routing socket on systems that support it. It process the redirect request and decides whether to accept the redirect. If the redirect is accept, a route is installed in the GateD routing table with the protocol redirect. Redirects are deleted from the routing table after 3 minutes.


Kernel Interface
While the kernel interface is not technically a routing protocol, it has many characteristics of one, and GateD handles it similarly to one. The routes GateD chooses to install in the kernel forwarding table are those that will actually be used by the kernel to forward packets.

The add, delete and change operations that GateD must use to update the typical kernel forwarding table take a non-trivial amount of time. This does not present a problem for older routing protocols (RIP, EGP), which are not particularly time critical and do not easily handle very large numbers of routes anyway. The newer routing protocols (OSPF, BGP) have stricter timing requirements and are often used to process many more routes. The speed of the kernel interface becomes critical when these protocols are used.

Static Routes
Static statements define the static routes used by GateD. A single static statement can specify any number of routes. The static statements occur after protocol statements and before control statements in the gated.conf file. Any number of static statements may be specified, each containing any number of static route definitions. These routes can be overridden by routes with better preference values.



Last updated November 22, 1997

gated@gated.merit.edu