home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / TOP / USR / MAN / Pathalias.man < prev    next >
Text File  |  2009-11-06  |  12KB  |  464 lines

  1.  
  2.  
  3.  
  4.      PATHALIAS(1)      Public Domain    (10/4/87)      PATHALIAS(1)
  5.  
  6.  
  7.  
  8.      NAME
  9.       pathalias, makedb, arpatxt - mail routing tools
  10.  
  11.      SYNOPSIS
  12.       pathalias [ -ivcDf ] [ -t link ] [ -l    host ] [ -a host ]
  13.       [-d link ] [ files ...    ]
  14.  
  15.       makedb [ -a ]    [ -o dbmfile ] [ files ... ]
  16.  
  17.       arpatxt [ -@fi ] [ -g    gateway    ] [ -p privatefile ]
  18.       [-d directory ] [ files ... ]
  19.  
  20.      DESCRIPTION
  21.       Pathalias computes  the  shortest  paths  and     corresponding
  22.       routes  from    one host (computer system) to all other    known,
  23.       reachable hosts.  Pathalias reads host-to-host  connectivity
  24.       information  on  standard  input  or in the named files, and
  25.       writes a list    of host-route pairs on the standard output.
  26.  
  27.       Here are the pathalias options:
  28.  
  29.       -i    Ignore case:  map all host names to  lower  case.   By
  30.         default, case is significant.
  31.  
  32.       -c    Print costs: print the path  cost  before  each     host-
  33.         route pair.
  34.  
  35.       -v    Verbose: report    some statistics    on the standard     error
  36.         output.
  37.  
  38.       -D    Terminal domains: domain members are terminal.
  39.  
  40.       -f    First hop cost:    the printed cost is the     cost  to  the
  41.         first relay in a path, instead of the cost of the path
  42.         itself;    implies    (and overrides)    the -c option.
  43.  
  44.       -l host
  45.         Set local host name to host.   By  default,  pathalias
  46.         discovers  the    local  host name in a system-dependent
  47.         way.
  48.  
  49.       -a host
  50.         Avoid host; penalize all links out of host by a     small
  51.         amount.     The -a    option is cumulative.
  52.  
  53.       -d arg
  54.         Declare    a dead link, host, or network.    If arg    is  of
  55.         the  form  ``host-1!host-2,''  the link    from host-1 to
  56.         host-2 is treated as an     extremely  high  cost    (i.e.,
  57.         DEAD)  link.   If arg is a single host name, that host
  58.         is treated as dead and is used as a relay host of last
  59.         resort    on  any     path.     If arg    is a network name, the
  60.  
  61.  
  62.  
  63.      Page 1                        (printed 12/28/87)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      PATHALIAS(1)      Public Domain    (10/4/87)      PATHALIAS(1)
  71.  
  72.  
  73.  
  74.         network    requires a gateway.
  75.  
  76.       -t arg
  77.         Trace input for    link, host or network on the  standard
  78.         error output.  The form    of arg is as above.
  79.  
  80.       Makedb takes pathalias output    and creates or    appends     to  a
  81.       dbm(3) database.
  82.  
  83.       Here are the makedb options:
  84.  
  85.       -a    Append to an existing  database;  by  default,    makedb
  86.         truncates the database.
  87.  
  88.       -o dbmfile
  89.         Identify the output file base name.
  90.  
  91.       Arpatxt converts the Internet     hosts    table  hosts.txt  into
  92.       pathalias input.
  93.  
  94.       Here are the arpatxt options:
  95.  
  96.       -@    Generate pathalias  input  that     specifies  `@'     style
  97.         addressing.  The default is to produce pathalias input
  98.         that specifies `!' style addressing.
  99.  
  100.       -f    ``Filter mode''    - write    output on  stdout.   Normally,
  101.         arpatxt     writes     the description of each domain    into a
  102.         separate file.
  103.  
  104.       -i    Map output to lower case.
  105.  
  106.       -g arg
  107.         Declare    a gateway  to  the  Internet  or  one  of  its
  108.         subdomains.   If  arg  contains     one or    more dots, the
  109.         left-hand side component  that    contains  no  dots  is
  110.         declared  a  gateway to    the domain to the right    of the
  111.         dot.  Otherwise, arg is     declared  a  gateway  to  the
  112.         Internet as a whole.
  113.  
  114.       -p privatefile
  115.         Privatefile  contains  a  list    of  host  names      that
  116.         conflict with other names.
  117.  
  118.       -d directory
  119.         Write output files in directory.
  120.  
  121.     Pathalias Input    Format
  122.       A line beginning with    white space  continues    the  preceding
  123.       line.     Anything following `#'    on an input line is ignored.
  124.  
  125.       A list of host-to-host connections consists  of  a  ``from''
  126.  
  127.  
  128.  
  129.      Page 2                        (printed 12/28/87)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      PATHALIAS(1)      Public Domain    (10/4/87)      PATHALIAS(1)
  137.  
  138.  
  139.  
  140.       host    in  column  1,    followed by white space, followed by a
  141.       comma-separated list of ``to'    hosts, called links.   A  link
  142.       may be preceded or followed by a network character to    use in
  143.       the route.  Valid network characters are `!' (default), `@',
  144.       `:',    and  `%'.   A link (and    network    character, if present)
  145.       may be followed  by  a  ``cost''  enclosed  in  parentheses.
  146.       Costs     may  be  arbitrary  arithmetic     expressions involving
  147.       numbers, parentheses,    `+', `-', `*', and `/'.     The following
  148.       symbolic costs are recognized:
  149.  
  150.            LOCAL       25    (local-area network connection)
  151.            DEDICATED   95    (high speed dedicated link)
  152.            DIRECT      200    (toll-free call)
  153.            DEMAND      300    (long-distance call)
  154.            HOURLY      500    (hourly    poll)
  155.            EVENING     1800    (time restricted call)
  156.            DAILY     5000    (daily poll, also called POLLED)
  157.            WEEKLY    30000    (irregular poll)
  158.  
  159.       In addition,    DEAD  is  a  very  large  number  (effectively
  160.       infinite),  HIGH  and     LOW  are  -5 and +5 respectively, for
  161.       baud-rate or quality bonuses/penalties, and FAST is -80, for
  162.       adjusting  costs  of links that use high-speed (9.6 Kbaud or
  163.       more)    modems.     These symbolic    costs represent     an  imperfect
  164.       measure  of  bandwidth,  monetary  cost,  and     frequency  of
  165.       connections.    For most mail  traffic,     it  is     important  to
  166.       minimize  the    number of hosts    in a route, thus, e.g.,    HOURLY
  167.       * 24 is much larger than DAILY.  If  no  cost     is  given,  a
  168.       default of 4000 is used.
  169.  
  170.       For the most part, arithmetic    expressions that mix  symbolic
  171.       constants  other  than  HIGH,     LOW,  and FAST    make no    sense.
  172.       E.g.,    if a host calls    a local     neighbor  whenever  there  is
  173.       work,     and  additionally  polls  every  evening, the cost is
  174.       DIRECT, not DIRECT+EVENING.
  175.  
  176.       Some examples:
  177.  
  178.            down     princeton!(DEDICATED),    tilt,
  179.              %thrash(LOCAL)
  180.            princeton topaz!(DEMAND+LOW)
  181.            topaz     @rutgers(LOCAL+1)
  182.  
  183.       If a link is encountered  more  than    once,  the  least-cost
  184.       occurrence  dictates    the cost and network character.     Links
  185.       are treated as bidirectional but asymmetric: for  each  link
  186.       declared in the input, a DEAD    reverse    link is    assumed.
  187.  
  188.       If the  ``to''  host    in  a  link  is     surrounded  by     angle
  189.       brackets, the    link is    considered terminal, and further links
  190.       beyond this one are heavily penalized.  E.g.,    with input
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                        (printed 12/28/87)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      PATHALIAS(1)      Public Domain    (10/4/87)      PATHALIAS(1)
  203.  
  204.  
  205.  
  206.            seismo     <research>(10), research(100),    ihnp4(10)
  207.            research     allegra(10)
  208.            ihnp4     allegra(50)
  209.  
  210.       the path from    seismo to research is  direct,    but  the  path
  211.       from    seismo to allegra uses ihnp4 as    a relay, not research.
  212.       The way to think  of    this  is  to  imagine  two  copies  of
  213.       research,  one that's    cheap to get to, but has no neighbors,
  214.       and one that's expensive  to    get  to,  but  has  neighbors.
  215.       (This     is  an     exception  to    the  ``least-cost  link'' rule
  216.       above.)
  217.  
  218.       The set of names by which a host is known to    its  neighbors
  219.       is called its    aliases.  Aliases are declared as follows:
  220.  
  221.            name = alias, alias ...
  222.  
  223.       The name used    in the route to    or through  aliased  hosts  is
  224.       the  name  by     which the host    is known to its    predecessor in
  225.       the route.
  226.  
  227.       Fully    connected networks, such as the    ARPANET     or  a    local-
  228.       area network,    are declared as    follows:
  229.  
  230.            net = {host, host, ...}
  231.  
  232.       The host-list    may be    preceded  or  followed    by  a  routing
  233.       character, and may be    followed by a cost:
  234.  
  235.            princeton-ethernet = {down, up, princeton}!(LOCAL)
  236.            ARPA = @{sri-unix, mit-ai, su-score}(DEDICATED)
  237.  
  238.       The routing character    used in    a route    to a network member is
  239.       the one encountered when ``entering''    the network.  See also
  240.       the sections on gateways and domains .
  241.  
  242.       Connection data may be given    while  hiding  host  names  by
  243.       declaring
  244.  
  245.            private {host, host, ...}
  246.  
  247.       Pathalias will not generate routes for  private  hosts,  but
  248.       may  produce    routes    through     them.    The scope of a private
  249.       declaration extends from the declaration to the end  of  the
  250.       input     file in which it appears, or to a private declaration
  251.       with an empty    host list, whichever comes first.  The    latter
  252.       scope     rule  offers a    way to retain the semantics of private
  253.       declarations when reading from the standard input.
  254.  
  255.       Dead hosts, links, or    networks may be    presented in the input
  256.       stream by declaring
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                        (printed 12/28/87)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      PATHALIAS(1)      Public Domain    (10/4/87)      PATHALIAS(1)
  269.  
  270.  
  271.  
  272.            dead {arg, ...}
  273.  
  274.       where    arg has    the same  form    as  the     argument  to  the  -d
  275.       option.
  276.  
  277.     Output Format
  278.       A list of  host-route     pairs    is  written  to     the  standard
  279.       output,  where  route     is  a string appropriate for use with
  280.       printf(3), e.g.,
  281.  
  282.            rutgers     princeton!topaz!%s@rutgers
  283.  
  284.       The ``%s'' in    the route string should     be  replaced  by  the
  285.       user    name  at the destination host.    (This task is normally
  286.       performed by a mailer.)
  287.  
  288.       Except for domains, the name of a network is never  used  in
  289.       routes.  Thus, in the    earlier    example, the path from down to
  290.       up would be ``up!%s,'' not ``princeton-ethernet!up!%s.''
  291.  
  292.     Gateways
  293.       A network is represented by  a  pseudo-host  and  a  set  of
  294.       network members.  Links from the members to the network have
  295.       the weight given in the  input,  while  the  cost  from  the
  296.       network  to  the  members is zero.  If a network is declared
  297.       dead,    the member-to-network links  are  marked  dead,     which
  298.       effectively    prohibits  access  to  the  network  from  its
  299.       members.
  300.  
  301.       However, if the input    also shows an explicit link  from  any
  302.       host    to  the     network,  then     that  host  can  be used as a
  303.       gateway.  (In    particular, the    gateway    need not be a  network
  304.       member.)
  305.  
  306.       E.g.,    if CSNET is declared dead and the input    contains
  307.  
  308.            CSNET = {...}
  309.            csnet-relay       CSNET
  310.  
  311.       then routes  to  CSNET  hosts     will  use  csnet-relay     as  a
  312.       gateway.
  313.  
  314.     Domains
  315.       A network whose name begins with `.'    is  called  a  domain.
  316.       Domains  are    presumed  to  require gateways,    i.e., they are
  317.       DEAD.     The route given by a path through a domain is similar
  318.       to  that  for     a network, but    here the domain    name is    tacked
  319.       onto the end of the next host.  Subdomains are permitted.
  320.  
  321.       E.g.,
  322.  
  323.            harvard     .EDU       # harvard is    gateway    to .EDU    domain
  324.  
  325.  
  326.  
  327.      Page 5                        (printed 12/28/87)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      PATHALIAS(1)      Public Domain    (10/4/87)      PATHALIAS(1)
  335.  
  336.  
  337.  
  338.            .EDU     = {.BERKELEY, .UMICH}
  339.            .BERKELEY = {ernie}
  340.  
  341.       yields
  342.  
  343.            ernie     ...!harvard!ernie.BERKELEY.EDU!%s
  344.  
  345.       Output is given for the nearest gateway to a    domain,     e.g.,
  346.       the example above gives
  347.  
  348.            .EDU     ...!harvard!%s
  349.  
  350.       Output is given for a    subdomain if it    has a different     route
  351.       than    its  parent domain, or if all its ancestor domains are
  352.       private.
  353.  
  354.       If the -D option is given on    the  command  line,  pathalias
  355.       treats  a link from a    domain to a host member    of that    domain
  356.       as terminal.    This discourages the use of routes that    use  a
  357.       domain member    as a relay.
  358.  
  359.     Databases
  360.       Makedb builds    a dbm(3) database from the standard  input  or
  361.       from    the  named files.  Input is expected to    be sequence of
  362.       ASCII    records, each consisting of a key  field  and  a  data
  363.       field    separated by a single tab.  If the tab is missing, the
  364.       data field is    assumed    to be empty.
  365.  
  366.      FILES ET AL.
  367.       /usr/local/lib/palias.{dir,pag}     default dbm output
  368.       newsgroup comp.mail.maps          likely location of  some
  369.       input    files
  370.       getopt(3), available from comp.sources.unix archives (if not
  371.       in the C library).
  372.  
  373.      BUGS
  374.       Terminal nets    are not    implemented.
  375.  
  376.       The -i option    should be the default.
  377.  
  378.       The order of arguments is significant.   In  particular,  -i
  379.       and -t should    appear early.
  380.  
  381.       Pathalias can    generate hybrid    (i.e. ambiguous) routes, which
  382.       are  abhorrent  and  most  certainly    should not be given as
  383.       examples in the manual entry.     Experienced  mappers  largely
  384.       shun    `@' when preparing input; this is historical, but also
  385.       reflects UUCP's facile syntax    for source routes.
  386.  
  387.       Multiple `@'s    in routes are loathsome, so pathalias  resorts
  388.       to  the ``magic %'' rule when    necessary.  This convention is
  389.       not documented anywhere, including here.
  390.  
  391.  
  392.  
  393.      Page 6                        (printed 12/28/87)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      PATHALIAS(1)      Public Domain    (10/4/87)      PATHALIAS(1)
  401.  
  402.  
  403.  
  404.       The -D option    elides insignificant routes to domain members.
  405.       This    is  benign,  perhaps  even  beneficial,    but confusing,
  406.       since      the    behavior   is    undocumented   and    somewhat
  407.       unpredictable.
  408.  
  409.      SEE ALSO
  410.       P. Honeyman and S.M. Bellovin, ``PATHALIAS or    The  Care  and
  411.       Feeding  of  Relative     Addresses,''  in  Proc. Summer    USENIX
  412.       Conf., Atlanta, 1986.
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                        (printed 12/28/87)
  460.  
  461.  
  462.  
  463.  
  464.