home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / uucp / auucp+-1.02 / auucpplus1_02d2.lzh / man / pathalias < prev    next >
Encoding:
Text File  |  1990-09-12  |  12.7 KB  |  397 lines

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