Re: Operations requirement: no hop-by-hop

Jochen Topf <[email protected]> Sun, 15 Feb 2004 10:59:20 +0100
Newsgroups gmane.mail.ng
Message-ID <[email protected]>
On Fri, Feb 13, 2004 at 10:54:37AM -0800, Paul Hoffman / IMC wrote:
> This may or may not be controversial, but I propose that a 
> requirement for sane operations is that mail-ng be single hop. 
> Multi-hop was a good design 20 years ago when many entities were not 
> online all the time, but it has also proven to be a huge hurdle in 
> extending SMTP.

This sounds like a very good proposal to me. Unfortunately it can't be
the whole solution. For instance mobile users who are not online all the
probably need some intermediary. But this is just a question of definition.

Instead of calling it single-hop, we could say that there is one single
point where the email moves from the sphere of the sender to the sphere
of the recipient, while inside the sphere it is the responsibility of
each participant to handle the mail and if he wants to send it through
many internal servers he can do that. This is somewhat similar to the
way IP routing works: Inside an autonomous system (AS) different rules
apply then between ASes. I am using the word "sphere" here to make sure
not to mix this up with "domains" although in many cases a sphere might
be the same as a domain.

Another thing: We should get rid of the terms MTA and MUA for the
discussion in mail-ng because they are not well enough defined. There
was a time, when an MTA transferred mail and MUAs only picked them up
from local mailbox files and presented them to the users. When a MUA
send a message it called an MTA to do this. Today most mail clients
use SMTP to send mail and there are strange hybrids like fetchmail.

We should probably get rid of the MTA-MUA distinction (which describes
pieces of software) and in exchange define a distinction based on
*protocols*. When looking back at the "one-hop" proposal we might have
two protocols in the future: One protocol for delivering mail between
"spheres" and one protocol for sending and receiving mail inside
"spheres".

Instead of using POP to retreive mail and SMTP to send it, a client
inside a sphere would use the INTERNAL-MAIL-PROTOCOL protocol to read
and send mail, and some kind of gateway software would then talk to
external systems using the EXTERNAL-MAIL-PROTOCOL. Of course, many
features of those protocols might be shared.

Jochen
-- 
Jochen Topf  [email protected]  http://www.remote.org/jochen/  +49-721-388298