[Tsvwg] Re: [e2e] e2e principle..where??....

Eric A. Hall ehall at ehsco.com
Sun Jun 3 11:32:59 PDT 2001


> yes, but whose semantics are we talking about, I think is what the
> original question was trying to get at.

Well, the original question was along the lines of "what is e2e?" which
then devolved into "where are the ends?" which has now devolved into "what
can I get away with?"

> so getting back to the example then, of client---proxy----server
> the client--proxy segment sees "correct" semantics...
> the proxy--server segment sees "correct" semantics...
> the proxy does not tinker with the contents
> so can we argue that this system does not violate e2e?

Go back to the beginning. The e2e principle says to put the onus on the
end-points because the network is inefficient.

There's a difference between "break" and "violate". Violating e2e means
that the end-points cannot communicate because of interference by the
middleman, while breaking e2e means that the real end-points can
communicate if they want to but may choose not to do so for application
efficiency reasons.

"Breaking" maximal e2e for the sake of efficiency is not a bad thing. It's
okay to insert a middle box in an application path if the box takes on the
responsibility for being an end-point in the application-specific path,
and if it doesn't prevent e2e from occuring. We see this often with
store-and-forward, caching, proxies, etc. Systems can use the middlemen
for efficiency advantages, or they can choose to bypass them (you can turn
off your DNS cache but it would be much less efficient). When it's done
intelligently, there is a benefit to the application process.

Violating e2e is something else entirely, and comes from systems that try
to insert themselves as a "smart" intermediary, and which prevent e2e from
occurring, even optionally. NATs violate the e2e principle everyday,
because they insert themselves into application paths and prevent e2e from
ever occuring (this is true if both sides use Internet-compliant
addresses; using non-compliant addresses on a network violates basic
networking principles that e2e is dependant upon, and is more an example
of incremental evil).

> the third possible solution is that the answer lies in a grey area...
> which amounts to saying, "it depends" on how the proxy works...

At the least, your example above breaks e2e. As to whether it violates e2e
principles depends on what else it does, and how it does it.

> in which case we determine that the e2e principle is too vague and
> needs clearer defination of what an end system really is, what
> "semantics" mean..etc..etc..

It gets confusing in white-lie conditions.

It also gets confusing because it is hard to believe that the current
tendency is to violate e2e. Just about everybody is violating e2e in one
form or another somewhere.

It's a principle: Thou shalt not interfere with end-points, since they are
the only ones that can truly know what is uppeth.

That the principle is widely ignored says less about its merit than it
says about current design practices and market conditions.

-- 
Eric A. Hall                                        http://www.ehsco.com/
Internet Core Protocols          http://www.oreilly.com/catalog/coreprot/



More information about the end2end-interest mailing list