<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Am 01.09.2014 um 14:30 schrieb John
Day:<br>
</div>
<blockquote cite="mid:a062408b8d02a15237f38@%5B10.0.1.3%5D"
type="cite">
<meta http-equiv="Context-Type" content="text/html;
charset=iso-8859-1">
<title>Re: [ih] why did CC happen at
all?</title>
<div>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.</div>
</blockquote>
<br>
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. <br>
<blockquote cite="mid:a062408b8d02a15237f38@%5B10.0.1.3%5D"
type="cite">
<div><br>
</div>
<div>RFNMs made it pretty difficult to over load the IMPs with
just
packet traffic, right?</div>
<div><br>
</div>
<div>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.</div>
<br>
</blockquote>
<br>
dead locks in reassembly / flow control are a serious concern and
must be carefully considered in the protocol design.<br>
<br>
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.<br>
<br>
</body>
</html>