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

[ih] why did CC happen at all?

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 packet.
> 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 that.

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 pieces.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://elists.isoc.org/pipermail/internet-history/attachments/20140901/47a6fc36/attachment.html>