|
|
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.