Subject: Re: default route and private networks
To: Tom Ivar Helbekkmo <tih@eunetnorge.no>
From: Jonathan Stone <jonathan@dsg.stanford.edu>
List: tech-net
Date: 04/22/2005 16:12:43
In message <863btir17s.fsf@athene.hamartun.priv.no>,
Tom Ivar Helbekkmo writes:
>David Young <dyoung@pobox.com> writes:
>> ISTR one asker wants to prefer one source address over another on the
>> same interface. Both the source addrs were in the same subnet.
>
>>That's easy: our existing routing system allows you to associate an
>address with a route, so that any outgoing packets using the route
>table entry will use the source address specified.
Is this for strong end-host model?
Please review the discussion on Strong ES in RFC-1122, pp. 62-64,
paying particular attention to the paragraphs on "route computation"
and the GET_SRCADDR() abstract function.
For a multi-homed host, one remote host can send you packets using its
own local IP address as source, but using different DST ip-addrs for
the various interfaces of the multi-homed local machine. In Strong
End-Host (aka Strong End System, aka Strong ES) model, the multi-homed
host only accepts those packets if they are addressed to the local
address of the interface they are received on. More, Strong End-Host
requires you to send responses out using the the *same* remote IP
address the remote host used, and on the *same* interface.
There is absolutely *no way* the classic Patricia-tree routing table
can do that, because the "route computation" uses the ``weak ES''
inputs (ie.., only one IP address argument) not the ``Strong ES''
inputs (i.e., both local and remote IP addresses).
Meanwhile: proposals which hardcode special-case, kludged-up code to
handle site-specific assumptions about choice of local address, and
choice of outbound-interface/next-hop gateway, are simply not
acceptable. I'm still waiting to see any clear description of an
example case. Without that, the best I can do is read between the
lines. What I'm reading between the lines is a loud, red
danger-signal that some kludged-up special-cases is *exactly* what's
being implicilty proposed here.