Re: Operations requirement: no hop-by-hop

"Hector Santos" <[email protected]> Sun, 15 Feb 2004 02:41:38 -0500
Newsgroups gmane.mail.ng
Organization Santronics Software, Inc
Message-ID <00c501c3f397$2741a290$6401a8c0@FAMILY>
This all goes back to one of the early requirements I cited:

- Support for Direct Client to Client communications aka DIAL-UP.

This is will become more important as the VOIP market matures.  Tomorrow
users will be able to dial up directly to a user (over the internet) but in
the software is now RS232 based, unless a PPP server and client support is
added to MAIL-NG.

(Hint to Brad Clements)

Yes to those who say this is a implementation issue.  But what it means is
that it relaxes TCP/IP related requirements.  In other words, MAIL-NG is a
virtual communication system  - completely defined at the upper network
application layer.

-- 
Hector Santos, Santronics Software, Inc.
http://www.santronics.com


----- Original Message ----- 
From: "Iljitsch van Beijnum" <[email protected]>
To: "Richard Welty" <[email protected]>
Cc: <[email protected]>
Sent: Saturday, February 14, 2004 1:38 PM
Subject: Re: Operations requirement: no hop-by-hop


>
> On 14-feb-04, at 4:46, Richard Welty wrote:
>
> >> This may or may not be controversial, but I propose that a
> >> requirement for sane operations is that mail-ng be single hop.
>
> > there are various good reasons why an organization (corporation,
> > school, government body) might want internal hops for outbound
> > mail.
>
> I think a single hop "requirement" is a red herring.
>
> The MUA-(MTA){2,}-MUA way of doing things is so ingrained in our mail
> universe that it seems like the natural order of things. However, there
> are good reasons to do things differently.
>
> MUA-MUA makes sense in ad-hoc networks or when the users are in close
> proximity to eachother but not to their MTAs. MUA-MTA-MUA makes sense
> in situations where the sender doesn't have an MTA at its disposal,
> even though we generally don't like this today since this is the way
> most spam is delivered.
>
> I think the reason to favor a MUA-MTA-MTA-MUA model would be that the
> receiving MTA would then be able to enforce the user's policies.
> However, this is only one way to implement such a requirement, and
> limiting mail flow to this model doesn't automatically have this
> effect. It would be much better if the MUA were able to participate in
> the reception of all messages, in which case it can enforce any policy
> the user can express. However, this breaks an important feature of
> today's email (one that we are likely to want to retain): sender and
> recipient don't have to be online at the same time, or able to reach
> eachother directly if they are.
>
> What we need instead is a mechanism for the user to push out her mail
> reception policy to the MTA that is responsible for her email address.
> Unfortunately, it seems likely that such policies would be too complex
> or require too much information to express to be able to push out any
> and all policies.
>
> Another way to reach the same result would be to consult the MUA before
> the message is accepted even though it may not be available at the time
> the message is presented to the MTA. In other words, the message
> delivery transaction must be split into several sub-transactions.
> Example:
>
> A and D are MUAs, B and C MTAs
>
> A to B: I have a message for D, here are the headers
> B to A: Ok, give it up
> B to C: I have a message from A to D, here are the headers
> C to B: Thanks, I'll get back to you
> C to D: I have headers for a message from A to D
> D to C: I don't want it, send back this error message: "I don't accept
> messages executable attachments from people I don't know"
> C to B: I want to complete transaction with msgid X
> B to C: Ok
> C to B: Rejected with error message ...
> B to A: I want to complete transaction with msgid X
> A to B: Ok
> B to A: Rejected with error message ...
>
> Or alternatively:
>
> [...]
> D to C: Sure, let me have it
> C to B: I want to complete transaction with msgid X
> B to C: Ok
> C to B: Send me the message
> B to C: Here you go
> C to D: Here is the message body for msgid X
>
> Obviously this is more involved than what we have today, but it allows
> for much cleaner error handling and it should help fight the spam
> problem as legitimate senders that are caught by spam filters now get
> to hear about this, possibly with a pointer to an alternative way of
> contacting the recipient. When at any time the return path breaks down
> (for instance, because the return MTA/MUA was forged) the system knows
> this is a control message so it can simply be thrown away without
> having to bother the user. (A big problem today is that bounces look
> like regular messages and must be looked at by people rather than
> software.)
>
> (BTW there was some discussion of failing during message transmission
> because halfway during the session it becomes apparent that the message
> that is being transmitted is too large. This of course makes no sense,
> the sender should first announce the length of the message it wishes to
> transfer, after which either the receiver rejects the message because
> it is too long before the actual transmission starts, or the message is
> transferred and accepted.)
>
>