Rfc | 3918 |
Title | Methodology for IP Multicast Benchmarking |
Author | D. Stopp, B. Hickman |
Date | October 2004 |
Format: | TXT, HTML |
Status: | INFORMATIONAL |
|
Network Working Group D. Stopp
Request for Comments: 3918 Ixia
Category: Informational B. Hickman
Spirent Communications
October 2004
Methodology for IP Multicast Benchmarking
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2004).
Abstract
The purpose of this document is to describe methodology specific to
the benchmarking of multicast IP forwarding devices. It builds upon
the tenets set forth in RFC 2544, RFC 2432 and other IETF
Benchmarking Methodology Working Group (BMWG) efforts. This document
seeks to extend these efforts to the multicast paradigm.
The BMWG produces two major classes of documents: Benchmarking
Terminology documents and Benchmarking Methodology documents. The
Terminology documents present the benchmarks and other related terms.
The Methodology documents define the procedures required to collect
the benchmarks cited in the corresponding Terminology documents.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Key Words to Reflect Requirements. . . . . . . . . . . . . . . 3
3. Test Set Up. . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. Test Considerations. . . . . . . . . . . . . . . . . . . 4
3.1.1. IGMP Support. . . . . . . . . . . . . . . . . . . 5
3.1.2. Group Addresses . . . . . . . . . . . . . . . . . 5
3.1.3. Frame Sizes . . . . . . . . . . . . . . . . . . . 5
3.1.4. TTL . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.5. Trial Duration. . . . . . . . . . . . . . . . . . 6
4. Forwarding and Throughput. . . . . . . . . . . . . . . . . . . 6
4.1. Mixed Class Throughput . . . . . . . . . . . . . . . . . 6
4.2. Scaled Group Forwarding Matrix . . . . . . . . . . . . . 8
4.3. Aggregated Multicast Throughput. . . . . . . . . . . . . 9
4.4. Encapsulation/Decapsulation (Tunneling) Throughput . . . 10
4.4.1. Encapsulation Throughput. . . . . . . . . . . . . 10
4.4.2. Decapsulation Throughput. . . . . . . . . . . . . 12
4.4.3. Re-encapsulation Throughput . . . . . . . . . . . 14
5. Forwarding Latency . . . . . . . . . . . . . . . . . . . . . . 15
5.1. Multicast Latency. . . . . . . . . . . . . . . . . . . . 16
5.2. Min/Max Multicast Latency. . . . . . . . . . . . . . . . 18
6. Overhead . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.1. Group Join Delay . . . . . . . . . . . . . . . . . . . . 20
6.2. Group Leave Delay. . . . . . . . . . . . . . . . . . . . 22
7. Capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.1. Multicast Group Capacity . . . . . . . . . . . . . . . . 24
8. Interaction. . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.1. Forwarding Burdened Multicast Latency. . . . . . . . . . 25
8.2. Forwarding Burdened Group Join Delay . . . . . . . . . . 27
9. Security Considerations. . . . . . . . . . . . . . . . . . . . 28
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 28
11. Contributions. . . . . . . . . . . . . . . . . . . . . . . . . 28
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 28
12.1. Normative References . . . . . . . . . . . . . . . . . . 28
12.2. Informative References . . . . . . . . . . . . . . . . . 29
13. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 30
14. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 31
1. Introduction
This document defines tests for measuring and reporting the
throughput, forwarding, latency and Internet Group Management
Protocol (IGMP) group membership characteristics of devices that
support IP multicast protocols. The results of these tests will
provide the user with meaningful data on multicast performance.
A previous document, "Terminology for IP Multicast Benchmarking"
[Du98], defined many of the terms that are used in this document.
The terminology document should be consulted before attempting to
make use of this document.
This methodology will focus on one source to many destinations,
although many of the tests described may be extended to use multiple
source to multiple destination topologies.
Subsequent documents may address IPv6 multicast and related multicast
routing protocol performance. Additional insight on IP and multicast
networking can be found in [Hu95], [Ka98] and [Mt98].
2. Key Words to Reflect Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119
[Br97]. RFC 2119 defines the use of these key words to help make the
intent of standards track documents as clear as possible. While this
document uses these keywords, this document is not a standards track
document.
3. Test set up
The set of methodologies presented in this document are for single
ingress, multiple egress multicast scenarios as exemplified by
Figures 1 and 2. Methodologies for multiple ingress and multiple
egress multicast scenarios are beyond the scope of this document.
Figure 1 shows a typical setup for an IP multicast test, with one
source to multiple destinations.
+------------+ +--------------+
| | | destination |
+--------+ | Egress(-)------->| test |
| source | | | | port(E1) |
| test |------>(|)Ingress | +--------------+
| port | | | +--------------+
+--------+ | Egress(-)------->| destination |
| | | test |
| | | port(E2) |
| DUT | +--------------+
| | . . .
| | +--------------+
| | | destination |
| Egress(-)------->| test |
| | | port(En) |
+------------+ +--------------+
Figure 1
If the multicast metrics are to be taken across multiple devices
forming a System Under Test (SUT), then test frames are offered to a
single ingress interface on a device of the SUT, subsequently
forwarded across the SUT topology, and finally forwarded to the test
apparatus' frame-receiving components by the test egress interface(s)
of devices in the SUT. Figure 2 offers an example SUT test topology.
If a SUT is tested, the test topology and all relevant configuration
details MUST be disclosed with the corresponding test results.
*-----------------------------------------*
| |
+--------+ | +----------------+ | +--------+
| | | +------------+ |DUT B Egress E0(-)-|->| |
| | | |DUT A |--->| | | | |
| source | | | | | Egress E1(-)-|->| dest. |
| test |--|->(-)Ingress, I | +----------------+ | | test |
| port | | | | +----------------+ | | port |
| | | | |--->|DUT C Egress E2(-)-|->| |
| | | +------------+ | | | | |
| | | | Egress En(-)-|->| |
+--------+ | +----------------+ | +--------+
| |
*------------------SUT--------------------*
Figure 2
Generally, the destination test ports first join the desired number
of multicast groups by sending IGMP Group Report messages to the
DUT/SUT. To verify that all destination test ports successfully
joined the appropriate groups, the source test port MUST transmit IP
multicast frames destined for these groups. After test completion,
the destination test ports MAY send IGMP Leave Group messages to
clear the IGMP table of the DUT/SUT.
In addition, test equipment MUST validate the correct and proper
forwarding actions of the devices they test in order to ensure the
receipt of the frames that are involved in the test.
3.1. Test Considerations
The methodology assumes a uniform medium topology. Issues regarding
mixed transmission media, such as speed mismatch, headers
differences, etc., are not specifically addressed. Flow control, QoS
and other non-essential traffic or traffic-affecting mechanisms
affecting the variable under test MUST be disabled. Modifications to
the collection procedures might need to be made to accommodate the
transmission media actually tested. These accommodations MUST be
presented with the test results.
An actual flow of test traffic MAY be required to prime related
mechanisms, (e.g., process RPF events, build device caches, etc.) to
optimally forward subsequent traffic. Therefore, prior to running
any tests that require forwarding of multicast or unicast packets,
the test apparatus MUST generate test traffic utilizing the same
addressing characteristics to the DUT/SUT that will subsequently be
used to measure the DUT/SUT response. The test monitor should ensure
the correct forwarding of traffic by the DUT/SUT. The priming action
need only be repeated to keep the associated information current.
It is the intent of this memo to provide the methodology for basic
characterizations regarding the forwarding of multicast packets by a
device or simple system of devices. These characterizations may be
useful in illustrating the impact of device architectural features
(e.g., message passing versus shared memory; handling multicast
traffic as an exception by the general purpose processor versus the
by a primary data path, etc.) in the forwarding of multicast traffic.
It has been noted that the formation of the multicast distribution
tree may be a significant component of multicast performance. While
this component may be present in some of the measurements or
scenarios presented in this memo, this memo does not seek to
explicitly benchmark the formation of the multicast distribution
tree. The benchmarking of the multicast distribution tree formation
is left as future, more targeted work specific to a given tree
formation vehicle.
3.1.1. IGMP Support
All of the ingress and egress interfaces MUST support a version of
IGMP. The IGMP version on the ingress interface MUST be the same
version of IGMP that is being tested on the egress interfaces.
Each of the ingress and egress interfaces SHOULD be able to respond
to IGMP queries during the test.
Each of the ingress and egress interfaces SHOULD also send LEAVE
(running IGMP version 2 or later) [Ca02] [Fe97] after each test.
3.1.2. Group Addresses
There is no restriction to the use of multicast addresses [De89] to
compose the test traffic other than those assignments imposed by
IANA. The IANA assignments for multicast addresses [IANA1] MUST be
regarded for operational consistency. Address selection does not
need to be restricted to Administratively Scoped IP Multicast
addresses [Me98].
3.1.3. Frame Sizes
Each test SHOULD be run with different multicast frame sizes. For
Ethernet, the recommended sizes are 64, 128, 256, 512, 1024, 1280,
and 1518 byte frames.
Other link layer technologies MAY be used. The minimum and maximum
frame lengths of the link layer technology in use SHOULD be tested.
When testing with different frame sizes, the DUT/SUT configuration
MUST remain the same.
3.1.4. TTL
The data plane test traffic should have a TTL value large enough to
traverse the DUT/SUT.
The TTL in IGMP control plane messages MUST be in compliance with the
version of IGMP in use.
3.1.5. Trial Duration
The duration of the test portion of each trial SHOULD be at least 30
seconds. This parameter MUST be included as part of the results
reporting for each methodology.
4. Forwarding and Throughput
This section contains the description of the tests that are related
to the characterization of the frame forwarding of a DUT/SUT in a
multicast environment. Some metrics extend the concept of throughput
presented in RFC 1242. Forwarding Rate is cited in RFC 2285 [Ma98].
4.1. Mixed Class Throughput
Objective:
To determine the throughput of a DUT/SUT when both unicast class
frames and multicast class frames are offered simultaneously to a
fixed number of interfaces as defined in RFC 2432.
Procedure:
Multicast and unicast traffic are mixed together in the same
aggregated traffic stream in order to simulate a heterogeneous
networking environment.
The following events MUST occur before offering test traffic:
o All destination test ports configured to receive multicast
traffic MUST join all configured multicast groups;
o The DUT/SUT MUST learn the appropriate unicast and
multicast addresses; and
o Group membership and unicast address learning MUST be
verified through some externally observable method.
The intended load [Ma98] SHOULD be configured as alternating
multicast class frames and unicast class frames to a single ingress
interface. The unicast class frames MUST be configured to transmit
in an unweighted round-robin fashion to all of the destination ports.
For example, with six multicast groups and 3 destination ports with
one unicast addresses per port, the source test port will offer
frames in the following order:
m1 u1 m2 u2 m3 u3 m4 u1 m5 u2 m6 u3 m1 ...
Where:
m<Number> = Multicast Frame<Group>
u<Number> = Unicast Frame<Target Port>
Mixed class throughput measurement is defined in RFC 2432 [Du98]. A
search algorithm MUST be utilized to determine the Mixed Class
Throughput. The ratio of unicast to multicast frames MUST remain the
same when varying the intended load.
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Frame size(s)
o Number of tested egress interfaces on the DUT/SUT
o Test duration
o IGMP version
o Total number of multicast groups
o Traffic distribution for unicast and multicast traffic
classes
o The ratio of multicast to unicast class traffic
The following results MUST be reflected in the test report:
o Mixed Class Throughput as defined in RFC 2432 [Du98],
including: Throughput per unicast and multicast traffic
classes.
The Mixed Class Throughput results for each test SHOULD be reported
in the form of a table with a row for each of the tested frame sizes
per the recommendations in section 3.1.3. Each row SHOULD specify
the intended load, number of multicast frames offered, number of
unicast frames offered and measured throughput per class.
4.2. Scaled Group Forwarding Matrix
Objective:
To determine Forwarding Rate as a function of tested multicast groups
for a fixed number of tested DUT/SUT ports.
Procedure:
This is an iterative procedure. The destination test port(s) MUST
join an initial number of multicast groups on the first iteration.
All destination test ports configured to receive multicast traffic
MUST join all configured multicast groups. The recommended number of
groups to join on the first iteration is 10 groups. Multicast
traffic is subsequently transmitted to all groups joined on this
iteration and the forwarding rate is measured.
The number of multicast groups joined by each destination test port
is then incremented, or scaled, by an additional number of multicast
groups. The recommended granularity of additional groups to join per
iteration is 10, although the tester MAY choose a finer granularity.
Multicast traffic is subsequently transmitted to all groups joined
during this iteration and the forwarding rate is measured.
The total number of multicast groups joined MUST not exceed the
multicast group capacity of the DUT/SUT. The Group Capacity (Section
7.1) results MUST be known prior to running this test.
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Frame size(s)
o Number of tested egress interfaces on the DUT/SUT
o Test duration
o IGMP version
The following results MUST be reflected in the test report:
o The total number of multicast groups joined for that
iteration
o Forwarding rate determined for that iteration
The Scaled Group Forwarding results for each test SHOULD be reported
in the form of a table with a row representing each iteration of the
test. Each row or iteration SHOULD specify the total number of
groups joined for that iteration, offered load, total number of
frames transmitted, total number of frames received and the aggregate
forwarding rate determined for that iteration.
4.3. Aggregated Multicast Throughput
Objective:
To determine the maximum rate at which none of the offered frames to
be forwarded through N destination interfaces of the same multicast
groups are dropped.
Procedure:
Offer multicast traffic at an initial maximum offered load to a fixed
set of interfaces with a fixed number of groups at a fixed frame
length for a fixed duration of time. All destination test ports MUST
join all specified multicast groups.
If any frame loss is detected, the offered load is decreased and the
sender will transmit again. An iterative search algorithm MUST be
utilized to determine the maximum offered frame rate with a zero
frame loss.
Each iteration will involve varying the offered load of the multicast
traffic, while keeping the set of interfaces, number of multicast
groups, frame length and test duration fixed, until the maximum rate
at which none of the offered frames are dropped is determined.
Parameters to be measured MUST include the maximum offered load at
which no frame loss occurred. Other offered loads MAY be measured
for diagnostic purposes.
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Frame size(s)
o Number of tested egress interfaces on the DUT/SUT
o Test duration
o IGMP version
o Total number of multicast groups
The following results MUST be reflected in the test report:
o Aggregated Multicast Throughput as defined in RFC 2432
[Du98]
The Aggregated Multicast Throughput results SHOULD be reported in the
format of a table with a row for each of the tested frame sizes per
the recommendations in section 3.1.3. Each row or iteration SHOULD
specify offered load, total number of offered frames and the measured
Aggregated Multicast Throughput.
4.4. Encapsulation/Decapsulation (Tunneling) Throughput
This sub-section provides the description of tests related to the
determination of throughput measurements when a DUT/SUT or a set of
DUTs are acting as tunnel endpoints.
For this specific testing scenario, encapsulation or tunneling refers
to a packet that contains an unsupported protocol feature in a format
that is supported by the DUT/SUT.
4.4.1. Encapsulation Throughput
Objective:
To determine the maximum rate at which frames offered to one ingress
interface of a DUT/SUT are encapsulated and correctly forwarded on
one or more egress interfaces of the DUT/SUT without loss.
Procedure:
Source DUT/SUT Destination
Test Port Test Port(s)
+---------+ +-----------+ +---------+
| | | | | |
| | | Egress|--(Tunnel)-->| |
| | | | | |
| |------->|Ingress | | |
| | | | | |
| | | Egress|--(Tunnel)-->| |
| | | | | |
+---------+ +-----------+ +---------+
Figure 3
Figure 3 shows the setup for testing the encapsulation throughput of
the DUT/SUT. One or more tunnels are created between each egress
interface of the DUT/SUT and a destination test port. Non-
Encapsulated multicast traffic will then be offered by the source
test port, encapsulated by the DUT/SUT and forwarded to the
destination test port(s).
The DUT/SUT SHOULD be configured such that the traffic across each
egress interface will consist of either:
a) A single tunnel encapsulating one or more multicast address
groups OR
b) Multiple tunnels, each encapsulating one or more multicast
address groups.
The number of multicast groups per tunnel MUST be the same when the
DUT/SUT is configured in a multiple tunnel configuration. In
addition, it is RECOMMENDED to test with the same number of tunnels
on each egress interface. All destination test ports MUST join all
multicast group addresses offered by the source test port. Each
egress interface MUST be configured with the same MTU.
Note: when offering large frames sizes, the encapsulation process may
require the DUT/SUT to fragment the IP datagrams prior to being
forwarded on the egress interface. It is RECOMMENDED to limit the
offered frame size such that no fragmentation is required by the
DUT/SUT.
A search algorithm MUST be utilized to determine the encapsulation
throughput as defined in [Du98].
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Number of tested egress interfaces on the DUT/SUT
o Test duration
o IGMP version
o Total number of multicast groups
o MTU size of DUT/SUT interfaces
o Originating un-encapsulated frame size
o Number of tunnels per egress interface
o Number of multicast groups per tunnel
o Encapsulation algorithm or format used to tunnel the
packets
The following results MUST be reflected in the test report:
o Measured Encapsulated Throughput as defined in RFC 2432
[Du98]
o Encapsulated frame size
The Encapsulated Throughput results SHOULD be reported in the form of
a table and specific to this test there SHOULD be rows for each
originating un-encapsulated frame size. Each row or iteration SHOULD
specify the offered load, encapsulation method, encapsulated frame
size, total number of offered frames, and the encapsulation
throughput.
4.4.2. Decapsulation Throughput
Objective:
To determine the maximum rate at which frames offered to one ingress
interface of a DUT/SUT are decapsulated and correctly forwarded by
the DUT/SUT on one or more egress interfaces without loss.
Procedure:
Source DUT/SUT Destination
Test Port Test Port(s)
+---------+ +-----------+ +---------+
| | | | | |
| | | Egress|------->| |
| | | | | |
| |--(Tunnel)-->|Ingress | | |
| | | | | |
| | | Egress|------->| |
| | | | | |
+---------+ +-----------+ +---------+
Figure 4
Figure 4 shows the setup for testing the decapsulation throughput of
the DUT/SUT. One or more tunnels are created between the source test
port and the DUT/SUT. Encapsulated multicast traffic will then be
offered by the source test port, decapsulated by the DUT/SUT and
forwarded to the destination test port(s).
The DUT/SUT SHOULD be configured such that the traffic across the
ingress interface will consist of either:
a) A single tunnel encapsulating one or more multicast address
groups OR
b) Multiple tunnels, each encapsulating one or more multicast
address groups.
The number of multicast groups per tunnel MUST be the same when the
DUT/SUT is configured in a multiple tunnel configuration. All
destination test ports MUST join all multicast group addresses
offered by the source test port. Each egress interface MUST be
configured with the same MTU.
A search algorithm MUST be utilized to determine the decapsulation
throughput as defined in [Du98].
When making performance comparisons between the encapsulation and
decapsulation process of the DUT/SUT, the offered frame sizes SHOULD
reflect the encapsulated frame sizes reported in the encapsulation
test (See section 4.4.1) in place of those noted in section 3.1.3.
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Number of tested egress interfaces on the DUT/SUT
o Test duration
o IGMP version
o Total number of multicast groups
o Originating encapsulation algorithm or format used to
tunnel the packets
o Originating encapsulated frame size
o Number of tunnels
o Number of multicast groups per tunnel
The following results MUST be reflected in the test report:
o Measured Decapsulated Throughput as defined in RFC 2432
[Du98]
o Decapsulated frame size
The Decapsulated Throughput results SHOULD be reported in the format
of a table and specific to this test there SHOULD be rows for each
originating encapsulated frame size. Each row or iteration SHOULD
specify the offered load, decapsulated frame size, total number of
offered frames and the decapsulation throughput.
4.4.3. Re-encapsulation Throughput
Objective:
To determine the maximum rate at which frames of one encapsulated
format offered to one ingress interface of a DUT/SUT are converted to
another encapsulated format and correctly forwarded by the DUT/SUT on
one or more egress interfaces without loss.
Procedure:
Source DUT/SUT Destination
Test Port Test Port(s)
+---------+ +---------+ +---------+
| | | | | |
| | | Egress|-(Tunnel)->| |
| | | | | |
| |-(Tunnel)->|Ingress | | |
| | | | | |
| | | Egress|-(Tunnel)->| |
| | | | | |
+---------+ +---------+ +---------+
Figure 5
Figure 5 shows the setup for testing the Re-encapsulation throughput
of the DUT/SUT. The source test port will offer encapsulated traffic
of one type to the DUT/SUT, which has been configured to re-
encapsulate the offered frames using a different encapsulation
format. The DUT/SUT will then forward the re-encapsulated frames to
the destination test port(s).
The DUT/SUT SHOULD be configured such that the traffic across the
ingress and each egress interface will consist of either:
a) A single tunnel encapsulating one or more multicast address
groups OR
b) Multiple tunnels, each encapsulating one or more multicast
address groups.
The number of multicast groups per tunnel MUST be the same when the
DUT/SUT is configured in a multiple tunnel configuration. In
addition, the DUT/SUT SHOULD be configured such that the number of
tunnels on the ingress and each egress interface are the same. All
destination test ports MUST join all multicast group addresses
offered by the source test port. Each egress interface MUST be
configured with the same MTU.
Note that when offering large frames sizes, the encapsulation process
may require the DUT/SUT to fragment the IP datagrams prior to being
forwarded on the egress interface. It is RECOMMENDED to limit the
offered frame sizes, such that no fragmentation is required by the
DUT/SUT.
A search algorithm MUST be utilized to determine the re-encapsulation
throughput as defined in [Du98].
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Number of tested egress interfaces on the DUT/SUT
o Test duration
o IGMP version
o Total number of multicast groups
o MTU size of DUT/SUT interfaces
o Originating encapsulation algorithm or format used to
tunnel the packets
o Re-encapsulation algorithm or format used to tunnel the
packets
o Originating encapsulated frame size
o Number of tunnels per interface
o Number of multicast groups per tunnel
The following results MUST be reflected in the test report:
o Measured Re-encapsulated Throughput as defined in RFC 2432
[Du98]
o Re-encapsulated frame size
The Re-encapsulated Throughput results SHOULD be reported in the
format of a table and specific to this test there SHOULD be rows for
each originating encapsulated frame size. Each row or iteration
SHOULD specify the offered load, Re-encapsulated frame size, total
number of offered frames, and the Re-encapsulated Throughput.
5. Forwarding Latency
This section presents methodologies relating to the characterization
of the forwarding latency of a DUT/SUT in a multicast environment.
It extends the concept of latency characterization presented in RFC
2544.
The offered load accompanying the latency-measured packet can affect
the DUT/SUT packet buffering, which may subsequently impact measured
packet latency. This SHOULD be a consideration when selecting the
intended load for the described methodologies below.
RFC 1242 and RFC 2544 draw a distinction between device types: "store
and forward" and "bit-forwarding." Each type impacts how latency is
collected and subsequently presented. See the related RFCs for more
information.
5.1. Multicast Latency
Objective:
To produce a set of multicast latency measurements from a single,
multicast ingress interface of a DUT/SUT through multiple, egress
multicast interfaces of that same DUT/SUT as provided for by the
metric "Multicast Latency" in RFC 2432 [Du98].
The procedures below draw from the collection methodology for latency
in RFC 2544 [Br96]. The methodology addresses two topological
scenarios: one for a single device (DUT) characterization; a second
scenario is presented or multiple device (SUT) characterization.
Procedure:
If the test trial is to characterize latency across a single Device
Under Test (DUT), an example test topology might take the form of
Figure 1 in section 3. That is, a single DUT with one ingress
interface receiving the multicast test traffic from frame-
transmitting component of the test apparatus and n egress interfaces
on the same DUT forwarding the multicast test traffic back to the
frame-receiving component of the test apparatus. Note that n
reflects the number of TESTED egress interfaces on the DUT actually
expected to forward the test traffic (as opposed to configured but
untested, non-forwarding interfaces, for example).
If the multicast latencies are to be taken across multiple devices
forming a System Under Test (SUT), an example test topology might
take the form of Figure 2 in section 3.
The trial duration SHOULD be 120 seconds to be consistent with RFC
2544 [Br96]. The nature of the latency measurement, "store and
forward" or "bit forwarding", MUST be associated with the related
test trial(s) and disclosed in the results report.
A test traffic stream is presented to the DUT. It is RECOMMENDED to
offer traffic at the measured aggregated multicast throughput rate
(Section 4.3). At the mid-point of the trial's duration, the test
apparatus MUST inject a uniquely identifiable ("tagged") frame into
the test traffic frames being presented. This tagged frame will be
the basis for the latency measurements. By "uniquely identifiable",
it is meant that the test apparatus MUST be able to discern the
"tagged" frame from the other frames comprising the test traffic set.
A frame generation timestamp, Timestamp A, reflecting the completion
of the transmission of the tagged frame by the test apparatus, MUST
be determined.
The test apparatus will monitor frames from the DUT's tested egress
interface(s) for the expected tagged frame(s) and MUST record the
time of the successful detection of a tagged frame from a tested
egress interface with a timestamp, Timestamp B. A set of Timestamp B
values MUST be collected for all tested egress interfaces of the
DUT/SUT. See RFC 1242 [Br91] for additional discussion regarding
store and forward devices and bit forwarding devices.
A trial MUST be considered INVALID should any of the following
conditions occur in the collection of the trial data:
o Unexpected differences between Intended Load and Offered
Load or unexpected differences between Offered Load and the
resulting Forwarding Rate(s) on the DUT/SUT egress ports.
o Forwarded test frames improperly formed or frame header
fields improperly manipulated.
o Failure to forward required tagged frame(s) on all expected
egress interfaces.
o Reception of tagged frames by the test apparatus more than
5 seconds after the cessation of test traffic by the source
test port.
The set of latency measurements, M, composed from each latency
measurement taken from every ingress/tested egress interface pairing
MUST be determined from a valid test trial:
M = { (Timestamp B(E0) - Timestamp A),
(Timestamp B(E1) - Timestamp A), ...
(Timestamp B(En) - Timestamp A) }
where (E0 ... En) represents the range of all tested egress
interfaces and Timestamp B represents a tagged frame detection event
for a given DUT/SUT tested egress interface.
A more continuous profile MAY be built from a series of individual
measurements.
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Frame size(s)
o Number of tested egress interfaces on the DUT/SUT
o Test duration
o IGMP version
o Offered load
o Total number of multicast groups
The following results MUST be reflected in the test report:
o The set of all latencies with respective time units related
to the tested ingress and each tested egress DUT/SUT
interface.
The time units of the presented latency MUST be uniform and with
sufficient precision for the medium or media being tested.
The results MAY be offered in a tabular format and should preserve
the relationship of latency to ingress/egress interface for each
multicast group to assist in trending across multiple trials.
5.2. Min/Max Multicast Latency
Objective:
To determine the difference between the maximum latency measurement
and the minimum latency measurement from a collected set of latencies
produced by the Multicast Latency benchmark.
Procedure:
Collect a set of multicast latency measurements over a single test
duration, as prescribed in section 5.1. This will produce a set of
multicast latencies, M, where M is composed of individual forwarding
latencies between DUT frame ingress and DUT frame egress port pairs.
E.g.:
M = {L(I,E1),L(I,E2), ..., L(I,En)}
where L is the latency between a tested ingress interface, I, of the
DUT, and Ex a specific, tested multicast egress interface of the DUT.
E1 through En are unique egress interfaces on the DUT.
From the collected multicast latency measurements in set M, identify
MAX(M), where MAX is a function that yields the largest latency value
from set M.
Identify MIN(M), when MIN is a function that yields the smallest
latency value from set M.
The Max/Min value is determined from the following formula:
Result = MAX(M) - MIN(M)
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Frame size(s)
o Number of tested egress interfaces on the DUT/SUT
o Test duration
o IGMP version
o Offered load
o Total number of multicast groups
The following results MUST be reflected in the test report:
o The Max/Min value
The following results SHOULD be reflected in the test report:
o The set of all latencies with respective time units related
to the tested ingress and each tested egress DUT/SUT
interface.
The time units of the presented latency MUST be uniform and with
sufficient precision for the medium or media being tested.
The results MAY be offered in a tabular format and should preserve
the relationship of latency to ingress/egress interface for each
multicast group.
6. Overhead
This section presents methodology relating to the characterization of
the overhead delays associated with explicit operations found in
multicast environments.
6.1. Group Join Delay
Objective:
To determine the time duration it takes a DUT/SUT to start forwarding
multicast frames from the time a successful IGMP group membership
report has been issued to the DUT/SUT.
Procedure:
The Multicast Group Join Delay measurement may be influenced by the
state of the Multicast Forwarding Database <MFDB> of the DUT/SUT. The
states of the MFDB may be described as follows:
o State 0, where the MFDB does not contain the specified
multicast group address. In this state, the delay measurement
includes the time the DUT/SUT requires to add the address to
the MFDB and begin forwarding. Delay measured from State 0
provides information about how the DUT/SUT is able to add new
addresses into MFDB.
o State 1, where the MFDB does contain the specified multicast
group address. In this state, the delay measurement includes
the time the DUT/SUT requires to update the MFDB with the
newly joined node<s> and begin forwarding to the new node<s>
plus packet replication time. Delay measured from State 1
provides information about how well the DUT/SUT is able to
update the MFDB for new nodes while transmitting packets to
other nodes for the same IP multicast address. Examples
include adding a new user to an event that is being promoted
via multicast packets.
The methodology for the Multicast Group Join Delay measurement
provides two alternate methods, based on the state of the MFDB, to
measure the delay metric. The methods MAY be used independently or
in conjunction to provide meaningful insight into the DUT/SUT ability
to manage the MFDB.
Users MAY elect to use either method to determine the Multicast Group
Join Delay; however the collection method MUST be specified as part
of the reporting format.
In order to minimize the variation in delay calculations as well as
minimize burden on the DUT/SUT, the test SHOULD be performed with one
multicast group. In addition, all destination test ports MUST join
the specified multicast group offered to the ingress interface of the
DUT/SUT.
Method A:
Method A assumes that the Multicast Forwarding Database <MFDB> of the
DUT/SUT does not contain or has not learned the specified multicast
group address; specifically, the MFDB MUST be in State 0. In this
scenario, the metric represents the time the DUT/SUT takes to add the
multicast address to the MFDB and begin forwarding the multicast
packet. Only one ingress and one egress MUST be used to determine
this metric.
Prior to sending any IGMP Group Membership Reports used to calculate
the Multicast Group Join Delay, it MUST be verified through
externally observable means that the destination test port is not
currently a member of the specified multicast group. In addition, it
MUST be verified through externally observable means that the MFDB of
the DUT/SUT does not contain the specified multicast address.
Method B:
Method B assumes that the MFDB of the DUT/SUT does contain the
specified multicast group address; specifically, the MFDB MUST be in
State 1. In this scenario, the metric represents the time the
DUT/SUT takes to update the MFDB with the additional nodes and their
corresponding interfaces and to begin forwarding the multicast
packet. One or more egress ports MAY be used to determine this
metric.
Prior to sending any IGMP Group Membership Reports used to calculate
the Group Join Delay, it MUST be verified through externally
observable means that the MFDB contains the specified multicast group
address. A single un-instrumented test port MUST be used to join the
specified multicast group address prior to sending any test traffic.
This port will be used only for insuring that the MFDB has been
populated with the specified multicast group address and can
successfully forward traffic to the un-instrumented port.
Join Delay Calculation
Once verification is complete, multicast traffic for the specified
multicast group address MUST be offered to the ingress interface
prior to the DUT/SUT receiving any IGMP Group Membership Report
messages. It is RECOMMENDED to offer traffic at the measured
aggregated multicast throughput rate (Section 4.3).
After the multicast traffic has been started, the destination test
port (See Figure 1) MUST send one IGMP Group Membership Report for
the specified multicast group.
The join delay is the difference in time from when the IGMP Group
Membership message is sent (timestamp A) and the first frame of the
multicast group is forwarded to a receiving egress interface
(timestamp B).
Group Join delay time = timestamp B - timestamp A
Timestamp A MUST be the time the last bit of the IGMP group
membership report is sent from the destination test port; timestamp B
MUST be the time the first bit of the first valid multicast frame is
forwarded on the egress interface of the DUT/SUT.
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Frame size(s)
o Number of tested egress interfaces on the DUT/SUT
o IGMP version
o Total number of multicast groups
o Offered load to ingress interface
o Method used to measure the join delay metric
The following results MUST be reflected in the test report:
o The group join delay time in microseconds per egress
interface(s)
The Group Join Delay results for each test MAY be reported in the
form of a table, with a row for each of the tested frame sizes per
the recommendations in section 3.1.3. Each row or iteration MAY
specify the group join delay time per egress interface for that
iteration.
6.2. Group Leave Delay
Objective:
To determine the time duration it takes a DUT/SUT to cease forwarding
multicast frames after a corresponding IGMP Leave Group message has
been successfully offered to the DUT/SUT.
Procedure:
In order to minimize the variation in delay calculations as well as
minimize burden on the DUT/SUT, the test SHOULD be performed with one
multicast group. In addition, all destination test ports MUST join
the specified multicast group offered to the ingress interface of the
DUT/SUT.
Prior to sending any IGMP Leave Group messages used to calculate the
group leave delay, it MUST be verified through externally observable
means that the destination test ports are currently members of the
specified multicast group. If any of the egress interfaces do not
forward validation multicast frames then the test is invalid.
Once verification is complete, multicast traffic for the specified
multicast group address MUST be offered to the ingress interface
prior to receipt or processing of any IGMP Leave Group messages. It
is RECOMMENDED to offer traffic at the measured aggregated multicast
throughput rate (Section 4.3).
After the multicast traffic has been started, each destination test
port (See Figure 1) MUST send one IGMP Leave Group message for the
specified multicast group.
The leave delay is the difference in time from when the IGMP Leave
Group message is sent (timestamp A) and the last frame of the
multicast group is forwarded to a receiving egress interface
(timestamp B).
Group Leave delay time = timestamp B - timestamp A
Timestamp A MUST be the time the last bit of the IGMP Leave Group
message is sent from the destination test port; timestamp B MUST be
the time the last bit of the last valid multicast frame is forwarded
on the egress interface of the DUT/SUT.
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Frame size(s)
o Number of tested egress interfaces on the DUT/SUT
o IGMP version
o Total number of multicast groups
o Offered load to ingress interface
The following results MUST be reflected in the test report:
o The group leave delay time in microseconds per egress
interface(s)
The Group Leave Delay results for each test MAY be reported in the
form of a table, with a row for each of the tested frame sizes per
the recommendations in section 3.1.3. Each row or iteration MAY
specify the group leave delay time per egress interface for that
iteration.
7. Capacity
This section offers a procedure relating to the identification of
multicast group limits of a DUT/SUT.
7.1. Multicast Group Capacity
Objective:
To determine the maximum number of multicast groups a DUT/SUT can
support while maintaining the ability to forward multicast frames to
all multicast groups registered to that DUT/SUT.
Procedure:
One or more destination test ports of DUT/SUT will join an initial
number of multicast groups.
After a minimum delay as measured by section 6.1, the source test
ports MUST transmit to each group at a specified offered load.
If at least one frame for each multicast group is forwarded properly
by the DUT/SUT on each participating egress interface, the iteration
is said to pass at the current capacity.
For each successful iteration, each destination test port will join
an additional user-defined number of multicast groups and the test
repeats. The test stops iterating when one or more of the egress
interfaces fails to forward traffic on one or more of the configured
multicast groups.
Once the iteration fails, the last successful iteration is the stated
Maximum Group Capacity result.
Reporting Format:
The following configuration parameters MUST be reflected in the test
report:
o Frame size(s)
o Number of tested egress interfaces on the DUT/SUT
o IGMP version
o Offered load
The following results MUST be reflected in the test report:
o The total number of multicast group addresses that were
successfully forwarded through the DUT/SUT
The Multicast Group Capacity results for each test SHOULD be reported
in the form of a table, with a row for each of the tested frame sizes
per the recommendations in section 3.1.3. Each row or iteration
SHOULD specify the number of multicast groups joined per destination
interface, number of frames transmitted and number of frames received
for that iteration.
8. Interaction
Network forwarding devices are generally required to provide more
functionality than just the forwarding of traffic. Moreover,
network-forwarding devices may be asked to provide those functions in
a variety of environments. This section offers procedures to assist
in the characterization of DUT/SUT behavior in consideration of
potentially interacting factors.
8.1. Forwarding Burdened Multicast Latency
Objective:
To produce a set of multicast latency measurements from a single
multicast ingress interface of a DUT/SUT through multiple egress
multicast interfaces of that same DUT/SUT as provided for by the
metric "Multicast Latency" in RFC 2432 [Du98] while forwarding meshed
unicast traffic.
Procedure:
The Multicast Latency metrics can be influenced by forcing the
DUT/SUT to perform extra processing of packets while multicast class
traffic is being forwarded for latency measurements.
The Burdened Forwarding Multicast Latency test MUST follow the
described setup for the Multicast Latency test in Section 5.1. In
addition, another set of test ports MUST be used to burden the
DUT/SUT (burdening ports). The burdening ports will be used to
transmit unicast class traffic to the DUT/SUT in a fully meshed
traffic distribution as described in RFC 2285 [Ma98]. The DUT/SUT
MUST learn the appropriate unicast addresses and verified through
some externally observable method.
Perform a baseline measurement of Multicast Latency as described in
Section 5.1. After the baseline measurement is obtained, start
transmitting the unicast class traffic at a user-specified offered
load on the set of burdening ports and rerun the Multicast Latency
test. The offered load to the ingress port MUST be the same as was
used in the baseline measurement.
Reporting Format:
Similar to Section 5.1, the following configuration parameters MUST
be reflected in the test report:
o Frame size(s)
o Number of tested egress interfaces on the DUT/SUT
o Test duration
o IGMP version
o Offered load to ingress interface
o Total number of multicast groups
o Offered load to burdening ports
o Total number of burdening ports
The following results MUST be reflected in the test report:
o The set of all latencies related to the tested ingress and
each tested egress DUT/SUT interface for both the baseline
and burdened response.
The time units of the presented latency MUST be uniform and with
sufficient precision for the medium or media being tested.
The latency results for each test SHOULD be reported in the form of a
table, with a row for each of the tested frame sizes per the
recommended frame sizes in section 3.1.3, and SHOULD preserve the
relationship of latency to ingress/egress interface(s) to assist in
trending across multiple trials.
8.2. Forwarding Burdened Group Join Delay
Objective:
To determine the time duration it takes a DUT/SUT to start forwarding
multicast frames from the time a successful IGMP Group Membership
Report has been issued to the DUT/SUT while forwarding meshed unicast
traffic.
Procedure:
The Forwarding Burdened Group Join Delay test MUST follow the
described setup for the Group Join Delay test in Section 6.1. In
addition, another set of test ports MUST be used to burden the
DUT/SUT (burdening ports). The burdening ports will be used to
transmit unicast class traffic to the DUT/SUT in a fully meshed
traffic pattern as described in RFC 2285 [Ma98]. The DUT/SUT MUST
learn the appropriate unicast addresses and verified through some
externally observable method.
Perform a baseline measurement of Group Join Delay as described in
Section 6.1. After the baseline measurement is obtained, start
transmitting the unicast class traffic at a user-specified offered
load on the set of burdening ports and rerun the Group Join Delay
test. The offered load to the ingress port MUST be the same as was
used in the baseline measurement.
Reporting Format:
Similar to Section 6.1, the following configuration parameters MUST
be reflected in the test report:
o Frame size(s)
o Number of tested egress interfaces on the DUT/SUT
o IGMP version
o Offered load to ingress interface
o Total number of multicast groups
o Offered load to burdening ports
o Total number of burdening ports
o Method used to measure the join delay metric
The following results MUST be reflected in the test report:
o The group join delay time in microseconds per egress
interface(s) for both the baseline and burdened response.
The Group Join Delay results for each test MAY be reported in the
form of a table, with a row for each of the tested frame sizes per
the recommendations in section 3.1.3. Each row or iteration MAY
specify the group join delay time per egress interface, number of
frames transmitted and number of frames received for that iteration.
9. Security Considerations
As this document is solely for the purpose of providing metric
methodology and describes neither a protocol nor a protocol's
implementation, there are no security considerations associated with
this document specifically. Results from these methodologies may
identify a performance capability or limit of a device or system in a
particular test context. However, such results might not be
representative of the tested entity in an operational network.
10. Acknowledgements
The Benchmarking Methodology Working Group of the IETF and
particularly Kevin Dubray, Juniper Networks, are to be thanked for
the many suggestions they collectively made to help complete this
document.
11. Contributions
The authors would like to acknowledge the following individuals for
their help and participation of the compilation of this document:
Hardev Soor, Ixia, and Ralph Daniels, Spirent Communications, both
who made significant contributions to the earlier versions of this
document. In addition, the authors would like to acknowledge the
members of the task team who helped bring this document to fruition:
Michele Bustos, Tony De La Rosa, David Newman and Jerry Perser.
12. References
12.1. Normative References
[Br91] Bradner, S., "Benchmarking Terminology for Network
Interconnection Devices", RFC 1242, July 1991.
[Br96] Bradner, S. and J. McQuaid, "Benchmarking Methodology for
Network Interconnect Devices", RFC 2544, March 1999.
[Br97] Bradner, S. "Use of Keywords in RFCs to Reflect Requirement
Levels, RFC 2119, March 1997.
[Du98] Dubray, K., "Terminology for IP Multicast Benchmarking", RFC
2432, October 1998.
[IANA1] IANA multicast address assignments,
http://www.iana.org/assignments/multicast-addresses
[Ma98] Mandeville, R., "Benchmarking Terminology for LAN Switching
Devices", RFC 2285, February 1998.
[Me98] Meyer, D., "Administratively Scoped IP Multicast", BCP 23,
RFC 2365, July 1998.
12.2. Informative References
[Ca02] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
Thyagarajan, "Internet Group Management Protocol, Version
3", RFC 3376, October 2002.
[De89] Deering, S., "Host Extensions for IP Multicasting", STD 5,
RFC 1112, August 1989.
[Fe97] Fenner, W., "Internet Group Management Protocol, Version 2",
RFC 2236, November 1997.
[Hu95] Huitema, C., "Routing in the Internet", Prentice-Hall, 1995.
[Ka98] Kosiur, D., "IP Multicasting: the Complete Guide to
Interactive Corporate Networks", John Wiley & Sons Inc.,
1998.
[Mt98] Maufer, T., "Deploying IP Multicast in the Enterprise",
Prentice-Hall, 1998.
13. Authors' Addresses
Debra Stopp
Ixia
26601 W. Agoura Rd.
Calabasas, CA 91302
USA
Phone: + 1 818 871 1800
EMail: debby@ixiacom.com
Brooks Hickman
Spirent Communications
26750 Agoura Rd.
Calabasas, CA 91302
USA
Phone: + 1 818 676 2412
EMail: brooks.hickman@spirentcom.com
14. Full Copyright Statement
Copyright (C) The Internet Society (2004).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/S HE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the IETF's procedures with respect to rights in IETF Documents can
be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.