Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version VT1.00C 11/1/84; site vortex.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!scherzo!petrus!bellcore!vortex!lauren From: lauren@vortex.UUCP (Lauren Weinstein) Newsgroups: net.mail Subject: Domain routing in UULINK Message-ID: <738@vortex.UUCP> Date: Sun, 11-Aug-85 20:10:23 EDT Article-I.D.: vortex.738 Posted: Sun Aug 11 20:10:23 1985 Date-Received: Sun, 1-Sep-85 06:05:49 EDT Organization: Vortex Technology, Los Angeles Lines: 76 I was hesitating about entering this current fray, but I guess I'd better. There are indications that demand for UULINK is quite high, and there's the possibility that there could be a lot of nodes running it in some not-too-long period of time. As such, the manner in which I handle domain support inside the package may be of some interest, since there are going to be a lot of nodes out there using it. (Note: UULINK is my MSDOS uucp/mail/basic netnews package which is starting to go out now). Basically, I took the class-3 (complex) site description and implemented the basic functionality to make it work. Both User@Site.Domain and ...!Site.Domain!User syntax is supported, so all of the compatibility issues do work. I went to great pains to come up with something that would work both when talking to dumb sites that will never change their software and to smart sites. I also handle both left-right and right-left address parsing issues, but I won't go into the details of that here. The basic functionality of my domain handling is based on a single file, which can be small or large as desired. A fragment from a sample file looks like this: cbpravo.cbosgd.UUCP cbosgd 3 cbosgd.ATT.UUCP cbosgd 3 ATT.UUCP cbosgd 3 allegra.UUCP allegra 1 ihnp4.UUCP ihnp4 3 ism780.UUCP ism780 1 bellcore.UUCP bellcore 1 trwspp.UUCP trwspp 1 research.UUCP ihnp4!research 1 sdcrdcf.UUCP randvax!sdcrdcf 1 psivax.UUCP randvax!sdcrdcf!psivax 1 .UUCP ihnp4 3 .ARPA ihnp4!ucbvax 2 .GOV ihnp4!ucbvax 2 .COM ihnp4!ucbvax 2 .BITNET ihnp4!ucbvax 2 *default* ihnp4 3 This table provides all of the routing requirements for a small site with a "few" outside connections. It includes full routing information for sites where full routing is known to be best (where full may mean a multi-hop path--it does not necessarily imply a one-hop path, just that the path is fully qualified to some point), and provides for routing to "smarter" sites for domains and/or subdomains where we don't have enough information for full routing. It also handles the real-world situation of smart and dumb hosts. The number in the third field specifies the "smartness" of the final host in the path. 3 is smartest, we can drop full domain addresses right in its lap. 2 is dumber, and 1 is "dumbest" yet. There are also a variety of alphabetic options that can be further used to control the manner in which addressing information is passed along, in modes that range from very smart to very simple. The point of this is that it WORKS. My Beta sites have been using it to route User@Site.Domain addresses through the existing network and through other sites running my code. My own code falls into class 3 (smart) so even the lowly PC's can handle the domain addresses even with limited resources. The routing table can be as complete or simple as the individual site wishes, depending on how much you want to (or can) push off onto other sites with more complete tables. Note that the word "dumb" in this case says nothing about the intelligence of the system administrators at a site, it only refers to the ability of a site to handle domain addresses in various forms! One of the advantages of this system is that it requires very little (if any) cooperation from other hosts, since it will happily route through dumb hosts as well as smart ones. I don't put it forth as THE solution to the routing problems, but I mention it as a solution that I've found to work well in my MSDOS package. --Lauren-- {ihnp4, decvax, seismo, clyde, trwrb}!vortex!lauren