routed(8)
NAME
routed - network routing daemon
SYNOPSIS
routed [-d] [-g] [-s] [-q] [-t] [-p] [-i device] [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 Infor - mation Proto
col in maintaining up to date kernel routing table entries. - It used a
generalized protocol capable of use with multiple address - types, but is
currently used only for Internet routing within a cluster of - networks.
- In normal operation routed listens on the udp(4) socket for
- the route(8)
service (see services(5)) 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 inter
faces are present, it is assumed that the host will forward - packets
between networks. Routed then transmits a request packet on - each inter
face (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 gen
erated contains a list of known routes, each marked with a - ``hop count''
metric (a count of 16, or greater, is considered ``infi - nite''). The met
ric 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 net
- work or host,and the metric indicates the destination is ``reach
- able'' (i.e. the
hop count is not infinite). - 2. The source host of the packet is the same as the router
- in theexisting routing table entry. That is, updated infor
- mation 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 destina
- tion 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 pe
- riodically
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 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 capa - ble of that
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 in - terface,
another route may be chosen to route around the interface, - or the route
may be dropped if no alternative is available. - Options supported by routed:
- -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 rout
- ing information
that it is acting as an internetwork router. This - is the default
if multiple network interfaces are present, or if a - point-topoint 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 so that - interrupts
from the keyboard will kill the process. - -p this option forces routed to ignore existence of all
- point-topoint network interfaces. Routed wont send nor re
- ceive routing
updates through these interfaces and also wont prop - agate corre
sponding routes to remote endpoints directly reach - able through
them. Sometimes it is not desirable to send/receive - routing
information about routes through such interfaces, - for example
when point-to-point link with proxy-arp is in use. - -i dev this option forces routed to ignore existence of a
- specified net
work interface dev. Similarly to -p flag, routed - wont send nor
receive routing updates through dev, nor it will ad - vertise direct
routes via such interface. - Any other argument supplied is interpreted as the full path
- to and name
of file in which routedīs actions should be logged. This - log contains
information about any changes to the routing tables and, if - not tracing
all packets, a history of recent messages sent and received - which are
related to the changed route. With first event to be - logged, routed will
create log file in "/var/log/routed" directory (which has to - exist and be
readable/writeable only by root). For security reasons, this - argument has
to begin with "/var/log/routed", as routed itself does not - perform other
security checks towards validity of the remote - traceon/traceoff requests
it may receive. Unless for debugging purposes, it is strong - ly recommended
that the logging path itself does not exist nor is specified - as routed
parameter at all. - In addition to the facilities described above, routed sup
- ports the notion
of ``distant'' passive , active , external and announced - gateway types.
When routed is started up, it reads the file /etc/gateways - to find gate
ways which may not be located using only information from - the SIOGIFCONF
ioctl(2). 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 informa - tion (i.e.
they should have a routed process running on the machine). - Routes through passive gateways are installed in the ker
- nel's routing
tables by routed once upon its startup. Such routes are not - included in
any routing information transmitted. - Active gateways are treated equally to network interfaces.
- Routing
information is distributed to the gateway and routed listens - for updates
on the interface that the gateway is reachable through. - Gateways marked external are also passive, but are not
- placed in the ker
nel 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, so that it should not install alter - nate routes to
that destination. Such entries are only required when both - routers may
learn of routes to the same destination. - Routes to networks through gateways marked as announced will
- be included
in each routing advertisement, but won't be installed in the - kernel rout
ing table. This kind of entries is only required for the - gateways that
are directly reachable, but are unable to announce their - routes, so that
the rest of the RIP1 protocol-equipped network will know - about such
routes too. Entries of announced type can also be used to - announce direct
routes for own interfaces, that didn't exist at the time - when routed has
been started, but can be expected to come up later (such as - routes for
point-to-point interfaces). - The /etc/gateways is comprised of a series of lines, each in
- the follow
ing format: - <net | host> name1 gateway name2 metric value <passive
- active
external | announced> - The net or host keyword indicates if the route is to a net
- work or spe
cific host. - Name1 is the name of the destination network or host. This
- may be a sym
bolic name located in /etc/networks or /etc/hosts (or, if - started after
named(8), known to the name server), or an Internet address - specified in
``dot'' notation; see inet(3). - Name2 is the name or address of the gateway to which mes
- sages should be
forwarded. - Value is a metric indicating the hop count to the destina
- tion host or
network. - One of the keywords passive, active, external or announced
- indicates if
the gateway should be treated as passive or active (as de - scribed above),
whether the gateway is external to the scope of the routed - protocol, or
whether the route reachable via such gateway should be in - cluded in the
routing table announcements. - Internetwork routers that are directly attached to the
- Arpanet or Milnet
should use the Exterior Gateway Protocol (EGP) to gather - routing informa
tion rather than using a static routing table of passive - gateways. EGP
is required in order to provide routes for local networks to - the rest of
the Internet system.
FILES
/etc/gateways for distant gateways
SEE ALSO
- Internet Transport Protocols, XSIS 028112, Xerox System In
- tegration
Standard.
BUGS
- Routed is heavily 32bit architecture dependant. You should
- eventually
consider using gated(8) or zebra(8). - The kernel's routing tables may not correspond to those of
- routed when
redirects change or add routes. Routed should note any - redirects
received by reading the ICMP packets received via a raw - socket.
- Routed also doesn't notice of any new interface, that didn't
- exist prior
to its start, but has newly appeared and come to ``up'' - state after
routed has been started, and won't announce route for such - interface.
- Routed should incorporate other routing protocols. Using
- separate pro
cesses for each requires configuration options to avoid re - dundant or com
peting routes. - Routed should listen to intelligent interfaces, such as an
- IMP, to gather
more information. It does not always detect unidirectional - failures in
network interfaces (e.g., when the output side fails).
HISTORY
- The routed command appeared in 4.2BSD.
- Linux NetKit (0.18) December 11, 1993 Linux