home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2544.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  66.8 KB  |  1,740 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         S. Bradner
  8. Request for Comments: 2544                            Harvard University
  9. Obsoletes: 1944                                               J. McQuaid
  10. Category: Informational                                 NetScout Systems
  11.                                                               March 1999
  12.  
  13.  
  14.        Benchmarking Methodology for Network Interconnect Devices
  15.  
  16. Status of this Memo
  17.  
  18.    This memo provides information for the Internet community.  It does
  19.    not specify an Internet standard of any kind.  Distribution of this
  20.    memo is unlimited.
  21.  
  22. Copyright Notice
  23.  
  24.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  25.  
  26. IESG Note
  27.  
  28.    This document is a republication of RFC 1944 correcting the values
  29.    for the IP addresses which were assigned to be used as the default
  30.    addresses for networking test equipment. (See section C.2.2 ).  This
  31.    RFC replaces and obsoletes RFC 1944.
  32.  
  33. Abstract
  34.  
  35.    This document discusses and defines a number of tests that may be
  36.    used to describe the performance characteristics of a network
  37.    interconnecting  device.  In addition to defining the tests this
  38.    document also describes specific formats for reporting the results of
  39.    the tests.  Appendix A lists the tests and conditions that we believe
  40.    should be included for specific cases and gives additional
  41.    information about testing practices.  Appendix B is a reference
  42.    listing of maximum frame rates to be used with specific frame sizes
  43.    on various media and Appendix C gives some examples of frame formats
  44.    to be used in testing.
  45.  
  46. 1. Introduction
  47.  
  48.    Vendors often engage in "specsmanship" in an attempt to give their
  49.    products a better position in the marketplace.  This often involves
  50.    "smoke & mirrors" to confuse the potential users of the products.
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Bradner & McQuaid            Informational                      [Page 1]
  59.  
  60. RFC 2544                Benchmarking Methodology              March 1999
  61.  
  62.  
  63.    This document defines a specific set of tests that vendors can use to
  64.    measure and report the performance characteristics of network
  65.    devices.  The results of these tests will provide the user comparable
  66.    data from different vendors with which to evaluate these devices.
  67.  
  68.    A previous document, "Benchmarking Terminology for Network
  69.    Interconnect Devices" (RFC 1242), defined many of the terms that are
  70.    used in this document.  The terminology document should be consulted
  71.    before attempting to make use of this document.
  72.  
  73. 2. Real world
  74.  
  75.    In producing this document the authors attempted to keep in mind the
  76.    requirement that apparatus to perform the described tests must
  77.    actually be built.  We do not know of "off the shelf" equipment
  78.    available to implement all of the tests but it is our opinion that
  79.    such equipment can be constructed.
  80.  
  81. 3. Tests to be run
  82.  
  83.    There are a number of tests described in this document.  Not all of
  84.    the tests apply to all types of devices under test (DUTs). Vendors
  85.    should perform all of the tests that can be supported by a specific
  86.    type of product.  The authors understand that it will take a
  87.    considerable period of time to perform all of the recommended tests
  88.    nder  all of the recommended conditions. We believe that the results
  89.    are worth the effort.  Appendix A lists some of the tests and
  90.    conditions that we believe should be included for specific cases.
  91.  
  92. 4. Evaluating the results
  93.  
  94.    Performing all of the recommended tests will result in a great deal
  95.    of data. Much of this data will not apply to the evaluation of the
  96.    devices under each circumstance.  For example, the rate at which a
  97.    router forwards IPX frames will be of little use in selecting a
  98.    router for an environment that does not (and will not) support that
  99.    protocol.  Evaluating even that data which is relevant to a
  100.    particular network installation will require experience which may not
  101.    be readily available. Furthermore, selection of the tests to be run
  102.    and evaluation of the test data must be done with an understanding of
  103.    generally accepted testing practices regarding repeatability,
  104.    variance and statistical significance of small numbers of trials.
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Bradner & McQuaid            Informational                      [Page 2]
  115.  
  116. RFC 2544                Benchmarking Methodology              March 1999
  117.  
  118.  
  119. 5. Requirements
  120.  
  121.    In this document, the words that are used to define the significance
  122.    of each particular requirement are capitalized. These words are:
  123.  
  124.       * "MUST" This word, or the words "REQUIRED" and "SHALL" mean that
  125.          the item is an absolute requirement of the specification.
  126.  
  127.       * "SHOULD" This word or the adjective "RECOMMENDED" means that
  128.          there may exist valid reasons in particular circumstances to
  129.          ignore this item, but the full implications should be
  130.          understood and the case carefully weighed before choosing a
  131.          different course.
  132.  
  133.        * "MAY" This word or the adjective "OPTIONAL" means that this
  134.          item is truly optional.  One vendor may choose to include the
  135.          item because a particular marketplace requires it or because it
  136.          enhances the product, for example; another vendor may omit the
  137.          same item.
  138.  
  139.    An implementation is not compliant if it fails to satisfy one or more
  140.    of the MUST requirements for the protocols it implements.  An
  141.    implementation that satisfies all the MUST and all the SHOULD
  142.    requirements for its protocols is said to be "unconditionally
  143.    compliant"; one that satisfies all the MUST requirements but not all
  144.    the SHOULD requirements for its protocols is said to be
  145.    "conditionally compliant".
  146.  
  147. 6. Test set up
  148.  
  149.    The ideal way to implement this series of tests is to use a tester
  150.    with both transmitting and receiving ports.  Connections are made
  151.    from the sending ports of the tester to the receiving ports of the
  152.    DUT and from the sending ports of the DUT back to the tester. (see
  153.    Figure 1)  Since the tester both sends the test traffic and receives
  154.    it back, after the traffic has been forwarded but the DUT, the tester
  155.    can easily determine if all of the transmitted packets were received
  156.    and verify that the correct packets were received.  The same
  157.    functionality can be obtained with separate transmitting and
  158.    receiving devices (see Figure 2) but unless they are remotely
  159.    controlled by some computer in a way that simulates the single
  160.    tester, the labor required to accurately perform some of the tests
  161.    (particularly the throughput test) can be prohibitive.
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Bradner & McQuaid            Informational                      [Page 3]
  171.  
  172. RFC 2544                Benchmarking Methodology              March 1999
  173.  
  174.  
  175.                             +------------+
  176.                             |            |
  177.                +------------|  tester    |<-------------+
  178.                |            |            |              |
  179.                |            +------------+              |
  180.                |                                        |
  181.                |            +------------+              |
  182.                |            |            |              |
  183.                +----------->|    DUT     |--------------+
  184.                             |            |
  185.                             +------------+
  186.                               Figure 1
  187.  
  188.          +--------+         +------------+          +----------+
  189.          |        |         |            |          |          |
  190.          | sender |-------->|    DUT     |--------->| receiver |
  191.          |        |         |            |          |          |
  192.          +--------+         +------------+          +----------+
  193.                               Figure 2
  194.  
  195. 6.1 Test set up for multiple media types
  196.  
  197.    Two different setups could be used to test a DUT which is used in
  198.    real-world networks to connect networks of differing media type,
  199.    local Ethernet to a backbone FDDI ring for example.  The tester could
  200.    support both media types in which case the set up shown in Figure 1
  201.    would be used.
  202.  
  203.    Two identical DUTs are used in the other test set up. (see Figure 3)
  204.    In many cases this set up may more accurately simulate the real
  205.    world.  For example, connecting two LANs together with a WAN link or
  206.    high speed backbone.  This set up would not be as good at simulating
  207.    a system where clients on a Ethernet LAN were interacting with a
  208.    server on an FDDI backbone.
  209.  
  210.                                +-----------+
  211.                                |           |
  212.          +---------------------|  tester   |<---------------------+
  213.          |                     |           |                      |
  214.          |                     +-----------+                      |
  215.          |                                                        |
  216.          |        +----------+               +----------+         |
  217.          |        |          |               |          |         |
  218.          +------->|  DUT 1   |-------------->|   DUT 2  |---------+
  219.                   |          |               |          |
  220.                   +----------+               +----------+
  221.  
  222.                                   Figure 3
  223.  
  224.  
  225.  
  226. Bradner & McQuaid            Informational                      [Page 4]
  227.  
  228. RFC 2544                Benchmarking Methodology              March 1999
  229.  
  230.  
  231.  
  232. 7. DUT set up
  233.  
  234.    Before starting to perform the tests, the DUT to be tested MUST be
  235.    configured following the instructions provided to the user.
  236.    Specifically, it is expected that all of the supported protocols will
  237.    be configured and enabled during this set up (See Appendix A).  It is
  238.    expected that all of the tests will be run without changing the
  239.    configuration or setup of the DUT in any way other than that required
  240.    to do the specific test.  For example, it is not acceptable to change
  241.    the size of frame handling buffers between tests of frame handling
  242.    rates or to disable all but one transport protocol when testing the
  243.    throughput of that protocol.  It is necessary to modify the
  244.    configuration when starting a test to determine the effect of filters
  245.    on throughput, but the only change MUST be to enable the specific
  246.    filter. The DUT set up SHOULD include the normally recommended
  247.    routing update intervals and keep alive frequency.  The specific
  248.    version of the software and the exact DUT configuration, including
  249.    what functions are disabled, used during the tests MUST be included
  250.    as part of the report of the results.
  251.  
  252. 8. Frame formats
  253.  
  254.    The formats of the test frames to use for TCP/IP over Ethernet are
  255.    shown in Appendix C: Test Frame Formats.  These exact frame formats
  256.    SHOULD be used in the tests described in this document for this
  257.    protocol/media combination and that these frames will be used as a
  258.    template for testing other protocol/media combinations.  The specific
  259.    formats that are used to define the test frames for a particular test
  260.    series MUST be included in the report of the results.
  261.  
  262. 9. Frame sizes
  263.  
  264.    All of the described tests SHOULD be performed at a number of frame
  265.    sizes. Specifically, the sizes SHOULD include the maximum and minimum
  266.    legitimate sizes for the protocol under test on the media under test
  267.    and enough sizes in between to be able to get a full characterization
  268.    of the DUT performance.  Except where noted, at least five frame
  269.    sizes SHOULD be tested for each test condition.
  270.  
  271.    Theoretically the minimum size UDP Echo request frame would consist
  272.    of an IP header (minimum length 20 octets), a UDP header (8 octets)
  273.    and whatever MAC level header is required by the media in use.  The
  274.    theoretical maximum frame size is determined by the size of the
  275.    length field in the IP header.  In almost all cases the actual
  276.    maximum and minimum sizes are determined by the limitations of the
  277.    media.
  278.  
  279.  
  280.  
  281.  
  282. Bradner & McQuaid            Informational                      [Page 5]
  283.  
  284. RFC 2544                Benchmarking Methodology              March 1999
  285.  
  286.  
  287.    In theory it would be ideal to distribute the frame sizes in a way
  288.    that would evenly distribute the theoretical frame rates.  These
  289.    recommendations incorporate this theory but specify frame sizes which
  290.    are easy to understand and remember.  In addition, many of the same
  291.    frame sizes are specified on each of the media types to allow for
  292.    easy performance comparisons.
  293.  
  294.    Note: The inclusion of an unrealistically small frame size on some of
  295.    the media types (i.e. with little or no space for data) is to help
  296.    characterize the per-frame processing overhead of the DUT.
  297.  
  298. 9.1 Frame sizes to be used on Ethernet
  299.  
  300.        64, 128, 256, 512, 1024, 1280, 1518
  301.  
  302.    These sizes include the maximum and minimum frame sizes permitted by
  303.    the Ethernet standard and a selection of sizes between these extremes
  304.    with a finer granularity for the smaller frame sizes and higher frame
  305.    rates.
  306.  
  307. 9.2 Frame sizes to be used on 4Mb and 16Mb token ring
  308.  
  309.        54, 64, 128, 256, 1024, 1518, 2048, 4472
  310.  
  311.    The frame size recommendations for token ring assume that there is no
  312.    RIF field in the frames of routed protocols.  A RIF field would be
  313.    present in any direct source route bridge performance test.  The
  314.    minimum size frame for UDP on token ring is 54 octets.  The maximum
  315.    size of 4472 octets is recommended for 16Mb token ring instead of the
  316.    theoretical size of 17.9Kb because of the size limitations imposed by
  317.    many token ring interfaces.  The reminder of the sizes are selected
  318.    to permit direct comparisons with other types of media.  An IP (i.e.
  319.    not UDP) frame may be used in addition if a higher data rate is
  320.    desired, in which case the minimum frame size is 46 octets.
  321.  
  322. 9.3 Frame sizes to be used on FDDI
  323.  
  324.        54, 64, 128, 256, 1024, 1518, 2048, 4472
  325.  
  326.    The minimum size frame for UDP on FDDI is 53 octets, the minimum size
  327.    of 54 is recommended to allow direct comparison to token ring
  328.    performance.  The maximum size of 4472 is recommended instead of the
  329.    theoretical maximum size of 4500 octets to permit the same type of
  330.    comparison. An IP (i.e. not UDP) frame may be used in addition if a
  331.    higher data rate is desired, in which case the minimum frame size is
  332.    45 octets.
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Bradner & McQuaid            Informational                      [Page 6]
  339.  
  340. RFC 2544                Benchmarking Methodology              March 1999
  341.  
  342.  
  343. 9.4 Frame sizes in the presence of disparate MTUs
  344.  
  345.    When the interconnect DUT supports connecting links with disparate
  346.    MTUs, the frame sizes for the link with the *larger* MTU SHOULD be
  347.    used, up to the limit of the protocol being tested. If the
  348.    interconnect DUT does not support the fragmenting of frames in the
  349.    presence of MTU mismatch, the forwarding rate for that frame size
  350.    shall be reported as zero.
  351.  
  352.    For example, the test of IP forwarding with a bridge or router that
  353.    joins FDDI and Ethernet should use the frame sizes of FDDI when going
  354.    from the FDDI to the Ethernet link. If the bridge does not support IP
  355.    fragmentation, the forwarding rate for those frames too large for
  356.    Ethernet should be reported as zero.
  357.  
  358. 10. Verifying received frames
  359.  
  360.    The test equipment SHOULD discard any frames received during a test
  361.    run that are not actual forwarded test frames.  For example, keep-
  362.    alive and routing update frames SHOULD NOT be included in the count
  363.    of received frames.  In any case, the test equipment SHOULD verify
  364.    the length of the received frames and check that they match the
  365.    expected length.
  366.  
  367.    Preferably, the test equipment SHOULD include sequence numbers in the
  368.    transmitted frames and check for these numbers on the received
  369.    frames.  If this is done, the reported results SHOULD include in
  370.    addition to the number of frames dropped, the number of frames that
  371.    were received out of order, the number of duplicate frames received
  372.    and the number of gaps in the received frame numbering sequence.
  373.    This functionality is required for some of the described tests.
  374.  
  375. 11. Modifiers
  376.  
  377.    It might be useful to know the DUT performance under a number of
  378.    conditions; some of these conditions are noted below.  The reported
  379.    results SHOULD include as many of these conditions as the test
  380.    equipment is able to generate.  The suite of tests SHOULD be first
  381.    run without any modifying conditions and then repeated under each of
  382.    the conditions separately.  To preserve the ability to compare the
  383.    results of these tests any frames that are required to generate the
  384.    modifying conditions (management queries for example) will be
  385.    included in the same data stream as the normal test frames in place
  386.    of one of the test frames and not be supplied to the DUT on a
  387.    separate network port.
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Bradner & McQuaid            Informational                      [Page 7]
  395.  
  396. RFC 2544                Benchmarking Methodology              March 1999
  397.  
  398.  
  399. 11.1 Broadcast frames
  400.  
  401.    In most router designs special processing is required when frames
  402.    addressed to the hardware broadcast address are received.  In bridges
  403.    (or in bridge mode on routers) these broadcast frames must be flooded
  404.    to a number of ports.  The stream of test frames SHOULD be augmented
  405.    with 1% frames addressed to the hardware broadcast address.  The
  406.    frames sent to the broadcast address should be of a type that the
  407.    router will not need to process.  The aim of this test is to
  408.    determine if there is any effect on the forwarding rate of the other
  409.    data in the stream.  The specific frames that should be used are
  410.    included in the test frame format document. The broadcast frames
  411.    SHOULD be evenly distributed throughout the data stream, for example,
  412.    every 100th frame.
  413.  
  414.    The same test SHOULD be performed on bridge-like DUTs but in this
  415.    case the broadcast packets will be processed and flooded to all
  416.    outputs.
  417.  
  418.    It is understood that a level of broadcast frames of 1% is much
  419.    higher than many networks experience but, as in drug toxicity
  420.    evaluations, the higher level is required to be able to gage the
  421.    effect which would otherwise often fall within the normal variability
  422.    of the system performance.  Due to design factors some test equipment
  423.    will not be able to generate a level of alternate frames this low.
  424.    In these cases the percentage SHOULD be as small as the equipment can
  425.    provide and that the actual level be described in the report of the
  426.    test results.
  427.  
  428. 11.2 Management frames
  429.  
  430.    Most data networks now make use of management protocols such as SNMP.
  431.    In many environments there can be a number of management stations
  432.    sending queries to the same DUT at the same time.
  433.  
  434.    The stream of test frames SHOULD be augmented with one management
  435.    query as the first frame sent each second during the duration of the
  436.    trial.  The result of the query must fit into one response frame. The
  437.    response frame SHOULD be verified by the test equipment. One example
  438.    of the specific query frame that should be used is shown in Appendix
  439.    C.
  440.  
  441. 11.3 Routing update frames
  442.  
  443.    The processing of dynamic routing protocol updates could have a
  444.    significant impact on the ability of a router to forward data frames.
  445.    The stream of test frames SHOULD be augmented with one routing update
  446.    frame transmitted as the first frame transmitted during the trial.
  447.  
  448.  
  449.  
  450. Bradner & McQuaid            Informational                      [Page 8]
  451.  
  452. RFC 2544                Benchmarking Methodology              March 1999
  453.  
  454.  
  455.    Routing update frames SHOULD be sent at the rate specified in
  456.    Appendix C for the specific routing protocol being used in the test.
  457.    Two routing update frames are defined in Appendix C for the TCP/IP
  458.    over Ethernet example.  The routing frames are designed to change the
  459.    routing to a number of networks that are not involved in the
  460.    forwarding of the test data.  The first frame sets the routing table
  461.    state to "A", the second one changes the state to "B".  The frames
  462.    MUST be alternated during the trial.
  463.  
  464.    The test SHOULD verify that the routing update was processed by the
  465.    DUT.
  466.  
  467. 11.4 Filters
  468.  
  469.    Filters are added to routers and bridges to selectively inhibit the
  470.    forwarding of frames that would normally be forwarded.  This is
  471.    usually done to implement security controls on the data that is
  472.    accepted between one area and another. Different products have
  473.    different capabilities to implement filters.
  474.  
  475.    The DUT SHOULD be first configured to add one filter condition and
  476.    the tests performed.  This filter SHOULD permit the forwarding of the
  477.    test data stream. In routers this filter SHOULD be of the form:
  478.  
  479.       forward input_protocol_address to output_protocol_address
  480.  
  481.    In bridges the filter SHOULD be of the form:
  482.  
  483.       forward destination_hardware_address
  484.  
  485.    The DUT SHOULD be then reconfigured to implement a total of 25
  486.    filters.  The first 24 of these filters SHOULD be of the form:
  487.  
  488.       block input_protocol_address to output_protocol_address
  489.  
  490.    The 24 input and output protocol addresses SHOULD not be any that are
  491.    represented in the test data stream.  The last filter SHOULD permit
  492.    the forwarding of the test data stream.  By "first" and "last" we
  493.    mean to ensure that in the second case, 25 conditions must be checked
  494.    before the data frames will match the conditions that permit the
  495.    forwarding of the frame. Of course, if the DUT reorders the filters
  496.    or does not use a linear scan of the filter rules the effect of the
  497.    sequence in which the filters are input is properly lost.
  498.  
  499.    The exact filters configuration command lines used SHOULD be included
  500.    with the report of the results.
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Bradner & McQuaid            Informational                      [Page 9]
  507.  
  508. RFC 2544                Benchmarking Methodology              March 1999
  509.  
  510.  
  511. 11.4.1 Filter Addresses
  512.  
  513.    Two sets of filter addresses are required, one for the single filter
  514.    case and one for the 25 filter case.
  515.  
  516.    The single filter case should permit traffic from IP address
  517.    198.18.1.2 to IP address 198.19.65.2 and deny all other traffic.
  518.  
  519.    The 25 filter case should follow the following sequence.
  520.  
  521.          deny aa.ba.1.1 to aa.ba.100.1
  522.          deny aa.ba.2.2 to aa.ba.101.2
  523.          deny aa.ba.3.3 to aa.ba.103.3
  524.            ...
  525.          deny aa.ba.12.12 to aa.ba.112.12
  526.          allow aa.bc.1.2 to aa.bc.65.1
  527.          deny aa.ba.13.13 to aa.ba.113.13
  528.          deny aa.ba.14.14 to aa.ba.114.14
  529.            ...
  530.          deny aa.ba.24.24 to aa.ba.124.24
  531.          deny all else
  532.  
  533.  
  534.    All previous filter conditions should be cleared from the router
  535.    before this sequence is entered.  The sequence is selected to test to
  536.    see if the router sorts the filter conditions or accepts them in the
  537.    order that they were entered.  Both of these procedures will result
  538.    in a greater impact on performance than will some form of hash
  539.    coding.
  540.  
  541. 12. Protocol addresses
  542.  
  543.    It is easier to implement these tests using a single logical stream
  544.    of data, with one source protocol address and one destination
  545.    protocol address, and for some conditions like the filters described
  546.    above, a practical requirement. Networks in the real world are not
  547.    limited to single streams of data. The test suite SHOULD be first run
  548.    with a single protocol (or hardware for bridge tests) source and
  549.    destination address pair.  The tests SHOULD then be repeated with
  550.    using a random destination address.  While testing routers the
  551.    addresses SHOULD be random and uniformly distributed over a range of
  552.    256 networks and random and uniformly distributed over the full MAC
  553.    range for bridges.  The specific address ranges to use for IP are
  554.    shown in Appendix C.
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Bradner & McQuaid            Informational                     [Page 10]
  563.  
  564. RFC 2544                Benchmarking Methodology              March 1999
  565.  
  566.  
  567. 13. Route Set Up
  568.  
  569.    It is not reasonable that all of the routing information necessary to
  570.    forward the test stream, especially in the multiple address case,
  571.    will be manually set up.  At the start of each trial a routing update
  572.    MUST be sent to the DUT. This routing update MUST include all of the
  573.    network addresses that will be required for the trial.  All of the
  574.    addresses SHOULD resolve to the same "next-hop". Normally this will
  575.    be the address of the receiving side of the test equipment. This
  576.    routing update will have to be repeated at the interval required by
  577.    the routing protocol being used.  An example of the format and
  578.    repetition interval of the update frames is given in Appendix C.
  579.  
  580. 14. Bidirectional traffic
  581.  
  582.    Normal network activity is not all in a single direction.  To test
  583.    the bidirectional performance of a DUT, the test series SHOULD be run
  584.    with the same data rate being offered from each direction. The sum of
  585.    the data rates should not exceed the theoretical limit for the media.
  586.  
  587. 15. Single stream path
  588.  
  589.    The full suite of tests SHOULD be run along with whatever modifier
  590.    conditions that are relevant using a single input and output network
  591.    port on the DUT. If the internal design of the DUT has multiple
  592.    distinct pathways, for example, multiple interface cards each with
  593.    multiple network ports, then all possible types of pathways SHOULD be
  594.    tested separately.
  595.  
  596. 16. Multi-port
  597.  
  598.    Many current router and bridge products provide many network ports in
  599.    the same module. In performing these tests first half of the ports
  600.    are designated as "input ports" and half are designated as "output
  601.    ports".  These ports SHOULD be evenly distributed across the DUT
  602.    architecture. For example if a DUT has two interface cards each of
  603.    which has four ports, two ports on each interface card are designated
  604.    as input and two are designated as output.  The specified tests are
  605.    run using the same data rate being offered to each of the input
  606.    ports.  The addresses in the input data streams SHOULD be set so that
  607.    a frame will be directed to each of the output ports in sequence so
  608.    that all "output" ports will get an even distribution of packets from
  609.    this input.  The same configuration MAY be used to perform a
  610.    bidirectional multi-stream test.  In this case all of the ports are
  611.    considered both input and output ports and each data stream MUST
  612.    consist of frames addressed to all of the other ports.
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Bradner & McQuaid            Informational                     [Page 11]
  619.  
  620. RFC 2544                Benchmarking Methodology              March 1999
  621.  
  622.  
  623.    Consider the following 6 port DUT:
  624.  
  625.                               --------------
  626.                      ---------| in A  out X|--------
  627.                      ---------| in B  out Y|--------
  628.                      ---------| in C  out Z|--------
  629.                               --------------
  630.  
  631.    The addressing of the data streams for each of the inputs SHOULD be:
  632.  
  633.     stream sent to input A:
  634.       packet to out X, packet to out Y, packet to out Z
  635.     stream sent to input B:
  636.       packet to out X, packet to out Y, packet to out Z
  637.     stream sent to input C
  638.       packet to out X, packet to out Y, packet to out Z
  639.  
  640.    Note that these streams each follow the same sequence so that 3
  641.    packets will arrive at output X at the same time, then 3 packets at
  642.    Y, then 3 packets at Z. This procedure ensures that, as in the real
  643.    world, the DUT will have to deal with multiple packets addressed to
  644.    the same output at the same time.
  645.  
  646. 17. Multiple protocols
  647.  
  648.    This document does not address the issue of testing the effects of a
  649.    mixed protocol environment other than to suggest that if such tests
  650.    are wanted then frames SHOULD be distributed between all of the test
  651.    protocols.  The distribution MAY approximate the conditions on the
  652.    network in which the DUT would be used.
  653.  
  654. 18. Multiple frame sizes
  655.  
  656.    This document does not address the issue of testing the effects of a
  657.    mixed frame size environment other than to suggest that if such tests
  658.    are wanted then frames SHOULD be distributed between all of the
  659.    listed sizes for the protocol under test.  The distribution MAY
  660.    approximate the conditions on the network in which the DUT would be
  661.    used. The authors do not have any idea how the results of such a test
  662.    would be interpreted other than to directly compare multiple DUTs in
  663.    some very specific simulated network.
  664.  
  665. 19. Testing performance beyond a single DUT.
  666.  
  667.    In the performance testing of a single DUT, the paradigm can be
  668.    described as applying some input to a DUT and monitoring the output.
  669.    The results of which can be used to form a basis of characterization
  670.    of that device under those test conditions.
  671.  
  672.  
  673.  
  674. Bradner & McQuaid            Informational                     [Page 12]
  675.  
  676. RFC 2544                Benchmarking Methodology              March 1999
  677.  
  678.  
  679.    This model is useful when the test input and output are homogenous
  680.    (e.g., 64-byte IP, 802.3 frames into the DUT; 64 byte IP, 802.3
  681.    frames out), or the method of test can distinguish between dissimilar
  682.    input/output. (E.g., 1518 byte IP, 802.3 frames in; 576 byte,
  683.    fragmented IP, X.25 frames out.)
  684.  
  685.    By extending the single DUT test model, reasonable benchmarks
  686.    regarding multiple DUTs or heterogeneous environments may be
  687.    collected. In this extension, the single DUT is replaced by a system
  688.    of interconnected network DUTs. This test methodology would support
  689.    the benchmarking of a variety of device/media/service/protocol
  690.    combinations. For example, a configuration for a LAN-to-WAN-to-LAN
  691.    test might be:
  692.  
  693.    (1) 802.3-> DUT 1 -> X.25 @ 64kbps -> DUT 2 -> 802.3
  694.  
  695.    Or a mixed LAN configuration might be:
  696.  
  697.    (2) 802.3 -> DUT 1 -> FDDI -> DUT 2 -> FDDI -> DUT 3 -> 802.3
  698.  
  699.    In both examples 1 and 2, end-to-end benchmarks of each system could
  700.    be empirically ascertained. Other behavior may be characterized
  701.    through the use of intermediate devices. In example 2, the
  702.    configuration may be used to give an indication of the FDDI to FDDI
  703.    capability exhibited by DUT 2.
  704.  
  705.    Because multiple DUTs are treated as a single system, there are
  706.    limitations to this methodology. For instance, this methodology may
  707.    yield an aggregate benchmark for a tested system. That benchmark
  708.    alone, however, may not necessarily reflect asymmetries in behavior
  709.    between the DUTs, latencies introduce by other apparatus (e.g.,
  710.    CSUs/DSUs, switches), etc.
  711.  
  712.    Further, care must be used when comparing benchmarks of different
  713.    systems by ensuring that the DUTs' features/configuration of the
  714.    tested systems have the appropriate common denominators to allow
  715.    comparison.
  716.  
  717. 20. Maximum frame rate
  718.  
  719.    The maximum frame rates that should be used when testing LAN
  720.    connections SHOULD be the listed theoretical maximum rate for the
  721.    frame size on the media.
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Bradner & McQuaid            Informational                     [Page 13]
  731.  
  732. RFC 2544                Benchmarking Methodology              March 1999
  733.  
  734.  
  735.    The maximum frame rate that should be used when testing WAN
  736.    connections SHOULD be greater than the listed theoretical maximum
  737.    rate for the frame size on that speed connection.  The higher rate
  738.    for WAN tests is to compensate for the fact that some vendors employ
  739.    various forms of header compression.
  740.  
  741.    A list of maximum frame rates for LAN connections is included in
  742.    Appendix B.
  743.  
  744. 21. Bursty traffic
  745.  
  746.    It is convenient to measure the DUT performance under steady state
  747.    load but this is an unrealistic way to gauge the functioning of a DUT
  748.    since actual network traffic normally consists of bursts of frames.
  749.    Some of the tests described below SHOULD be performed with both
  750.    steady state traffic and with traffic consisting of repeated bursts
  751.    of frames.  The frames within a burst are transmitted with the
  752.    minimum legitimate inter-frame gap.
  753.  
  754.    The objective of the test is to determine the minimum interval
  755.    between bursts which the DUT can process with no frame loss. During
  756.    each test the number of frames in each burst is held constant and the
  757.    inter-burst interval varied.  Tests SHOULD be run with burst sizes of
  758.    16, 64, 256 and 1024 frames.
  759.  
  760. 22. Frames per token
  761.  
  762.    Although it is possible to configure some token ring and FDDI
  763.    interfaces to transmit more than one frame each time that the token
  764.    is received, most of the network devices currently available transmit
  765.    only one frame per token.  These tests SHOULD first be performed
  766.    while transmitting only one frame per token.
  767.  
  768.    Some current high-performance workstation servers do transmit more
  769.    than one frame per token on FDDI to maximize throughput.  Since this
  770.    may be a common feature in future workstations and servers,
  771.    interconnect devices with FDDI interfaces SHOULD be tested with 1, 4,
  772.    8, and 16 frames per token.  The reported frame rate SHOULD be the
  773.    average rate of frame transmission over the total trial period.
  774.  
  775. 23. Trial description
  776.  
  777.    A particular test consists of multiple trials.  Each trial returns
  778.    one piece of information, for example the loss rate at a particular
  779.    input frame rate.  Each trial consists of a number of phases:
  780.  
  781.    a) If the DUT is a router, send the routing update to the "input"
  782.    port and pause two seconds to be sure that the routing has settled.
  783.  
  784.  
  785.  
  786. Bradner & McQuaid            Informational                     [Page 14]
  787.  
  788. RFC 2544                Benchmarking Methodology              March 1999
  789.  
  790.  
  791.    b)  Send the "learning frames" to the "output" port and wait 2
  792.    seconds to be sure that the learning has settled.  Bridge learning
  793.    frames are frames with source addresses that are the same as the
  794.    destination addresses used by the test frames.  Learning frames for
  795.    other protocols are used to prime the address resolution tables in
  796.    the DUT.  The formats of the learning frame that should be used are
  797.    shown in the Test Frame Formats document.
  798.  
  799.    c) Run the test trial.
  800.  
  801.    d) Wait for two seconds for any residual frames to be received.
  802.  
  803.    e) Wait for at least five seconds for the DUT to restabilize.
  804.  
  805. 24. Trial duration
  806.  
  807.    The aim of these tests is to determine the rate continuously
  808.    supportable by the DUT.  The actual duration of the test trials must
  809.    be a compromise between this aim and the duration of the benchmarking
  810.    test suite.  The duration of the test portion of each trial SHOULD be
  811.    at least 60 seconds.  The tests that involve some form of "binary
  812.    search", for example the throughput test, to determine the exact
  813.    result MAY use a shorter trial duration to minimize the length of the
  814.    search procedure, but the final determination SHOULD be made with
  815.    full length trials.
  816.  
  817. 25. Address resolution
  818.  
  819.    The DUT SHOULD be able to respond to address resolution requests sent
  820.    by the DUT wherever the protocol requires such a process.
  821.  
  822. 26. Benchmarking tests:
  823.  
  824.    Note: The notation "type of data stream" refers to the above
  825.    modifications to a frame stream with a constant inter-frame gap, for
  826.    example, the addition of traffic filters to the configuration of the
  827.    DUT.
  828.  
  829. 26.1 Throughput
  830.  
  831.    Objective:  To determine the DUT throughput as defined in RFC 1242.
  832.  
  833.    Procedure:  Send a specific number of frames at a specific rate
  834.    through the DUT and then count the frames that are transmitted by the
  835.    DUT. If the count of offered frames is equal to the count of received
  836.    frames, the fewer frames are received than were transmitted, the rate
  837.    of the offered stream is reduced and the test is rerun.
  838.  
  839.  
  840.  
  841.  
  842. Bradner & McQuaid            Informational                     [Page 15]
  843.  
  844. RFC 2544                Benchmarking Methodology              March 1999
  845.  
  846.  
  847.    The throughput is the fastest rate at which the count of test frames
  848.    transmitted by the DUT is equal to the number of test frames sent to
  849.    it by the test equipment.
  850.  
  851.    Reporting format:  The results of the throughput test SHOULD be
  852.    reported in the form of a graph. If it is, the x coordinate SHOULD be
  853.    the frame size, the y coordinate SHOULD be the frame rate.  There
  854.    SHOULD be at least two lines on the graph.  There SHOULD be one line
  855.    showing the theoretical frame rate for the media at the various frame
  856.    sizes.  The second line SHOULD be the plot of the test results.
  857.    Additional lines MAY be used on the graph to report the results for
  858.    each type of data stream tested.  Text accompanying the graph SHOULD
  859.    indicate the protocol, data stream format, and type of media used in
  860.    the tests.
  861.  
  862.    We assume that if a single value is desired for advertising purposes
  863.    the vendor will select the rate for the minimum frame size for the
  864.    media. If this is done then the figure MUST be expressed in frames
  865.    per second.  The rate MAY also be expressed in bits (or bytes) per
  866.    second if the vendor so desires.  The statement of performance MUST
  867.    include a/ the measured maximum frame rate, b/ the size of the frame
  868.    used, c/ the theoretical limit of the media for that frame size, and
  869.    d/ the type of protocol used in the test.  Even if a single value is
  870.    used as part of the advertising copy, the full table of results
  871.    SHOULD be included in the product data sheet.
  872.  
  873. 26.2 Latency
  874.  
  875.    Objective:  To determine the latency as defined in RFC 1242.
  876.  
  877.    Procedure:  First determine the throughput for DUT at each of the
  878.    listed frame sizes. Send a stream of frames at a particular frame
  879.    size through the DUT at the determined throughput rate to a specific
  880.    destination.  The stream SHOULD be at least 120 seconds in duration.
  881.    An identifying tag SHOULD be included in one frame after 60 seconds
  882.    with the type of tag being implementation dependent. The time at
  883.    which this frame is fully transmitted is recorded (timestamp A).  The
  884.    receiver logic in the test equipment MUST recognize the tag
  885.    information in the frame stream and record the time at which the
  886.    tagged frame was received (timestamp B).
  887.  
  888.    The latency is timestamp B minus timestamp A as per the relevant
  889.    definition frm RFC 1242, namely latency as defined for store and
  890.    forward devices or latency as defined for bit forwarding devices.
  891.  
  892.    The test MUST be repeated at least 20 times with the reported value
  893.    being the average of the recorded values.
  894.  
  895.  
  896.  
  897.  
  898. Bradner & McQuaid            Informational                     [Page 16]
  899.  
  900. RFC 2544                Benchmarking Methodology              March 1999
  901.  
  902.  
  903.    This test SHOULD be performed with the test frame addressed to the
  904.    same destination as the rest of the data stream and also with each of
  905.    the test frames addressed to a new destination network.
  906.  
  907.    Reporting format:  The report MUST state which definition of latency
  908.    (from RFC 1242) was used for this test.  The latency results SHOULD
  909.    be reported in the format of a table with a row for each of the
  910.    tested frame sizes.  There SHOULD be columns for the frame size, the
  911.    rate at which the latency test was run for that frame size, for the
  912.    media types tested, and for the resultant latency values for each
  913.    type of data stream tested.
  914.  
  915. 26.3 Frame loss rate
  916.  
  917.    Objective:  To determine the frame loss rate, as defined in RFC 1242,
  918.    of a DUT throughout the entire range of input data rates and frame
  919.    sizes.
  920.  
  921.    Procedure:  Send a specific number of frames at a specific rate
  922.    through the DUT to be tested and count the frames that are
  923.    transmitted by the DUT.  The frame loss rate at each point is
  924.    calculated using the following equation:
  925.  
  926.           ( ( input_count - output_count ) * 100 ) / input_count
  927.  
  928.  
  929.    The first trial SHOULD be run for the frame rate that corresponds to
  930.    100% of the maximum rate for the frame size on the input media.
  931.    Repeat the procedure for the rate that corresponds to 90% of the
  932.    maximum rate used and then for 80% of this rate.  This sequence
  933.    SHOULD be continued (at reducing 10% intervals) until there are two
  934.    successive trials in which no frames are lost. The maximum
  935.    granularity of the trials MUST be 10% of the maximum rate, a finer
  936.    granularity is encouraged.
  937.  
  938.    Reporting format:  The results of the frame loss rate test SHOULD be
  939.    plotted as a graph.  If this is done then the X axis MUST be the
  940.    input frame rate as a percent of the theoretical rate for the media
  941.    at the specific frame size. The Y axis MUST be the percent loss at
  942.    the particular input rate.  The left end of the X axis and the bottom
  943.    of the Y axis MUST be 0 percent; the right end of the X axis and the
  944.    top of the Y axis MUST be 100 percent.  Multiple lines on the graph
  945.    MAY used to report the frame loss rate for different frame sizes,
  946.    protocols, and types of data streams.
  947.  
  948.    Note: See section 18 for the maximum frame rates that SHOULD be used.
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Bradner & McQuaid            Informational                     [Page 17]
  955.  
  956. RFC 2544                Benchmarking Methodology              March 1999
  957.  
  958.  
  959. 26.4 Back-to-back frames
  960.  
  961.    Objective:  To characterize the ability of a DUT to process back-to-
  962.    back frames as defined in RFC 1242.
  963.  
  964.    Procedure:  Send a burst of frames with minimum inter-frame gaps to
  965.    the DUT and count the number of frames forwarded by the DUT.  If the
  966.    count of transmitted frames is equal to the number of frames
  967.    forwarded the length of the burst is increased and the test is rerun.
  968.    If the number of forwarded frames is less than the number
  969.    transmitted, the length of the burst is reduced and the test is
  970.    rerun.
  971.  
  972.    The back-to-back value is the number of frames in the longest burst
  973.    that the DUT will handle without the loss of any frames.  The trial
  974.    length MUST be at least 2 seconds and SHOULD be repeated at least 50
  975.    times with the average of the recorded values being reported.
  976.  
  977.    Reporting format:  The back-to-back results SHOULD be reported in the
  978.    format of a table with a row for each of the tested frame sizes.
  979.    There SHOULD be columns for the frame size and for the resultant
  980.    average frame count for each type of data stream tested.  The
  981.    standard deviation for each measurement MAY also be reported.
  982.  
  983. 26.5 System recovery
  984.  
  985.    Objective:  To characterize the speed at which a DUT recovers from an
  986.    overload condition.
  987.  
  988.    Procedure:  First determine the throughput for a DUT at each of the
  989.    listed frame sizes.
  990.  
  991.    Send a stream of frames at a rate 110% of the recorded throughput
  992.    rate or the maximum rate for the media, whichever is lower, for at
  993.    least 60 seconds.  At Timestamp A reduce the frame rate to 50% of the
  994.    above rate and record the time of the last frame lost (Timestamp B).
  995.    The system recovery time is determined by subtracting Timestamp B
  996.    from Timestamp A.  The test SHOULD be repeated a number of times and
  997.    the average of the recorded values being reported.
  998.  
  999.    Reporting format:  The system recovery results SHOULD be reported in
  1000.    the format of a table with a row for each of the tested frame sizes.
  1001.    There SHOULD be columns for the frame size, the frame rate used as
  1002.    the throughput rate for each type of data stream tested, and for the
  1003.    measured recovery time for each type of data stream tested.
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Bradner & McQuaid            Informational                     [Page 18]
  1011.  
  1012. RFC 2544                Benchmarking Methodology              March 1999
  1013.  
  1014.  
  1015. 26.6 Reset
  1016.  
  1017.    Objective:  To characterize the speed at which a DUT recovers from a
  1018.    device or software reset.
  1019.  
  1020.    Procedure:  First determine the throughput for the DUT for the
  1021.    minimum frame size on the media used in the testing.
  1022.  
  1023.    Send a continuous stream of frames at the determined throughput rate
  1024.    for the minimum sized frames. Cause a reset in the DUT.  Monitor the
  1025.    output until frames begin to be forwarded and record the time that
  1026.    the last frame (Timestamp A) of the initial stream and the first
  1027.    frame of the new stream (Timestamp B) are received.  A power
  1028.    interruption reset test is performed as above except that the power
  1029.    to the DUT should be interrupted for 10 seconds in place of causing a
  1030.    reset.
  1031.  
  1032.    This test SHOULD only be run using frames addressed to networks
  1033.    directly connected to the DUT so that there is no requirement to
  1034.    delay until a routing update is received.
  1035.  
  1036.    The reset value is obtained by subtracting Timestamp A from Timestamp
  1037.    B.
  1038.  
  1039.    Hardware and software resets, as well as a power interruption SHOULD
  1040.    be tested.
  1041.  
  1042.    Reporting format:  The reset value SHOULD be reported in a simple set
  1043.    of statements, one for each reset type.
  1044.  
  1045. 27. Security Considerations
  1046.  
  1047.    Security issues are not addressed in this document.
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Bradner & McQuaid            Informational                     [Page 19]
  1067.  
  1068. RFC 2544                Benchmarking Methodology              March 1999
  1069.  
  1070.  
  1071. 28. Editors' Addresses
  1072.  
  1073.    Scott Bradner
  1074.    Harvard University
  1075.    1350 Mass. Ave, room 813
  1076.    Cambridge, MA 02138
  1077.  
  1078.    Phone: +1 617 495-3864
  1079.    Fax:   +1 617 496-8500
  1080.    EMail: sob@harvard.edu
  1081.  
  1082.  
  1083.    Jim McQuaid
  1084.    NetScout Systems
  1085.    4 Westford Tech Park Drive
  1086.    Westford, MA 01886
  1087.  
  1088.    Phone: +1 978 614-4116
  1089.    Fax:   +1 978 614-4004
  1090.    EMail: mcquaidj@netscout.com
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Bradner & McQuaid            Informational                     [Page 20]
  1123.  
  1124. RFC 2544                Benchmarking Methodology              March 1999
  1125.  
  1126.  
  1127. Appendix A: Testing Considerations
  1128.  
  1129. A.1 Scope Of This Appendix
  1130.  
  1131.    This appendix discusses certain issues in the benchmarking
  1132.    methodology where experience or judgment may play a role in the tests
  1133.    selected to be run or in the approach to constructing the test with a
  1134.    particular DUT.  As such, this appendix MUST not be read as an
  1135.    amendment to the methodology described in the body of this document
  1136.    but as a guide to testing practice.
  1137.  
  1138.    1. Typical testing practice has been to enable all protocols to be
  1139.       tested and conduct all testing with no further configuration of
  1140.       protocols, even though a given set of trials may exercise only one
  1141.       protocol at a time. This minimizes the opportunities to "tune" a
  1142.       DUT for a single protocol.
  1143.  
  1144.    2. The least common denominator of the available filter functions
  1145.       should be used to ensure that there is a basis for comparison
  1146.       between vendors. Because of product differences, those conducting
  1147.       and evaluating tests must make a judgment about this issue.
  1148.  
  1149.    3. Architectural considerations may need to be considered.  For
  1150.       example, first perform the tests with the stream going between
  1151.       ports on the same interface card and the repeat the tests with the
  1152.       stream going into a port on one interface card and out of a port
  1153.       on a second interface card. There will almost always be a best
  1154.       case and worst case configuration for a given DUT architecture.
  1155.  
  1156.    4. Testing done using traffic streams consisting of mixed protocols
  1157.       has not shown much difference between testing with individual
  1158.       protocols.  That is, if protocol A testing and protocol B testing
  1159.       give two different performance results, mixed protocol testing
  1160.       appears to give a result which is the average of the two.
  1161.  
  1162.    5. Wide Area Network (WAN) performance may be tested by setting up
  1163.       two identical devices connected by the appropriate short- haul
  1164.       versions of the WAN modems.  Performance is then measured between
  1165.       a LAN interface on one DUT to a LAN interface on the other DUT.
  1166.  
  1167.    The maximum frame rate to be used for LAN-WAN-LAN configurations is a
  1168.    judgment that can be based on known characteristics of the overall
  1169.    system including compression effects, fragmentation, and gross link
  1170.    speeds. Practice suggests that the rate should be at least 110% of
  1171.    the slowest link speed. Substantive issues of testing compression
  1172.    itself are beyond the scope of this document.
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Bradner & McQuaid            Informational                     [Page 21]
  1179.  
  1180. RFC 2544                Benchmarking Methodology              March 1999
  1181.  
  1182.  
  1183. Appendix B: Maximum frame rates reference
  1184.  
  1185.       (Provided by Roger Beeman, Cisco Systems)
  1186.  
  1187.         Size       Ethernet    16Mb Token Ring      FDDI
  1188.        (bytes)       (pps)           (pps)         (pps)
  1189.  
  1190.        64            14880           24691         152439
  1191.        128            8445           13793          85616
  1192.        256            4528            7326          45620
  1193.        512            2349            3780          23585
  1194.        768            1586            2547          15903
  1195.        1024           1197            1921          11996
  1196.        1280            961            1542           9630
  1197.        1518            812            1302           8138
  1198.  
  1199.       Ethernet size
  1200.        Preamble 64 bits
  1201.        Frame 8 x N bits
  1202.        Gap  96 bits
  1203.  
  1204.       16Mb Token Ring size
  1205.          SD               8 bits
  1206.          AC               8 bits
  1207.          FC               8 bits
  1208.          DA              48 bits
  1209.          SA              48 bits
  1210.          RI              48 bits ( 06 30 00 12 00 30 )
  1211.          SNAP
  1212.            DSAP           8 bits
  1213.            SSAP           8 bits
  1214.            Control        8 bits
  1215.            Vendor        24 bits
  1216.            Type          16 bits
  1217.          Data 8 x ( N - 18) bits
  1218.          FCS             32 bits
  1219.          ED               8 bits
  1220.          FS               8 bits
  1221.  
  1222.       Tokens or idles between packets are not included
  1223.  
  1224.       FDDI size
  1225.          Preamble        64 bits
  1226.          SD               8 bits
  1227.          FC               8 bits
  1228.          DA              48 bits
  1229.          SA              48 bits
  1230.          SNAP
  1231.  
  1232.  
  1233.  
  1234. Bradner & McQuaid            Informational                     [Page 22]
  1235.  
  1236. RFC 2544                Benchmarking Methodology              March 1999
  1237.  
  1238.  
  1239.            DSAP           8 bits
  1240.            SSAP           8 bits
  1241.            Control        8 bits
  1242.            Vendor        24 bits
  1243.            Type          16 bits
  1244.          Data 8 x ( N - 18) bits
  1245.          FCS             32 bits
  1246.          ED               4 bits
  1247.          FS              12 bits
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Bradner & McQuaid            Informational                     [Page 23]
  1291.  
  1292. RFC 2544                Benchmarking Methodology              March 1999
  1293.  
  1294.  
  1295. Appendix C: Test Frame Formats
  1296.  
  1297.    This appendix defines the frame formats that may be used with these
  1298.    tests.  It also includes protocol specific parameters for TCP/IP over
  1299.    Ethernet to be used with the tests as an example.
  1300.  
  1301. C.1. Introduction
  1302.  
  1303.    The general logic used in the selection of the parameters and the
  1304.    design of the frame formats is explained for each case within the
  1305.    TCP/IP section.  The same logic has been used in the other sections.
  1306.    Comments are used in these sections only if there is a protocol
  1307.    specific feature to be explained.  Parameters and frame formats for
  1308.    additional protocols can be defined by the reader by using the same
  1309.    logic.
  1310.  
  1311. C.2. TCP/IP Information
  1312.  
  1313.    The following section deals with the TCP/IP protocol suite.
  1314.  
  1315. C.2.1 Frame Type.
  1316.  
  1317.    An application level datagram echo request is used for the test data
  1318.    frame in the protocols that support such a function.  A datagram
  1319.    protocol is used to minimize the chance that a router might expect a
  1320.    specific session initialization sequence, as might be the case for a
  1321.    reliable stream protocol. A specific defined protocol is used because
  1322.    some routers verify the protocol field and refuse to forward unknown
  1323.    protocols.
  1324.  
  1325.    For TCP/IP a UDP Echo Request is used.
  1326.  
  1327. C.2.2 Protocol Addresses
  1328.  
  1329.    Two sets of addresses must be defined: first the addresses assigned
  1330.    to the router ports, and second the address that are to be used in
  1331.    the frames themselves and in the routing updates.
  1332.  
  1333.    The network addresses 192.18.0.0 through 198.19.255.255 are have been
  1334.    assigned to the BMWG by the IANA for this purpose.  This assignment
  1335.    was made to minimize the chance of conflict in case a testing device
  1336.    were to be accidentally connected to part of the Internet.  The
  1337.    specific use of the addresses is detailed below.
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Bradner & McQuaid            Informational                     [Page 24]
  1347.  
  1348. RFC 2544                Benchmarking Methodology              March 1999
  1349.  
  1350.  
  1351. C.2.2.1 Router port protocol addresses
  1352.  
  1353.    Half of the ports on a multi-port router are referred to as "input"
  1354.    ports and the other half as "output" ports even though some of the
  1355.    tests use all ports both as input and output.  A contiguous series of
  1356.    IP Class C network addresses from 198.18.1.0 to 198.18.64.0 have been
  1357.    assigned for use on the "input" ports.  A second series from
  1358.    198.19.1.0 to 198.19.64.0 have been assigned for use on the "output"
  1359.    ports. In all cases the router port is node 1 on the appropriate
  1360.    network.  For example, a two port DUT would have an IP address of
  1361.    198.18.1.1 on one port and 198.19.1.1 on the other port.
  1362.  
  1363.    Some of the tests described in the methodology memo make use of an
  1364.    SNMP management connection to the DUT.  The management access address
  1365.    for the DUT is assumed to be the first of the "input" ports
  1366.    (198.18.1.1).
  1367.  
  1368. C.2.2.2 Frame addresses
  1369.  
  1370.    Some of the described tests assume adjacent network routing (the
  1371.    reboot time test for example).  The IP address used in the test frame
  1372.    is that of node 2 on the appropriate Class C network. (198.19.1.2 for
  1373.    example)
  1374.  
  1375.    If the test involves non-adjacent network routing the phantom routers
  1376.    are located at node 10 of each of the appropriate Class C networks.
  1377.    A series of Class C network addresses from 198.18.65.0 to
  1378.    198.18.254.0 has been assigned for use as the networks accessible
  1379.    through the phantom routers on the "input" side of DUT.  The series
  1380.    of Class C networks from 198.19.65.0 to 198.19.254.0 have been
  1381.    assigned to be used as the networks visible through the phantom
  1382.    routers on the "output" side of the DUT.
  1383.  
  1384. C.2.3 Routing Update Frequency
  1385.  
  1386.    The update interval for each routing protocol is may have to be
  1387.    determined by the specifications of the individual protocol.  For IP
  1388.    RIP, Cisco IGRP and for OSPF a routing update frame or frames should
  1389.    precede each stream of test frames by 5 seconds.  This frequency is
  1390.    sufficient for trial durations of up to 60 seconds.  Routing updates
  1391.    must be mixed with the stream of test frames if longer trial periods
  1392.    are selected.  The frequency of updates should be taken from the
  1393.    following table.
  1394.  
  1395.           IP-RIP  30 sec
  1396.           IGRP  90 sec
  1397.           OSPF  90 sec
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Bradner & McQuaid            Informational                     [Page 25]
  1403.  
  1404. RFC 2544                Benchmarking Methodology              March 1999
  1405.  
  1406.  
  1407. C.2.4 Frame Formats - detailed discussion
  1408.  
  1409. C.2.4.1 Learning Frame
  1410.  
  1411.    In most protocols a procedure is used to determine the mapping
  1412.    between the protocol node address and the MAC address.  The Address
  1413.    Resolution Protocol (ARP) is used to perform this function in TCP/IP.
  1414.    No such procedure is required in XNS or IPX because the MAC address
  1415.    is used as the protocol node address.
  1416.  
  1417.    In the ideal case the tester would be able to respond to ARP requests
  1418.    from the DUT.  In cases where this is not possible an ARP request
  1419.    should be sent to the router's "output" port.  This request should be
  1420.    seen as coming from the immediate destination of the test frame
  1421.    stream. (i.e. the phantom router (Figure 2) or the end node if
  1422.    adjacent network routing is being used.) It is assumed that the
  1423.    router will cache the MAC address of the requesting device.  The ARP
  1424.    request should be sent 5 seconds before the test frame stream starts
  1425.    in each trial.  Trial lengths of longer than 50 seconds may require
  1426.    that the router be configured for an extended ARP timeout.
  1427.  
  1428.                       +--------+            +------------+
  1429.                       |        |            |  phantom   |------ P LAN
  1430.          A
  1431.             IN A------|   DUT  |------------|            |------ P LAN
  1432.          B
  1433.                       |        |   OUT A    |  router    |------ P LAN
  1434.          C
  1435.                       +--------+            +------------+
  1436.  
  1437.                                  Figure 2
  1438.  
  1439.            In the case where full routing is being used
  1440.  
  1441. C.2.4.2 Routing Update Frame
  1442.  
  1443.    If the test does not involve adjacent net routing the tester must
  1444.    supply proper routing information using a routing update.  A single
  1445.    routing update is used before each trial on each "destination" port
  1446.    (see section C.24).  This update includes the network addresses that
  1447.    are reachable through a phantom router on the network attached to the
  1448.    port.  For a full mesh test, one destination network address is
  1449.    present in the routing update for each of the "input" ports.  The
  1450.    test stream on each "input" port consists of a repeating sequence of
  1451.    frames, one to each of the "output" ports.
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458. Bradner & McQuaid            Informational                     [Page 26]
  1459.  
  1460. RFC 2544                Benchmarking Methodology              March 1999
  1461.  
  1462.  
  1463. C.2.4.3 Management Query Frame
  1464.  
  1465.    The management overhead test uses SNMP to query a set of variables
  1466.    that should be present in all DUTs that support SNMP.  The variables
  1467.    for a single interface only are read by an NMS at the appropriate
  1468.    intervals.  The list of variables to retrieve follow:
  1469.  
  1470.              sysUpTime
  1471.              ifInOctets
  1472.              ifOutOctets
  1473.              ifInUcastPkts
  1474.              ifOutUcastPkts
  1475.  
  1476. C.2.4.4 Test Frames
  1477.  
  1478.    The test frame is an UDP Echo Request with enough data to fill out
  1479.    the required frame size.  The data should not be all bits off or all
  1480.    bits on since these patters can cause a "bit stuffing" process to be
  1481.    used to maintain clock synchronization on WAN links.  This process
  1482.    will result in a longer frame than was intended.
  1483.  
  1484. C.2.4.5 Frame Formats - TCP/IP on Ethernet
  1485.  
  1486.    Each of the frames below are described for the 1st pair of DUT ports,
  1487.    i.e. "input" port #1 and "output" port #1.  Addresses must be changed
  1488.    if the frame is to be used for other ports.
  1489.  
  1490. C.2.6.1 Learning Frame
  1491.  
  1492.           ARP Request on Ethernet
  1493.  
  1494.           -- DATAGRAM HEADER
  1495.           offset data (hex)            description
  1496.           00     FF FF FF FF FF FF     dest MAC address send to
  1497.          broadcast address
  1498.           06     xx xx xx xx xx xx     set to source MAC address
  1499.           12     08 06                 ARP type
  1500.           14     00 01                 hardware type Ethernet = 1
  1501.           16     08 00                 protocol type IP = 800
  1502.           18     06                    hardware address length 48 bits
  1503.          on Ethernet
  1504.           19     04                    protocol address length 4 octets
  1505.          for IP
  1506.           20     00 01                 opcode request = 1
  1507.           22     xx xx xx xx xx xx     source MAC address
  1508.           28     xx xx xx xx           source IP address
  1509.           32     FF FF FF FF FF FF     requesting DUT's MAC address
  1510.           38     xx xx xx xx           DUT's IP address
  1511.  
  1512.  
  1513.  
  1514. Bradner & McQuaid            Informational                     [Page 27]
  1515.  
  1516. RFC 2544                Benchmarking Methodology              March 1999
  1517.  
  1518.  
  1519. C.2.6.2 Routing Update Frame
  1520.  
  1521.           -- DATAGRAM HEADER
  1522.           offset data (hex)            description
  1523.           00     FF FF FF FF FF FF     dest MAC address is broadcast
  1524.           06     xx xx xx xx xx xx     source hardware address
  1525.           12     08 00                 type
  1526.  
  1527.           -- IP HEADER
  1528.           14     45                    IP version - 4, header length (4
  1529.          byte units) - 5
  1530.           15     00                    service field
  1531.           16     00 EE                 total length
  1532.           18     00 00                 ID
  1533.           20     40 00                 flags (3 bits) 4 (do not
  1534.          fragment),
  1535.                                        fragment offset-0
  1536.           22     0A                    TTL
  1537.           23     11                    protocol - 17 (UDP)
  1538.           24     C4 8D                 header checksum
  1539.           26     xx xx xx xx           source IP address
  1540.           30     xx xx xx              destination IP address
  1541.           33     FF                    host part = FF for broadcast
  1542.  
  1543.           -- UDP HEADER
  1544.           34     02 08                 source port 208 = RIP
  1545.           36     02 08                 destination port 208 = RIP
  1546.           38     00 DA                 UDP message length
  1547.           40     00 00                 UDP checksum
  1548.  
  1549.           -- RIP packet
  1550.           42     02                  command = response
  1551.           43     01                  version = 1
  1552.           44     00 00               0
  1553.  
  1554.           -- net 1
  1555.           46     00 02               family = IP
  1556.           48     00 00               0
  1557.           50     xx xx xx            net 1 IP address
  1558.           53     00                  net not node
  1559.           54     00 00 00 00         0
  1560.           58     00 00 00 00         0
  1561.           62     00 00 00 07         metric 7
  1562.  
  1563.           -- net 2
  1564.           66     00 02               family = IP
  1565.           68     00 00               0
  1566.           70     xx xx xx            net 2 IP address
  1567.  
  1568.  
  1569.  
  1570. Bradner & McQuaid            Informational                     [Page 28]
  1571.  
  1572. RFC 2544                Benchmarking Methodology              March 1999
  1573.  
  1574.  
  1575.           73     00                  net not node
  1576.           74     00 00 00 00         0
  1577.           78     00 00 00 00         0
  1578.           82     00 00 00 07         metric 7
  1579.  
  1580.           -- net 3
  1581.           86     00 02               family = IP
  1582.           88     00 00               0
  1583.           90     xx xx xx            net 3 IP address
  1584.           93     00                  net not node
  1585.           94     00 00 00 00         0
  1586.           98     00 00 00 00         0
  1587.           102    00 00 00 07         metric 7
  1588.  
  1589.           -- net 4
  1590.           106    00 02               family = IP
  1591.           108    00 00               0
  1592.           110    xx xx xx            net 4 IP address
  1593.           113    00                  net not node
  1594.           114    00 00 00 00         0
  1595.           118    00 00 00 00         0
  1596.           122    00 00 00 07         metric 7
  1597.  
  1598.           -- net 5
  1599.           126    00 02               family = IP
  1600.           128    00 00               0
  1601.           130    00                  net 5 IP address
  1602.           133    00                  net not node
  1603.           134    00 00 00 00         0
  1604.           138    00 00 00 00         0
  1605.           142    00 00 00 07         metric 7
  1606.  
  1607.           -- net 6
  1608.           146    00 02               family = IP
  1609.           148    00 00               0
  1610.           150    xx xx xx            net 6 IP address
  1611.           153    00                  net not node
  1612.           154    00 00 00 00         0
  1613.           158    00 00 00 00         0
  1614.           162    00 00 00 07         metric 7
  1615.  
  1616. C.2.4.6 Management Query Frame
  1617.  
  1618.    To be defined.
  1619.  
  1620. C.2.6.4 Test Frames
  1621.  
  1622.    UDP echo request on Ethernet
  1623.  
  1624.  
  1625.  
  1626. Bradner & McQuaid            Informational                     [Page 29]
  1627.  
  1628. RFC 2544                Benchmarking Methodology              March 1999
  1629.  
  1630.  
  1631.           -- DATAGRAM HEADER
  1632.           offset data (hex)            description
  1633.           00     xx xx xx xx xx xx     set to dest MAC address
  1634.           06     xx xx xx xx xx xx     set to source MAC address
  1635.           12     08 00                 type
  1636.  
  1637.           -- IP HEADER
  1638.           14     45                    IP version - 4 header length 5 4
  1639.          byte units
  1640.           15     00                    TOS
  1641.           16     00 2E                 total length*
  1642.           18     00 00                 ID
  1643.           20     00 00                 flags (3 bits) - 0 fragment
  1644.          offset-0
  1645.           22     0A                    TTL
  1646.           23     11                    protocol - 17 (UDP)
  1647.           24     C4 8D                 header checksum*
  1648.           26     xx xx xx xx           set to source IP address**
  1649.           30     xx xx xx xx           set to destination IP address**
  1650.  
  1651.           -- UDP HEADER
  1652.           34     C0 20                 source port
  1653.           36     00 07                 destination port 07 = Echo
  1654.           38     00 1A                 UDP message length*
  1655.           40     00 00                 UDP checksum
  1656.  
  1657.           -- UDP DATA
  1658.           42     00 01 02 03 04 05 06 07    some data***
  1659.           50     08 09 0A 0B 0C 0D 0E 0F
  1660.  
  1661.          * - change for different length frames
  1662.  
  1663.          ** - change for different logical streams
  1664.  
  1665.          *** - fill remainder of frame with incrementing octets,
  1666.          repeated if required by frame length
  1667.  
  1668.    Values to be used in Total Length and UDP message length fields:
  1669.  
  1670.           frame size   total length  UDP message length
  1671.              64            00 2E          00 1A
  1672.              128           00 6E          00 5A
  1673.              256           00 EE          00 9A
  1674.              512           01 EE          01 9A
  1675.              768           02 EE          02 9A
  1676.              1024          03 EE          03 9A
  1677.              1280          04 EE          04 9A
  1678.              1518          05 DC          05 C8
  1679.  
  1680.  
  1681.  
  1682. Bradner & McQuaid            Informational                     [Page 30]
  1683.  
  1684. RFC 2544                Benchmarking Methodology              March 1999
  1685.  
  1686.  
  1687. Full Copyright Statement
  1688.  
  1689.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  1690.  
  1691.    This document and translations of it may be copied and furnished to
  1692.    others, and derivative works that comment on or otherwise explain it
  1693.    or assist in its implementation may be prepared, copied, published
  1694.    and distributed, in whole or in part, without restriction of any
  1695.    kind, provided that the above copyright notice and this paragraph are
  1696.    included on all such copies and derivative works.  However, this
  1697.    document itself may not be modified in any way, such as by removing
  1698.    the copyright notice or references to the Internet Society or other
  1699.    Internet organizations, except as needed for the purpose of
  1700.    developing Internet standards in which case the procedures for
  1701.    copyrights defined in the Internet Standards process must be
  1702.    followed, or as required to translate it into languages other than
  1703.    English.
  1704.  
  1705.    The limited permissions granted above are perpetual and will not be
  1706.    revoked by the Internet Society or its successors or assigns.
  1707.  
  1708.    This document and the information contained herein is provided on an
  1709.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  1710.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  1711.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  1712.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  1713.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738. Bradner & McQuaid            Informational                     [Page 31]
  1739.  
  1740.