home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / doc / hitchhikers.guide (.txt) < prev    next >
Amigaguide Document  |  1990-07-31  |  50KB  |  913 lines

  1.            The Hitchhikers Guide to the Internet
  2.                        25 August 1987
  3.                           Ed Krol
  4.                    krol@uxc.cso.uiuc.edu
  5. This document was produced through funding of the National
  6. Science Foundation.
  7. Copyright (C) 1987, by the Board of Trustees of The Univer-
  8. sity of Illinois.  Permission to duplicate this document, in
  9. whole or part, is granted provided reference is made to the
  10. source and this copyright is included in whole copies.
  11. Purpose and Audience
  12. This document assumes that one is familiar with the workings
  13. of a non-connected simple IP network (e.g. a few 4.2 BSD
  14. systems on an Ethernet not connected to anywhere else).
  15. Appendix A contains remedial information to get one to this
  16. point.  Its purpose is to get that person, familiar with a
  17. simple net, versed in the "oral tradition" of the Internet
  18. to the point that that net can be connected to the Internet
  19. with little danger to either.  It is not a tutorial, it con-
  20. sists of pointers to other places, literature, and hints
  21. which are not normally documented.  Since the Internet is a
  22. dynamic environment, changes to this document will be made
  23. regularly.  The author welcomes comments and suggestions.
  24. This is especially true of terms for the glossary (defini-
  25. tions are not necessary).
  26. What is the Internet?
  27. In the beginning there was the ARPAnet, a wide area experi-
  28. mental network connecting hosts and terminal servers
  29. together.  Procedures were set up to regulate the allocation
  30. of addresses and to create voluntary standards for the net-
  31. work.  As local area networks became more pervasive, many
  32. hosts became gateways to local networks.  A network layer to
  33. allow the interoperation of these networks was developed and
  34. called IP (Internet Protocol).  Over time other groups
  35. created long haul IP based networks (NASA, NSF, states...).
  36. These nets, too, inter-operate because of IP.  The collec-
  37. tion of all of these interoperating networks is the Inter-
  38. Two groups do much of the research and information work of
  39. the Internet (ISI and SRI).  ISI (the Informational Sciences
  40. Institute) does much of the research, standardization, and
  41. allocation work of the Internet.  SRI International provides
  42. information services for the Internet.  In fact, after you
  43. are connected to the Internet most of the information in
  44. this document can be retrieved from the Network Information
  45. Center (NIC) run by SRI.
  46. Operating the Internet
  47. Each network, be it the ARPAnet, NSFnet or a regional net-
  48. work, has its own operations center.  The ARPAnet is run by
  49. BBN, Inc. under contract from DARPA.  Their facility is
  50. called the Network Operations Center or NOC.  Cornell
  51. University temporarily operates NSFnet (called the Network
  52. Information Service Center, NISC).  It goes on to the
  53.                             -2-
  54. regionals having similar facilities to monitor and keep
  55. watch over the goings on of their portion of the Internet.
  56. In addition, they all should have some knowledge of what is
  57. happening to the Internet in total. If a problem comes up,
  58. it is suggested that a campus network liaison should contact
  59. the network operator to which he is directly connected. That
  60. is, if you are connected to a regional network (which is
  61. gatewayed to the NSFnet, which is connected to the
  62. ARPAnet...)  and have a problem, you should contact your
  63. regional network operations center.
  64. The internal workings of the Internet are defined by a set
  65. of documents called RFCs (Request for Comments).  The gen-
  66. eral process for creating an RFC is for someone wanting
  67. something formalized to write a document describing the
  68. issue and mailing it to Jon Postel (postel@isi.edu).  He
  69. acts as a referee for the proposal.  It is then commented
  70. upon by all those wishing to take part in the discussion
  71. (electronically of course).  It may go through multiple
  72. revisions.  Should it be generally accepted as a good idea,
  73. it will be assigned a number and filed with the RFCs.
  74. The RFCs can be divided into five groups: required, sug-
  75. gested, directional, informational and obsolete.  Required
  76. RFC's (e.g. RFC-791, The Internet Protocol) must be imple-
  77. mented on any host connected to the Internet.  Suggested
  78. RFCs are generally implemented by network hosts.  Lack of
  79. them does not preclude access to the Internet, but may
  80. impact its usability.  RFC-793 (Transmission Control Proto-
  81. col) is a suggested RFC.  Directional RFCs were discussed
  82. and agreed to, but their application has never come into
  83. wide use.  This may be due to the lack of wide need for the
  84. specific application (RFC-937 The Post Office Protocol) or
  85. that, although technically superior, ran against other per-
  86. vasive approaches (RFC-891 Hello).  It is suggested that
  87. should the facility be required by a particular site, an
  88. implementation be done in accordance with the RFC.  This
  89. insures that, should the idea be one whose time has come,
  90. the implementation will be in accordance with some standard
  91. and will be generally usable.  Informational RFCs contain
  92. factual information about the Internet and its operation
  93. (RFC-990, Assigned Numbers).  Finally, as the Internet and
  94. technology have grown, some RFCs have become unnecessary.
  95. These obsolete RFCs cannot be ignored, however.  Frequently
  96. when a change is made to some RFC that causes a new one to
  97. be issued obsoleting others, the new RFC only contains
  98. explanations and motivations for the change.  Understanding
  99. the model on which the whole facility is based may involve
  100. reading the original and subsequent RFCs on the topic.
  101.                             -3-
  102. (Appendix B contains a list of what are considered to be the
  103. major RFCs necessary for understanding the Internet).
  104. The Network Information Center
  105. The NIC is a facility available to all Internet users which
  106. provides information to the community.  There are three
  107. means of NIC contact: network, telephone, and mail.  The
  108. network accesses are the most prevalent.  Interactive access
  109. is frequently used to do queries of NIC service overviews,
  110. look up user and host names, and scan lists of NIC docu-
  111. ments.  It is available by using
  112.      %telnet sri-nic.arpa
  113. on a BSD system and following the directions provided by a
  114. user friendly prompter.  From poking around in the databases
  115. provided one might decide that a document named
  116. NETINFO:NUG.DOC (The Users Guide to the ARPAnet) would be
  117. worth having.  It could be retrieved via an anonymous FTP.
  118. An anonymous FTP would proceed something like the following.
  119. (The dialogue may vary slightly depending on the implementa-
  120. tion of FTP you are using).
  121.      %ftp sri-nic.arpa
  122.      Connected to sri-nic.arpa.
  123.      220 SRI_NIC.ARPA FTP Server Process 5Z(47)-6 at Wed 17-Jun-87 12:01
  124.      Name (sri-nic.arpa:myname): anonymous
  125.      331 ANONYMOUS user ok, send real ident as password.
  126.      Password: myname
  127.      230 User ANONYMOUS logged in at Wed 17-Jun-87 12:01 PDT, job 15.
  128.      ftp> get netinfo:nug.doc
  129.      200 Port 18.144 at host 128.174.5.50 accepted.
  130.      150 ASCII retrieve of <NETINFO>NUG.DOC.11 started.
  131.      226 Transfer Completed 157675 (8) bytes transferred
  132.      local: netinfo:nug.doc  remote:netinfo:nug.doc
  133.      157675 bytes in 4.5e+02 seconds (0.34 Kbytes/s)
  134.      ftp> quit
  135.      221 QUIT command received. Goodbye.
  136. (Another good initial document to fetch is NETINFO:WHAT-
  137. THE-NIC-DOES.TXT)!
  138. Questions of the NIC or problems with services can be asked
  139. of or reported to using electronic mail.  The following
  140. addresses can be used:
  141.      NIC@SRI-NIC.ARPA         General user assistance, document requests
  142.      REGISTRAR@SRI-NIC.ARPA   User registration and WHOIS updates
  143.      HOSTMASTER@SRI-NIC.ARPA  Hostname and domain changes and updates
  144.      ACTION@SRI-NIC.ARPA      SRI-NIC computer operations
  145.                             -4-
  146.      SUGGESTIONS@SRI-NIC.ARPA Comments on NIC publication Services
  147. For people without network access, or if the number of docu-
  148. ments is large, many of the NIC documents are available in
  149. printed form for a small charge.  One frequently ordered
  150. document for starting sites is a compendium of major RFCs.
  151. Telephone access is used primarily for questions or problems
  152. with network access.  (See appendix B for mail/telephone
  153. contact numbers).
  154. The NSFnet Network Service Center
  155. The NSFnet Network Service Center (NNSC) is funded by NSF to
  156. provide a first level of aid to users of NSFnet should they
  157. have questions or encounter problems traversing the network.
  158. It is run by BBN Inc.  Karen Roubicek
  159. (roubicek@nnsc.nsf.net) is the NNSC user liaison.
  160. The NNSC, which currently has information and documents
  161. online and in printed form, plans to distribute news through
  162. network mailing lists, bulletins, newsletters, and online
  163. reports.  The NNSC also maintains a database of contact
  164. points and sources of additional information about NSFnet
  165. component networks and supercomputer centers.
  166. Prospective or current users who do not know whom to call
  167. concerning questions about NSFnet use, should contact the
  168. NNSC.  The NNSC will answer general questions, and, for
  169. detailed information relating to specific components of the
  170. Internet, will help users find the appropriate contact for
  171. further assistance.  (Appendix B)
  172. Mail Reflectors
  173. The way most people keep up to date on network news is
  174. through subscription to a number of mail reflectors.  Mail
  175. reflectors are special electronic mailboxes which, when they
  176. receive a message, resend it to a list of other mailboxes.
  177. This in effect creates a discussion group on a particular
  178. topic.  Each subscriber sees all the mail forwarded by the
  179. reflector, and if one wants to put his "two cents" in sends
  180. a message with the comments to the reflector....
  181. The general format to subscribe to a mail list is to find
  182. the address reflector and append the string -REQUEST to the
  183. mailbox name (not the host name).  For example, if you
  184. wanted to take part in the mailing list for NSFnet reflected
  185. by NSFNET@NNSC.NSF.NET, one sends a request to
  186.                             -5-
  187. NSFNET-REQUEST@NNSC.NSF.NET.  This may be a wonderful
  188. scheme, but the problem is that you must know the list
  189. exists in the first place.  It is suggested that, if you are
  190. interested, you read the mail from one list (like NSFNET)
  191. and you will probably become familiar with the existence of
  192. others.  A registration service for mail reflectors is pro-
  193. vided by the NIC in the files NETINFO:INTEREST-GROUPS-1.TXT,
  194. NETINFO:INTEREST-GROUPS-2.TXT, and NETINFO:INTEREST-GROUPS-
  195. 3.TXT.
  196. The NSFNET mail reflector is targeted at those people who
  197. have a day to day interest in the news of the NSFnet (the
  198. backbone, regional network, and Internet inter-connection
  199. site workers).  The messages are reflected by a central
  200. location and are sent as separate messages to each sub-
  201. scriber.  This creates hundreds of messages on the wide area
  202. networks where bandwidth is the scarcest.
  203. There are two ways in which a campus could spread the news
  204. and not cause these messages to inundate the wide area net-
  205. works.  One is to re-reflect the message on the campus.
  206. That is, set up a reflector on a local machine which for-
  207. wards the message to a campus distribution list.  The other
  208. is to create an alias on a campus machine which places the
  209. messages into a notesfile on the topic.  Campus users who
  210. want the information could access the notesfile and see the
  211. messages that have been sent since their last access.  One
  212. might also elect to have the campus wide area network
  213. liaison screen the messages in either case and only forward
  214. those which are considered of merit.  Either of these
  215. schemes allows one message to be sent to the campus, while
  216. allowing wide distribution within.
  217. Address Allocation
  218. Before a local network can be connected to the Internet it
  219. must be allocated a unique IP address.  These addresses are
  220. allocated by ISI.  The allocation process consists of get-
  221. ting an application form received from ISI.  (Send a message
  222. to hostmaster@sri-nic.arpa and ask for the template for a
  223. connected address).  This template is filled out and mailed
  224. back to hostmaster.  An address is allocated and e-mailed
  225. back to you.  This can also be done by postal mail (Appendix
  226. IP addresses are 32 bits long.  It is usually written as
  227. four decimal numbers separated by periods (e.g.,
  228. 192.17.5.100).  Each number is the value of an octet of the
  229. 32 bits.  It was seen from the beginning that some networks
  230. might choose to organize themselves as very flat (one net
  231. with a lot of nodes) and some might organize hierarchically
  232.                             -6-
  233. (many interconnected nets with fewer nodes each and a back-
  234. bone).  To provide for these cases, addresses were differen-
  235. tiated into class A, B, and C networks.  This classification
  236. had to with the interpretation of the octets.  Class A net-
  237. works have the first octet as a network address and the
  238. remaining three as a host address on that network.  Class C
  239. addresses have three octets of network address and one of
  240. host.  Class B is split two and two.  Therefore, there is an
  241. address space for a few large nets, a reasonable number of
  242. medium nets and a large number of small nets.  The top two
  243. bits in the first octet are coded to tell the address for-
  244. mat.  All of the class A nets have been allocated.  So one
  245. has to choose between Class B and Class C when placing an
  246. order.  (There are also class D (Multicast) and E (Experi-
  247. mental) formats.  Multicast addresses will likely come into
  248. greater use in the near future, but are not frequently used
  249. now).
  250. In the past sites requiring multiple network addresses
  251. requested multiple discrete addresses (usually Class C).
  252. This was done because much of the software available (not-
  253. ably 4.2BSD) could not deal with subnetted addresses.
  254. Information on how to reach a particular network (routing
  255. information) must be stored in Internet gateways and packet
  256. switches.  Some of these nodes have a limited capability to
  257. store and exchange routing information (limited to about 300
  258. networks).  Therefore, it is suggested that any campus
  259. announce (make known to the Internet) no more than two
  260. discrete network numbers.
  261. If a campus expects to be constrained by this, it should
  262. consider subnetting.  Subnetting (RFC-932) allows one to
  263. announce one address to the Internet and use a  set of
  264. addresses on the campus.  Basically, one defines a mask
  265. which allows the network to differentiate between the net-
  266. work portion and host portion of the address.  By using a
  267. different mask on the Internet and the campus, the address
  268. can be interpreted in multiple ways.  For example, if a
  269. campus requires two networks internally and has the 32,000
  270. addresses beginning 128.174.X.X (a Class B address) allo-
  271. cated to it,  the campus could allocate 128.174.5.X to one
  272. part of campus and 128.174.10.X to another.  By advertising
  273. 128.174 to the Internet with a subnet mask of FF.FF.00.00,
  274. the Internet would treat these two addresses as one. Within
  275. the campus a mask of FF.FF.FF.00 would be used, allowing the
  276. campus to treat the addresses as separate entities. (In
  277. reality you don't pass the subnet mask of FF.FF.00.00 to the
  278. Internet, the octet meaning is implicit in its being a class
  279. B address).
  280. A word of warning is necessary.  Not all systems know how to
  281. do subnetting.  Some 4.2BSD systems require additional
  282. software.  4.3BSD systems subnet as released.  Other devices
  283.                             -7-
  284. and operating systems vary in the problems they have dealing
  285. with subnets.  Frequently these machines can be used as a
  286. leaf on a network but not as a gateway within the subnetted
  287. portion of the network.  As time passes and more systems
  288. become 4.3BSD based, these problems should disappear.
  289. There has been some confusion in the past over the format of
  290. an IP broadcast address.  Some machines used an address of
  291. all zeros to mean broadcast and some all ones.  This was
  292. confusing when machines of both type were connected to the
  293. same network. The broadcast address of all ones has been
  294. adopted to end the grief.  Some systems (e.g. 4.2 BSD) allow
  295. one to choose the format of the broadcast address.  If a
  296. system does allow this choice, care should be taken that the
  297. all ones format is chosen.  (This is explained in RFC-1009
  298. and RFC-1010).
  299. Internet Problems
  300. There are a number of problems with the Internet.  Solutions
  301. to the problems range from software changes to long term
  302. research projects. Some of the major ones are detailed
  303. below:
  304. Number of Networks
  305.      When the Internet was designed it was to have about 50
  306.      connected networks.  With the explosion of networking,
  307.      the number is now approaching 300.  The software in a
  308.      group of critical gateways (called the core gateways of
  309.      the ARPAnet) are not able to pass or store much more
  310.      than that number.  In the short term, core reallocation
  311.      and recoding has raised the number slightly.  By the
  312.      summer of '88 the current PDP-11 core gateways will be
  313.      replaced with BBN Butterfly gateways which will solve
  314.      the problem.
  315. Routing Issues
  316.      Along with sheer mass of the data necessary to route
  317.      packets to a large number of networks, there are many
  318.      problems with the updating, stability, and optimality
  319.      of the routing algorithms.  Much research is being done
  320.      in the area, but the optimal solution to these routing
  321.      problems is still years away.  In most cases the the
  322.      routing we have today works, but sub-optimally and
  323.      sometimes unpredictably.
  324. Trust Issues
  325.                             -8-
  326.      Gateways exchange network routing information.
  327.      Currently, most gateways accept on faith that the
  328.      information provided about the state of the network is
  329.      correct.  In the past this was not a big problem since
  330.      most of the gateways belonged to a single administra-
  331.      tive entity (DARPA).  Now with multiple wide area net-
  332.      works under different administrations, a rogue gateway
  333.      somewhere in the net could cripple the Internet.  There
  334.      is design work going on to solve both the problem of a
  335.      gateway doing unreasonable things and providing enough
  336.      information to reasonably route data between multiply
  337.      connected networks (multi-homed networks).
  338. Capacity & Congestion
  339.      Many portions of the ARPAnet are very congested during
  340.      the busy part of the day.  Additional links are planned
  341.      to alleviate this congestion, but the implementation
  342.      will take a few months.
  343. These problems and the future direction of the Internet are
  344. determined by the Internet Architect (Dave Clark of MIT)
  345. being advised by the Internet Activities Board (IAB).  This
  346. board is composed of chairmen of a number of committees with
  347. responsibility for various specialized areas of the Inter-
  348. net.  The committees composing the IAB and their chairmen
  349.         Committee                            Chair
  350.      Autonomous Networks                  Deborah Estrin
  351.      End-to-End Services                  Bob Braden
  352.      Internet Architecture                Dave Mills
  353.      Internet Engineering                 Phil Gross
  354.         EGP2                              Mike Petry
  355.         Name Domain Planning              Doug Kingston
  356.         Gateway Monitoring                Craig Partridge
  357.         Internic                          Jake Feinler
  358.         Performance & Congestion Control  Robert Stine
  359.         NSF Routing                       Chuck Hedrick
  360.         Misc. MilSup Issues               Mike St. Johns
  361.      Privacy                              Steve Kent
  362.      IRINET Requirements                  Vint Cerf
  363.      Robustness & Survivability           Jim Mathis
  364.      Scientific Requirements              Barry Leiner
  365. Note that under Internet Engineering, there are a set of
  366. task forces and chairs to look at short term concerns.  The
  367. chairs of these task forces are not part of the IAB.
  368. Routing
  369.                             -9-
  370. Routing is the algorithm by which a network directs a packet
  371. from its source to its destination.  To appreciate the prob-
  372. lem, watch a small child trying to find a table in a restau-
  373. rant.  From the adult point of view the structure of the
  374. dining room is seen and an optimal route easily chosen.  The
  375. child, however, is presented with a set of paths between
  376. tables where a good path, let alone the optimal one to the
  377. goal is not discernible.
  378. A little more background might be appropriate.  IP gateways
  379. (more correctly routers) are boxes which have connections to
  380. multiple networks and pass traffic  between these nets.
  381. They decide how the packet is to be sent based on the infor-
  382. mation in the IP header of the packet and the state of the
  383. network.  Each interface on a router has an unique address
  384. appropriate to the network to which it is connected.  The
  385. information in the IP header which is used is primarily the
  386. destination address.  Other information (e.g. type of ser-
  387. vice) is largely ignored at this time.  The state of the
  388. network is determined by the routers passing information
  389. among themselves.  The distribution of the database (what
  390. each node knows), the form of the updates, and metrics used
  391. to measure the value of a connection, are the parameters
  392. which determine the characteristics of a routing protocol.
  393. Under some algorithms each node in the network has complete
  394. knowledge of the state of the network (the adult algorithm).
  395. This implies the nodes must have larger amounts of local
  396. storage and enough CPU to search the large tables in a short
  397. enough time (remember this must be done for each packet).
  398. Also, routing updates usually contain only changes to the
  399. existing information (or you spend a large amount of the
  400. network capacity passing around megabyte routing updates).
  401. This type of algorithm has several problems.  Since the only
  402. way the routing information can be passed around is across
  403. the network and the propagation time is non-trivial, the
  404. view of the network at each node is a correct historical
  405. view of the network at varying times in the past.  (The
  406. adult algorithm, but rather than looking directly at the
  407. dining area, looking at a photograph of the dining room.
  408. One is likely to pick the optimal route and find a bus-cart
  409. has moved in to block the path after the photo was taken).
  410. These inconsistencies can cause circular routes (called
  411. routing loops) where once a packet enters it is routed in a
  412. closed path until its time to live (TTL) field expires and
  413. it is discarded.
  414. Other algorithms may know about only a subset of the net-
  415. work.  To prevent loops in these protocols, they are usually
  416. used in a hierarchical network.  They know completely about
  417. their own area, but to leave that area they go to one par-
  418. ticular place (the default gateway).  Typically these are
  419. used in smaller networks (campus, regional...).
  420.                             -10-
  421. Routing protocols in current use:
  422. Static (no protocol-table/default routing)
  423.      Don't laugh.  It is probably the most reliable, easiest
  424.      to implement, and least likely to get one into trouble
  425.      for a small network or a leaf on the Internet.  This
  426.      is, also, the only method available on some
  427.      CPU-operating system combinations. If a host is con-
  428.      nected to an Ethernet which has only one gateway off of
  429.      it, one should make that the default gateway for the
  430.      host and do no other routing.  (Of course that gateway
  431.      may pass the reachablity information somehow on the
  432.      other side of itself).
  433.      One word of warning, it is only with extreme caution
  434.      that one should use static routes in the middle of a
  435.      network which is also using dynamic routing.  The
  436.      routers passing dynamic information are sometimes con-
  437.      fused by conflicting dynamic and static routes.  If
  438.      your host is on an ethernet with multiple routers to
  439.      other networks on it and the routers are doing dynamic
  440.      routing among themselves, it is usually better to take
  441.      part in the dynamic routing than to use static routes.
  442.      RIP is a routing protocol based on XNS (Xerox Network
  443.      System) adapted for IP networks.  It is used by many
  444.      routers (Proteon, cisco, UB...) and many BSD Unix sys-
  445.      tems.  BSD systems typically run a program called
  446.      routed to exchange information with other systems run-
  447.      ning RIP.  RIP works best for nets of small diameter
  448.      where the links are of equal speed.  The reason for
  449.      this is that the metric used to determine which path is
  450.      best is the hop-count.  A hop is a traversal across a
  451.      gateway.  So, all machines on the same Ethernet are
  452.      zero hops away.  If a router connects connects two net-
  453.      works directly, a machine on the other side of the
  454.      router is one hop away....  As the routing information
  455.      is passed through a gateway, the gateway adds one to
  456.      the hop counts to keep them consistent across the net-
  457.      work.  The diameter of a network is defined as the
  458.      largest hop-count possible within a network.  Unfor-
  459.      tunately, a hop count of 16 is defined as infinity in
  460.      RIP meaning the link is down. Therefore, RIP will not
  461.      allow hosts separated by more than 15 gateways in the
  462.      RIP space to communicate.
  463.      The other problem with hop-count metrics is that if
  464.      links have different speeds, that difference is not
  465.                             -11-
  466.      reflected in the hop-count. So a one hop satellite link
  467.      (with a .5 sec delay) at 56kb would be used instead of
  468.      a two hop T1 connection. Congestion can be viewed as a
  469.      decrease in the efficacy of a link. So, as a link gets
  470.      more congested, RIP will still know it is the best
  471.      hop-count route and congest it even more by throwing
  472.      more packets on the queue for that link.
  473.      The protocol is not well documented.  A group of people
  474.      are working on producing an RFC to both define the
  475.      current RIP and to do some extensions to it to allow it
  476.      to better cope with larger networks.  Currently, the
  477.      best documentation for RIP appears to be the code to
  478.      BSD routed.
  479. Routed
  480.      The routed program, which does RIP for 4.2BSD systems,
  481.      has many options. One of the most frequently used is:
  482.      routed -q (quiet mode) which means listen to RIP infor-
  483.      mation but never broadcast it.  This would be used by a
  484.      machine on a network with multiple RIP speaking gate-
  485.      ways.  It allows the host to determine which gateway is
  486.      best (hopwise) to use to reach a distant network.  (Of
  487.      course you might want to have a default gateway to
  488.      prevent having to pass all the addresses known to the
  489.      Internet around with RIP).
  490.      There are two ways to insert static routes into routed,
  491.      the /etc/gateways file and the route add command.
  492.      Static routes are useful if you know how to reach a
  493.      distant network, but you are not receiving that route
  494.      using RIP.  For the most part the route add command is
  495.      preferable to use.  The reason for this is that the
  496.      command adds the route to that machine's routing table
  497.      but does not export it through RIP.  The /etc/gateways
  498.      file takes precedence over any routing information
  499.      received through a RIP update.  It is also broadcast as
  500.      fact in RIP updates produced by the host without ques-
  501.      tion, so if a mistake is made in the /etc/gateways
  502.      file, that mistake will soon permeate the RIP space and
  503.      may bring the network to its knees.
  504.      One of the problems with routed is that you have very
  505.      little control over what gets broadcast and what
  506.      doesn't.  Many times in larger networks where various
  507.      parts of the network are under different administrative
  508.      controls, you would like to pass on through RIP only
  509.      nets which you receive from RIP and you know are rea-
  510.      sonable.  This prevents people from adding IP addresses
  511.      to the network which may be illegal and you being
  512.      responsible for passing them on to the Internet.  This
  513.                             -12-
  514.      type of reasonability checks are not available with
  515.      routed and leave it usable, but inadequate for large
  516.      networks.
  517. Hello (RFC-891)
  518.      Hello is a routing protocol which was designed and
  519.      implemented in a experimental software router called a
  520.      "Fuzzball" which runs on a PDP-11. It does not have
  521.      wide usage, but is the routing protocol currently used
  522.      on the NSFnet backbone.  The data transferred between
  523.      nodes is similar to RIP (a list of networks and their
  524.      metrics).  The metric, however, is milliseconds of
  525.      delay.  This allows Hello to be used over nets of vari-
  526.      ous link speeds and performs better in congestive
  527.      situations.
  528.      One of the most interesting side effects of Hello based
  529.      networks is their great timekeeping ability.  If you
  530.      consider the problem of measuring delay on a link for
  531.      the metric, you find that it is not an easy thing to
  532.      do.  You cannot measure round trip time since the
  533.      return link may be more congested, of a different
  534.      speed, or even not there.  It is not really feasible
  535.      for each node on the network to have a builtin WWV
  536.      (nationwide radio time standard) receiver.  So, you
  537.      must design an algorithm to pass around time between
  538.      nodes over the network links where the delay in
  539.      transmission can only be approximated.  Hello routers
  540.      do this and in a nationwide network maintain synchron-
  541.      ized time within milliseconds.
  542. Exterior Gateway Protocol (EGP RFC-904)
  543.      EGP is not strictly a routing protocol, it is a reacha-
  544.      bility protocol. It tells only if nets can be reached
  545.      through a particular gateway, not how good the connec-
  546.      tion is.  It is the standard by which gateways to local
  547.      nets inform the ARPAnet of the nets they can reach.
  548.      There is a metric passed around by EGP but its usage is
  549.      not standardized formally.  Its typical value is value
  550.      is 1 to 8 which are arbitrary goodness of link values
  551.      understood by the internal DDN gateways. The smaller
  552.      the value the better and a value of 8 being unreach-
  553.      able.  A quirk of the protocol prevents distinguishing
  554.      between 1 and 2, 3 and 4..., so the usablity of this as
  555.      a metric is as three values and unreachable.  Within
  556.      NSFnet the values used are 1, 3, and unreachable.  Many
  557.      routers talk EGP so they can be used for ARPAnet gate-
  558.      ways.
  559.                             -13-
  560. Gated
  561.      So we have regional and campus networks talking RIP
  562.      among   themselves,  the  NSFnet  backbone  talking
  563.      Hello, and the DDN speaking EGP.
  564.      How do they interoperate?  In the beginning there was
  565.      static routing, assembled into the Fuzzball software
  566.      configured for each site.  The problem with doing
  567.      static routing in the middle of the network is that it
  568.      is broadcast to the Internet whether it is usable or
  569.      not.  Therefore, if a net becomes unreachable and you
  570.      try to get there, dynamic routing will immediately
  571.      issue a net unreachable to you.  Under static routing
  572.      the routers would think the net could be reached and
  573.      would continue trying until the application gave up (in
  574.      2 or more minutes).  Mark Fedor of Cornell
  575.      (fedor@devvax.tn.cornell.edu) attempted to solve these
  576.      problems with a replacement for routed called gated.
  577.      Gated talks RIP to RIP speaking hosts, EGP to EGP
  578.      speakers, and Hello to Hello'ers.  These speakers fre-
  579.      quently all live on one Ethernet, but luckily (or
  580.      unluckily) cannot understand each others ruminations.
  581.      In addition, under configuration file control it can
  582.      filter the conversion.  For example, one can produce a
  583.      configuration saying announce RIP nets via Hello only
  584.      if they are specified in a list and are reachable by
  585.      way of a RIP broadcast as well.  This means that if a
  586.      rogue network appears in your local site's RIP space,
  587.      it won't be passed through to the Hello side of the
  588.      world.  There are also configuration options to do
  589.      static routing and name trusted gateways.
  590.      This may sound like the greatest thing since sliced
  591.      bread, but there is a catch called metric conversion.
  592.      You have RIP measuring in hops, Hello measuring in mil-
  593.      liseconds, and EGP using arbitrary small numbers.  The
  594.      big questions is how many hops to a millisecond, how
  595.      many milliseconds in the EGP number 3....  Also,
  596.      remember that infinity (unreachability) is 16 to RIP,
  597.      30000 or so to Hello, and 8 to the DDN with EGP.  Get-
  598.      ting all these metrics to work well together is no
  599.      small feat.  If done incorrectly and you translate an
  600.      RIP of 16 into an EGP of 6, everyone in the ARPAnet
  601.      will still think your gateway can reach the unreachable
  602.      and will send every packet in the world your way.  For
  603.      these reasons, Mark requests that you consult closely
  604.      with him when configuring and using gated.
  605.                             -14-
  606. Names
  607. All routing across the network is done by means of the IP
  608. address associated with a packet. Since humans find it dif-
  609. ficult to remember addresses like 128.174.5.50, a symbolic
  610. name register was set up at the NIC where people would say
  611. "I would like my host to be named 'uiucuxc'".  Machines con-
  612. nected to the Internet across the nation would connect to
  613. the NIC in the middle of the night, check modification dates
  614. on the hosts file, and if modified move it to their local
  615. machine.  With the advent of workstations and micros,
  616. changes to the host file would have to be made nightly.  It
  617. would also be very labor intensive and consume a lot of net-
  618. work bandwidth. RFC-882 and a number of others describe
  619. domain name service, a distributed data base system for map-
  620. ping names into addresses.
  621. We must look a little more closely into what's in a name.
  622. First, note that an address specifies a particular connec-
  623. tion on a specific network.  If the machine moves, the
  624. address changes.  Second, a machine can have one or more
  625. names and one or more network addresses (connections) to
  626. different networks.  Names point to a something which does
  627. useful work (i.e. the machine) and IP addresses point to an
  628. interface on that provider.  A name is a purely symbolic
  629. representation of a list of addresses on the network.  If a
  630. machine moves to a different network, the addresses will
  631. change but the name could remain the same.
  632. Domain names are tree structured names with the root of the
  633. tree at the right.  For example:
  634.                       uxc.cso.uiuc.edu
  635. is a machine called 'uxc' (purely arbitrary), within the
  636. subdomains method of allocation of the U of I) and 'uiuc'
  637. (the University of Illinois at Urbana), registered with
  638. 'edu' (the set of educational institutions).
  639. A simplified model of how a name is resolved is that on the
  640. user's machine there is a resolver.  The resolver knows how
  641. to contact across the network a root name server. Root
  642. servers are the base of the tree structured data retrieval
  643. system.  They know who is responsible for handling first
  644. level domains (e.g. 'edu').  What root servers to use is an
  645. installation parameter. From the root server the resolver
  646. finds out who provides 'edu' service.  It contacts the 'edu'
  647. name server which supplies it with a list of addresses of
  648. servers for the subdomains (like 'uiuc').  This action is
  649. repeated with the subdomain servers until the final sub-
  650. domain returns a list of addresses of interfaces on the host
  651. in question.  The user's machine then has its choice of
  652. which of these addresses to use for communication.
  653.                             -15-
  654. A group may apply for its own domain name (like 'uiuc'
  655. above).  This is done in a manner similar to the IP address
  656. allocation.  The only requirements are that the requestor
  657. have two machines reachable from the Internet, which will
  658. act as name servers for that domain.  Those servers could
  659. also act as servers for subdomains or other servers could be
  660. designated as such.  Note that the servers need not be
  661. located in any particular place, as long as they are reach-
  662. able for name resolution.  (U of I could ask Michigan State
  663. to act on its behalf and that would be fine).  The biggest
  664. problem is that someone must do maintenance on the database.
  665. If the machine is not convenient, that might not be done in
  666. a timely fashion.  The other thing to note is that once the
  667. domain is allocated to an administrative entity, that entity
  668. can freely allocate subdomains using what ever manner it
  669. sees fit.
  670. The Berkeley Internet Name Domain (BIND) Server implements
  671. the Internet name server for UNIX systems.  The name server
  672. is a distributed data base system that allows clients to
  673. name resources and to share that information with other net-
  674. work hosts.  BIND is integrated with 4.3BSD and is used to
  675. lookup and store host names, addresses, mail agents, host
  676. information, and more.  It replaces the /etc/hosts file for
  677. host name lookup.  BIND is still an evolving program.  To
  678. keep up with reports on operational problems, future design
  679. decisions, etc, join the BIND mailing list by sending a
  680. request to bind-request@ucbarpa.Berkeley.edu.  It can also
  681. be obtained via anonymous FTP from ucbarpa.berkley.edu.
  682. There are several advantages in using BIND.  One of the most
  683. important is that it frees a host from relying on /etc/hosts
  684. being up to date and complete.  Within the .uiuc.edu domain,
  685. only a few hosts are included in the host table distributed
  686. by SRI.  The remainder are listed locally within the BIND
  687. tables on uxc.cso.uiuc.edu (the server machine for most of
  688. the .uiuc.edu domain).  All are equally reachable from any
  689. other Internet host running BIND.
  690. BIND can also provide mail forwarding information for inte-
  691. rior hosts not directly reachable from the Internet.  These
  692. hosts can either be on non-advertised networks, or not con-
  693. nected to a network at all, as in the case of UUCP-reachable
  694. hosts.  More information on BIND is available in the "Name
  695. Server Operations Guide for BIND" in UNIX System Manager's
  696. Manual, 4.3BSD release.
  697. There are a few special domains on the network, like SRI-
  698. NIC.ARPA.  The 'arpa' domain is historical, referring to
  699. hosts registered in the old hosts database at the NIC.
  700. There are others of the form NNSC.NSF.NET.  These special
  701. domains are used sparingly and require ample justification.
  702. They refer to servers under the administrative control of
  703.                             -16-
  704. the network rather than any single organization.  This
  705. allows for the actual server to be moved around the net
  706. while the user interface to that machine remains constant.
  707. That is, should BBN relinquish control of the NNSC, the new
  708. provider would be pointed to by that name.
  709. In actuality, the domain system is a much more general and
  710. complex system than has been described.  Resolvers and some
  711. servers cache information to allow steps in the resolution
  712. to be skipped.  Information provided by the servers can be
  713. arbitrary, not merely IP addresses.  This allows the system
  714. to be used both by non-IP networks and for mail, where it
  715. may be necessary to give information on intermediate mail
  716. bridges.
  717. What's wrong with Berkeley Unix
  718. University of California at Berkeley has been funded by
  719. DARPA to modify the Unix system in a number of ways.
  720. Included in these modifications is support for the Internet
  721. protocols.  In earlier versions (e.g. BSD 4.2) there was
  722. good support for the basic Internet protocols (TCP, IP,
  723. SMTP, ARP) which allowed it to perform nicely on IP ether-
  724. nets and smaller Internets.  There were deficiencies, how-
  725. ever, when it was connected to complicated networks.  Most
  726. of these problems have been resolved under the newest
  727. release (BSD 4.3).  Since it is the springboard from which
  728. many vendors have launched Unix implementations (either by
  729. porting the existing code or by using it as a model), many
  730. implementations (e.g. Ultrix) are still based on BSD 4.2.
  731. Therefore, many implementations still exist with the BSD 4.2
  732. problems.  As time goes on, when BSD 4.3 trickles through
  733. vendors as new release, many of the problems will be
  734. resolved.  Following is a list of some problem scenarios and
  735. their handling under each of these releases.
  736. ICMP redirects
  737.      Under the Internet model, all a system needs to know to
  738.      get anywhere in the Internet is its own address, the
  739.      address of where it wants to go, and how to reach a
  740.      gateway which knows about the Internet.  It doesn't
  741.      have to be the best gateway.  If the system is on a
  742.      network with multiple gateways, and a host sends a
  743.      packet for delivery to a gateway which feels another
  744.      directly connected gateway is more appropriate, the
  745.      gateway sends the sender a message.  This message is an
  746.      ICMP redirect, which politely says "I'll deliver this
  747.      message for you, but you really ought to use that gate-
  748.      way over there to reach this host".  BSD 4.2 ignores
  749.      these messages.  This creates more stress on the gate-
  750.      ways and the local network, since for every packet
  751.                             -17-
  752.      sent, the gateway sends a packet to the originator.
  753.      BSD 4.3 uses the redirect to update its routing tables,
  754.      will use the route until it times out, then revert to
  755.      the use of the route it thinks is should use.  The
  756.      whole process then repeats, but it is far better than
  757.      one per packet.
  758. Trailers
  759.      An application (like FTP) sends a string of octets to
  760.      TCP which breaks it into chunks, and adds a TCP header.
  761.      TCP then sends blocks of data to IP which adds its own
  762.      headers and ships the packets over the network.  All
  763.      this prepending of the data with headers causes memory
  764.      moves in both the sending and the receiving machines.
  765.      Someone got the bright idea that if packets were long
  766.      and they stuck the headers on the end (they became
  767.      trailers), the receiving machine could put the packet
  768.      on the beginning of a page boundary and if the trailer
  769.      was OK merely delete it and transfer control of the
  770.      page with no memory moves involved.  The problem is
  771.      that trailers were never standardized and most gateways
  772.      don't know to look for the routing information at the
  773.      end of the block.  When trailers are used, the machine
  774.      typically works fine on the local network (no gateways
  775.      involved) and for short blocks through gateways (on
  776.      which trailers aren't used).  So TELNET and FTP's of
  777.      very short files work just fine and FTP's of long files
  778.      seem to hang.  On BSD 4.2 trailers are a boot option
  779.      and one should make sure they are off when using the
  780.      Internet.  BSD 4.3 negotiates trailers, so it uses them
  781.      on its local net and doesn't use them when going across
  782.      the network.
  783. Retransmissions
  784.      TCP fires off blocks to its partner at the far end of
  785.      the connection.  If it doesn't receive an acknowledge-
  786.      ment in a reasonable amount of time it retransmits the
  787.      blocks.  The determination of what is reasonable is
  788.      done by TCP's retransmission algorithm.  There is no
  789.      correct algorithm but some are better than others,
  790.      where better is measured by the number of retransmis-
  791.      sions done unnecessarily.  BSD 4.2 had a retransmission
  792.      algorithm which retransmitted quickly and often.  This
  793.      is exactly what you would want if you had a bunch of
  794.      machines on an ethernet (a low delay network of large
  795.      bandwidth).  If you have a network of relatively longer
  796.      delay and scarce bandwidth (e.g. 56kb lines), it tends
  797.      to retransmit too aggressively.  Therefore, it makes
  798.      the networks and gateways pass more traffic than is
  799.      really necessary for a given conversation.  Retransmis-
  800.      sion algorithms do adapt to the delay of the network
  801.                             -18-
  802.      after a few packets, but 4.2's adapts slowly in delay
  803.      situations.  BSD 4.3 does a lot better and tries to do
  804.      the best for both worlds.  It fires off a few
  805.      retransmissions really quickly assuming it is on a low
  806.      delay network, and then backs off very quickly.  It
  807.      also allows the delay to be about 4 minutes before it
  808.      gives up and declares the connection broken.
  809.                             -19-
  810.                            Appendix A
  811.                References to Remedial Information
  812.      Quaterman and Hoskins, "Notable Computer Networks",
  813.      Communications of the ACM, Vol 29, #10, pp.
  814.      (October, 1986).
  815.      Tannenbaum, Andrew S., Computer Networks, Prentice
  816.      Hall, 1981.
  817.      Hedrick, Chuck, Introduction to the Internet Protocols,
  818.      Anonymous FTP from topaz.rutgers.edu, directory
  819.      pub/tcp-ip-docs, file tcp-ip-intro.doc.
  820.                             -20-
  821.                            Appendix B
  822.                        List of Major RFCs
  823.           RFC-768        User Datagram Protocol (UDP)
  824.           RFC-791        Internet Protocol (IP)
  825.           RFC-792        Internet Control Message Protocol (ICMP)
  826.           RFC-793        Transmission Control Protocol (TCP)
  827.           RFC-821        Simple Mail Transfer Protocol (SMTP)
  828.           RFC-822        Standard for the Format of ARPA Internet Text
  829.                            Messages
  830.           RFC-854        Telnet Protocol
  831.           RFC-917 *      Internet Subnets
  832.           RFC-919 *      Broadcasting Internet Datagrams
  833.           RFC-922 *      Broadcasting Internet Datagrams in the Presence
  834.                            of Subnets
  835.           RFC-940 *      Toward an Internet Standard Scheme for Sub-
  836.                            netting
  837.           RFC-947 *      Multi-network Broadcasting within the Internet
  838.           RFC-950 *      Internet Standard Subnetting Procedure
  839.           RFC-959        File Transfer Protocol (FTP)
  840.           RFC-966 *      Host Groups: A Multicast Extension to the
  841.                            Internet Protocol
  842.           RFC-988 *      Host Extensions for IP Multicasting
  843.           RFC-997 *      Internet Numbers
  844.           RFC-1010 *     Assigned Numbers
  845.           RFC-1011 *     Official ARPA-Internet Protocols
  846.      RFC's marked with the asterisk (*) are not included in
  847.      the 1985 DDN Protocol Handbook.
  848.      Note: This list is a portion of a list of RFC's by
  849.      topic retrieved from the NIC under NETINFO:RFC-SETS.TXT
  850.      (anonymous FTP of course).
  851.      The following list is not necessary for connection to
  852.      the Internet, but is useful in understanding the domain
  853.      system, mail system, and gateways:
  854.           RFC-882        Domain Names - Concepts and Facilities
  855.           RFC-883        Domain Names - Implementation
  856.           RFC-973        Domain System Changes and Observations
  857.           RFC-974        Mail Routing and the Domain System
  858.           RFC-1009       Requirements for Internet Gateways
  859.                             -21-
  860.                            Appendix C
  861.              Contact Points for Network Information
  862. Network Information Center (NIC)
  863.      DDN Network Information Center
  864.      SRI International, Room EJ291
  865.      333 Ravenswood Avenue
  866.      Menlo Park, CA 94025
  867.      (800) 235-3155 or (415) 859-3695
  868.      NIC@SRI-NIC.ARPA
  869. NSF Network Service Center (NNSC)
  870.      NNSC
  871.      BBN Laboratories Inc.
  872.      10 Moulton St.
  873.      Cambridge, MA 02238
  874.      (617) 497-3400
  875.      NNSC@NNSC.NSF.NET
  876.                             -22-
  877.                           Glossary
  878. core gateway   The innermost gateways of the ARPAnet.  These
  879.                gateways have a total picture of the reacha-
  880.                bility to all networks known to the ARPAnet
  881.                with EGP.  They then redistribute reachabil-
  882.                ity information to all those gateways speak-
  883.                ing EGP.  It is from them your EGP agent
  884.                (there is one acting for you somewhere if you
  885.                can reach the ARPAnet) finds out it can reach
  886.                all the nets on the ARPAnet. Which is then
  887.                passed to you via Hello, gated, RIP....
  888. count to infinity The symptom of a routing problem where
  889.                routing information is passed in a circular
  890.                manner through multiple gateways.  Each gate-
  891.                way increments the metric appropriately and
  892.                passes it on.  As the metric is passed around
  893.                the loop, it increments to ever increasing
  894.                values til it reaches the maximum for the
  895.                routing protocol being used, which typically
  896.                denotes a link outage.
  897. hold down      When a router discovers a path in the network
  898.                has gone down announcing that that path is
  899.                down for a minimum amount of time (usually at
  900.                least two minutes).  This allows for the pro-
  901.                pagation of the routing information across
  902.                the network and prevents the formation of
  903.                routing loops.
  904. split horizon  When a router (or group of routers working in
  905.                consort) accept routing information from mul-
  906.                tiple external networks, but do not pass on
  907.                information learned from one external network
  908.                to any others.  This is an attempt to prevent
  909.                bogus routes to a network from being pro-
  910.                pagated because of gossip or counting to
  911.                infinity.
  912.                             -23-
  913.