[e2e] Re: [Tsvwg] Really End-to-end or CRC vs everything else?

David P. Reed dpreed at reed.com
Mon Jun 11 10:47:26 PDT 2001


At 01:13 PM 6/11/01 -0400, Melinda Shore wrote:


>I'm going to assume that by "application messages" you mean
>"anything after the transport header."

Not exactly.  That's a network definition based on some assumption of the 
"wire format".  The "transport header" is not visible to the application at 
all, and has no role in the application semantics.  What I mean is that the 
network protocol (say TCP or SCTP or whatever) has a specification, which 
says that what data comes in goes out a specified other end unchanged (with 
a certain level of assurance).

>   Anyway, to some extent
>it's already the case that there's an implicit rejection
>mechanism, in that some things already fail when certain kinds
>of middleboxes are introduced (firewalls break session-oriented
>protocols, NATs break integrity protection).

This is good?  When introduced, firewalls were justified as a short-term, 
temporary patch because UNIX and other systems hadn't developed proper 
security and authentication (see Cheswick and Bellovin's book for a very 
clear statement that firewalls were a pragmatic shortstop, not the "right 
answer").  Also when introduced, the NAT concept was proposed as a 
short-term, temporary solution to a scarcity of 32-bit host IDs.  See the 
original NAT RFCs.

I understand the pragmatic need, short-term  (being up to one's a** in 
alligators is a tough position).  But they have never been good protocol 
design approaches, and they don't achieve the function ascribed to them 
.  And worse, they make the semantics of the lower net layers horrendously 
complex and difficult to change.  And then Checkpoint "invented" "stateful 
inspection" and network administrators started to inject their own personal 
"intelligence" into applications they knew nothing about.

Just because something "sells well" doesn't mean it is good design.

>Operators often
>don't want to make network topology known to applications, and
>it's difficult to find agreement, in practice, that transport-
>layer middleboxes should be detectable by applications.

If I can detect a transport layer middlebox because it tampers with packet 
contents (inserting HTTP headers, spoofing web servers from "transparent" 
caches that are out of date, ...) then the only way you are going to stop 
me from detecting it is  to make it illegal to look at what happens to a 
packet.

That kind of attitude (the idea that a network operator is supposed to be 
able to interfere in end-to-end communications at will) seems like the 
attitude of a company that doesn't fear losing business (gov't sanctioned 
monopoly carriers and PTT's come to mind).






More information about the end2end-interest mailing list