[Top] [All Lists]

2821 source-routes, strict or loose?

2002-04-23 12:05:31

I'm trying to figure out whether or not source-route addressing is strict
or loose. This is mostly a philosophical question, since I think I already
know the answer.

In the context of 821 predating DNS, the use of source-routes should be
interpreted as strict, since a list of "hosts" is all that was available.
However, consider that a routing agent could have a local routing table
that redirected traffic for a specific mail-domain to another relay
(without rewriting the envelope). Although 821 doesn't define static
routing and precedence issues, the use of static routes wasn't exactly an
unknown concept. Taken together, source-route addresses that were routed
with static maps would be loose, even though they were defined within a
strict context.

With 2821, this is even more jello-like, since each hop in the path may be
resolved with MX resource recrods (defined, but not for use with source
routes), or with any static maps (still undefined). The terminology in
Appendix C makes it appear that the source-route construct is still
intended to be used with "hosts" but since the hosts are FQDNs, they
should be treated as mail domains, with MX being applied.

This means that with EG relay1:user(_at_)hosta

     originator --> submission

     submission router does MX/static lookups
       [null] relay1=relay1

     submission --> relay1

     relay1 router does MX/static lookups
       MX hosta=relay2, pref 10

     relay1 --> relay2

     relay2 router does MX/static lookups
       STATIC hosta=hosta

     relay2 --> hosta

So it is loose in practice, even though it is implied as strict.

Is that off-base? I can't find anything that would either endorse or
reject this output.

A better question here would be "what is the implementation norm?" Do most
implementations treat source routes as strict, rejecting mail if a direct
connection cannot be established, or do they process the next-hop of the
source-route address through the routing table?

Eric A. Hall                              
Internet Core Protocols

<Prev in Thread] Current Thread [Next in Thread>