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