home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1000s / rfc1030.txt < prev    next >
Text File  |  1987-11-05  |  40KB  |  894 lines

  1. Network Working Group                                       M. Lambert
  2. Request for Comments: 1030      M.I.T. Laboratory for Computer Science
  3.                                                          November 1987
  4.  
  5.  
  6.           On Testing the NETBLT Protocol over Divers Networks
  7.  
  8.  
  9. STATUS OF THIS MEMO
  10.  
  11.    This RFC describes the results gathered from testing NETBLT over
  12.    three networks of differing bandwidths and round-trip delays.  While
  13.    the results are not complete, the information gathered so far has
  14.    been very promising and supports RFC-998's assertion that that NETBLT
  15.    can provide very high throughput over networks with very different
  16.    characteristics.  Distribution of this memo is unlimited.
  17.  
  18. 1. Introduction
  19.  
  20.    NETBLT (NETwork BLock Transfer) is a transport level protocol
  21.    intended for the rapid transfer of a large quantity of data between
  22.    computers.  It provides a transfer that is reliable and flow
  23.    controlled, and is designed to provide maximum throughput over a wide
  24.    variety of networks.  The NETBLT protocol is specified in RFC-998;
  25.    this document assumes an understanding of the specification as
  26.    described in RFC-998.
  27.  
  28.    Tests over three different networks are described in this document.
  29.    The first network, a 10 megabit-per-second Proteon Token Ring, served
  30.    as a "reference environment" to determine NETBLT's best possible
  31.    performance.  The second network, a 10 megabit-per-second Ethernet,
  32.    served as an access path to the third network, the 3 megabit-per-
  33.    second Wideband satellite network.  Determining NETBLT's performance
  34.    over the Ethernet allowed us to account for Ethernet-caused behaviour
  35.    in NETBLT transfers that used the Wideband network.  Test results for
  36.    each network are described in separate sections.  The final section
  37.    presents some conclusions and further directions of research.  The
  38.    document's appendices list test results in detail.
  39.  
  40. 2. Acknowledgements
  41.  
  42.    Many thanks are due Bob Braden, Stephen Casner, and Annette DeSchon
  43.    of ISI for the time they spent analyzing and commenting on test
  44.    results gathered at the ISI end of the NETBLT Wideband network tests.
  45.    Bob Braden was also responsible for porting the IBM PC/AT NETBLT
  46.    implementation to a SUN-3 workstation running UNIX.  Thanks are also
  47.    due Mike Brescia, Steven Storch, Claudio Topolcic and others at BBN
  48.    who provided much useful information about the Wideband network, and
  49.  
  50.  
  51.  
  52. M. Lambert                                                      [Page 1]
  53.  
  54. RFC 1030              Testing the NETBLT Protocol          November 1987
  55.  
  56.  
  57.    helped monitor it during testing.
  58.  
  59. 3. Implementations and Test Programs
  60.  
  61.    This section briefly describes the NETBLT implementations and test
  62.    programs used in the testing.  Currently, NETBLT runs on three
  63.    machine types: Symbolics LISP machines, IBM PC/ATs, and SUN-3s.  The
  64.    test results described in this paper were gathered using the IBM
  65.    PC/AT and SUN-3 NETBLT implementations.  The IBM and SUN
  66.    implementations are very similar; most differences lie in timer and
  67.    multi-tasking library implementations.  The SUN NETBLT implementation
  68.    uses UNIX's user-accessible raw IP socket; it is not implemented in
  69.    the UNIX kernel.
  70.  
  71.    The test application performs a simple memory-to-memory transfer of
  72.    an arbitrary amount of data.  All data are actually allocated by the
  73.    application, given to the protocol layer, and copied into NETBLT
  74.    packets.  The results are therefore fairly realistic and, with
  75.    appropriately large amounts of buffering, could be attained by disk-
  76.    based applications as well.
  77.  
  78.    The test application provides several parameters that can be varied
  79.    to alter NETBLT's performance characteristics.  The most important of
  80.    these parameters are:
  81.  
  82.  
  83.         burst interval  The number of milliseconds from the start of one
  84.                         burst transmission to the start of the next burst
  85.                         transmission.
  86.  
  87.  
  88.         burst size      The number of packets transmitted per burst.
  89.  
  90.  
  91.         buffer size     The number of bytes in a NETBLT buffer (all
  92.                         buffers must be the same size, save the last,
  93.                         which can be any size required to complete the
  94.                         transfer).
  95.  
  96.  
  97.         data packet size
  98.                         The number of bytes contained in a NETBLT DATA
  99.                         packet's data segment.
  100.  
  101.  
  102.         number of outstanding buffers
  103.                        The number of buffers which can be in
  104.                        transmission/error recovery at any given moment.
  105.  
  106.  
  107.  
  108. M. Lambert                                                      [Page 2]
  109.  
  110. RFC 1030              Testing the NETBLT Protocol          November 1987
  111.  
  112.  
  113.    The protocol's throughput is measured in two ways.  First, the "real
  114.    throughput" is throughput as viewed by the user: the number of bits
  115.    transferred divided by the time from program start to program finish.
  116.    Although this is a useful measurement from the user's point of view,
  117.    another throughput measurement is more useful for analyzing NETBLT's
  118.    performance.  The "steady-state throughput" is the rate at which data
  119.    is transmitted as the transfer size approaches infinity.  It does not
  120.    take into account connection setup time, and (more importantly), does
  121.    not take into account the time spent recovering from packet-loss
  122.    errors that occur after the last buffer in the transmission is sent
  123.    out.  For NETBLT transfers using networks with long round-trip delays
  124.    (and consequently with large numbers of outstanding buffers), this
  125.    "late" recovery phase can add large amounts of time to the
  126.    transmission, time which does not reflect NETBLT's peak transmission
  127.    rate.  The throughputs listed in the test cases that follow are all
  128.    steady-state throughputs.
  129.  
  130. 4. Implementation Performance
  131.  
  132.    This section describes the theoretical performance of the IBM PC/AT
  133.    NETBLT implementation on both the transmitting and receiving sides.
  134.    Theoretical performance was measured on two LANs: a 10 megabit-per-
  135.    second Proteon Token Ring and a 10 megabit-per-second Ethernet.
  136.    "Theoretical performance" is defined to be the performance achieved
  137.    if the sending NETBLT did nothing but transmit data packets, and the
  138.    receiving NETBLT did nothing but receive data packets.
  139.  
  140.    Measuring the send-side's theoretical performance is fairly easy,
  141.    since the sending NETBLT does very little more than transmit packets
  142.    at a predetermined rate.  There are few, if any, factors which can
  143.    influence the processing speed one way or another.
  144.  
  145.    Using a Proteon P1300 interface on a Proteon Token Ring, the IBM
  146.    PC/AT NETBLT implementation can copy a maximum-sized packet (1990
  147.    bytes excluding protocol headers) from NETBLT buffer to NETBLT data
  148.    packet, format the packet header, and transmit the packet onto the
  149.    network in about 8 milliseconds.  This translates to a maximum
  150.    theoretical throughput of 1.99 megabits per second.
  151.  
  152.    Using a 3COM 3C500 interface on an Ethernet LAN, the same
  153.    implementation can transmit a maximum-sized packet (1438 bytes
  154.    excluding protocol headers) in 6.0 milliseconds, for a maximum
  155.    theoretical throughput of 1.92 megabits per second.
  156.  
  157.    Measuring the receive-side's theoretical performance is more
  158.    difficult.  Since all timer management and message ACK overhead is
  159.    incurred at the receiving NETBLT's end, the processing speed can be
  160.    slightly slower than the sending NETBLT's processing speed (this does
  161.  
  162.  
  163.  
  164. M. Lambert                                                      [Page 3]
  165.  
  166. RFC 1030              Testing the NETBLT Protocol          November 1987
  167.  
  168.  
  169.    not even take into account the demultiplexing overhead that the
  170.    receiver incurs while matching packets with protocol handling
  171.    functions and connections).  In fact, the amount by which the two
  172.    processing speeds differ is dependent on several factors, the most
  173.    important of which are: length of the NETBLT buffer list, the number
  174.    of data timers which may need to be set, and the number of control
  175.    messages which are ACKed by the data packet.  Almost all of this
  176.    added overhead is directly related to the number of outstanding
  177.    buffers allowable during the transfer.  The fewer the number of
  178.    outstanding buffers, the shorter the NETBLT buffer list, and the
  179.    faster a scan through the buffer list and the shorter the list of
  180.    unacknowledged control messages.
  181.  
  182.    Assuming a single-outstanding-buffer transfer, the receiving-side
  183.    NETBLT can DMA a maximum-sized data packet from the Proteon Token
  184.    Ring into its network interface, copy it from the interface into a
  185.    packet buffer and finally copy the packet into the correct NETBLT
  186.    buffer in 8 milliseconds: the same speed as the sender of data.
  187.  
  188.    Under the same conditions, the implementation can receive a maximum-
  189.    sized packet from the Ethernet in 6.1 milliseconds, for a maximum
  190.    theoretical throughput of 1.89 megabits per second.
  191.  
  192. 5. Testing on a Proteon Token Ring
  193.  
  194.    The Proteon Token Ring used for testing is a 10 megabit-per-second
  195.    LAN supporting about 40 hosts.  The machines on either end of the
  196.    transfer were IBM PC/ATs using Proteon P1300 network interfaces.  The
  197.    Token Ring provides high bandwidth with low round-trip delay and
  198.    negligible packet loss, a good debugging environment in situations
  199.    where packet loss, packet reordering, and long round-trip time would
  200.    hinder debugging.  Also contributing to high performance is the large
  201.    (maximum 2046 bytes) network MTU.  The larger packets take somewhat
  202.    longer to transmit than do smaller packets (8 milliseconds per 2046
  203.    byte packet versus 6 milliseconds per 1500 byte packet), but the
  204.    lessened per-byte computational overhead increases throughput
  205.    somewhat.
  206.  
  207.    The fastest single-outstanding-buffer transmission rate was 1.49
  208.    megabits per second, and was achieved using a test case with the
  209.    following parameters:
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220. M. Lambert                                                      [Page 4]
  221.  
  222. RFC 1030              Testing the NETBLT Protocol          November 1987
  223.  
  224.  
  225.       transfer size   2-5 million bytes
  226.  
  227.  
  228.       data packet size
  229.                       1990 bytes
  230.  
  231.  
  232.       buffer size     19900 bytes
  233.  
  234.  
  235.       burst size      5 packets
  236.  
  237.  
  238.       burst interval  40 milliseconds.  The timer code on the IBM PC/AT
  239.                       is accurate to within 1 millisecond, so a 40
  240.                       millisecond burst can be timed very accurately.
  241.  
  242.    Allowing only one outstanding buffer reduced the protocol to running
  243.    "lock-step" (the receiver of data sends a GO, the sender sends data,
  244.    the receiver sends an OK, followed by a GO for the next buffer).
  245.    Since the lock-step test incurred one round-trip-delay's worth of
  246.    overhead per buffer (between transmission of a buffer's last data
  247.    packet and receipt of an OK for that buffer/GO for the next buffer),
  248.    a test with two outstanding buffers (providing essentially constant
  249.    packet transmission) should have resulted in higher throughput.
  250.  
  251.    A second test, this time with two outstanding buffers, was performed,
  252.    with the above parameters identical save for an increased burst
  253.    interval of 43 milliseconds.  The highest throughput recorded was
  254.    1.75 megabits per second.  This represents 95% efficiency (5 1990-
  255.    byte packets every 43 milliseconds gives a maximum theoretical
  256.    throughput of 1.85 megabits per second).  The increase in throughput
  257.    over a single-outstanding-buffer transmission occurs because, with
  258.    two outstanding buffers, there is no round-trip-delay lag between
  259.    buffer transmissions and the sending NETBLT can transmit constantly.
  260.    Because the P1300 interface can transmit and receive concurrently, no
  261.    packets were dropped due to collision on the interface.
  262.  
  263.    As mentioned previously, the minimum transmission time for a
  264.    maximum-sized packet on the Proteon Ring is 8 milliseconds.  One
  265.    would expect, therefore, that the maximum throughput for a double-
  266.    buffered transmission would occur with a burst interval of 8
  267.    milliseconds times 5 packets per burst, or 40 milliseconds.  This
  268.    would allow the sender of data to transmit bursts with no "dead time"
  269.    in between bursts.  Unfortunately, the sender of data must take time
  270.    to process incoming control messages, which typically forces a 2-3
  271.    millisecond gap between bursts, lowering the throughput.  With a
  272.    burst interval of 43 milliseconds, the incoming packets are processed
  273.  
  274.  
  275.  
  276. M. Lambert                                                      [Page 5]
  277.  
  278. RFC 1030              Testing the NETBLT Protocol          November 1987
  279.  
  280.  
  281.    during the 3 millisecond-per-burst "dead time", making the protocol
  282.    more efficient.
  283.  
  284. 6. Testing on an Ethernet
  285.  
  286.    The network used in performing this series of tests was a 10 megabit
  287.    per second Ethernet supporting about 150 hosts.  The machines at
  288.    either end of the NETBLT connection were IBM PC/ATs using 3COM 3C500
  289.    network interfaces.  As with the Proteon Token Ring, the Ethernet
  290.    provides high bandwidth with low delay.  Unfortunately, the
  291.    particular Ethernet used for testing (MIT's infamous Subnet 26) is
  292.    known for being somewhat noisy.  In addition, the 3COM 3C500 Ethernet
  293.    interfaces are relatively unsophisticated, with only a single
  294.    hardware packet buffer for both transmitting and receiving packets.
  295.    This gives the interface an annoying tendency to drop packets under
  296.    heavy load.  The combination of these factors made protocol
  297.    performance analysis somewhat more difficult than on the Proteon
  298.    Ring.
  299.  
  300.    The fastest single-buffer transmission rate was 1.45 megabits per
  301.    second, and was achieved using a test case with the following
  302.    parameters:
  303.  
  304.       transfer size   2-5 million bytes
  305.  
  306.  
  307.       data packet size
  308.                       1438 bytes (maximum size excluding protocol
  309.                       headers).
  310.  
  311.  
  312.       buffer size     14380 bytes
  313.  
  314.  
  315.       burst size      5 packets
  316.  
  317.  
  318.       burst interval  30 milliseconds (6.0 milliseconds x 5 packets).
  319.  
  320.    A second test, this one with parameters identical to the first save
  321.    for number of outstanding buffers (2 instead of 1) resulted in
  322.    substantially lower throughput (994 kilobits per second), with a
  323.    large number of packets retransmitted (10%).  The retransmissions
  324.    occurred because the 3COM 3C500 network interface has only one
  325.    hardware packet buffer and cannot hold a transmitting and receiving
  326.    packet at the same time.  With two outstanding buffers, the sender of
  327.    data can transmit constantly; this means that when the receiver of
  328.    data attempts to send a packet, its interface's receive hardware goes
  329.  
  330.  
  331.  
  332. M. Lambert                                                      [Page 6]
  333.  
  334. RFC 1030              Testing the NETBLT Protocol          November 1987
  335.  
  336.  
  337.    deaf to the network and any packets being transmitted at the time by
  338.    the sender of data are lost.  A symmetrical problem occurs with
  339.    control messages sent from receiver of data to sender of data, but
  340.    the number of control messages sent is small enough and the
  341.    retransmission algorithm redundant enough that little performance
  342.    degradation occurs due to control message loss.
  343.  
  344.    When the burst interval was lengthened from 30 milliseconds per 5
  345.    packet burst to 45 milliseconds per 5 packet burst, a third as many
  346.    packets were dropped, and throughput climbed accordingly, to 1.12
  347.    megabits per second.  Presumably, the longer burst interval allowed
  348.    more dead time between bursts and less likelihood of the receiver of
  349.    data's interface being deaf to the net while the sender of data was
  350.    sending a packet.  An interesting note is that, when the same test
  351.    was conducted on a special Ethernet LAN with the only two hosts
  352.    attached being the two NETBLT machines, no packets were dropped once
  353.    the burst interval rose above 40 milliseconds/5 packet burst.  The
  354.    improved performance was doubtless due to the absence of extra
  355.    network traffic.
  356.  
  357. 7. Testing on the Wideband Network
  358.  
  359.    The following section describes results gathered using the Wideband
  360.    network.  The Wideband network is a satellite-based network with ten
  361.    stations competing for a raw satellite channel bandwidth of 3
  362.    megabits per second.  Since the various tests resulted in substantial
  363.    changes to the NETBLT specification and implementation, some of the
  364.    major changes are described along with the results and problems that
  365.    forced those changes.
  366.  
  367.    The Wideband network has several characteristics that make it an
  368.    excellent environment for testing NETBLT.  First, it has an extremely
  369.    long round-trip delay (1.8 seconds).  This provides a good test of
  370.    NETBLT's rate control and multiple-buffering capabilities.  NETBLT's
  371.    rate control allows the packet transmission rate to be regulated
  372.    independently of the maximum allowable amount of outstanding data,
  373.    providing flow control as well as very large "windows".  NETBLT's
  374.    multiple-buffering capability enables data to still be transmitted
  375.    while earlier data are awaiting retransmission and subsequent data
  376.    are being prepared for transmission.  On a network with a long
  377.    round-trip delay, the alternative "lock-step" approach would require
  378.    a 1.8 second gap between each buffer transmission, degrading
  379.    performance.
  380.  
  381.    Another interesting characteristic of the Wideband network is its
  382.    throughput.  Although its raw bandwidth is 3 megabits per second, at
  383.    the time of these tests fully 2/3 of that was consumed by low-level
  384.    network overhead and hardware limitations.  (A detailed analysis of
  385.  
  386.  
  387.  
  388. M. Lambert                                                      [Page 7]
  389.  
  390. RFC 1030              Testing the NETBLT Protocol          November 1987
  391.  
  392.  
  393.    the overhead appears at the end of this document.)  This reduces the
  394.    available bandwidth to just over 1 megabit per second.  Since the
  395.    NETBLT implementation can run substantially faster than that, testing
  396.    over the Wideband net allows us to measure NETBLT's ability to
  397.    utilize very high percentages of available bandwidth.
  398.  
  399.    Finally, the Wideband net has some interesting packet reorder and
  400.    delay characteristics that provide a good test of NETBLT's ability to
  401.    deal with these problems.
  402.  
  403.    Testing progressed in several phases.  The first phase involved using
  404.    source-routed packets in a path from an IBM PC/AT on MIT's Subnet 26,
  405.    through a BBN Butterfly Gateway, over a T1 link to BBN, onto the
  406.    Wideband network, back down into a BBN Voice Funnel, and onto ISI's
  407.    Ethernet to another IBM PC/AT.  Testing proceeded fairly slowly, due
  408.    to gateway software and source-routing bugs.  Once a connection was
  409.    finally established, we recorded a best throughput of approximately
  410.    90K bits per second.
  411.  
  412.    Several problems contributed to the low throughput.  First, the
  413.    gateways at either end were forwarding packets onto their respective
  414.    LANs faster than the IBM PC/AT's could accept them (the 3COM 3C500
  415.    interface would not have time to re-enable input before another
  416.    packet would arrive from the gateway).  Even with bursts of size 1,
  417.    spaced 6 milliseconds apart, the gateways would aggregate groups of
  418.    packets coming from the same satellite frame, and send them faster
  419.    than the PC could receive them.  The obvious result was many dropped
  420.    packets, and degraded performance.  Also, the half-duplex nature of
  421.    the 3COM interface caused incoming packets to be dropped when packets
  422.    were being sent.
  423.  
  424.    The number of packets dropped on the sending NETBLT side due to the
  425.    long interface re-enable time was reduced by packing as many control
  426.    messages as possible into a single control packet (rather than
  427.    placing only one message in a control packet).  This reduced the
  428.    number of control packets transmitted to one per buffer transmission,
  429.    which the PC was able to handle.  In particular, messages of the form
  430.    OK(n) were combined with messages of the form GO(n + 1), in order to
  431.    prevent two control packets from arriving too close together to both
  432.    be received.
  433.  
  434.    Performance degradation from dropped control packets was also
  435.    minimized by changing to a highly redundant control packet
  436.    transmission algorithm.  Control messages are now stored in a single
  437.    long-lived packet, with ACKed messages continuously bumped off the
  438.    head of the packet and new messages added at the tail of the packet.
  439.    Every time a new message needs to be transmitted, any unACKed old
  440.    messages are transmitted as well.  The sending NETBLT, which receives
  441.  
  442.  
  443.  
  444. M. Lambert                                                      [Page 8]
  445.  
  446. RFC 1030              Testing the NETBLT Protocol          November 1987
  447.  
  448.  
  449.    these control messages, is tuned to ignore duplicate messages with
  450.    almost no overhead.  This transmission redundancy puts little
  451.    reliance on the NETBLT control timer, further reducing performance
  452.    degradation from lost control packets.
  453.  
  454.    Although the effect of dropped packets on the receiving NETBLT could
  455.    not be completely eliminated, it was reduced somewhat by some changes
  456.    to the implementation.  Data packets from the sending NETBLT are
  457.    guaranteed to be transmitted by buffer number, lowest number first.
  458.    In some cases, this allowed the receiving NETBLT to make retransmit-
  459.    request decisions for a buffer N, if packets for N were expected but
  460.    none were received at the time packets for a buffer N+M were
  461.    received.  This optimization was somewhat complicated, but improved
  462.    NETBLT's performance in the face of missing packets.  Unfortunately,
  463.    the dropped-packet problem remained until the NETBLT implementation
  464.    was ported to a SUN-3 workstation.  The SUN is able to handle the
  465.    incoming packets quite well, dropping only 0.5% of the data packets
  466.    (as opposed to the PC's 15 - 20%).
  467.  
  468.    Another problem with the Wideband network was its tendency to re-
  469.    order and delay packets.  Dealing with these problems required
  470.    several changes in the implementation.  Previously, the NETBLT
  471.    implementation was "optimized" to generate retransmit requests as
  472.    soon as possible, if possible not relying on expiration of a data
  473.    timer.  For instance, when the receiving NETBLT received an LDATA
  474.    packet for a buffer N, and other packets in buffer N had not arrived,
  475.    the receiver would immediately generate a RESEND for the missing
  476.    packets.  Similarly, under certain circumstances, the receiver would
  477.    generate a RESEND for a buffer N if packets for N were expected and
  478.    had not arrived before packets for a buffer N+M.  Obviously, packet-
  479.    reordering made these "optimizations" generate retransmit requests
  480.    unnecessarily.  In the first case, the implementation was changed to
  481.    no longer generate a retransmit request on receipt of an LDATA with
  482.    other packets missing in the buffer.  In the second case, a data
  483.    timer was set with an updated (and presumably more accurate) value,
  484.    hopefully allowing any re-ordered packets to arrive before timing out
  485.    and generating a retransmit request.
  486.  
  487.    It is difficult to accommodate Wideband network packet delay in the
  488.    NETBLT implementation.  Packet delays tend to occur in multiples of
  489.    600 milliseconds, due to the Wideband network's datagram reservation
  490.    scheme.  A timer value calculation algorithm that used a fixed
  491.    variance on the order of 600 milliseconds would cause performance
  492.    degradation when packets were lost.  On the other hand, short fixed
  493.    variance values would not react well to the long delays possible on
  494.    the Wideband net.  Our solution has been to use an adaptive data
  495.    timer value calculation algorithm.  The algorithm maintains an
  496.    average inter-packet arrival value, and uses that to determine the
  497.  
  498.  
  499.  
  500. M. Lambert                                                      [Page 9]
  501.  
  502. RFC 1030              Testing the NETBLT Protocol          November 1987
  503.  
  504.  
  505.    data timer value.  If the inter-packet arrival time increases, the
  506.    data timer value will lengthen.
  507.  
  508.    At this point, testing proceeded between NETBLT implementations on a
  509.    SUN-3 workstation and an IBM PC/AT.  The arrival of a Butterfly
  510.    Gateway at ISI eliminated the need for source-routed packets; some
  511.    performance improvement was also expected because the Butterfly
  512.    Gateway is optimized for IP datagram traffic.
  513.  
  514.    In order to put the best Wideband network test results in context, a
  515.    short analysis follows, showing the best throughput expected on a
  516.    fully loaded channel.  Again, a detailed analysis of the numbers that
  517.    follow appears at the end of this document.
  518.  
  519.    The best possible datagram rate over the current Wideband
  520.    configuration is 24,054 bits per channel frame, or 3006 bytes every
  521.    21.22 milliseconds.  Since the transmission route begins and ends on
  522.    an Ethernet, the largest amount of data transmissible (after
  523.    accounting for packet header overhead) is 1438 bytes per packet.
  524.    This translates to approximately 2 packets per frame.  Since we want
  525.    to avoid overflowing the channel, we should transmit slightly slower
  526.    than the channel frame rate of 21.2 milliseconds.  We therefore came
  527.    up with a best possible throughput of 2 1438-byte packets every 22
  528.    milliseconds, or 1.05 megabits per second.
  529.  
  530.    Because of possible software bugs in either the Butterfly Gateway or
  531.    the BSAT (gateway-to-earth-station interface), 1438-byte packets were
  532.    fragmented before transmission over the Wideband network, causing
  533.    packet delay and poor performance.  The best throughput was achieved
  534.    with the following values:
  535.  
  536.       transfer size   500,000 - 750,000 bytes
  537.  
  538.  
  539.       data packet size
  540.                       1432 bytes
  541.  
  542.  
  543.       buffer size     14320 bytes
  544.  
  545.  
  546.       burst size      5 packets
  547.  
  548.  
  549.       burst interval  55 milliseconds
  550.  
  551.    Steady-state throughputs ranged from 926 kilobits per second to 942
  552.    kilobits per second, approximately 90% channel utilization.  The
  553.  
  554.  
  555.  
  556. M. Lambert                                                     [Page 10]
  557.  
  558. RFC 1030              Testing the NETBLT Protocol          November 1987
  559.  
  560.  
  561.    amount of data transmitted should have been an order of magnitude
  562.    higher, in order to get a longer steady-state period; unfortunately
  563.    at the time we were testing, the Ethernet interface of ISI's
  564.    Butterfly Gateway would lock up fairly quickly (in 40-60 seconds) at
  565.    packet rates of approximately 90 per second, forcing a gateway reset.
  566.    Transmissions therefore had to take less than this amount of time.
  567.    This problem has reportedly been fixed since the tests were
  568.    conducted.
  569.  
  570.    In order to test the Wideband network under overload conditions, we
  571.    attempted several tests at rates of 5 1432-byte packets every 50
  572.    milliseconds.  At this rate, the Wideband network ground to a halt as
  573.    four of the ten network BSATs immediately crashed and reset their
  574.    channel processor nodes.  Apparently, the BSATs crash because the ESI
  575.    (Earth Station Interface), which sends data from the BSAT to the
  576.    satellite, stops its transmit clock to the BSAT if it runs out of
  577.    buffer space.  The BIO interface connecting BSAT and ESI does not
  578.    tolerate this clock-stopping, and typically locks up, forcing the
  579.    channel processor node to reset.  A more sophisticated interface,
  580.    allowing faster transmissions, is being installed in the near future.
  581.  
  582. 8. Future Directions
  583.  
  584.    Some more testing needs to be performed over the Wideband Network in
  585.    order to get a complete analysis of NETBLT's performance.  Once the
  586.    Butterfly Gateway Ethernet interface lockup problem described earlier
  587.    has been fixed, we want to perform transmissions of 10 to 50 million
  588.    bytes to get accurate steady-state throughput results.  We also want
  589.    to run several NETBLT processes in parallel, each tuned to take a
  590.    fraction of the Wideband Network's available bandwidth.  Hopefully,
  591.    this will demonstrate whether or not burst synchronization across
  592.    different NETBLT processes will cause network congestion or failure.
  593.    Once the BIO BSAT-ESI interface is upgraded, we will want to try for
  594.    higher throughputs, as well as greater hardware stability under
  595.    overload conditions.
  596.  
  597.    As far as future directions of research into NETBLT, one important
  598.    area needs to be explored.  A series of algorithms need to be
  599.    developed to allow dynamic selection and control of NETBLT's
  600.    transmission parameters (burst size, burst interval, and number of
  601.    outstanding buffers).  Ideally, this dynamic control will not require
  602.    any information from outside sources such as gateways; instead,
  603.    NETBLT processes will use end-to-end information in order to make
  604.    transmission rate decisions in the face of noisy channels and network
  605.    congestion.  Some research on dynamic rate control is taking place
  606.    now, but much more work needs done before the results can be
  607.    integrated into NETBLT.
  608.  
  609.  
  610.  
  611.  
  612. M. Lambert                                                     [Page 11]
  613.  
  614. RFC 1030              Testing the NETBLT Protocol          November 1987
  615.  
  616.  
  617. I. Wideband Bandwidth Analysis
  618.  
  619.    Although the raw bandwidth of the Wideband Network is 3 megabits per
  620.    second, currently only about 1 megabit per second of it is available
  621.    to transmit data.  The large amount of overhead is due to the channel
  622.    control strategy (which uses a fixed-width control subframe based on
  623.    the maximum number of stations sharing the channel) and the low-
  624.    performance BIO interface between BBN's BSAT (Butterfly Satellite
  625.    Interface) and Linkabit's ESI (Earth Station Interface).  Higher-
  626.    performance BSMI interfaces are soon to be installed in all Wideband
  627.    sites, which should improve the amount of available bandwidth.
  628.  
  629.    Bandwidth on the Wideband network is divided up into frames, each of
  630.    which has multiple subframes.  A frame is 32768 channel symbols, at 2
  631.    bits per symbol.  One frame is available for transmission every 21.22
  632.    milliseconds, giving a raw bandwidth of 65536 bits / 21.22 ms, or
  633.    3.081 megabits per second.
  634.  
  635.    Each frame contains two subframes, a control subframe and a data
  636.    subframe.  The control subframe is subdivided into ten slots, one per
  637.    earth station.  Control information takes up 200 symbols per station.
  638.    Because the communications interface between BSAT and ESI only runs
  639.    at 2 megabits per second, there must be a padding interval of 1263
  640.    symbols between each slot of information, bringing the total control
  641.    subframe size up to 1463 symbols x 10 stations, or 14630 symbols.
  642.    The data subframe then has 18138 symbols available.  The maximum
  643.    datagram size is currently expressed as a 14-bit quantity, further
  644.    dropping the maximum amount of data in a frame to 16384 symbols.
  645.    After header information is taken into account, this value drops to
  646.    16,036 symbols.  At 2 bits per symbol, using a 3/4 coding rate, the
  647.    actual amount of usable data in a frame is 24,054 bits, or
  648.    approximately 3006 bytes.  Thus the theoretical usable bandwidth is
  649.    24,054 bits every 21.22 milliseconds, or 1.13 megabits per second.
  650.    Since the NETBLT implementations are running on Ethernet LANs
  651.    gatewayed to the Wideband network, the 3006 bytes per channel frame
  652.    of usable bandwidth translates to two maximum-sized (1500 bytes)
  653.    Ethernet packets per channel frame, or 1.045 megabits per second.
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668. M. Lambert                                                     [Page 12]
  669.  
  670. RFC 1030              Testing the NETBLT Protocol          November 1987
  671.  
  672.  
  673. II. Detailed Proteon Ring LAN Test Results
  674.  
  675.    Following is a table of some of the test results gathered from
  676.    testing NETBLT between two IBM PC/ATs on a Proteon Token Ring LAN.
  677.    The table headers have the following definitions:
  678.  
  679.  
  680.       BS/BI           burst size in packets and burst interval in
  681.                       milliseconds
  682.  
  683.  
  684.       PSZ             number of bytes in DATA/LDATA packet data segment
  685.  
  686.  
  687.       BFSZ            number of bytes in NETBLT buffer
  688.  
  689.  
  690.       XFSZ            number of kilobytes in transfer
  691.  
  692.  
  693.       NBUFS           number of outstanding buffers
  694.  
  695.  
  696.       #LOSS           number of data packets lost
  697.  
  698.  
  699.       #RXM            number of data packets retransmitted
  700.  
  701.  
  702.       DTMOS           number of data timeouts on receiving end
  703.  
  704.  
  705.       SPEED           steady-state throughput in megabits per second
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724. M. Lambert                                                     [Page 13]
  725.  
  726. RFC 1030              Testing the NETBLT Protocol          November 1987
  727.  
  728.  
  729.       BS/BI  PSZ    BFSZ   XFSZ   NBUFS  #LOSS  #RXM   DTMOS  SPEED
  730.  
  731.       5/25   1438   14380  1438   1      0      0      0      1.45
  732.       5/25   1438   14380  1438   1      0      0      0      1.45
  733.       5/30   1438   14380  1438   1      0      0      0      1.45
  734.       5/30   1438   14380  1438   1      0      0      0      1.45
  735.       5/35   1438   14380  1438   1      0      0      0      1.40
  736.       5/35   1438   14380  1438   1      0      0      0      1.41
  737.       5/40   1438   14380  1438   1      0      0      0      1.33
  738.       5/40   1438   14380  1438   1      0      0      0      1.33
  739.  
  740.       5/25   1438   14380  1438   2      0      0      0      1.62
  741.  
  742.       5/25   1438   14380  1438   2      0      0      0      1.61
  743.       5/30   1438   14380  1438   2      0      0      0      1.60
  744.       5/30   1438   14380  1438   2      0      0      0      1.61
  745.       5/34   1438   14380  1438   2      0      0      0      1.59
  746.       5/35   1438   14380  1438   2      0      0      0      1.58
  747.  
  748.       5/25   1990   19900  1990   1      0      0      0      1.48
  749.       5/25   1990   19900  1990   1      0      0      0      1.49
  750.       5/30   1990   19900  1990   1      0      0      0      1.48
  751.       5/30   1990   19900  1990   1      0      0      0      1.48
  752.       5/35   1990   19900  1990   1      0      0      0      1.49
  753.       5/35   1990   19900  1990   1      0      0      0      1.48
  754.       5/40   1990   19900  1990   1      0      0      0      1.49
  755.       5/40   1990   19900  1990   1      0      0      0      1.49
  756.       5/45   1990   19900  1990   1      0      0      0      1.45
  757.       5/45   1990   19900  1990   1      0      0      0      1.46
  758.  
  759.       5/25   1990   19900  1990   2      0      0      0      1.75
  760.       5/25   1990   19900  1990   2      0      0      0      1.75
  761.       5/30   1990   19900  1990   2      0      0      0      1.74
  762.       5/30   1990   19900  1990   2      0      0      0      1.75
  763.       5/35   1990   19900  1990   2      0      0      0      1.74
  764.       5/35   1990   19900  1990   2      0      0      0      1.74
  765.       5/40   1990   19900  1990   2      0      0      0      1.75
  766.       5/40   1990   19900  1990   2      0      0      0      1.74
  767.       5/43   1990   19900  1990   2      0      0      0      1.75
  768.       5/43   1990   19900  1990   2      0      0      0      1.74
  769.       5/43   1990   19900  1990   2      0      0      0      1.75
  770.       5/44   1990   19900  1990   2      0      0      0      1.73
  771.       5/44   1990   19900  1990   2      0      0      0      1.72
  772.       5/45   1990   19900  1990   2      0      0      0      1.70
  773.       5/45   1990   19900  1990   2      0      0      0      1.72
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780. M. Lambert                                                     [Page 14]
  781.  
  782. RFC 1030              Testing the NETBLT Protocol          November 1987
  783.  
  784.  
  785. III. Detailed Ethernet LAN Testing Results
  786.  
  787.    Following is a table of some of the test results gathered from
  788.    testing NETBLT between two IBM PC/ATs on an Ethernet LAN.  See
  789.    previous appendix for table header definitions.
  790.  
  791.  
  792.       BS/BI  PSZ    BFSZ   XFSZ   NBUFS  #LOSS  #RXM   DTMOS  SPEED
  793.  
  794.       5/30   1438   14380  1438   1      9      9      6      1.42
  795.       5/30   1438   14380  1438   1      2      2      2      1.45
  796.       5/30   1438   14380  1438   1      5      5      4      1.44
  797.       5/35   1438   14380  1438   1      7      7      7      1.38
  798.       5/35   1438   14380  1438   1      6      6      5      1.38
  799.       5/40   1438   14380  1438   1      48     48     44     1.15
  800.       5/40   1438   14380  1438   1      50     50     38     1.17
  801.       5/40   1438   14380  1438   1      13     13     11     1.28
  802.       5/40   1438   14380  1438   1      7      7      5      1.30
  803.  
  804.       5/30   1438   14380  1438   2      206    206    198    0.995
  805.       5/30   1438   14380  1438   2      213    213    198    0.994
  806.       5/40   1438   14380  1438   2      117    121    129    1.05
  807.       5/40   1438   14380  1438   2      178    181    166    0.892
  808.       5/40   1438   14380  1438   2      135    138    130    1.03
  809.       5/45   1438   14380  1438   2      57     57     52     1.12
  810.       5/45   1438   14380  1438   2      97     97     99     1.02
  811.       5/45   1438   14380  1438   2      62     62     51     1.09
  812.  
  813.       5/15   512    10240  2048   1      6      6      4      0.909
  814.       5/15   512    10240  2048   1      10     11     7      0.907
  815.       5/18   512    10240  2048   1      11     11     8      0.891
  816.       5/18   512    10240  2048   1      5      5      9      0.906
  817.       5/19   512    10240  2048   1      3      3      3      0.905
  818.       5/19   512    10240  2048   1      8      8      7      0.898
  819.       5/20   512    10240  2048   1      7      7      4      0.876
  820.       5/20   512    10240  2048   1      11     12     5      0.871
  821.       5/20   512    10240  2048   1      8      9      5      0.874
  822.       5/30   512    10240  2048   2      113    116    84     0.599
  823.       5/30   512    10240  2048   2      20     20     14     0.661
  824.       5/30   512    10240  2048   2      49     50     40     0.638
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836. M. Lambert                                                     [Page 15]
  837.  
  838. RFC 1030              Testing the NETBLT Protocol          November 1987
  839.  
  840.  
  841. IV. Detailed Wideband Network Testing Results
  842.  
  843.    Following is a table of some of the test results gathered from
  844.    testing NETBLT between an IBM PC/AT and a SUN-3 using the Wideband
  845.    satellite network.  See previous appendix for table header
  846.    definitions.
  847.  
  848.       BS/BI  PSZ    BFSZ   XFSZ   NBUFS  #LOSS  #RXM   SPEED
  849.  
  850.       5/90   1400   14000  500    22     9      10     0.584
  851.       5/90   1400   14000  500    22     12     12     0.576
  852.       5/90   1400   14000  500    22     3      3      0.591
  853.       5/90   1420   14200  500    22     12     12     0.591
  854.       5/90   1420   14200  500    22     6      6      0.600
  855.       5/90   1430   14300  500    22     9      10     0.600
  856.       5/90   1430   14300  500    22     15     15     0.591
  857.       5/90   1430   14300  500    22     12     12     0.590
  858.       5/90   1432   14320  716    22     13     16     0.591
  859.       5/90   1434   14340  717    22     33     147    0.483
  860.       5/90   1436   14360  718    22     25     122    0.500
  861.       5/90   1436   14360  718    22     25     109    0.512
  862.       5/90   1436   14360  718    22     28     153    0.476
  863.       5/90   1438   14380  719    22     6      109    0.533
  864.  
  865.       5/80   1432   14320  716    22     56     68     0.673
  866.       5/80   1432   14320  716    22     14     14     0.666
  867.       5/80   1432   14320  716    22     15     16     0.661
  868.       5/60   1432   14320  716    22     19     22     0.856
  869.       5/60   1432   14320  716    22     84     95     0.699
  870.       5/60   1432   14320  716    22     18     21     0.871
  871.       5/60   1432   14320  716    30     38     40     0.837
  872.       5/60   1432   14320  716    30     25     26     0.869
  873.       5/55   1432   14320  716    22     13     13     0.935
  874.       5/55   1432   14320  716    22     25     25     0.926
  875.       5/55   1432   14320  716    22     25     25     0.926
  876.       5/55   1432   14320  716    22     20     20     0.932
  877.       5/55   1432   14320  716    22     17     19     0.934
  878.       5/55   1432   14320  716    22     13     14     0.942
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892. M. Lambert                                                     [Page 16]
  893.  
  894.