[e2e] End-system routing control (Was: Open the floodgate)

David G. Andersen dga at lcs.mit.edu
Fri Apr 23 10:19:57 PDT 2004


On Fri, Apr 23, 2004 at 09:45:11AM -0700, Bob Braden scribed:
> 
>   *> discussed on this list before (i think it was JMS who put it that the
>   *> real purist end2end thing would be to take routing decisions out of the
>   *> net and put them in the end systems too along with error recovery) -
> 
> that is a correct deduction.  Datagram routing cannot be done
> effectively by end systems alone (you encounter problems of robustness
> and scalability), so it is not really a candidate for movement up the
> stack and towards the edges.

  I think that there's truth on both sides of these arguments 
(but then again, I would):

  Route selection done entirely in the core is occasionally
prone to falling over dead, because the core routing systems
do not perform an end-to-end test that the path they're supplying
to end-hosts is actually functional.  They infer this functionality
based on hop-by-hop behavior, but this is prone to failures
(malice, misconfiguration, bugs, overloaded forwarding planes,
CEF, routing convergence, packet filters, etc.).

  Requiring an end-host to have enough global perspective to make
a self-contained routing decision is a terrible idea, for the
reasons Bob mentioned above.

  I think there's a nice hybrid between these two, however:
Give end-systems a limited number of path choices between which
they can arbitrate based on their empirical determination of
whether or not the path is functioning.  You can imagine
(this is not a design proposal, just an off-the-cuff example!)
that a packet header would have a source, destination, and
2-bit "path selector" field that let the sender choose 
which of 4 different paths to use.  The routing system would
then make a best-effort attempt to use different end-to-end
paths for different values of the path selector.

  Some of our and others work in end-system path selection
(c.f. RON, and some more recent not-yet-published work) has
shown that there are pretty big reliability boosts from 
being able to select a different AS-level path through the
Internet.  End-system routing choice is a pretty powerful
tool against the "very rare" failure modes that seem to
happen not so rarely.

  -Dave

-- 
work: dga at lcs.mit.edu                          me:  dga at pobox.com
      MIT Laboratory for Computer Science           http://www.angio.net/


More information about the end2end-interest mailing list