Path: utzoo!attcan!uunet!mcvax!enea!naggum!erik From: erik@naggum.se (Erik Naggum) Newsgroups: comp.mail.uucp Subject: Rerouting considered GOOD Message-ID: <8809212215.AA21035@naggum.se> Date: 21 Sep 88 22:15:42 GMT Reply-To: erik@naggum.se (Erik Naggum) Organization: Naggum Software, Oslo, Norway Lines: 160 I have been following the discussion of active rerouting in comp.mail.uucp and on the info-smail list for a while, and would like to give the following rather longish comment on it. It seems that the arguments against it are as follows: 1. The UUCP maps are out of date, so we act on old (=wrong) data 2. UUCP has _explicit_ routing, so leave a user's choice alone 3. Nodes don't always register properly, so the maps are incomplete Case 1. is the fault of the map builders and distribution medium/mode. When map updates are sent in to the "responsible person" (in quotes, since he might not exist), maps _should_be_ updated immediately at all backbones or "active rerouters". Why not make this automatic? If you're demanding manpower, why not charge a small fee for this? (I think it would be possible to make daemons do this kind of work.) Case 2. is clearly wrong. Time for a reality check, here. How did the bang-paths originate? By someone decreeing that "my address is foo!bar!heaven!hell!zot!machine!user, as seen from machine xctptlr, which you must find for yourself"? Nooo. The whole point with bangpath addresses is that they are based on neighbors talking to each other, and you are making a list of neighbors that you know will help land a message in your mailbox when you give it away. Preferably the first node is a well-known one. (Which speaks for going to make it a domain, and let the domain entry point worry about what's inside it.) No-one "explicitly" routes anything, it's just "_a_ known way to get here, at least the last time I checked". With the bangpath universe being in state of flux (that's your argument, anyway), how dare anyone use a bangpath without checking that it still works? (Can you expect people to send their message on the basis that they will be testing the network connectivity by doing so?) An explicit route to me is a way to _force_ a message to travel along this route, and the only place I've seen it is in the Return-Path field, but I don't even find it useful even here, since a fast route one way is not necessarily a fast route back. What an "explicit route" entails is that the sender knows how the whole set of neighbors that his message will be passing through are talking to each other. This is so blatantly in contradiction with the dictum that the bangpath universe is changing constantly, that I wonder why it hasn't been mentioned before. You scream and shout because active rerouters "know more about me than I do", but YOU know more about a whole lot of nodes and neighbors than THEY do if you think of the bangpath as an "explicit route". How can you DO that? Why should YOU be allowed to do something you disallow others to do? Case 3. is a problem which has to do with sloppy system managers and people who can't be trusted to do their job right. It's most emphatically NOT the fault of either pathalias, uucp maps or "active rerouting" that some jerks prefer to stay in the dusk and send mail at people. Stomp on those jerks instead of at the "active rerouters" if you think stomping on people is so great. They are the reason behind the arguments _against_ rerouting; they choose node names some people already have; they don't understand how this game works and that's their fault, too. I'd much rather return mail from nodes I don't know about to the sender (Return-Path and explicit routing comes in handy here!) than childishly marking "active rerouters" DEAD. The last method only propagates the mess by excusing the real offenders. I have based my arguments on the following terse premises: 1. All nodes in the network should be registered 2. We're going to move to domain notation, anyway 3. People want mail from A to B, to which a path is the _means_, not the _end_. 4. Pathalias is great, and relieves us all of a lot of drudgery to get our mail systems work I also have abstracted your (collective) arguments as follows 1. A mail sender can be demanded to know the network topology of the world when he wants to send mail to someone 2. Registration is just a way to make it harder for people to get on the net 3. It doesn't matter that people use expensive routes; it's not their money, anyway 4. It's impractical or impossible to know the network topology of the world at the backbone sites Of course, point 1 refers to a much narrower context than does point 4, but still, if 4 is true, how can 1 be true to any degree at all? At my site, I do the following things with incoming mail: 1. If it has a bangpath in the headers, I convert it to @.uucp, and store the bangpath away for future use. 2. If I know how to route to an address in the envelope, I rewrite it to what I know. If I don't know, I let my backbone take care of it, or the first hop if I know it. 3. If the last component of the address is a domain name, I clip it there and convert it to @, while storing the path away for future use. 4. For domains that I know how to route to, I convert '%' to '@' and throw away the relay node. (Presently, this is only ".uninett", a Norwegian joke.) (Rationale: If people haven't bothered to register their little domain, that's just stupid. Also, there may be other, better ways to get into that domain than via the relay node. I don't know this is true from any machine, but certainly from a lot.) 5. For nodes that I talk to directly, or are a known path away, I convert their paths to domain notation, if relevant. 6. For unknown nodes that appear "behind" a known node to me, except if that is my backbone, I send a mail to postmasters at the following machines: my own, the offending node's, and the immediately preceding node's, and return the message to the user, telling him that mail service in unavailable. The mail to the postmasters do not include the message, but only the paths or addresses of the sender. 7. I respect RFC822 source routes, btw. 8. Minor point: I rewrite "bang!path!user (J Random User)" to "J Random User ", and add quotes around the user name iff it contains delimiters. I'd like just to route messages from unknown nodes to /dev/null, so that I don't have to pay for returning it, or so that no-one has to pay for the return message. I couldn't just send it out, either, given that I'm such a hardnosed proponent of registrating nodes. One way to do it, is of course for the immediate neighbor to convert it to user%unknown, and I don't make any fuss with such addresses. (Although some jerks think that '%' is just a variant of '@', and break things when parsing, I refuse to consider jerks as important enough to do anything about.) When mail gets bounced or people complain, I look at the things I did to a message, and sees if that was all right, and the fault is with the destination node. Otherwise, I send a test message to postmaster at the offending node routed as explicitly as I can make it, and look at what I get back. (If "postmaster" is "unknown user", the case is resolved. :-) To sum up, and make statements you can quote (instead of all the text above), when you want to attack my views: 1. A node which is not registered does not exist. 2. Non-existent (unregistered) nodes can't send mail. 3. A bang path is the means, the delivery the end. 4. The maps should be updated as soon as a change occurs. 5. We should get away from bangpaths, and switch to domains. 6. Address parsing is not difficult. 7. Rewriting is OK, since it only transforms something which works, but is outside the standard to something which is inside the standard (and still works). I do not ignore the fact that a lot of manpower may be required to get things right, but that this would be a one-time effort. I do not ignore the fact that some nodes only speak bang-paths, but they'd better get a neighbor than can function as a gateway for them. No need to bother the whole world just because some people are traditionalists. Thank you for reading my long note. I hope I have managed to express myself, not necessarily to your liking, but unambigously and clear. --Erik -- +----+ +----+ Email: erik@naggum.se --or-- erik@naggum.uio.no === | === / Snail: Naggum Software; POB 1560 VIKA; OSLO 0118; NORWAY === | === / Phone: +47-2-384-400 (office), +47-2-549-163 (home) +----+ +----+ "These are my opinions, and not those of my employees."