routed(1M) (TCP/IP) routed(1M)
NAME
routed - network routing daemon
SYNOPSIS
in.routed [ -qstv ] [ logfile ]
DESCRIPTION
routed is invoked at boot time to manage the network routing tables.
The routing daemon uses a variant of the Xerox NS Routing Information
Protocol in maintaining up to date kernel routing table entries.
In normal operation routed listens on udp(4P) socket 520 (decimal)
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(2) 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 the host will forward packets
between networks. routed then 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.
request 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 route 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
8/91 Page 1
routed(1M) (TCP/IP) routed(1M)
to decide this.
When an update is applied, routed records the change in its internal
tables and generates a response packet to all directly connected
hosts and networks. routed waits a short period of time (no more
than 30 seconds) before modifying the kernel's routing tables to
allow possible unstable situations to settle.
In addition to processing incoming packets, routed also periodically
checks the routing table entries. If an entry has not been updated
for 3 minutes, the entry's metric is set to infinity and marked for
deletion. Deletions are delayed an additional 60 seconds to insure
the invalidation is propagated throughout the internet.
Hosts acting as internetwork routers gratuitously supply their
routing tables every 30 seconds to all directly connected hosts and
networks.
Supplying the -s option forces routed to supply routing information
whether it is acting as an internetwork router or not. The -q option
is the opposite of the -s option. 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 so that 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 a history of
recent messages sent and received which are related to the changed
route. The -v option allows a logfile to be created showing the
changes made to the routing tables with a timestamp.
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 gateways to find gateways which may not
be identified using the SIOGIFCONF 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 to network interfaces. Routing information is
distributed to the gateway and if no routing information is received
for a period of the time, the associated route is deleted.
The gateways is comprised of a series of lines, each in the following
format:
< net | host > filename1 gateway filename2 metric value <
passive | active >
Page 2 8/91
routed(1M) (TCP/IP) routed(1M)
The net or host keyword indicates if the route is to a network or
specific host.
filename1 is the name of the destination network or host. This may
be a symbolic name located in networks or hosts, or an Internet
address specified in dot notation; see inet(3N).
filename2 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.
The keyword passive or active indicates if the gateway should be
treated as passive or active (as described above).
FILES
/etc/gateways for distant gateways
/etc/networks
/etc/hosts
SEE ALSO
ioctl(2), inet(7), udp(7).
NOTES
The kernel's routing tables may not correspond to those of routed for
short periods of time while processes utilizing existing routes exit;
the only remedy for this is to place the routing process in the
kernel.
routed should listen to intelligent interfaces, such as an IMP, and
to error protocols, such as ICMP, to gather more information.
8/91 Page 3