draft-ietf-bmwg-mswitch-02.txt   draft-ietf-bmwg-mswitch-03.txt 
Network Working Group R. Mandeville Network Working Group R. Mandeville
Internet-Draft European Network Laboratories Internet-Draft European Network Laboratories
Expiration Date: May 2000 J. Perser Expiration Date: September 2000 J. Perser
Netcom Systems Netcom Systems
November 1999 March 2000
Benchmarking Methodology for LAN Switching Devices Benchmarking Methodology for LAN Switching Devices
<draft-ietf-bmwg-mswitch-02.txt> <draft-ietf-bmwg-mswitch-03.txt>
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 5, line 18 skipping to change at page 5, line 18
5.1.3 Procedure 5.1.3 Procedure
All ports on the tester MUST transmit test frames either in a Frame All ports on the tester MUST transmit test frames either in a Frame
Based or Time Based mode (Appendix B). All ports SHOULD start Based or Time Based mode (Appendix B). All ports SHOULD start
transmitting their frames within 1% of the trial duration. For a transmitting their frames within 1% of the trial duration. For a
trial duration of 30 seconds, all ports SHOULD have started trial duration of 30 seconds, all ports SHOULD have started
transmitting frames within 300 milliseconds of each other. transmitting frames within 300 milliseconds of each other.
Each port in the test MUST send test frames to all other ports in a Each port in the test MUST send test frames to all other ports in a
round robin type fashion. The sequence of addresses MUST NOT change round robin type fashion. The sequence of addresses MUST NOT change
when backpressure is applied. The following table shows how each when congestion control is applied. The following table shows how
port in a test MUST transmit test frames to all other ports in the each port in a test MUST transmit test frames to all other ports in
test. In this example, there are six ports with 1 address per port: the test. In this example, there are six ports with 1 address per
port:
Source Port Destination Ports (in order of transmission) Source Port Destination Ports (in order of transmission)
Port #1 2 3 4 5 6 2... Port #1 2 3 4 5 6 2...
Port #2 3 4 5 6 1 3... Port #2 3 4 5 6 1 3...
Port #3 4 5 6 1 2 4... Port #3 4 5 6 1 2 4...
Port #4 5 6 1 2 3 5... Port #4 5 6 1 2 3 5...
Port #5 6 1 2 3 4 6... Port #5 6 1 2 3 4 6...
Port #6 1 2 3 4 5 1... Port #6 1 2 3 4 5 1...
skipping to change at page 11, line 5 skipping to change at page 11, line 5
[1]. [1].
Addresses per port - Represents the number of addresses which Addresses per port - Represents the number of addresses which
are being tested for each port. Number of addresses SHOULD be a are being tested for each port. Number of addresses SHOULD be a
binary exponential (i.e. 1, 2, 4, 8, 16, 32, 64, 128, 256, ...). binary exponential (i.e. 1, 2, 4, 8, 16, 32, 64, 128, 256, ...).
Recommended value is 1. Recommended value is 1.
Trial Duration - The recommended Trial Duration is 30 seconds. Trial Duration - The recommended Trial Duration is 30 seconds.
Trial duration SHOULD be adjustable between 1 and 300 seconds. Trial duration SHOULD be adjustable between 1 and 300 seconds.
Local Traffic - A Boolean value of ON or OFF. The frame Local Traffic - A Boolean value of ON or OFF. The frame sequence
sequence
algorithm MAY be altered to remove local traffic. With local algorithm MAY be altered to remove local traffic. With local
traffic ON, the algorithm is exactly the same as a fully meshed traffic ON, the algorithm is exactly the same as a fully meshed
throughput. With local traffic OFF, the port sends frames to all throughput. With local traffic OFF, the port sends frames to all
other ports on the other side of the backbone uplink in a round other ports on the other side of the backbone uplink in a round
robin type fashion. robin type fashion.
5.3.3 Procedure 5.3.3 Procedure
All ports on the tester MUST transmit test frames either in a Frame All ports on the tester MUST transmit test frames either in a Frame
Based or Time Based mode (Appendix B). All ports SHOULD start Based or Time Based mode (Appendix B). All ports SHOULD start
skipping to change at page 14, line 24 skipping to change at page 14, line 24
of traffic. of traffic.
All ports on the tester MUST transmit test frames either in a Frame All ports on the tester MUST transmit test frames either in a Frame
Based or Time Based mode (Appendix B). All ports SHOULD start Based or Time Based mode (Appendix B). All ports SHOULD start
transmitting their frames within 1% of the trial duration. For a transmitting their frames within 1% of the trial duration. For a
trial duration of 30 seconds, all ports SHOULD have started trial duration of 30 seconds, all ports SHOULD have started
transmitting frames with 300 milliseconds of each other. transmitting frames with 300 milliseconds of each other.
Each transmitting port in the test MUST send frames to all receiving Each transmitting port in the test MUST send frames to all receiving
ports in a round robin type fashion. The sequence of addresses MUST ports in a round robin type fashion. The sequence of addresses MUST
NOT change when backpressure is applied. The following table shows NOT change when congestion control is applied. The following table
how each port in a test MUST transmit test frames to all other ports shows how each port in a test MUST transmit test frames to all other
in the test. In this 8 port example, port 1 through 4 are ports in the test. In this 8 port example, port 1 through 4 are
transmitting and ports 5 through 8 are receiving; each with 1 address transmitting and ports 5 through 8 are receiving; each with 1 address
per port: per port:
Source Port, then Destination Ports (in order of transmission) Source Port, then Destination Ports (in order of transmission)
Port #1 5 6 7 8 5 6... Port #1 5 6 7 8 5 6...
Port #2 6 7 8 5 6 7... Port #2 6 7 8 5 6 7...
Port #3 7 8 5 6 7 8... Port #3 7 8 5 6 7 8...
Port #4 8 5 6 7 8 5... Port #4 8 5 6 7 8 5...
skipping to change at page 16, line 22 skipping to change at page 16, line 22
To measure the DUT/SUT's ability to switch traffic while performing To measure the DUT/SUT's ability to switch traffic while performing
many different address lookups, the number of addresses per port many different address lookups, the number of addresses per port
MAY be increased in a series of tests. MAY be increased in a series of tests.
5.5 Congestion Control 5.5 Congestion Control
5.5.1 Objective 5.5.1 Objective
To determine how a DUT handles congestion. Does the device implement To determine how a DUT handles congestion. Does the device implement
back pressure (congestion control) and does congestion on one port congestion control and does congestion on one port affect an
affect an uncongested port. This procedure determines if Head of uncongested port. This procedure determines if Head of Line Blocking
Line Blocking and/or Backpressure are present. and/or Backpressure are present.
5.5.2 Setup Parameters 5.5.2 Setup Parameters
The following parameters MUST be defined. Each variable is The following parameters MUST be defined. Each variable is
configured with the following considerations. configured with the following considerations.
Frame Size - Recommended frame sizes are 64, 128, 256, 512, 1024, Frame Size - Recommended frame sizes are 64, 128, 256, 512, 1024,
1280 and 1518 bytes, per RFC 2544 section 9 [3]. The four CRC 1280 and 1518 bytes, per RFC 2544 section 9 [3]. The four CRC
bytes are included in the frame size specified. bytes are included in the frame size specified.
skipping to change at page 17, line 7 skipping to change at page 17, line 7
Addresses per port - Represents the number of addresses which Addresses per port - Represents the number of addresses which
are being tested for each port. Number of addresses SHOULD be a are being tested for each port. Number of addresses SHOULD be a
binary exponential (i.e. 1, 2, 4, 8, 16, 32, 64, 128, 256, ...). binary exponential (i.e. 1, 2, 4, 8, 16, 32, 64, 128, 256, ...).
Recommended value is 1. Recommended value is 1.
Trial Duration - The recommended Trial Duration is 30 seconds. Trial Duration - The recommended Trial Duration is 30 seconds.
Trial duration SHOULD be adjustable between 1 and 300 seconds. Trial duration SHOULD be adjustable between 1 and 300 seconds.
5.5.3 Procedure 5.5.3 Procedure
This test MUST consist of a multiple of four ports. Four ports are This test MUST consist of a multiple of four ports with the same MOL.
REQUIRED and MAY be expanded to fully utilize the DUT/SUT in Four ports are REQUIRED and MAY be expanded to fully utilize the
increments of four. Each group of four will contain a test block DUT/SUT in increments of four. Each group of four will contain a
with two of the ports as source transmitters and two of the ports as test block with two of the ports as source transmitters and two of
receivers. The diagram below depicts the flow of traffic between the the ports as receivers. The diagram below depicts the flow of traffic
switch ports: between the switch ports:
+----------+ 50 % MOL +-------------+ +----------+ 50 % MOL +-------------+
| | ------------------------> | | | | ------------------------> | |
| | 50 % MOL | uncongested | | | 50 % MOL | uncongested |
| | --------- | | | | --------- | |
+----------+ \ +-------------+ +----------+ \ +-------------+
\ \
\ \
\ \
+----------+ \ +-------------+ +----------+ \ +-------------+
skipping to change at page 18, line 34 skipping to change at page 18, line 34
Forwarding rate (FR) of the DUT/SUT's congested and uncongested ports Forwarding rate (FR) of the DUT/SUT's congested and uncongested ports
MUST be reported as the number of test frames per second that the MUST be reported as the number of test frames per second that the
device is observed to successfully transmit to the correct device is observed to successfully transmit to the correct
destination interface in response to a specified offered load. The destination interface in response to a specified offered load. The
offered load MUST also be cited. offered load MUST also be cited.
5.5.5 Reporting format 5.5.5 Reporting format
This test MUST report the frame lost rate at the uncongested port, This test MUST report the frame lost rate at the uncongested port,
the maximum forwarding rate (at 50% offered load) at the uncongested the forwarding rate (at 50% offered load) at the uncongested port,
port, and the frame lost rate at the congested port. This test MAY and the frame lost rate at the congested port. This test MAY report
report the frame counts transmitted and frame counts received by the the frame counts transmitted and frame counts received by the
DUT/SUT. DUT/SUT.
5.5.5.1 HOLB 5.5.5.1 HOLB
If there is frame loss at the uncongested port, "Head of Line" If there is frame loss at the uncongested port, "Head of Line"
blocking is present. The DUT cannot forward the amount of traffic to blocking is present. The DUT cannot forward the amount of traffic to
the congested port and as a result it is also losing frames destined the congested port and as a result it is also losing frames destined
to the uncongested port. to the uncongested port.
5.5.5.2 Back Pressure 5.5.5.2 Back Pressure
skipping to change at page 19, line 49 skipping to change at page 19, line 49
Frame Size - Recommended frame sizes are 64, 128, 256, 512, 1024, Frame Size - Recommended frame sizes are 64, 128, 256, 512, 1024,
1280 and 1518 bytes, per RFC 2544 section 9 [3]. The four CRC 1280 and 1518 bytes, per RFC 2544 section 9 [3]. The four CRC
bytes are included in the frame size specified. bytes are included in the frame size specified.
Duplex mode - Half duplex or full duplex. Duplex mode - Half duplex or full duplex.
Trial Duration - The recommended Trial Duration is 30 seconds. Trial Duration - The recommended Trial Duration is 30 seconds.
Trial duration SHOULD be adjustable between 1 and 300 seconds. Trial duration SHOULD be adjustable between 1 and 300 seconds.
Step Size - The minimum incremental resolution that the Iload Step Size - The minimum incremental resolution that the Iload will
will
be incremented in frames per second. The smaller the step size, be incremented in frames per second. The smaller the step size,
the more accurate the measurement and the more iterations the more accurate the measurement and the more iterations
required. As the Iload approaches the MOL, the minimum step size required. As the Iload approaches the MOL, the minimum step size
will increase because of gap resolution on the testing device. will increase because of gap resolution on the testing device.
5.6.3 Procedure 5.6.3 Procedure
5.6.3.1 Maximum forwarding rate 5.6.3.1 Maximum forwarding rate
If the Throughput [1] and the MOL [2] are the same, then MFR [2] If the Throughput [1] and the MOL [2] are the same, then MFR [2]
skipping to change at page 23, line 20 skipping to change at page 23, line 20
VARIABLE VARIABLE
LOW := 0; {Highest passed valve} LOW := 0; {Highest passed valve}
HIGH := MAX; {Lowest failed value} HIGH := MAX; {Lowest failed value}
N := ...; {user specified initial starting point} N := ...; {user specified initial starting point}
BEGIN BEGIN
DO DO
BEGIN BEGIN
PAUSE(AGE); {Age out any learned addresses} PAUSE(AGE); {Age out any learned addresses}
AddressLearning(TPort); {broadcast a frame with its source AddressLearning(TPort); {broadcast a frame with its source
Address and broadcast destination} Address and broadcast destination}
AddressLearning(LPort); {N frames with varying source AddressLearning(LPort); {N frames with varying source addresses
addresses
to Test Port} to Test Port}
Transmit(TPort); {N frames with varying destination addresses Transmit(TPort); {N frames with varying destination addresses
corresponding to Learning Port} corresponding to Learning Port}
IF (MPort receive frame != 0) OR IF (MPort receive frame != 0) OR
(LPort receive frames < TPort transmit) THEN (LPort receive frames < TPort transmit) THEN
BEGIN {Address Table of DUT/SUT was full} BEGIN {Address Table of DUT/SUT was full}
HIGH := N; HIGH := N;
END END
ELSE ELSE
BEGIN {Address Table of DUT/SUT was NOT full} BEGIN {Address Table of DUT/SUT was NOT full}
skipping to change at page 29, line 43 skipping to change at page 29, line 43
7. References 7. References
[1] Bradner, S., Editor, "Benchmarking Terminology for Network [1] Bradner, S., Editor, "Benchmarking Terminology for Network
Interconnection Devices", RFC 1242, July 1991. Interconnection Devices", RFC 1242, July 1991.
[2] Mandeville, R., Editor, "Benchmarking Terminology for LAN [2] Mandeville, R., Editor, "Benchmarking Terminology for LAN
Switching Devices", RFC 2285, February 1998. Switching Devices", RFC 2285, February 1998.
[3] Bradner, S., Editor, "Benchmarking Methodology for Network [3] Bradner, S., Editor, "Benchmarking Methodology for Network
Interconnect Devices", RFC 2544, March 1999. Interconnect Devices", RFC 2544, March 2000.
[4] ANSI/IEEE, "CSMA/CD Access Method and Physical Layer [4] ANSI/IEEE, "CSMA/CD Access Method and Physical Layer
Specifications," ISO/IEC 8802-3, ISBN 0-7381-0330-6, 1998. Specifications," ISO/IEC 8802-3, ISBN 0-7381-0330-6, 1998.
[5] IEEE Draft, "Frame Extensions for Virtual Bridged Local Area [5] IEEE Draft, "Frame Extensions for Virtual Bridged Local Area
Networks (VLAN) Tagging on 802.3 Networks", 802.3ac/D3.1, Networks (VLAN) Tagging on 802.3 Networks", 802.3ac/D3.1,
July 1998. July 1998.
8. Authors' Address 8. Authors' Address
skipping to change at page 30, line 18 skipping to change at page 30, line 18
European Network Laboratories (ENL) European Network Laboratories (ENL)
2, rue Helene Boucher 2, rue Helene Boucher
87286 Guyancourt Cedex 87286 Guyancourt Cedex
France France
Phone: + 33 1 39 44 12 05 Phone: + 33 1 39 44 12 05
EMail: bob@enl.net EMail: bob@enl.net
Jerry Perser Jerry Perser
Netcom Systems Netcom Systems
20550 Nordhoff St. 26750 Agoura Road
Chatsworth, CA 91311 Calabasas, CA 91302
USA USA
Phone: + 1 818 700 5100 Phone: + 1 818 676 2300
Email: jerry_perser@netcomsystems.com Email: jerry_perser@netcomsystems.com
Appendix A: Formulas Appendix A: Formulas
A.1 Calculating the InterBurst Gap A.1 Calculating the InterBurst Gap
IBG is defined in RFC 2285 [2] as the interval between two bursts. IBG is defined in RFC 2285 [2] as the interval between two bursts.
To achieve a desired load, the follow Input Parameter need to be To achieve a desired load, the following Input Parameter need to be
defined: defined:
LENGTH - Frame size in bytes including the CRC. LENGTH - Frame size in bytes including the CRC.
LOAD - The intended load in percent. Range is 0 to 100. LOAD - The intended load in percent. Range is 0 to 100.
BURST - The number of frames in the burst (integer value). BURST - The number of frames in the burst (integer value).
SPEED - media's speed in bits/sec SPEED - media's speed in bits/sec
Ethernet is 10,000,000 bits/sec Ethernet is 10,000,000 bits/sec
skipping to change at page 31, line 34 skipping to change at page 31, line 34
IFG - A constant 96 bits for the minimum interframe gap. IFG - A constant 96 bits for the minimum interframe gap.
The IBG (in seconds) can be calculated: The IBG (in seconds) can be calculated:
[(100/LOAD - 1) * BURST * (IFG + 64 + 8*LENGTH)] + IFG [(100/LOAD - 1) * BURST * (IFG + 64 + 8*LENGTH)] + IFG
IBG = ----------------------------------------------------------- IBG = -----------------------------------------------------------
SPEED SPEED
A.2 Calculating the Number of Bursts for the Trial Duration A.2 Calculating the Number of Bursts for the Trial Duration
The number of burst for the trial duration is rounded up to the The number of bursts for the trial duration is rounded up to the
nearest integer number. The follow Input Parameter need to be nearest integer number. The follow Input Parameter need to be
defined: defined:
LENGTH - Frame size in bytes including the CRC. LENGTH - Frame size in bytes including the CRC.
BURST - The number of frames in the burst (integer value). BURST - The number of frames in the burst (integer value).
SPEED - media's speed in bits/sec SPEED - media's speed in bits/sec
Ethernet is 10,000,000 bits/sec Ethernet is 10,000,000 bits/sec
Fast Ethernet is 100,000,000 bits/sec Fast Ethernet is 100,000,000 bits/sec
skipping to change at page 33, line 7 skipping to change at page 33, line 7
BURST = 24 frames per burst BURST = 24 frames per burst
SPEED = 10 Mbits/sec (Ethernet) SPEED = 10 Mbits/sec (Ethernet)
DURATION = 10 seconds test DURATION = 10 seconds test
IBG = 1612.8 uS IBG = 1612.8 uS
TXTIME = 1603.2 uS TXTIME = 1603.2 uS
#OFBURSTS = 3110 #OFBURSTS = 3110
Appendix B: Generating Offered Load Appendix B: Generating Offered Load
In testing, the tester is configured with the Iload (Intended Load) In testing, the traffic generator is configured with the Iload
and measures the Oload (Offered Load). If the DUT/SUT applies (Intended Load) and measures the Oload (Offered Load). If the
backpressure, then the Iload and the Oload are not the same value. DUT/SUT applies congestion control, then the Iload and the Oload are
The question arises, how to generate the Oload? This appendix will not the same value. The question arises, how to generate the Oload?
describe two different methods. This appendix will describe two different methods.
Oload is in the units of bits per second. The two methods described Oload is in the units of bits per second. The two methods described
here will hold one unit constant and let the DUT/SUT vary the other here will hold one unit constant and let the DUT/SUT vary the other
unit. The tester SHOULD specify which method it uses. unit. The traffic generator SHOULD specify which method it uses.
B.1 Frame Based Load B.1 Frame Based Load
Frame based load holds the number of bits constant. The Trial Frame Based Load holds the number of bits constant. The Trial
Duration will vary based upon back pressure. Advantage is Duration will vary based upon congestion control. Advantage is
implementation is a simple state machine. Disadvantage is that Oload implementation is a simple state machine (or loop). The
needs to be measured independently. disadvantage is that Oload needs to be measured independently.
All ports on the tester MUST transmit the exact number of test All ports on the traffic generator MUST transmit the exact number of
frames. The exact number is found by multiplying the Iload by the test frames. The exact number of test frames is found by multiplying
Trial Duration. All ports MAY NOT transmit the same number of frames the Iload of the port by the Trial Duration. All ports MAY NOT
if their Iload is not the same. An example would be the Partially transmit the same number of frames if their Iload is not the same.
meshed overloading test. An example would be the Partially meshed many-to-one test.
All ports SHOULD start transmitting their frames within 1% of the All ports SHOULD start transmitting their frames within 1% of the
trial duration. For a trial duration of 30 seconds, all ports SHOULD trial duration. For a trial duration of 30 seconds, all ports SHOULD
have started transmitting frames within 300 milliseconds of each have started transmitting frames within 300 milliseconds of each
other. other.
Oload MUST be measured independent of Iload. The reported Oload The reported Oload SHOULD be the average during the Trial Duration.
SHOULD be the average during the Trial Duration. If the tester If the traffic generator continues to transmit after the Trial
continues to transmit after the Trial Duration due to back pressure, Duration due to congestion control, Oload MAY be averaged over the
Oload MAY be averaged over the entire transmit time. Oload for the entire transmit time. Oload for the DUT/SUT MUST be the aggregate of
DUT/SUT MUST be the aggregate of all the Oloads per port. Oload per all the Oloads per port. Oload per port MAY be reported.
port MAY be reported for diagnostic purposes.
B.2 Time Based Load B.2 Time Based Load
Time based load holds the Trial Duration constant, while allowing the Time based load holds the Trial Duration constant, while allowing the
number of octets transmitted to vary. Advantages are an accurate number of octets transmitted to vary. Advantages are an accurate
Trial Duration and integrated Oload measurement. Disadvantage is Trial Duration and integrated Oload measurement. Disadvantage is
that the starting and stopping of the transmitters MUST be more that the starting and stopping of the traffic generator MUST be more
accurate. accurate.
All ports on the tester are configured to transmit the Iload for an All ports on the traffic generator are configured to transmit the
indefinite amount of time. Each port MUST count the number of Iload for a finite amount of time. Each port MUST count the number
octets successfully transmitted. of octets successfully transmitted.
The start and stop is initiated at a layer defined by the test
parameters. The layer can be the MAC layer, IP layer, or some other
point in the protocol stack. The traffic generator MUST complete its
layer specific transmit process when the stop time is reached (i.e.
no fragments, finish the frame).
All ports MUST start transmitting their frames within 1% of the trial All ports MUST start transmitting their frames within 1% of the trial
duration. For a trial duration of 30 seconds, all ports SHOULD have duration. For a trial duration of 30 seconds, all ports SHOULD have
started transmitting frames within 300 milliseconds of each other. started transmitting frames within 300 milliseconds of each other.
All ports SHOULD stop transmitting frames after the specified trial All ports SHOULD stop transmitting frames after the specified trail
duration, within 100 PPM. The first test frame transmit time minus duration within 0.01% of the trial duration. Each port's stop time
the last test frame transmit time SHOULD be within 100 PPM of the MUST be reference to its start time. This trial duration error
trial duration. Each port's stop time MUST be in reference to its controls the accuracy of the Oload measurement and SHOULD be reported
start time. This trial duration error controls the accuracy of the with the Oload measurement.
Oload measurement and SHOULD be reported with the Oload measurement
in the units of PPM.
Each port is allowed an offset error of 1000 PPM and a trial duration Each port is allowed an offset error of 0.1% and a trial duration
error of 100 PPM. At what layer the start and stop is initiated is error of 0.01%.
not defined yet. The layer MUST complete its transmit process when
the stop time is reached (i.e. no fragments, finish the frame).
Oload is found by taking the number of octets successfully Oload is found by taking the number of octets successfully
transmitted and dividing by the trial duration. Oload for the transmitted and dividing by the trial duration. Oload for the
DUT/SUT MUST be the aggregate of all the Oloads per port. Oload per DUT/SUT MUST be the aggregate of all the Oloads per port. Oload per
port MAY be reported for diagnostic purposes. port MAY be reported for diagnostic purposes.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/