|
|
1.1 root 1: .\" Copyright (c) 1983 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted provided
5: .\" that: (1) source distributions retain this entire copyright notice and
6: .\" comment, and (2) distributions including binaries display the following
7: .\" acknowledgement: ``This product includes software developed by the
8: .\" University of California, Berkeley and its contributors'' in the
9: .\" documentation or other materials provided with the distribution and in
10: .\" all advertising materials mentioning features or use of this software.
11: .\" Neither the name of the University nor the names of its contributors may
12: .\" be used to endorse or promote products derived from this software without
13: .\" specific prior written permission.
14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17: .\"
18: .\" @(#)routed.8 6.5 (Berkeley) 6/24/90
19: .\"
20: .TH ROUTED 8 "June 24, 1990"
21: .UC 5
22: .SH NAME
23: routed \- network routing daemon
24: .SH SYNOPSIS
25: .B routed
26: [
27: .B \-d
28: ] [
29: .B \-g
30: ] [
31: .B \-s
32: ] [
33: .B \-q
34: ] [
35: .B \-t
36: ] [
37: .I logfile
38: ]
39: .SH DESCRIPTION
40: .I Routed
41: is invoked at boot time to manage the network routing tables.
42: The routing daemon uses a variant of the Xerox NS Routing
43: Information Protocol in maintaining up to date kernel routing
44: table entries.
45: It used a generalized protocol capable of use with multiple
46: address types, but is currently used only for Internet routing
47: within a cluster of networks.
48: .PP
49: In normal operation
50: .I routed
51: listens on the
52: .IR udp (4)
53: socket for the
54: .I route
55: service (see
56: .IR services (5))
57: for routing information packets. If the host is an
58: internetwork router, it periodically supplies copies
59: of its routing tables to any directly connected hosts
60: and networks.
61: .PP
62: When
63: .I routed
64: is started, it uses the SIOCGIFCONF
65: .I ioctl
66: to find those
67: directly connected interfaces configured into the
68: system and marked ``up'' (the software loopback interface
69: is ignored). If multiple interfaces
70: are present, it is assumed that the host will forward packets
71: between networks.
72: .I Routed
73: then transmits a
74: .I request
75: packet on each interface (using a broadcast packet if
76: the interface supports it) and enters a loop, listening
77: for
78: .I request
79: and
80: .I response
81: packets from other hosts.
82: .PP
83: When a
84: .I request
85: packet is received,
86: .I routed
87: formulates a reply based on the information maintained in its
88: internal tables. The
89: .I response
90: packet generated contains a list of known routes, each marked
91: with a ``hop count'' metric (a count of 16, or greater, is
92: considered ``infinite''). The metric associated with each
93: route returned provides a metric
94: .IR "relative to the sender" .
95: .PP
96: .I Response
97: packets received by
98: .I routed
99: are used to update the routing tables if one of the following
100: conditions is satisfied:
101: .TP
102: (1)
103: No routing table entry exists for the destination network
104: or host, and the metric indicates the destination is ``reachable''
105: (i.e. the hop count is not infinite).
106: .TP
107: (2)
108: The source host of the packet is the same as the router in the
109: existing routing table entry. That is, updated information is
110: being received from the very internetwork router through which
111: packets for the destination are being routed.
112: .TP
113: (3)
114: The existing entry in the routing table has not been updated for
115: some time (defined to be 90 seconds) and the route is at least
116: as cost effective as the current route.
117: .TP
118: (4)
119: The new route describes a shorter route to the destination than
120: the one currently stored in the routing tables; the metric of
121: the new route is compared against the one stored in the table
122: to decide this.
123: .PP
124: When an update is applied,
125: .I routed
126: records the change in its internal tables and updates the kernel
127: routing table.
128: The change is reflected in the next
129: .I response
130: packet sent.
131: .PP
132: In addition to processing incoming packets,
133: .I routed
134: also periodically checks the routing table entries.
135: If an entry has not been updated for 3 minutes, the entry's metric
136: is set to infinity and marked for deletion. Deletions are delayed
137: an additional 60 seconds to insure the invalidation is propagated
138: throughout the local internet.
139: .PP
140: Hosts acting as internetwork routers gratuitously supply their
141: routing tables every 30 seconds to all directly connected hosts
142: and networks.
143: The response is sent to the broadcast address on nets capable of that function,
144: to the destination address on point-to-point links, and to the router's
145: own address on other networks.
146: The normal routing tables are bypassed when sending gratuitous responses.
147: The reception of responses on each network is used to determine that the
148: network and interface are functioning correctly.
149: If no response is received on an interface, another route may be chosen
150: to route around the interface, or the route may be dropped if no alternative
151: is available.
152: .PP
153: .I Routed supports several options:
154: .TP
155: .B \-d
156: Enable additional debugging information to be logged,
157: such as bad packets received.
158: .TP
159: .B \-g
160: This flag is used on internetwork routers to offer a route
161: to the ``default'' destination.
162: This is typically used on a gateway to the Internet,
163: or on a gateway that uses another routing protocol whose routes
164: are not reported to other local routers.
165: .TP
166: .B \-s
167: Supplying this
168: option forces
169: .I routed
170: to supply routing information whether it is acting as an internetwork
171: router or not.
172: This is the default if multiple network interfaces are present,
173: or if a point-to-point link is in use.
174: .TP
175: .B \-q
176: This
177: is the opposite of the
178: .B \-s
179: option.
180: .TP
181: .B \-t
182: If the
183: .B \-t
184: option is specified, all packets sent or received are
185: printed on the standard output. In addition,
186: .I routed
187: will not divorce itself from the controlling terminal
188: so that interrupts from the keyboard will kill the process.
189: .PP
190: Any other argument supplied is interpreted as the name
191: of file in which
192: .IR routed 's
193: actions should be logged. This log contains information
194: about any changes to the routing tables and, if not tracing all packets,
195: a history of recent messages sent and received which are related to
196: the changed route.
197: .PP
198: In addition to the facilities described above,
199: .I routed
200: supports the notion of ``distant''
201: .I passive
202: and
203: .I active
204: gateways. When
205: .I routed
206: is started up, it reads the file
207: .I /etc/gateways
208: to find gateways which may not be located using
209: only information from the SIOGIFCONF
210: .IR ioctl .
211: Gateways specified in this manner should be marked passive
212: if they are not expected to exchange routing information,
213: while gateways marked active
214: should be willing to exchange routing information (i.e.
215: they should have a
216: .I routed
217: process running on the machine).
218: Routes through passive gateways are installed in the
219: kernel's routing tables once upon startup.
220: Such routes are not included in
221: any routing information transmitted.
222: Active gateways are treated equally to network
223: interfaces. Routing information is distributed
224: to the gateway and if no routing information is
225: received for a period of the time, the associated
226: route is deleted.
227: Gateways marked
228: .I external
229: are also passive, but are not placed in the kernel
230: routing table nor are they included in routing updates.
231: The function of external entries is to inform
232: .I routed
233: that another routing process
234: will install such a route, and that alternate routes to that destination
235: should not be installed.
236: Such entries are only required when both routers may learn of routes
237: to the same destination.
238: .PP
239: The
240: .I /etc/gateways
241: is comprised of a series of lines, each in
242: the following format:
243: .PP
244: .nf
245: < \fBnet\fP | \fBhost\fP > \fIname1\fP \fBgateway\fP \fIname2\fP \fBmetric\fP \fIvalue\fP < \fBpassive\fP | \fBactive\fP | \fBexternal\fP >
246: .fi
247: .PP
248: The
249: .B net
250: or
251: .B host
252: keyword indicates if the route is to a network or specific host.
253: .PP
254: .I Name1
255: is the name of the destination network or host. This may be a
256: symbolic name located in
257: .I /etc/networks
258: or
259: .I /etc/hosts
260: (or, if started after
261: .IR named (8),
262: known to the name server),
263: or an Internet address specified in ``dot'' notation; see
264: .IR inet (3).
265: .PP
266: .I Name2
267: is the name or address of the gateway to which messages should
268: be forwarded.
269: .PP
270: .I Value
271: is a metric indicating the hop count to the destination host
272: or network.
273: .PP
274: One of the keywords
275: .BR passive ,
276: .B active
277: or
278: .B external
279: indicates if the gateway should be treated as
280: .I passive
281: or
282: .I active
283: (as described above),
284: or whether the gateway is
285: .I external
286: to the scope of the
287: .I routed
288: protocol.
289: .PP
290: Internetwork routers that are directly attached to the Arpanet or Milnet
291: should use the Exterior Gateway Protocol (EGP) to gather routing information
292: rather then using a static routing table of passive gateways.
293: EGP is required in order to provide routes for local networks to the rest
294: of the Internet system.
295: Sites needing assistance with such configurations
296: should contact the Computer Systems Research Group at Berkeley.
297: .SH FILES
298: .DT
299: /etc/gateways for distant gateways
300: .SH "SEE ALSO"
301: ``Internet Transport Protocols'', XSIS 028112, Xerox System Integration
302: Standard.
303: .br
304: udp(4), icmp(4), XNSrouted(8), htable(8)
305: .SH BUGS
306: The kernel's routing tables may not correspond to those of
307: .I routed
308: when redirects change or add routes.
309: .I Routed
310: should note any redirects received by reading
311: the ICMP packets received via a raw socket.
312: .PP
313: .I Routed
314: should incorporate other routing protocols,
315: such as Xerox NS
316: .RI ( XNSrouted (8))
317: and EGP.
318: Using separate processes for each requires configuration options
319: to avoid redundant or competing routes.
320: .PP
321: .I Routed
322: should listen to intelligent interfaces, such as an IMP,
323: to gather more information.
324: It does not always detect unidirectional failures in network interfaces
325: (e.g., when the output side fails).
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.