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 1388.
- 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 1583. The MIB is defined in 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 take s a datagram to travel from the
source and destination. HELLO is historically significant for the Internet as it was the
protocol used among the orgianl 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.
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. And finally, RFC 1403 describes
BGP - OSPF interaction.
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
wiretappingrouting 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 April 26, 1997.
gated@gated.merit.edu