1 - PATHALIAS 0Pathalias was written by Peter Honeyman. Modifications to the program for use by BITNET were made by Peter Honeyman as told by Michael R. Gettes. 0 The motivation for the use of the pathalias program in the BITNET environment is many fold. BITNET has some special requirements with respect to routing. First; and foremost, it requires the best possible path between any two nodes on the network and these paths must be symmetric. Symmetry brings about some interesting problems, but these are not insurmountable, just a bit costly to figure out. 0 The history of routing on BITNET shows Chris Thomas from UCLA generating routing tables for most sites on the network. His program deals with the network in a strict tree view, a non-multiply connected network. As BITNET grew, we started to see multiple connections. EARN developed GENROUTS to better deal with routing and to allow any site (IBM site) to execute GENROUTS to create their own routing table. GENROUTS had the knowledge about various system platforms on BITNET and would create a routing table suitable for the networking software on that machine. GENROUTS was also designed to read the network topological information directly from the BITEARN NODES file, the master file that described all nodes officially on the network. As the network expanded, GENROUTS was hacked to deal with certain problems by various people around the world. Then it was realized that the format of the BITEARN NODES file was not suitable. As the format changes, so would GENROUTS. GENROUTS was written in a non-portable version of PASCAL. This meant that non-IBM machines could not make use of GENROUTS. Finally, the network administrative server, NETSERV, makes use of GENROUTS to create routing tables for any other node on the network that does not wish to or cannot create their own routing table. 0 The advantages of moving to pathalias are as follows: 0(1) It is written in C and is quite portable. This means many more sites will be able to generate their own routing tables and reduce the load on the NETSERVs around the world. Pathalias has been ported with no modification from Unix to IBM systems (if you have a reasonable C compiler such as Waterloo C) and VMS. Portability is not an issue anymore. 0(2) It has been in use for a number of years on the USENET network. 0(3) It deals very well with a multiply connected network where GENROUTS does not. GENROUTS has been tested on various network topologies and fails often on complex network connections. 1 0 PAGE 2 0(4) Pathalias does not read the BITEARN NODES master file. The master file is free to change as much as it wishes. Currently, a complex rexx exec has been written to generate a network topology file (ntf) that is in a format that can be read by pathalias. This exec should be executed by the Network Master Coordinator. This induces the confidence that everyone will be using the same base for routing information. It is quite possible to have pathalias read directly from the BITEARN NODES file to allow some ease of use around the the network and allow for the sake of compatible procedures. This is being looked into at the writing of this document. 0(5) Pathalias does not produce a routing table that is in a format to be used by RSCS, JES, UREP, JNET or any of the other RSCS/NJE emulating software on the network. What it does produce is a map of the network from the view of the local node. A route to node FOO from the local node would look like: 0 foo link1!node2!node3!node4!foo!%s ROUTE FOO LINK1 <--- translated to an RSCS route 0This means that each of the operating environments on the network will have to have software developed to transform a pathalias map file into a routing table suitable for their network software. Software for the major environments is being developed (or already has been) and is available along with this package. The rexx exec PATORSCS turns a pathalias map into a RSCS routing table. 0(6) Pathalias has many other capabilities for dealing with routing. For example, mathematical expressions can be used to represent link speeds. Hosts can be weighted. Groups of nodes can be defined for simplified routing through gateways. There are many possibilities. 0(7) Pathalias can generate a map for any node on the network. On a 3081, for BITNET with 3000 nodes, pathalias will generate a sorted map in about 11 seconds. It takes about 1 minute to turn this map into a RSCS routing table at the local node using the PATORSCS exec provided. 0(8) The introduction of the NTF (network topology file) allows for simpler development of other tools that deal with network topologies, mappings, reroutings and an informational base for the development of routing protocols. 1 0 PAGE 3 0 Creating PATHALIAS 0 The CMS modules available along with this package are for the known functional C compilers for IBM systems. All the source is provided with this package. Pathalias is free to use by any persons for any purpose. For use with BITNET, it is preferred that no modifications be made to the program unless absolutely necessary in which case these efforts need to be coordinated. 0 The pathalias program with the BITNET modifications is currently available from LISTSERV@PUCC. Post-processing programs will be available from there as well in the PUBTOOLS FILELIST. Get the PA PACKAGE to get all the source, documentation and currently available post-processing programs. 0 To compile the source, use a friendly C compiler. This program should compile under most environments. The program is currently distributed from LISTSERV@PUCC with two versions of the PARSE source module. PARSE ASCII should be renamed to PARSE C if you will be using pathalias on an ASCII based system and PARSE EBCDIC should be renamed to PARSE C if you will be using pathalias on an EBCDIC based system. You will be compiling the PARSE C file. You should alter the CONFIG H file as necessary to deal with your C environment. DO NOT modify the DEFINE for BITNET. The BITNET flag is necessary to include special code in pathalias to handle symmetric networks. If you intend to use this for BITNET routing only, then you do not need to compile and include the ARPATXT and MAKEDB sources and object files. You can include them, but you will get several unresolved external references when linking if you do not have these facilities on your system. If you have any question as to whether you have created the program correctly, contact someone who can verify the routing table. This can be anyone who already has the pathalias program properly running. They can simply compare a map that they generate for your node against what you have generated. 1 0 PAGE 4 0 Using PATHALIAS 0Make sure you have the current NTF file. The file should be available from a nearby server or ask a neighbor for info on where to find it. If this program becomes widely used, then locating this file will be trivial. As of the writing of this document, the NTF file will be available from LISTSERV@PUCC. The file will have a file name of NTF VERSmmyy for monthly changes to the file. Invoke the Pathalias program as follows: 0 pa -i -l NODENAME ntf.versMMYY > NODENAME.map 0The actual syntax may vary slightly for your flavor of C. Supply the name of your BITNET node for NODENAME and the month and year of the NTF file for MMYY. The output file will be the map file you will feed to the postprocessing program that will create a routing table for your particular networking environment. The character preceding the NODENAME in the command above is not the digit 1, it is a lower case L. 0NOTE: The output map file from pathalias is a variable length record. You can make no assumptions about the length of a record. Be sure your procedures are defined accordingly. 0 With the newly created map you should now execute the post-processing program to transform the map into a routing table for your network software. All the post-processors run basically the same. If the BITNET LINKS file is made available, then the routing tables will be documented with the names of the nodes as was done with GENROUTS. Some routing tables will have commented control statements at the top of the file specifying link names and other parameters. It is strongly recommended that these statements not be uncommented. 0 For CMS environments the DOPA* execs and PA* MODULEs have been supplied for you if you do not wish to have to compile the program on your machine. DOPA will construct the map file and call the PATORSCS EXEC for you and create a NETINIT file on the A disk that will be a new routing table for RSCS. You are free to modify this exec to suite your needs. 0 That is all that is required. You should now have a usable routing table for your node. Be sure to subscribe or ensure that you will receive a new NTF file every month. We are looking into getting pathalias to read directly from the BITEARN NODES file.