Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!mcvax!ukc!dcl-cs!aber-cs!pcg From: pcg@aber-cs.UUCP (Piercarlo Grandi) Newsgroups: news.sysadmin Subject: Re: mail headers Summary: again on smart routing... UUCP can do it, or not. Message-ID: <841@aber-cs.UUCP> Date: 21 Apr 89 11:29:32 GMT Reply-To: pcg@cs.aber.ac.uk (Piercarlo Grandi) Distribution: eunet,world Organization: Dept of CS, UCW Aberystwyth (Disclaimer: my statements are purely personal) Lines: 51 In article <10716@bloom-beacon.MIT.EDU> tytso@athena.mit.edu (Theodore Y. Ts'o) writes: Yes, there should always be a way to do source routing. However, most of the time it is _not_ the best way to do things. [...additional reasons for not doing source routing, e.g. not forcing everyone to update their maps, and avoiding users writing very long routes...] Again on smart routing! Actually, even UUCP routes need not be source routes; you can always leave them udnerspecified, if you feel like it, and let the MTAs at yours and other sites flesh them out. It has been a long time since users have been required to type themselves the routes. Nowadays, even on UUCP only machines, they type dest!user or use@dest, and the MTAs generate the route. Now the question is: should intervening MTAs rewrite the route generated by previous MTAs or not? the non smarting rule is: NEVER. The only permissible thing is to put in missing links at the BEGINNING of the route. Now, a fully dynamical UUCP routing system would just at every step add one component to the path. Example: mail f!u, from a, and let us see what can happen: Fully specified source route: b!c!d!e!f!u Weakly specified route: b!d!f!u Here what happens is a's MTA asks b's MTA to find a route to d; then d's MTA will have to find a route to f. But is is guaranteed that (in the absence of path rewriting) mail will pass thru d on its way to f. Unspecified route: b!f!u Here b is asked to devise the entire route to f. When b's MTA see f!u, it can again choose whether to use fully, weakly, or unspecified routing. If every MTA on the path uses unspecified routing,then we have fully dynamic routing, in which each MTA only selects the next MTA in the chain (and then we have the usual problems with loops, etc... of dynamic routing algorithms). Note that this is because the rule is that an MTA may only, and always (well...) has a right to, prepend components to a path, never to delete or rewrite them. E.G., even the b!c!d!e!fu fully specified route may become in the end b!c!d!g!e!f, but this is a moditication that is only allowed to d's MTA, if it reckons that going through g is the best way to reach e. By the way, this also applies to Arpa routes etc... All this has been discussed to death in the past, but it may pay repeating it here; someday maybe some smart rerouter may be persuaded... -- Piercarlo "Peter" Grandi | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk Dept of CS, UCW Aberystwyth | UUCP: ...!mcvax!ukc!aber-cs!pcg Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk