RFC 969 (rfc969) - Page 2 of 15

NETBLT: A bulk data transfer protocol

Alternative Format: Original Text Document

RFC 969                                                    December 1985
NETBLT: A Bulk Data Transfer Protocol

   same manner.  This continues until all buffers have been sent, at
   which time the sender notifies the receiver that the transmission has
   been completed.  The connection is then closed.

   As described above, the NETBLT protocol is "lock-step"; action is
   halted after a buffer is transmitted, and begins again after
   confirmation is received from the receiver of data.  NETBLT provides
   for multiple buffering, in which several buffers can be transmitted
   concurrently.  Multiple buffering makes packet flow essentially
   continuous and can improve performance markedly.

   The remainder of this document describes NETBLT in detail.  The next
   sections describe the philosophy behind a number of protocol
   features: packetization, flow control, reliability, and connection
   management. The final sections describe the protocol format.


   NETBLT is designed to permit transfer of an essentially arbitrary
   amount of data between two clients.  During connection setup the
   sending NETBLT can optionally inform the receiving NETBLT of the
   transfer size; the maximum transfer length is imposed by the field
   width, and is 2**32 bytes.  This limit should permit any practical
   application.  The transfer size parameter is for the use of the
   receiving client; the receiving NETBLT makes no use of it.  A NETBLT
   receiver accepts data until told by the sender that the transfer is

   The data to be sent must be broken up into buffers by the client.
   Each buffer must be the same size, save for the last buffer.  During
   connection setup, the sending and receiving NETBLTs negotiate the
   buffer size, based on limits provided by the clients.  Buffer sizes
   are in bytes only; the client is responsible for breaking up data
   into buffers on byte boundaries.

   NETBLT has been designed and should be implemented to work with
   buffers of arbitrary size.  The only fundamental limitation on buffer
   size should be the amount of memory available to the client.  Buffers
   should be as large as possible since this minimizes the number of
   buffer transmissions and therefore improves performance.

   NETBLT is designed to require a minimum of its own memory, allowing
   the client to allocate as much memory as possible for buffer storage.
   In particular, NETBLT does not keep buffer copies for retransmission
   purposes.  Instead, data to be retransmitted is recopied directly

Clark & Lambert & Zhang