RFC 969 (rfc969) - Page 1 of 15


NETBLT: A bulk data transfer protocol



Alternative Format: Original Text Document



Network Working Group                                     David D. Clark
Request for Comments: 969                                Mark L. Lambert
                                                             Lixia Zhang
                                M. I. T. Laboratory for Computer Science
                                                           December 1985

                 NETBLT: A Bulk Data Transfer Protocol


1. STATUS OF THIS MEMO

   This RFC suggests a proposed protocol for the ARPA-Internet
   community, and requests discussion and suggestions for improvements.
   This is a preliminary discussion of the NETBLT protocol.  It is
   published for discussion and comment, and does not constitute a
   standard.  As the proposal may change, implementation of this
   document is not advised.  Distribution of this memo is unlimited.

2. INTRODUCTION

   NETBLT (Network Block Transfer) is a transport level protocol
   intended for the rapid transfer of a large quantity of data between
   computers. It provides a transfer that is reliable and flow
   controlled, and is structured to provide maximum throughput over a
   wide variety of networks.

   The protocol works by opening a connection between two clients the
   sender and the receiver), transferring the data in a series of large
   data aggregates called buffers, and then closing the connection.
   Because the amount of data to be transferred can be arbitrarily
   large, the client is not required to provide at once all the data to
   the protocol module.  Instead, the data is provided by the client in
   buffers.  The NETBLT layer transfers each buffer as a sequence of
   packets, but since each buffer is composed of a large number of
   packets, the per-buffer interaction between NETBLT and its client is
   far more efficient than a per-packet interaction would be.

   In its simplest form, a NETBLT transfer works as follows.  The
   sending client loads a buffer of data and calls down to the NETBLT
   layer to transfer it.  The NETBLT layer breaks the buffer up into
   packets and sends these packets across the network in Internet
   datagrams.  The receiving NETBLT layer loads these packets into a
   matching buffer provided by the receiving client.  When the last
   packet in the buffer has been transmitted, the receiving NETBLT
   checks to see that all packets in that buffer have arrived.  If some
   packets are missing, the receiving NETBLT requests that they be
   resent.  When the buffer has been completely transmitted, the
   receiving client is notified by its NETBLT layer.  The receiving
   client disposes of the buffer and provides a new buffer to receive
   more data.  The receiving NETBLT notifies the sender that the buffer
   arrived, and the sender prepares and sends the next buffer in the


Clark & Lambert & Zhang