ROUTED(ADMN) UNIX System V
Name
routed - network routing daemon
Syntax
/etc/routed [-d] [-g] [-s] [-t] [logfile]
Description
routed manages the Internet routing tables using a variant
of the Xerox NS Routing Information Protocol. routed is
invoked by the superuser (usually during init 2).
In normal operation, routed listens on the udp(ADMP) socket
for the route service (see services(SFF)) for routing
information packets. If the host is an internetwork router,
it periodically supplies copies of its routing tables to any
directly connected hosts and networks.
When routed is started, it uses the SIOCGIFCONF ioctl to
find those directly connected interfaces configured into the
system and marked ``up''. (The software loopback interface
is ignored.) If multiple interfaces are present, it is
assumed that the host will forward packets between networks.
Then, routed transmits a request packet on each interface
(using a broadcast packet if the interface supports it) and
enters a loop, listening for request and response packets
from other hosts.
When a request packet is received, routed formulates a reply
based on the information maintained in its internal tables.
The response packet generated contains a list of known
routes, each marked with a hop count metric. (A count of 16
or greater is considered infinite.) The metric associated
with each route returned provides a metric relative to the
sender.
Response packets received by routed are used to update the
routing tables if one of the following conditions is
satisfied:
(1) No routing table entry exists for the destination
network or host, and the metric indicates the
destination is reachable (that is, the hop count is not
infinite).
(2) The source host of the packet is the same as the router
in the existing routing table entry. That is, updated
information is being received from the very
internetwork router through which packets for the
destination are being routed.
(3) The existing entry in the routing table has not been
updated for some time (defined to be 90 seconds) and
the route is at least as cost effective as the current
route.
(4) The new route describes a shorter path to the
destination than the one currently stored in the
routing tables; the metric of the new route is compared
against the one stored in the table to decide this.
When an update is applied, routed records the change in its
internal tables and updates the kernel-routing table. The
change is reflected in the next response packet sent.
In addition to processing incoming packets, routed also
periodically checks the routing table entries. If an entry
has not been updated for 3 minutes, its metric is set to
infinity and marked for deletion. Deletions are delayed an
additional 60 seconds to ensure that the invalidation is
propagated throughout the local internet.
Hosts acting as internetwork routers gratuitously supply
their routing tables every 30 seconds to all directly-
connected hosts and networks. The response is sent to the
broadcast address on nets capable of the broadcast function,
to the destination address on point-to-point links, and to
the router's own address on other networks. The normal
routing tables are bypassed when sending gratuitous
responses. The reception of responses on each network is
used to determine that the network and interface are
functioning correctly. If no response is received on an
interface, another route may be chosen to route around the
interface, or the route may be dropped if no alternative is
available.
routed supports several options:
-d Enable additional debugging information to be logged,
such as bad packets received.
-g This flag is used on internetwork routers to offer a
route to the default destination. This is typically
used on a gateway to the Internet, or on a gateway that
uses another routing protocol whose routes are not
reported to other local routers.
-s Supplying this option forces routed to supply routing
information whether it is acting as an internetwork
router or not. This is the default if multiple network
interfaces are present, or if a point-to-point link is
in use.
-q This is the opposite of the -s option.
-t If the -t option is specified, all packets sent or
received are printed on the standard output. In
addition, routed will not divorce itself from the
controlling terminal, and so interrupts from the
keyboard will kill the process.
Any other argument supplied is interpreted as the name of
file in which routed's actions should be logged. This log
contains information about any changes to the routing tables
and, if the log is not tracing all packets, a history of
recent messages sent and received that are related to the
changed route.
In addition to the facilities described above, routed
supports the notion of distant passive and active gateways.
When routed is started up, it reads the file /etc/gateways
to find gateways that may not be located using only
information from the SIOCGIFCONF ioctl. Gateways specified
in this manner should be marked passive if they are not
expected to exchange routing information, while gateways
marked active should be willing to exchange routing
information (that is, they should have a routed process
running on the machine). Passive gateways are maintained in
the routing tables forever, and information regarding their
existence is included in any routing information
transmitted. Active gateways are treated equally with
network interfaces. Routing information is distributed to
the gateway and, if no routing information is received for a
period of time, the associated route is deleted. External
gateways are also passive, but are not placed in the kernel
routing table nor are they included in routing updates. The
function of external entries is to inform routed that
another routing process will install such a route, and that
alternate routes to that destination should not be
installed. Such entries are only required when both routers
may learn of routes to the same destination.
The /etc/gateways is comprised of a series of lines, each in
the following format:
<net|host> name1 gateway name2
metric value<passive|active|external>
The net or host keyword indicates whether the route is to a
network or specific host.
name1 is the name of the destination network or host. This
may be a symbolic name located in /etc/networks or
/etc/hosts (or, if started after named(ADMN), known to the
name server), or an Internet address specified in ``dot''
notation; see hosts(SFF) and inet(ADMP).
name2 is the name or address of the gateway to which
messages should be forwarded.
value is a metric indicating the hop count to the
destination host or network.
One of the keywords passive, active and external indicates
whether the gateway should be treated as passive or active
(as described above), or the gateway is external to the
scope of the routed protocol.
Files
/etc/gateways for distant gateways
See Also
udp(ADMP).
Notes
The kernel's ICMP routing tables may not correspond to those
of routed when ICMP redirects change or add routes.
(printed 8/17/89) ROUTED(ADMN)