[comp.mail.headers] Braden on secondary IP addresses

MRC@PANDA.PANDA.COM (Mark Crispin) (02/17/88)

     I've been in the NWG for at least 12 years, and I remember no
pronouncement that implementations *must* try all possible IP addresses.
I can think of just as many cases where it is undesirable as I can of
ones where it is desirable.

     Let's set the record straight on one thing.  The mailer in question
has no knowledge whatsoever of how to look up an address in a host table
or from a domain server.  It hasn't any notion of multi-homed hosts.  It
simply knows that it has to send a set of bits to a set of mailboxes at
a set of hosts.  The hosts are stored by name.  When the mailer attempts
to deliver a message, it does an operating system call which takes the
host name as an argument and returns a single IP address.

     Any change in IP address selection would have to be done at the
software at the other end of that system call.  One way for be for the
mailer to pass "advice" that a particular IP address has been shown to
fail.  Nobody is going to work on the host table software to do this.
The amount of work to do such a task is much more work that it would be
for Clive Dawson to upgrade his system to support domains.

     It would, I think, be relatively simple to put in such a function
into the domain software.  The only change to the mailer would be to
pass "advice"; presumably a 3 or 4 line code change.  I don't know what
sort of effort it would take to put this in the domain software.

     The question then becomes, what sort of criterion should the domain
software use beyond the current choice of "best" network, modified with
mailer "advice"?  Nobody has offered any suggestions.

     I again want to emphasize that the DEC-20 mailer does NOT "use the
first address and ignore the rest".  It has no way of knowing that any
other addresses exist; it is totally dependent upon external software
for any host information.  Don't assume that because your mailer has
internalized host table parsing routines that all mailers are written
that way.  I am a bit annoyed that the same people who are willing to
accept BITNET mailers which toss away RFC821 return path information
are quite happy to crucify software that isn't at fault.
-------

pvm@venera.isi.EDU (Paul Mockapetris) (02/19/88)

Mark, Bob,

There are real issues behind this debate, and they are 1) what are the
right policies with regard to hosts with multiple addresses and 2) where
should the policies be implemented.  It would be nice if everyone agreed
what the rules are, but the waters are pretty muddy.

There can be a large difference in performance depending on which
address you use.  My experience with domain and mail services suggests
that sometimes a host offers different services on different addresses,
and sometimes only a subset of the addresses are reachable due to
gateway, etc factors.  The bottom line is that sometimes whether you win
or lose depends on the source and/or destination address you choose.

There may always be a best address, but it isn't always possible to know
which one it is without empirical information.  I can always prefer
destination addresses which share a common network, but sometimes the
problem is "Given N non-local class C addresses, which one should I
use?"  Since the answer would seem to depend on both the identity of the
source and the identity of the destination, it doesn't seem that either
can solve the problem alone.

Its not really just a mail issue.  For example, domain resolvers
and mailers have similar options.  [A resolver has to decide (1) which
sending address to use, (2) which name server to ask, and (3) which
destination address to use when it targets a query.  A mailer has to
decide (1) which sending address to use (2) which MX RR (i.e. mail
server) to use, and (3) which destination address to use.  The parallels
continue when you think about what to do in case of errors, how you
tradeoff network resources vs local resources vs time to finish a
request, etc.  Admittedly, there are also large differences, but dealing
with multiple addresses is an issue which comes up whenever you have
such network services.]

The domain system won't solve this problem.  In fact, it will make it
worse by spreading multiple addresses in more contexts.

What we need is a consensus on policies regarding the use of multiple
addresses and single module that can be used by all applications to
implement the policies.  (Maybe we have discovered one of the missing
layers in the Internet 7 layer cake.)

paul