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."