[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ih] why did CC happen at all?

At 3:27 PM +0200 9/1/14, Detlef Bosau wrote:
>Am 01.09.2014 um 14:30 schrieb John Day:
>>Re: [ih] why did CC happen at all?
>>Wasn't at least one of the lock up problems that ARPANET Messages 
>>could be up to 8 packets, and the IMP would reassemble a full 
>>Message before delivering it to the host. Hence, it was possible to 
>>get many partially reassembled messages in the destination IMP 
>>without enough memory to finish any of them. Since the IMP wouldn't 
>>discard anything, it froze.
>But isn't this an implementation error? In a properly implemented 
>flow control, a receiving node must not accept data for parts of a 
>packet as long as he doesn't have the memory to reassemble the whole 

Well, not entirely.  I believe and Vint should chime in here.  That 
it was (at least for us at the time) the work that Vint and Bob did 
that argued that there was no amount of memory large enough to avoid 
the problem.  At least that is what I remember from reading a paper 
that was distributed on the Net at the time.

>>RFNMs made it pretty difficult to over load the IMPs with just 
>>packet traffic, right?
>>For what it's worth, many years ago Phil Enslow told me he had 
>>reviewed the proposed ARPANET design (before my time) and had said 
>>it would lock up, but no one believed him. That is all I know about 
>dead locks in reassembly / flow control are a serious concern and 
>must be carefully considered in the protocol design.
>Actually, this problem is the very reason for the cumulative ACK 
>mechanism in TCP: The sender is made ALWAYS to fill up the 
>receiver's window from the very left to the right by signalling 
>exactly this sequence number to the sender. Otherwise, the 
>receiver's buffer might be fully occupied with data - while there is 
>a gap in the data flow as delivered to the application and the next 
>part residing in the buffer - and no space to fill in the missing 

But we didn't have TCP then, and all of this stuff was pretty new.

Remember you have to put yourself in the state of knowledge at the 
time, which wasn't the same everywhere.