home *** CD-ROM | disk | FTP | other *** search
/ HomeWare 14 / HOMEWARE14.bin / netutils / ethld102.arj / ETHLOAD.ASC < prev    next >
Text File  |  1993-07-13  |  45KB  |  1,113 lines

  1.        ETHLOAD user's guide                         23
  2.                                  
  3.                                  
  4.        
  5.                                  
  6.                                  
  7.                                  
  8.                                  
  9.                            ETHLOAD 1.02
  10.                                  
  11.                            USER'S GUIDE
  12.                                  
  13.                                  
  14.                                  
  15.                                  
  16.                                  
  17.                                  
  18.                                  
  19.                                  
  20.                                  
  21.                       A simple public domain
  22.                                  
  23.                   Ethernet load/problems analyzer
  24.                                  
  25.                          and events tracer
  26.                                  
  27.                                  
  28.                                  
  29.                                  
  30.                                  
  31.                                  
  32.                                  
  33.                              E. Vyncke
  34.                                  
  35.                          vyncke@csl.sni.be
  36.                                  
  37.                             13 July 93
  38.                                  
  39.  
  40. 1. Introduction.
  41.        
  42.        ETHLOAD  is  a public domain software running on any  MS-DOS
  43.        PC with an Ethernet controller.
  44.        
  45.        Currently, ETHLOAD supports the following drivers:
  46.          - Digital Equipment Corp. DLL specification;
  47.          - Microsoft    3Com    NDIS   (Network   Driver    Interface
  48.            Specification);
  49.          - packet  driver as issued from PC/TCP, Clarkson  University
  50.            or from the Crynwr collection;
  51.          - Novell  ODI  (Open  Datalink  Interface)  iff  the  driver
  52.            supports promiscuous mode.
  53.        
  54.        The purpose of ETHLOAD is threefold:
  55.          - display  very  simply  non  accurate  numbers  about   the
  56.            Ethernet load (number of frames/sec, bits/sec, ...);
  57.          - display  important parameters, events and  loads  for  the
  58.            DECnet protocol;
  59.          - display  important parameters, events and  loads  for  the
  60.            TCP/IP protocols suite.
  61.        
  62.        ETHLOAD allows you to:
  63.            -  check  simply the load of your Ethernet  (with  error
  64.            rate, interframe gap,...);
  65.            - check which host is sending most of frames;
  66.            - see which host is sending to wich host;
  67.            -  see  what  kind  of  protocols are  in  use  in  your
  68.            Ethernet;
  69.            - ...
  70.        
  71.        In a TCP/IP network, ETHLOAD allows you to:
  72.            - see ARP table contents;
  73.            - see which host is sending (un)resolved ARP probes;
  74.            -  see the IP host which is sending most of the IP,  UDP
  75.            or TCP packets;
  76.            -  see what kind of protocols are in used (either TCP or
  77.            UDP);
  78.            -  see which is the mostly used telnet/rlogin server (or
  79.            client);
  80.            -  see  the boot sequence with important BOOTP and  TFTP
  81.            events;
  82.            -  see some characteristics of IP hosts (fragments size,
  83.            MTU, IP retransmission,...);
  84.            -    see    important   TCP   events:   start/stop    of
  85.            connections,...
  86.        
  87.        In a DECnet network, ETHLOAD allows you to:
  88.            -  see  which node are sending/receiving most of  DECnet
  89.            packets;
  90.            -  see  all  Connect Initiate packets (including  object
  91.            number, ...) ;
  92.            - see returned packets;
  93.            - ...
  94.            
  95.        In an OSI network, ETHLOAD allows you to:
  96.            -  see  the top transmitter/receiver NSAP (for  inactive
  97.            network  layer and should also work with active  network
  98.            layer);
  99.            -   see   important  events  for  the  transport  layer:
  100.            connection/disconnection, TSAP are  displayed  in  hexa,
  101.            ASCII and EBCDIC.
  102.            
  103.                                * * *
  104.                                 * *
  105.                                  *
  106.  
  107. 2. Acknowledgments.
  108.        
  109.  
  110.  2.1. Original copyright.
  111.        
  112.        This  software is based on the very first version of ETHLOAD
  113.        I  have  developped while I was working in a company  called
  114.        Network  Research Belgium. This version was already  in  the
  115.        public domain thanks to the management of this company.
  116.        
  117.        Here  follows the copyright included in the source files  of
  118.        about 10% of the current version of ETHLOAD.
  119.        /*  This  software  and  documentation can  be  copied,  used,
  120.        modified freely as long as:
  121.        - the source contains this text
  122.        -  this  software, documentation is provided  free  of  charge
  123.        (but for the cost of media: paper, CD-ROM, ...).
  124.        Network  Research Belgium and the individuals who have written
  125.        this  software DO NOT ASSUME any responsabilities  in  respect
  126.        to the use, (un)expected side -effects of this program.
  127.        The  software  and  documentation is provided  as  it  is.  No
  128.        maintenance will be given.
  129.        Anyway,  we  would  be pleased to hear of  any  use  of  these
  130.        softwares by email, fax or phone:
  131.                bert@nrb.be
  132.                fax: +32.41.48.11.70
  133.        phone: +32.41.40.72.11 ask for a BERT member.
  134.        Suggestions, modifications are always welcome.
  135.        These  softwares have been developped by a special team called
  136.        BERT  in a company called Network Research Belgium located  in
  137.        Herstal, Belgium, Europe .
  138.        This team includes:
  139.                Eric Vyncke, vyncke@nrb.be now vyncke@csl.sni.be
  140.                Frederic Blondiau, blondiau@nrb.be
  141.                Michel Ghys, now mghys@cisco.com
  142.                Marie-Christine Timmermans, timmermans@nrb.be
  143.                Jean Hotterbeex, now working in Trasys with no email
  144.                Manu Khronis,   khronis@nrb.be
  145.                Vincent Keunen, keunen@nrb.be
  146.        */
  147.        
  148.  
  149.  2.2. Current copyright and disclaimer.
  150.        
  151.        Right  now,  all  software developments  is  made  home  and
  152.        tested  after  working hours in my current company:  Siemens
  153.        Nixdorf Informationsystems, SNI. So, here follows the  usual
  154.        disclaimer:  Siemens Nixdorf is by no means responsible  for
  155.        any  good  or bad effects of this program. And by  the  way,
  156.        the  quality  of ETHLOAD does not reflect the usual  quality
  157.        of NRB or SNI software.
  158.        
  159.        NRB,  Siemens  Nixdorf and the author do  not  support  this
  160.        software.
  161.  
  162.  2.3. Support.
  163.        
  164.        Anyway,  you can get some support from the author  since  he
  165.        wants  to promote this software... You can reach the  author
  166.        through email: vyncke@csl.sni.be1 or by post mail:
  167.          Eric Vyncke
  168.          Rue Nolden, 25
  169.          B-4432 Alleur
  170.          Belgium.
  171.        
  172.        If  you are happy with ETHLOAD, my little son, Pierre, would
  173.        appreciate to receive any postcard!
  174.        
  175.  
  176.  2.4. Distribution channel.
  177.        
  178.        I  have no access to internet, so I cannot place ETHLOAD  on
  179.        anonymous  FTP  server, if you run  such  a  server  I  will
  180.        appreciate that you reserved some place for ETHLOAD...
  181.        
  182.  
  183.  2.5. Thanks to testers.
  184.        
  185.        I would like to thank anyone of you about his/her comments.
  186.        
  187.        I thank especially my beta-testers:
  188.            Ralf Buettemeyer, buettemeyer@hagenuk.netuse.de
  189.            Michel Dalle, michel@d92.cb.sni.be
  190.            Niels Kr. Jensen, msterlje@vm.uni-c.dk
  191.            Hans-Joachim Koch, koch@lifra.lif.de
  192.            Frank Van Uffelen, frankvu@bix.com
  193.            
  194.        I thank also for comments, suggestions, ...:
  195.            Thomas Gasser, thomasg@staff.tc.umn.edu
  196.            Derek Johnston, ugcsjj9697@mtvms2.mtech.edu
  197.            Ross Lazarus, rossl@westmead.health.su.oz.au
  198.            Russ Nelson, nelson@crynwr.com
  199.            
  200.        And, all of you who have send a postcard :-)
  201.  
  202.  2.6. Changes.
  203.        
  204.    1.01:
  205.        - support for packet driver, ODI and NDIS
  206.        - support for TCP/IP
  207.        - no more load graphics
  208.        - dictionnaries
  209.        - bug correction in the length display
  210.        -  porting from large model in Borland C to small  model  in
  211.        Borland C++
  212.        
  213.    1.02:
  214.        - bug correction in DLL support
  215.        - documentation about copyright on packet drivers
  216.        - dropped packets percentage in MAC screen
  217.        - MAC flow screen
  218.        - SMTP, TFTP and BOOTP support
  219.        - Telnet/rlogin monitoring
  220.        - options in command line
  221.        - OSI support
  222.        - improved DLL, ODI, NDIS and packet driver routines
  223.        
  224.  
  225.  2.7. Trademarks.
  226.        
  227.        As   usual,   all  trademarks  (Ethernet,  DEC,   ...)   are
  228.        properties of their respective owners.
  229.        
  230.  
  231.  2.8. Source code.
  232.        
  233.        Source  code  for  the version of NRB can be  obtained  from
  234.        bert@nrb.be. I still have a copy of the source files, so  if
  235.        there is a 'large' demand I could put them on some anon  FTP
  236.        server.
  237.        
  238.                                * * *
  239.                                 * *
  240.                                  *
  241.        
  242.  
  243. 3. Configuration files.
  244.        
  245.        In  order to run in basic mode (i.e. without translation  of
  246.        addresses  into  names,...) ETHLOAD  does  not  require  any
  247.        configuration file. The configurations are required only  if
  248.        you  want  to achieve good printings: host name  instead  of
  249.        addresses, ...
  250.        
  251.        All configuration files are in the same format:
  252.          - plain ASCII files, i.e. lines ended by CR/LF;
  253.          - any line beginning with a ';' or a '#' is considered as  a
  254.            comment;
  255.          - empty lines are ignored;
  256.          - other  lines  must  begin with a token generally  numeric,
  257.            called  the  key, then a serie of space or TAB characters,
  258.            followed  by  another token, called the value.  The  value
  259.            token is ended by the CR/LF end of line.
  260.        
  261.        Most  of these files are the MS-DOS image of the well  known
  262.        TCP/IP    files    for   Unix:   /etc/hosts,    /etc/ethers,
  263.        /etc/protocols, ... The simplest way to use them is  to  FTP
  264.        them from your Unix box.
  265.        
  266.        If  you are using TCP/IP you should FTP /etc/hosts of a Unix
  267.        host and perhaps add some MAC addresses to the ETHERS file.
  268.        
  269.        If  you  are using DECnet, you probably don't need to modify
  270.        any of these files.
  271.        
  272.        If  you  are using another protocol, you will probably  need
  273.        to modify ETHERS file together with TYPES and/or SAPS.
  274.        
  275.        All  these  optional files must be located  in  the  current
  276.        directory   of  the  current  drive  or  in  the   directory
  277.        specified by the MS-DOS environment variable ETHLOAD.
  278.        
  279.  
  280.  ETHERS
  281.        
  282.        This   file  contains  the  mapping  between  MAC   Ethernet
  283.        addresses into host names.
  284.        
  285.        The  key token is the Ethernet MAC address in the format HH-
  286.        HH-HH-HH-HH-HH where HH is a pair of hexadecimal digits.
  287.        
  288.        The  value  token  is any character string representing  the
  289.        name of this host.
  290.        
  291.        Part of ETHERS file:
  292.        
  293.        AB-00-03-00-00-00     DEC: Local Area Transport -LAT-
  294.        FF-FF-FF-FF-FF-FF     Broadcast
  295.        CF-00-00-01-00-00     Loopback Assistance
  296.        00-00-00-00-00-00     Null Address
  297.        
  298.        Remark:  ETHLOAD is smart enough to recognize a DECnet  node
  299.        and  display the DECnet address of any MAC address.  If  you
  300.        want  to  display DECnet address by node name, you  may  use
  301.        the MKNODE.EXE program documented in annex A.3.
  302.        
  303.        Remark  2:  ETHLOAD is also listening for ARP  requests  and
  304.        replies,  so  it  can  display the IP  address  of  any  MAC
  305.        address.
  306.        
  307.        Remark  3:  ETHLOAD  as it is (i.e. without  ETHERS)  cannot
  308.        even  display  correctly  well known  address  as  the  null
  309.        address or even the broadcast address.
  310.        
  311.        Remark 4: you should add your own MAC addresses only if  you
  312.        are  not  using DECnet or TCP/IP, moreover, you  should  add
  313.        these  addresses  at the end of ETHERS  file  and  keep  the
  314.        original contents of ETHERS.
  315.        
  316.  
  317.  HOSTS
  318.        
  319.        This  file contains the mapping between IP address and  host
  320.        names.
  321.        
  322.        The   key   token   is   an  IP  address   in   the   format
  323.        ddd.ddd.ddd.ddd where ddd is up to three decimal digits.
  324.        
  325.        The  value  token  is any character string representing  the
  326.        name of this host.
  327.        
  328.        Part of HOSTS file:
  329.        
  330.        139.21.20.18    d012s509.ap.mchp.sni.de d012s509
  331.        139.21.18.140   d012s322.ap.mchp.sni.de d012s322
  332.        139.21.22.206   d012s712 rm400ap
  333.        139.21.24.1     cisco.ap.mchp.sni.de
  334.        139.24.16.44    baumann
  335.        
  336.        The  best  way to initiate this file is to get a  /etc/hosts
  337.        from   a   Unix  machine  (or  the  stdout  of   the   ypcat
  338.        hosts.byaddr if you are running NIS2).
  339.  
  340.  PROTOCOL
  341.        
  342.        This  file  contains the mapping between  IP  protocols  and
  343.        protocol names.
  344.        
  345.        The key token is a decimal number up to 255.
  346.        
  347.        The  value  token  is any character string representing  the
  348.        name of the protocol.
  349.        
  350.        One  again,  the best way to initiate this file  is  to  get
  351.        /etc/protocols  from a Unix machine or  using  the  PROTOCOL
  352.        file  you  may have receive with ETHLOAD. The first solution
  353.        is  probably  not  useful  since /etc/protocols  are  always
  354.        nearly the same.
  355.        
  356.        The shipped PROTOCOL file contains:
  357.        
  358.        0       ip
  359.        1       icmp
  360.        3       ggp, gateway-gateway protocol
  361.        6       tcp
  362.        8       egp, exterior gateway protocol
  363.        12      pup
  364.        17      udp
  365.        20      hmp, host monitoring protocol
  366.        22      xns-idp
  367.        27      rdp, reliable datagram protocol
  368.  
  369.  SAPS
  370.        
  371.        This  file contains the mapping between IEEE 802.2  LLC  SAP
  372.        and SAP names.
  373.        
  374.        The key token is two hexadecimal digits.
  375.        
  376.        The  value token is the name representing the Service Access
  377.        Point.
  378.        
  379.        Part of a sample SAPS file:
  380.        
  381.        80     3Com XNS
  382.        8E     Proway-LAN
  383.        AA     TCP/IP SNAP (Ethernet type in LLC)
  384.        BC     Banyan VINES
  385.        E0     Novell NetWare
  386.        F0     IBM NetBIOS
  387.        
  388.        Remark: ETHLOAD has a built-in knowledge of SNAP.
  389.        
  390.        
  391.  
  392.  WKS.TCP (resp. WKS.UDP)
  393.        
  394.        This  file  contains the mapping of TCP  (resp.  UDP)  well-
  395.        known services ports.
  396.        
  397.        The  key token is a decimal number up to 65535 which is  the
  398.        port number assigned to the service.
  399.        
  400.        Part of a sample WKS.TCP file:
  401.        
  402.        79      finger
  403.        21      ftp
  404.        101     hostnames
  405.        2156    informix
  406.        1524    ingreslock
  407.        
  408.        This   file   together  with  WKS.UDP   contains   all   the
  409.        information of the usual /etc/services Unix file  but  in  a
  410.        slighty different format.
  411.        
  412.        Since the file /etc/services is always the same on all  Unix
  413.        machine,  you  may  probably use  the  files  provided  with
  414.        ETHLOAD.
  415.  
  416.  TYPES
  417.        
  418.        This  file  contains the mapping of the DIX Ethernet  packet
  419.        type into names.
  420.        
  421.        The key token is 4 hexadecimal digits.
  422.        
  423.        Part of a sample TYPES file:
  424.        
  425.        0600     XNS
  426.        0601     XNS Address Translation
  427.        0800     DOD IP
  428.        0801     X.75 internet
  429.        
  430.  
  431.  VENDORS
  432.        
  433.        This  file  contains  the mapping between  the  IEEE  vendor
  434.        codes  and  the  vendor  names.  The  IEEE  vendor  code  is
  435.        representing  the most significant three bytes  of  the  MAC
  436.        address of any adapter built by this manufacturer.
  437.        
  438.        The   key  token  is  3  bytes  represented  each   by   two
  439.        hexadecimal digits, each byte is separated by a dash.
  440.        
  441.        Part of a sample VENDORS file:
  442.        
  443.        00-00-0C     cisco
  444.        00-00-0F     NeXT
  445.        00-00-10     Sytek
  446.        00-00-1D     Cabletron
  447.        
  448.                                * * *
  449.                                 * *
  450.                                  *
  451.  
  452. 4. Set-up of datalink drivers.
  453.        
  454.        ETHLOAD  as already said is currently running as  it  is  on
  455.        the   top  of  four   different  datalink  drivers.  ETHLOAD
  456.        automatically  configures itself to  use  the  first  driver
  457.        found. It tries in the following order:
  458.          - Novell ODI;
  459.          - Microsoft 3Com NDIS version 2.0.1 or higher3;
  460.          - Digital Equipment DLL;
  461.          - PC/TCP packet driver.
  462.        
  463.        If  you  use another driver and you have a specification  of
  464.        its  API  (or  even some C routines in the  public  domain),
  465.        please  email me because I would like that ETHLOAD  runs  on
  466.        nearly all datalink drivers... ;-)
  467.        
  468.        If  this order does not work for you, you will have  to  use
  469.        the  -d option in the command line for starting ETHLOAD (see
  470.        section 5).
  471.        
  472.        Some  of  these  datalink  drivers  allow  for  simultaneous
  473.        execution  of ETHLOAD and of you usual protocol stack:  NDIS
  474.        and  ODI.  All other drivers prevent the execution  of  your
  475.        usual  protocol  stack, it means that  you  will  abort  all
  476.        current connections to any servers.
  477.        
  478.        Some  of  these datalink drivers do not require a PC  reboot
  479.        after  running them: DLL, NDIS version 2.0 or higher, packet
  480.        driver and ODI.
  481.        
  482.        Finally, only one kind of drivers namely ODI allows for  the
  483.        identification   of  faulty  frame  by   their   source   or
  484.        destination addresses.
  485.        
  486.        In  conclusion, if your Ethernet hardware has a  ODI  driver
  487.        with promiscuous mode support, it is better to use ODI.
  488.        
  489.        A   final  remark,  packet  driver  does  not  differenciate
  490.        between  the  various kind of errors in its statistics.  So,
  491.        you should use any other driver if possible.
  492.  
  493.  4.1. Novell ODI.
  494.        
  495.        The  first  thing to note is that only very few ODI  drivers
  496.        supports  the promiscuous mode which is needed for  ETHLOAD.
  497.        Novell  has  a  list of those drivers since the  promiscuous
  498.        mode is also needed by Novell LANanalyzer product.
  499.        
  500.        To  use  ETHLOAD,  you  just have to  load  the  ODI  driver
  501.        (preceeded  as  usual  by  LSL.COM)  and  having  a  correct
  502.        NET.CFG.  If  you can run any other ODI application  (Novell
  503.        LAN  Workplace  for DOS, Siemens Nixdorf LAN  1,  ...),  you
  504.        should be able to run ETHLOAD as it is.
  505.        
  506.        The  use  of ETHLOAD is not disruptive to your other network
  507.        application  which  will  continue  to  run  at   very   bad
  508.        efficiency...
  509.        
  510.        To  start ETHLOAD, just issue the ETHLOAD command to the MS-
  511.        DOS prompt.
  512.        
  513.  
  514.  4.2. Microsoft 3Com NDIS v 1.0.1.
  515.        
  516.        Before  running ETHLOAD for the first time, you must  modify
  517.        your       PROTOCOL.INI      (usually       located       as
  518.        C:\LANMAN\PROTOCOL.INI see your C:\CONFIG.SYS file  and  the
  519.        DEVICE=..PROTMAN... /I:<path>).
  520.        
  521.        You  must  add  the  following lines  in  your  PROTOCOL.INI
  522.        (anywhere in the file but after a section):
  523.        
  524.        [ETHLOAD]
  525.             drivername = ETHLOAD$
  526.             bindings = MYMAC
  527.        
  528.        where MYMAC is the name of the MAC module you want  to use.
  529.        
  530.        These  modifications do not modify the  usual  behaviour  of
  531.        your  PC,  so you may leave these lines in your PROTOCOL.INI
  532.        file even if you don't use ETHLOAD.
  533.        
  534.        After you have made these changes, you must reboot your PC.
  535.        
  536.        After  this  reboot, when you want to use ETHLOAD  you  must
  537.        issue the ETHLOAD command to the MS-DOS prompt.
  538.        
  539.        By  the  way,  the  Protocol Manager  directory  (containing
  540.        NETBIND.EXE, ...) should be in the PATH of MS-DOS.
  541.        
  542.        Remark  1: in PROTOCOL.INI the case of the left part of  '='
  543.        does  not matter, but uppercase characters must be  used  on
  544.        the right part as indicated in the examples above.
  545.        
  546.        Remark  2:  as  you are using a version of Protocol  Manager
  547.        older  than  version  2.0.1  4, ETHLOAD  will  display  some
  548.        warnings  and  you  have  to pay special  attention  to  the
  549.        following points:
  550.              don't  run NETBIND.EXE before ETHLOAD (so look out  in
  551.            your AUTOEXEC.BAT for an automatic run of NETBIND.EXE)
  552.              reboot  your  PC after running ETHLOAD since  Protocol
  553.            Manager cannot be reset in a correct state
  554.             some statistics are missing.
  555.  
  556.  4.3. Microsoft 3Com NDIS v2.0.1 or higher.
  557.        
  558.        Before  running ETHLOAD for the first time, you must  modify
  559.        your       PROTOCOL.INI      (usually       located       as
  560.        C:\LANMAN\PROTOCOL.INI see your C:\CONFIG.SYS file  and  the
  561.        DEVICE=..PROTMAN... /I:<path>).
  562.        
  563.        You  must  add  the  following lines  in  your  PROTOCOL.INI
  564.        (anywhere, after a section):
  565.        
  566.        [ETHLOAD]
  567.             drivername = ETHLOAD$
  568.             bindings = MYMAC
  569.        
  570.        where MYMAC is the name of the MAC module you want  to use.
  571.        
  572.        You  also have to modify the [PROTOCOL MANAGER] entry to add
  573.        a  dynamic  line.  But first try without  this  modification
  574.        before modifying further your PROTOCOL.INI file.
  575.        
  576.        [PROTOCOL MANAGER]
  577.             devicename = PROTMAN$
  578.             dynamic = YES
  579.             bindstatus = YES
  580.             priority = ETHLOAD
  581.        
  582.        These  modifications do not modify the  usual  behaviour  of
  583.        your  PC,  so you may leave these lines in your PROTOCOL.INI
  584.        file even if you don't use ETHLOAD5.
  585.        
  586.        After you have made these changes, you must reboot your PC.
  587.        
  588.        After  this  reboot, when you want to use ETHLOAD  you  must
  589.        issue the ETHLOAD command to the MS-DOS prompt.
  590.        
  591.        By  the  way,  the  Protocol Manager  directory  (containing
  592.        NETBIND, ...) should be in the PATH of MS-DOS.
  593.        
  594.        Remark  1: in PROTOCOL.INI the case of the left part of  '='
  595.        does  not matter, but uppercase characters must be  used  on
  596.        the right part as indicated in the examples above.
  597.        
  598.        Remark  2:  the use of ETHLOAD should not dbe isruptive  for
  599.        your  favorite protocol stacks, so you should  not  have  to
  600.        reboot your PC.
  601.        
  602.  
  603.  4.4. Digital Equipment DLL.
  604.        
  605.        If  DLL.EXE  (or DLLDEPCA.EXE) is already loaded,  you  have
  606.        nothing  to  do  before  starting  ETHLOAD  by  the  ETHLOAD
  607.        command.
  608.        
  609.        Note:  in order to go promiscuous, DLL requires that ETHLOAD
  610.        shutdown  ALL  connections: LAT,  DECnet,  ...  After  using
  611.        ETHLOAD  you  probably will have to reset the  whole  DECnet
  612.        protocol stack (so reboot your PC).
  613.        
  614.        Note2: it seems that at least for version 4.1 of DLL, it  is
  615.        impossible  to  run  ETHLOAD in a DOS box within  MS-Windows
  616.        3.1.
  617.  
  618.  4.5. Packet driver.
  619.        
  620.        Packet   drivers   exist  for  nearly  all  known   Ethernet
  621.        adapters.  There  even  exists  'packet  driver  shim'  that
  622.        transform some other datalink drivers into a packet driver.
  623.        
  624.        You  have to use a software interrupt between 0x60 and  0x7F
  625.        in order to let ETHLOAD run.
  626.        
  627.        ETHLOAD  will  use  the  first  packet  driver  found  while
  628.        checking from interrupt 0x60 up to 0x7F.
  629.        
  630.        The  use  of ETHLOAD is not disruptive to your other network
  631.        application  which  will  continue  to  run  at   very   bad
  632.        efficiency...
  633.        
  634.        To  start ETHLOAD, just issue the ETHLOAD command to the MS-
  635.        DOS prompt.
  636.        
  637.        Remark:  nearly all packet drivers can be found in  numerous
  638.        anonymous   FTP  server  including  SIMTEL20.ARMY.MIL.   For
  639.        BITnet  users,  they  can  also be fetched  through  TRICKLE
  640.        server.  The  Crynwr Packet Driver Collection is copyrighted
  641.        using the GNU General Public License.
  642.        
  643.                                * * *
  644.                                 * *
  645.                                  *
  646.        
  647.  
  648. 5. Command line options.
  649.        
  650.        In   nearly  all  configurations,  ETHLOAD  can  be  started
  651.        without  specifying command line options. In some case,  you
  652.        may  need  to  use  these  command  lines  options:  special
  653.        datalink drivers configuration, few memory left, ...
  654.        
  655.        Command  line  option can be specified in  either  the  Unix
  656.        shell format:
  657.            ETHLOAD -do1 -i65 -t
  658.        or in the MS-DOS format:
  659.            ETHLOAD /D:O1 /I:65 /T
  660.        
  661.        Case does not matter.
  662.        
  663.  
  664.  5.1. Datalink driver: -d
  665.        
  666.        ETHLOAD  can  be  forced  to use a special  datalink  driver
  667.        instead of trying to find automatically the best one.
  668.        
  669.        To use Novell ODI, specify: -do or /D:O
  670.        To  use  Novell ODI with the MLID board 3, specify: -do3  or
  671.        /D:O3
  672.        To use Microsoft/3Com NDIS, specify: -dn or /D:N
  673.        To use Digital Equipment DLL, specify: -dd or /D:D
  674.        To  use Packet driver at first interrupt found between  0x60
  675.        and 0x80, specify: -dp or /D:P
  676.        To  use  Packet dirver at interrupt 0xHH, specify: -dphh  or
  677.        /D:PHH.
  678.        
  679.  
  680.  5.2. Protocols to be analyzed: -p
  681.        
  682.        ETHLOAD  by  default analyzes all protocols.  This  requires
  683.        both  more  memory  and  more processing  than  analyzing  a
  684.        single  protocol. By using the -p option, you  can  restrict
  685.        the protocols to be analyzed by ETHLOAD.
  686.        
  687.        To analyze DECnet, specify d after the -p.
  688.        To analyze the TCP/IP protocol suite, specify i after the  -
  689.        p.
  690.        To analyze the OSI protocol suite, specify o after the -p.
  691.        
  692.  
  693.  5.3. Real time frame trace: -t
  694.        
  695.        ETHLOAD  can  display the very first bytes of  all  received
  696.        frames in real time on the bottom line of the display.
  697.        
  698.        This  behaviour is set by using the -t option on the command
  699.        line.
  700.        
  701.        Remark: in version 1.01, ETHLOAD always displayed the  first
  702.        bytes of the packet.
  703.        
  704.  
  705.  5.4. Faster/Unsecure mode: -f
  706.        
  707.        ETHLOAD can work in fast mode with packet driver and ODI.
  708.        
  709.        The fast mode is not set by default.
  710.        
  711.        The secure (the default) is defined as disabled IRQ while  a
  712.        frame  is analyzed. The advantage is that the stack  of  the
  713.        datalink driver is not overloaded, but, the big drawback  is
  714.        that  a  lot  of  frames  may be  either  droppeds  or  even
  715.        ignored.
  716.        
  717.        By  using this option, ETHLOAD can see much more packets but
  718.        may sometimes runs into problems...
  719.        
  720.        So,  this  option  should be set ONLY if  you  encounter  no
  721.        problems  with ETHLOAD (PC that hangs, inconsistent display,
  722.        ...) and you have a high percentage of lost packets.
  723.        
  724.  
  725.  5.5. Measure interval: -i
  726.        
  727.        ETHLOAD  measures  the load of the LAN at regular  interval,
  728.        the  screen  is  also automatically refreshed  at  the  same
  729.        rate.
  730.        
  731.        By  default,  this  interval is 5 seconds.  You  may  select
  732.        another  measure/screen refresh interval  by  using  the  -i
  733.        option followed by the number of seconds.
  734.        
  735.                                * * *
  736.                                 * *
  737.                                  *
  738.  
  739. 6. The different screens of ETHLOAD
  740.        
  741.  
  742.  6.1. Introduction
  743.        
  744.    6.1.1. Screen layout
  745.        
  746.        The  different  screens displayed by ETHLOAD  have  all  the
  747.        same design:
  748.          - the  top  line  is  just  a  copyright  notice  +  version
  749.            identification  +  percentage of  dropped  frames  due  to
  750.            internal  buffer shortage (either in ETHLOAD  or  in  data
  751.            link driver or even in Ethernet controller);
  752.          - in  the top right corner a character is flipping from  '+'
  753.            to '-' as frames are received;
  754.          - the  character  on  the  left of the  '+/-'  flip-flop  is
  755.            displayed  as  a  'P' when ETHLOAD is processing  a  frame
  756.            else it is a space;
  757.          - the  second  line  is a summary of all commands  available
  758.            for this screen;
  759.          - if  the  real  time  trace option  was  specified  in  the
  760.            command line, the bottom line displays the first bytes  of
  761.            the last received frame6:
  762.            * six bytes of MAC destination address ;
  763.            * six bytes of MAC source address ;
  764.            * two  byte(s)  for  either DIX packet type  or  for  IEEE
  765.              802.3 frame length;
  766.            * a few bytes of data.
  767.        
  768.        All   screens  are  automatically  refreshed  every  measure
  769.        interval  (5  seconds  by default) to  reflect  the  current
  770.        statistics or table contents. You may also press  the  SPACE
  771.        key to refresh the screen.
  772.        
  773.    6.1.2. Commands.
  774.        
  775.        You  can enter a single character command. The case  of  the
  776.        character is ignored.
  777.        
  778.        Two commands are always recognized:
  779.          - 'Z'  or  '0': for resetting all statistics of  ETHLOAD  to
  780.            zero  and  clearing all tables. Note that  all  statistics
  781.            are cleared and not only the ones currently displayed;
  782.          - 'X'  or  <ESC>: for leaving the current screen and getting
  783.            back to the previous menu.
  784.        
  785.        On  some screens a large table is displayed: ARP table,  ...
  786.        As  these  tables  are larger than the 23 lines  of  display
  787.        available, you have to use the PgUp and PgDn key  to  scroll
  788.        between the different pages.
  789.        
  790.    6.1.3. Data display.
  791.        
  792.        Three common display are often used:
  793.            - top of sorted table display;
  794.            - raw table display;
  795.            - history of events display.
  796.        
  797.        The  'top  display' consists of a title beginning with  'Top
  798.        of...'  and  displays  the contents  of  an  internal  table
  799.        sorted  from  the  highest  frequency  down  to  the  lowest
  800.        frequency.  An example of such a display is the  display  of
  801.        MAC   Transmitter.   A  reference  is  also   displayed   by
  802.        indicating how many frames represents 100%. Please not  that
  803.        %age are given with respect to the number of frames and  not
  804.        with respect to the number of bytes.
  805.        
  806.        As  all counters are 32 bits, they are limited to about 4E+9
  807.        frames.  Once they reach this upper bound they  are  stopped
  808.        and  the  whole table is kept unchanged. The  time  of  this
  809.        table overflow is then displayed in red.
  810.        
  811.        Each line of a 'top display' consists of:
  812.            -  percentage  (e.g. the percentage of  Ethernet  frames
  813.            transmitted  by the displayed Ethernet node  in  respect
  814.            to the total number of Ethernet frames);
  815.            -  display  of the node (e.g. Ethernet MAC address  with
  816.            perhaps the corresponding host name of DECnet address);
  817.            -  a  bar  graph  for visual representation  (resolution
  818.            2.5%).
  819.        
  820.        The  'raw table display' is just the display of a non sorted
  821.        internal table. An example is the display of the ARP table.
  822.        
  823.        Each  line  of a 'raw table display' consists of two  values
  824.        (e.g.  the  Ethernet  MAC  address  associated  with  an  IP
  825.        address).
  826.        
  827.        The  'event history' is used to display a chronological  log
  828.        of events (e.g. the list of ICMP requests).
  829.        
  830.        Each line of an 'event history' consists of:
  831.            - a time stamp in the form hh:mm:ss.hh;
  832.            - a description of the event.
  833.        
  834.    6.1.4. Accuracy
  835.        
  836.        A final remark must be done on the accuracy of the figures:
  837.          - some  packets are lost, so the load is always higher  than
  838.            indicated  if you are using a slow Ethernet controller  or
  839.            a non efficicient driver;
  840.          - ETHLOAD  relies on the MS-DOS timer which has a resolution
  841.            of  about  50 msec, moreover if the network load  is  high
  842.            and  you  have  a powerless CPU some timer  ticks  can  be
  843.            missed;
  844.          - if  you are running with IRQ disabled (i.e. without the -f
  845.            option),  some  datalink drivers can miss  frames  without
  846.            further  notification, so the drop  percentage  is  always
  847.            higher than the one displayed by ETHLOAD.
  848.        
  849.        To  summarize,  ETHLOAD give reliable  figure  on  a  medium
  850.        loaded  Ethernet  (10% ?) and on a correct  CPU  80386dx  25
  851.        MHz.  In all other case, ETHLOAD can only indicate that your
  852.        Ethernet  is  probably heavily loaded and you will  have  to
  853.        buy an expensive LAN analyzer!
  854.        
  855.  
  856.  6.2. MAC Level screen
  857.        
  858.        The MAC level screen can be divided into two parts:
  859.          - three  statistics  summaries: last five  seconds,  busiest
  860.            five seconds, cumulative;
  861.          - VU-meter of the peak and current load.
  862.        
  863.    6.2.1. MAC Summary
  864.        
  865.        Important   figures  are  displayed  for   three   important
  866.        samples:
  867.            - the last five seconds;
  868.            -  the  busiest  five  seconds, i.e.  the  five  seconds
  869.            period when the Ethernet load was the highest ;
  870.            -  the cumulative since the start of ETHLOAD or the last
  871.            reset.
  872.        
  873.        For all these samples, the following figures are displayed:
  874.          - total  number of Ethernet frames: the mean interframe  gap
  875.            is also displayed if available;
  876.          - total number of bytes of data: i.e. MAC header + MAC  data
  877.            (the  FCS and preamble is not taken into account) and  the
  878.            load  of  Ethernet  in  %  of the  10  Mbps  bandwidth  of
  879.            Ethernet;
  880.          - the  number  of frames containing errors + rate  of  error
  881.            per second.
  882.        
  883.        As  the  internal counters are 32 bits, counters are bounded
  884.        to  about  4E+9 frames/bytes. Once the counters  reach  this
  885.        count; they are stopped and displayed as ******.
  886.        
  887.        If   the  datalink  driver  supports  error  differentiation
  888.        (namely  all but packet driver), the kind of error  is  also
  889.        indicated:
  890.          - CRC error (cabling problem ?);
  891.          - too long packet (babbling transceiver or controller);
  892.          - too short packet (garbage of collision).
  893.        
  894.        If  you are using the ODI datalink driver, by using the  'E'
  895.        command you have access to the MAC source address of  faulty
  896.        Ethernet  frames (by the way don't be amazed by unknown  MAC
  897.        addresses  because even the source address can be faulty  in
  898.        faulty frames... specially for runt frames).
  899.        
  900.    6.2.2. MAC VU-meter
  901.        
  902.        The  VU-meter  is  at  the  bottom  of  the  screen  and  is
  903.        graduated in Mbps.
  904.        
  905.        The  '>'  is the peak marker, i.e. the highest load on  five
  906.        seconds since ETHLOAD has been started or reset.
  907.        
  908.        The bar is the last five seconds marker.
  909.        
  910.        The  color of the peak marker and of the bar is changing  in
  911.        respect to the load:
  912.          - green under 1 Mbps;
  913.          - yellow under 5 Mbps;
  914.          - red over 5 Mbps.
  915.        
  916.    6.2.3. MAC Commands
  917.        
  918.        The MAC level screen has four main commands:
  919.          - 'Q'   to   quit  ETHLOAD  and  get  back  to   MS-DOS   (a
  920.            confirmation is requested);
  921.          - 'D' to go to the DECnet screens ;
  922.          - 'O to go to the OSI screens ;
  923.          - 'I' to go to the TCP/IP screens.
  924.        
  925.        
  926.  
  927.  6.3. TCP/IP screens
  928.        
  929.        to be added if you ask me by email...
  930.        
  931.        In very short, you can display:
  932.            -  ARP:  table  of the mapping between IP addresses  and
  933.            MAC  addresses (can be used to detect two hosts  sharing
  934.            the  same  IP  address), the last ARP  packet,  the  ARP
  935.            senders, the requested IP addresses;
  936.            -  the  IP  fragmenters and the size of fragments,  i.e.
  937.            the  IP  host that transmit fragmented datagram  (should
  938.            be empty !);
  939.            -  important  information about IP  hosts:  largest  MTU
  940.            (Maximum  Transmit  Unit)  seen,  missing  IP  datagrams
  941.            (should be zero if host is on the same LAN and has  only
  942.            one  interface),  repeated IP datagrams (could  indicate
  943.            faulty   transceiver  or  SQE  test  enabled   were   it
  944.            shouldn't), minimum and maximum TTL (Time To Live)  seen
  945.            from this host;
  946.            -  ICMP:  the last ICMP datagrams, the senders  of  ICMP
  947.            datagrams;
  948.            - mostly used protocols: UDP, TCP, ...
  949.            -  TCP:  events (connection request, end of connection),
  950.            connections,  most  used  services  (ports),   important
  951.            events  for SMTP and POP, monitoring Telnet connections,
  952.            ...
  953.            -   UDP:   associations,  most  used  services  (ports),
  954.            important events for BOOTP and TFTP,...
  955.  
  956.  6.4. DECnet screens
  957.        
  958.        to be added if you ask me by email...
  959.        
  960.        In very short, you can display:
  961.            -  Connect  Initiate (with nearly all  fields  including
  962.            objects,...) history;
  963.            - Disconnect Initiate history;
  964.            -  Returned  frames by a router because the end-node  is
  965.            no more reachable;
  966.            -  Top nodes (classified by transmitters and receivers):
  967.            not    to    be    confused   with   the    MAC    layer
  968.            transmitters/receivers.  On  the  MAC  screens,   DECnet
  969.            routers usually represent a very high percentage but  on
  970.            the  DECnet network layer screen, DECnet routers usually
  971.            represent nothing and you can see remote DECnet  address
  972.            (i.e. some DECnet nodes on remote LAN).
  973.  
  974.  6.5. OSI screens
  975.        
  976.        to be added if you ask me by email...
  977.        
  978.        In very short, you can display:
  979.            -  the  Active  network layer hosts (not tested,  if  it
  980.            runs please email me ;-)
  981.            - the Inactive network layer hosts;
  982.            -   the   most   important   Transport   layer   events:
  983.            connection, disconnection, error. NSAP are displayed  in
  984.            hexadecimal  and TSAP are displayed in hexa,  ASCII  and
  985.            EBCDIC. Important parameters are decoded and displayed.
  986.        
  987.                                * * *
  988.                                 * *
  989.                                  *
  990.  
  991. A. Annexes
  992.                                  
  993.  
  994.  A.1. Data Link layer references
  995.        
  996.        Digital  Equipment,  'PCSA Data Link  Programer's  Reference
  997.        Manual', April 1989, EK-PCDLL-PR-001
  998.        
  999.        FTP   Software,   'PC/TCP   Packet  Driver   Specification',
  1000.        Revision 1.09, September 1989
  1001.        
  1002.        3Com/Microsoft,   'LAN  Manager  Network  Driver   Interface
  1003.        Specification', Version 2.0.1, October 1990
  1004.        
  1005.        Novell,  'Open Data-Link Interface - Developer's  Guide  for
  1006.        DOS Workstation Protocol Stacks', Version 1.10, March 1992
  1007.        
  1008.  
  1009.  A.2. Tested data links
  1010.        
  1011.        Here  follows  a  very  short and not  restrictive  list  of
  1012.        tested datalinks:
  1013.            - Protocol Manager 2.01 + Cogent LP486E NDIS driver;
  1014.            - SMC 8003, packet driver 8003PKDR V2.03;
  1015.            -  SMC 8003, ODI promiscuous mode SMC8000 V3.03 (920925)
  1016.            and LSL 1.0 (900530);
  1017.            - EXOS205 V 10.1.2, packet driver;
  1018.            - DEPCA and DE100 with version 4.1 of DLLDEPCA;
  1019.        
  1020.        If  you  can  run ETHLOAD on other drivers or even  on  IEEE
  1021.        802.5  or  802.6 LAN, please email me in order  to  increase
  1022.        the size of tested datalink drivers.
  1023.        
  1024.  
  1025.  A.3. Adding DECnet node names to display.
  1026.        
  1027.        A  utility program provided with ETHLOAD, MKNODE, allows  to
  1028.        display DECnet node names after DECnet address.
  1029.        
  1030.        MKNODE  simply  converts DECnet addresses  in  the  form  of
  1031.        area.node  (e.g. 1.1) into Ethernet address in the  form  of
  1032.        AA-00-04-00-xx-yy (e.g. AA-00-04-00-01-04).
  1033.        
  1034.        MKNODE is a MS-DOS filter program, i.e. it takes input  from
  1035.        the  stdin and its output is stdout. The usual way of  using
  1036.        MKNODE is:
  1037.            1)  get  the  list  of DECnet node addresses  and  names
  1038.            (e.g.  by running $ NCP SHOW KNOWN NODES TO nodes  on  a
  1039.            VAX/VMS)  in a MS-DOS called NODES. The format  of  this
  1040.            file is:
  1041.            area.node name
  1042.            2) on MS-DOS, issue the command:
  1043.                MKNODE < NODES >> ETHERS
  1044.            3) that's done !
  1045.        
  1046.        Here is an example for the file NODES:
  1047.        
  1048.        ;
  1049.        ;       List of DECnet nodes
  1050.        ;
  1051.        ;
  1052.        1.1     RM
  1053.        1.76    MDCPC
  1054.        2.3     DSRV03
  1055.        2.4     DSRV04
  1056.        
  1057.        And here is the added lines in ETHERS:
  1058.        
  1059.        #
  1060.        # The next Ethernet addresses are built with MKNODE.EXE
  1061.        #
  1062.        # (c) vyncke@csl.sni.be
  1063.        # Can be copied and used freely
  1064.        #
  1065.        # Input is stdin and consists of line in the format
  1066.        #      area.node    nodename
  1067.        #
  1068.        # Output is stdout and should be appended to ETHERS
  1069.        #
  1070.        # Run of Sun Jul 11 10:18:32 1993
  1071.        #
  1072.        #
  1073.        #   1.1     RM
  1074.        AA-00-04-00-01-04   RM
  1075.        #   1.76    MDCPC
  1076.        AA-00-04-00-4C-04   MDCPC
  1077.        #   2.3     DSRV03
  1078.        AA-00-04-00-03-08   DSRV03
  1079.        #   2.4     DSRV04
  1080.        AA-00-04-00-04-08   DSRV04
  1081.        
  1082.        Remark:   I'm   not  really  satified  with  this   two-step
  1083.        procedure.  If  you have written any VMS/DCL procedure  that
  1084.        has  the  same  result and you whish to put  this  procedure
  1085.        into the public domain, I would be pleased to include it  in
  1086.        the distribution kit of ETHLOAD.
  1087.        
  1088.                                * * *
  1089.                                 * *
  1090.                                  *
  1091.        
  1092. _______________________________
  1093.        1email  in  Belgium is not free :-( So that's  my  employeer
  1094.        which  pays any email. If any site in Belgium or  BITnet  is
  1095.        whishing  to  start-up a distribution list  for  ETHLOAD,  I
  1096.        would  really appreciate ;-) I should also get very  soon  a
  1097.        Fidonet address.
  1098.        2Also known previously by Yellow Pages.
  1099.        3The  version  1.0.1  is also supported,  but  with  several
  1100.        restrictions (see further)...
  1101.        4You  can  check  the  version  by  looking  at  the  banner
  1102.        displayed  when Protocol Manager is loaded from  CONFIG.SYS.
  1103.        Also,  if  the  Protocol Manager directory  is  missing  the
  1104.        PROTMAN.EXE file, you can bet you have a old 1.0 version.
  1105.        5But  for  the  bindstatus=YES, which increase the  resident
  1106.        part  of  the Protocol Manager, thus, reducing the available
  1107.        base memory. If you are concerned with base memory, you  may
  1108.        instead  use bindstatus=NO, then ETHLOAD won't  be  able  to
  1109.        display  some  informations about Protocol Manager  but  wil
  1110.        anyway work as usual.
  1111.        6This  display  together with the '+/-'  flip-flop  is  only
  1112.        displayed by memory mapped IO on colour displays.
  1113.