[e2e] Routers accessing TCP header

David P. Reed dpreed at reed.com
Mon Feb 21 07:31:00 PST 2005

Arjuna - it's worth noting the earlier discussion about fields shared 
between TCP and the IP layer (and the cost imposed on the end-to-end 
protocol's properties, such as security, etc.)

You can put anything in the IP layer you want, including a copy of the 
TCP sequence number. [or living dangerously, "share" the sequence number 
between layers as you propose].

However, I'd question why you are not solving the more general problem - 
for example supporting RTP, which also has "sequence number like" 
fields, and which ought to be doing congestion control.

Why not just extend IP to include a non-decreasing number that indicates 
progress to the router?   Lazy TCP implementers can just use the TCP 
Sequence number for that field, RTP can use the frame number of the 
video or audio, etc.

Encrypted protocols could use a non-decreasing sequence number of their 
own devising, perhaps structured to avoid unnecessary exposure of 
application progress (for example each retransmitted packet could have a 
higher sequence number, so that the man-in-the-middle isn't able to use 
forcing of retransmit to determine if the encrypted protocol is 
retransmission-oriented, thereby distinguishing TCP from RTP by using 
responses to stimuli).

That would be a forward-looking contribution to protocol-independent 
networking, rather than yet another kludge that presumes the IP layer 
should be able to read all traffic.

More information about the end2end-interest mailing list