home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / p / pcrte224.zip / README.DOC < prev    next >
Text File  |  1992-06-09  |  12KB  |  249 lines

  1.  
  2.  
  3.             PCROUTE - an IP routing program from the IBM PC
  4.                              Vance Morrison
  5.                         morrison@accuvax.nwu.edu
  6.  
  7.     Traditionally IP routers have been fairly high performance,
  8. expensive machines.  Typically they run about $5000-$10,000 a unit.
  9. Until now a IP router for under $5000 was just about impossible
  10. to get.  Recent developments in PC hardware, however, has made
  11. it possible to convert a PC to an IP router for a TOTAL of $700
  12. a unit.  This price is less that the cost of many ethernet boards
  13. and thus it now makes sense to always use dedicated router to
  14. perform IP gatewaying functions.  
  15.  
  16. ---------------------------------------------------------------------
  17. What is PCroute?
  18.  
  19.     PCroute is software written for an PC/XT (or AT) or clone that will 
  20. allow it to act as a IP router.   At present the following interfaces
  21. are supported.
  22.  
  23.         Ethernet - (WD8003E,WD8003EBT,WD8013EBT) (recommended <= 4 interfaces)
  24.                  - (Any card supported by the Packet Driver)
  25.         Starlan  - (WD8003S card) (up to 6 interfaces)
  26.         Localtalk - (Apple localtalk card for the PC) (1 interface max)
  27.         SLIP      - (COM1..COM4)  (up to 6 interface)
  28.  
  29.    One of the most common configuration for the router is as an
  30. ethernet-ethernet router, but this is not the only configuration possible.
  31. The software supports up to 6 interfaces of varying types, so many
  32. many configurations are possible.  Exact details on what is possible
  33. is explained in the installation/compilation manual
  34.  
  35.    In addition to the XT, the only other hardware needed are the
  36. networking cards, which at present run about $190 a piece (for ethernet).  
  37. Since you can buy an XT (10Mhz, without an monitor) for $300, the total
  38. cost for the hardware is $700
  39.  
  40. ---------------------------------------------------------------------
  41. What do I need to install PCroute?
  42.  
  43.         1) An XT or AT computer (does not need monitor) with a floppy
  44.         2) The proper interface cards
  45.                 Ethernet : WD8003E,WD8003EBT, or WD8013EBT
  46.                          : Any card and its packet driver
  47.                 Starlan  : WD8003S,WD8003SH     Starcard,Starlink Plus
  48.                 Localtalk: Apple localtalk PC card
  49.                 SLIP     : COM[1-4] ports
  50.  
  51. ---------------------------------------------------------------------
  52. How Fast is PC route?
  53.  
  54.     Some may argue that a PC simply is not fast enough to be a
  55. good IP router.  For slow networks (Localtalk SLIP) this is not really
  56. an issue.  For Ethernet it is a real concern.  Luckily, in the case
  57. of Ethernet (and starlan), the Western Digital cards do a lot of the work.  
  58. All the input packet queuing is done by the card, freeing the PC to do the
  59. routing task.   By programming in assembler and optimizing for peak 
  60. efficiency (the main loop has NO procedure calls), the PC is up to the task.  
  61.  
  62.     Actual tests with WD8003E cards indicate that that following formula 
  63. is a worst case estimate of the throughput of PCroute on a 4.77Mhz XT 
  64. (based on actual measurements).
  65.  
  66.         packet_delay = .51 + .00406 * len      msec
  67.  
  68.    Where 'len' is the length of the packet in bytes.  Thus PCroute has a 
  69. fixed per packet overhead of .51 msec and takes .00406 msec/byte to transfer 
  70. the packet from one network to the other.  
  71.  
  72.     Thus for the largest packet size (1514) we get throughput of 
  73.  
  74.         packet_delay = .51 + .00406 * 1514 = 6.65 ms
  75.         throughput = len*8/packet_delay = 1.8 Mbit/sec
  76.  
  77.     For the smallest packet size (64) we get a throughput of
  78.  
  79.         packet_delay = .51 + .00406 * 64 = .77 ms
  80.         throughput = len*8/packet_delay = .66 Mbit/sec
  81.  
  82.    If you are going to by the XT needed, please buy a clone (without
  83. a monitor) with a 10Mhz CPU speed (cost < $300).  This will almost
  84. double the throughput measured above.  If you need more speed you can
  85. go with an AT clone and a even faster CPU speed.  Here are some 
  86. actual measurements of packet speeds for some common machines.
  87.  
  88.                  per packet       per byte     Packet rate    Throughput
  89.                    delay           delay        (64bytes)     (1500 bytes)
  90. -----------------------------------------------------------------------------
  91. 4.77 Mhz XT    | .51 msec       .00406 msec     1300 /sec    1.8 Mbits/sec
  92. 10 Mhz XT      | .237 msec      .00254 msec     2500 /sec    3.0 Mbits/sec
  93. 6 Mhz AT       | .169 msec      .00228 msec     3200 /sec    3.3 Mbits/sec
  94. 12 Mhz AT (est)| .100 msec      .00220 msec     4150 /sec    3.5 Mbits/sec
  95. 16 Mhz AT      | .050 msec      .00190 msec     5800 /sec    4.1 Mbits/sec
  96.  
  97.    As you can see, at the high end, the PCrouter can sustain a throughput
  98. of close to half the BANDWIDTH of a ethernet (remember 5Mbits of sustained 
  99. load is a HEAVY load for an ethernet).  Also remember that this is packets
  100. routed THOUGH the router.  Thus even if 4/10 of the ethernet bandwidth is
  101. being used (that is your ethernet is HEAVILY loaded) and ALL that traffic
  102. is going though the router, PCroute can still keep up.
  103.    
  104.    The above measurements where made with WD8003E cards. Since copy time
  105. is the major bottleneck, and WD8013EBT cards have a 16 bit instead of
  106. an 8 bit data path, it is likely that throughput would almost double if
  107. that card was used.
  108.  
  109.    In addition the Ethernet boards have an on-board input buffer.
  110. Thus packets that come at the PCrouter too fast for it to process will be 
  111. queued.  This queuing happens on board and can keep up with the maximum
  112. 10Mbit/sec bit rate.  Thus the router will start dropping packets only 
  113. after this buffer is exhausted.
  114.  
  115.    Unfortunately, the WD8003E card has only enough space for a 6.5K input
  116. buffer.  Since many file servers (SUN NFS), like to send 8K blocks, 
  117. PCroute can loose packets if WD8003E cards are used.  Thus if you 
  118. expect NFS traffic through the router, it is STRONGLY recommended that
  119. you use WD8003EBT, or WD8013EBT cards.  These cards have larger buffers
  120. and thus will not drop packets when 8K blocks are sent quickly.
  121.  
  122. If you are stuck with WD8003E cards and need to run NFS, it may be possible
  123. to tell NFS to send smaller blocks by setting the 'rsize' and 'wsize' 
  124. parameters in fstab.  This seems to only work with some versions, however,
  125. so it is not the preferred solution.
  126.  
  127. ---------------------------------------------------------------------
  128. What about SLIP speeds?
  129.  
  130.     PCroute also supports up to 6 serial lines in addition to the other
  131. interfaces.  These lines can operate at all the common baud rates 
  132. up to 19.2K.  In PCroute with a faster processor (10Mhz XT or an AT clone)
  133. can handle 38.4K or even 57.6K.   All of this using the standard 8250
  134. serial ports.  
  135.  
  136.     Note because PC serial ports interrupt the processor on EVERY character
  137. SLIP consumes a fair amount of the CPU.  On a 4.77MHZ XT the interrupts 
  138. for two SLIP ports running at 19.2K Baud consume about 1/2 the available 
  139. CPU time.  (actually measurements show that two slip lines running full 
  140. tilt at 19.2K consume slightly less than 1/2 the CPU).  Thus packet delays
  141. will double.  Obviously the situation gets better as CPU speed increases.
  142. On a 12Mhz AT interrupts consume less than 1/10 of the CPU.
  143.  
  144. If you are buying new cards, buy com boards with the 16550AF chip.  This
  145. chip has a FIFO that will store up to 16 characters before interrupting
  146. the CPU.  Thus these chips will load the CPU only about 1/10 that of
  147. the 8250.  Using com ports with this chip, even a 4.77 XT could handle
  148. many ports (4) at high baud rate (57.6K) with no problem.
  149.  
  150. ---------------------------------------------------------------------
  151. What is localtalk support?
  152.  
  153.     PCroute supports IP inside of localtalk (appletalk).  This allows
  154. you to send IP packets though localtalk nets.  Since localtalk can
  155. be sent over twisted pair (phonenet) large distances (5000 ft with 
  156. a star controller), this method has many of the advantages of SLIP
  157. and is a higher speed solution.  In addition any MACs on the localtalk
  158. network that have MacTCP can access the IP network.  
  159.  
  160.     Note, however that PCroute does NOT support encapsulating appletalk 
  161. in IP.  This is important because it is a major limitation.  Any
  162. application like CAP that makes IP hosts look like normal appletalk
  163. file or print servers, or lets IP hosts use laserwriters will not work.
  164. Basically the only thing PCroute will let you do is run MacTCP applications
  165. so that Macs can access IP related services.  Also PCroute does not
  166. support IP address allocation.  Thus all the Macs must either be
  167. given a static IP address or generate one dynamically from its localtalk
  168. address.  PCroute will not 'give out' addresses like KIP boxes will.
  169.  
  170.     Also note that this limitation is unlikely to change.  There are
  171. no plans for supporting more advanced localtalk features.  (It would
  172. take a LOT of work).
  173.  
  174.     Note also that PCroute's implementation is known NOT to work with
  175. some older MacIP software (most notablely NCSA-Telnet that does not
  176. used MacTCP).  It does work with MacTCP.  This is all I will say.
  177.  
  178. ---------------------------------------------------------------------
  179. What PC route supports?
  180.  
  181.    PCroute was designed to be a fully functional IP router.  In 
  182. particular it supports
  183.  
  184.         1) IP routing with Subsets (however the subnet mask
  185.            must begin with 255.255)
  186.         2) Static routing with up to 250 routes.
  187.         3) responds to ICMP echo (ping) 
  188.         4) Sends ICMP TTL, Redirect, Unreachable when appropriate
  189.         5) Fragmentation where necessary
  190.         6) RIP dynamic routing protocol
  191.         7) Up to 6 interfaces of varying types
  192.         8) Error logging using BSD syslog
  193.         9) Optional proxy ARP
  194.         10) Bootp forwarding
  195.  
  196. Note that although the software supports up to 6 interfaces, the 
  197. total throughput of the router is fixed by the speed of the processor.
  198. For fast boards (ethernet) this gets excessive after 4 interfaces 
  199. are installed.  
  200.  
  201. ---------------------------------------------------------------------
  202. Wish List
  203.  
  204. These are things that I would like to add to PCroute, but it looks like
  205. I will not have the time.
  206.  
  207.         1) SNMP support.  Everybody wants SNMP support.  Well there is
  208.            nothing that says PCroute can't have it.  I have written the
  209.            code with this support in mind.  In addition, some people at CMU
  210.            have already written the hard part of SNMP and all that would
  211.            be necessary is to graft that code onto the various databases
  212.            inside PCroute.   I think this would take about 1-2 months of
  213.            half time programming effort.
  214.  
  215.         2) Any other interface that someone might want (T1 or X.25 for
  216.            example).   PCroute has been designed to make this addition
  217.            relatively simple.
  218.  
  219. ---------------------------------------------------------------------
  220. Hints
  221.  
  222.         1) We found that the 10Mhz XT clones that Jamco and others sell
  223.            work very well.  One nice feature about these units is their
  224.            BIOS.  By setting the dip switches in the PC, you can tell it
  225.            that there is no Monitor.  This also tells the BIOS not to
  226.            check for a keyboard either.  Thus you don't need to buy either
  227.            the keyboard or the monitor.  Other XT BIOS ALWAYS check for
  228.            the keyboard, and thus you have to plug it in even though you
  229.            never use it.
  230.  
  231. ---------------------------------------------------------------------
  232. Comments and Bug reports
  233.  
  234.         I am interested in finding out what you think of PCroute and
  235.         how well it performs for you.  I am also interested in hearing
  236.         about any problems you have or bugs in the documentation.
  237.         You should send your comments to 
  238.                 
  239.                 Vance Morrison <morrison@accuvax.nwu.edu>
  240.  
  241.         Note that since I am not paid to support this software, I can
  242.         not guarantee that I can respond to your problem, but I will
  243.         try.
  244.  
  245.  
  246.                                                 Vance Morrison
  247.                                                 Northwestern University
  248.  
  249.