[e2e] YNT: A Question on the TCP handoff

David P. Reed dpreed at reed.com
Wed Dec 7 08:02:23 PST 2005

Detlef Bosau wrote:

>If you are looking around in archives: During the last week I thought
>about why we use ACK in TCP and not NAK. One obvious reason for ACK is
>the ACK pacing mechanism. However: Has there ever been a discussion?
Huge discussions in 1975-1976 when I was involved.   The issue is the 
basic assumption about the network environment.   Lampson and Sturgis in 
their work on two-phase commit protocols assumed you could not reliably 
tell whether a packet was delivered, so a NAK was at best an unreliable 
indicator of packet loss.   Given that there was no channel model for 
the Internet as a whole (to presume stochastic model was to presume 
homogeneity, and the Internet was about interconnecting maximally 
heterogeneous networks), one could not even reason probabalistically 
about what a NAK might mean, or what the lack of a NAK might mean.

I didn't invent this network reliability model (Lampson and Sturgis' 
paper was circulated in draft form very widely during this timeframe), 
but it is summarized in the opening chapters of my Ph.D. thesis (Naming 
and Synchronization in a Decentralized Computer System, MIT-LCS-TR-205, 

More information about the end2end-interest mailing list