Methodology for IP Multicast Benchmarking
A step-by-step method for measuring how well a router forwards one-to-many IP traffic
Stopp, D. and B. Hickman, "Methodology for IP Multicast Benchmarking", RFC 3918, DOI 10.17487/RFC3918, October 2004, <https://www.rfc-editor.org/info/rfc3918>.
@misc{rfc3918,
series = {Request for Comments},
number = 3918,
howpublished = {RFC 3918},
publisher = {RFC Editor},
doi = {10.17487/RFC3918},
url = {https://www.rfc-editor.org/info/rfc3918},
author = {D. Stopp and B. Hickman},
title = {{Methodology for IP Multicast Benchmarking}},
pagetotal = 31,
year = 2004,
month = oct,
} RFC text
Contents
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.
ISO Plain Language
On this page
§1What This Memo Measures
This document defines tests for measuring and reporting the throughput, forwarding, latency and Internet Group Management Protocol group membership characteristics of devices that support IP multicast protocols. The results of these tests provide the user with meaningful data on multicast performance.
A previous document, Terminology for IP Multicast Benchmarking, defined many of the terms used here, and the terminology document should be consulted before making use of this one. The methodology builds on the tenets set forth in RFC 2544, RFC 2432 and other efforts of the IETF Benchmarking Methodology Working Group, and seeks to extend them to the multicast paradigm. The working group produces two major classes of documents: Terminology documents that present the benchmarks and other related terms, and Methodology documents that define the procedures required to collect the benchmarks cited in the corresponding terminology document.
The methodology focuses 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.
Existing test methods covered traffic sent to one place. This one covers the harder case, where a single packet is copied out to many receivers, and says exactly how to run each test so that two laboratories get comparable numbers.
§3Setting Up the Test
The methodologies are for single ingress, multiple egress multicast scenarios. Methodologies for multiple ingress and multiple egress scenarios are beyond the scope of the document. The typical setup has a source test port feeding one ingress interface of the device under test, and the device forwarding out of several egress interfaces to destination test ports. If the metrics are taken across multiple devices forming a system under test, test frames are offered to a single ingress interface on a device of the system, forwarded across the system topology, and finally forwarded to the test apparatus by the test egress interfaces of devices in the system. If a system is tested, the test topology and all relevant configuration details must be disclosed with the corresponding test results.
Generally, the destination test ports first join the desired number of multicast groups by sending IGMP Group Report messages to the device. 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 device. Test equipment must also validate the correct and proper forwarding actions of the devices it tests, to ensure the receipt of the frames involved in the test.
The methodology assumes a uniform medium topology, and issues such as mixed transmission media, speed mismatch and header differences are not specifically addressed. Flow control, quality of service and other non-essential traffic or traffic-affecting mechanisms affecting the variable under test must be disabled, and any modifications to the collection procedures needed to accommodate the media actually tested must be presented with the results. An actual flow of test traffic may be required to prime related mechanisms, such as processing reverse path forwarding events and building device caches, so that subsequent traffic is forwarded optimally. The test apparatus must therefore generate test traffic with the same addressing characteristics before any test that forwards multicast or unicast packets, and the priming action need only be repeated to keep the associated information current. The memo notes that the formation of the multicast distribution tree may be a significant component of multicast performance, but it does not seek to benchmark that, leaving it as future work specific to a given tree formation vehicle.
On the details that matter for repeatability: all of the ingress and egress interfaces must support a version of IGMP, and the IGMP version on the ingress interface must be the same version being tested on the egress interfaces. Each interface should be able to respond to IGMP queries during the test, and should also send a LEAVE, running IGMP version 2 or later, after each test. There is no restriction on the use of multicast addresses other than the assignments imposed by IANA, which must be regarded for operational consistency, and address selection does not need to be restricted to administratively scoped addresses. Each test should be run with different multicast frame sizes, and for Ethernet the recommended sizes are 64, 128, 256, 512, 1024, 1280 and 1518 byte frames; other link layer technologies may be used, in which case the minimum and maximum frame lengths of the technology in use should be tested, and the device configuration must remain the same when the frame size changes. The data plane test traffic should have a TTL large enough to traverse the device, while the TTL in IGMP control plane messages must comply with the version of IGMP in use. The duration of the test portion of each trial should be at least 30 seconds, and this parameter must be included in the results reporting for each methodology.
The receiving ports announce themselves to the device with IGMP, and the tester checks they really joined by sending traffic to those groups. Everything else is switched off that might change the result, and each trial runs for at least 30 seconds.
- IGMP GROUP REPORTThe receiving ports announce that they have joined the groups.
- IGMP GROUP REPORT
- MULTICAST TRAFFICThe source sends frames to the groups the ports joined.
- FORWARDED FRAMESOne copy of each frame is sent out of each egress interface.
- FORWARDED FRAMES
§4Forwarding and Throughput
This section describes the tests related to the characterization of frame forwarding in a multicast environment. Some metrics extend the concept of throughput presented in RFC 1242, and forwarding rate is cited in RFC 2285.
Mixed Class Throughput determines the throughput of a device when both unicast class frames and multicast class frames are offered simultaneously to a fixed number of interfaces. Multicast and unicast traffic are mixed in the same aggregated traffic stream to simulate a heterogeneous networking environment. Before test traffic is offered, all destination test ports configured to receive multicast traffic must join all configured multicast groups, the device must learn the appropriate unicast and multicast addresses, and group membership and unicast address learning must be verified through some externally observable method. The intended load should be configured as alternating multicast class frames and unicast class frames to a single ingress interface, with the unicast class frames configured to transmit in an unweighted round-robin fashion to all of the destination ports. The example given uses six multicast groups and 3 destination ports with one unicast address per port, and the source test port offers frames in the order m1 u1 m2 u2 m3 u3 m4 u1 m5 u2 m6 u3 m1 and so on, where m is a multicast frame for a group and u is a unicast frame for a target port. A search algorithm must be used to determine the mixed class throughput, and the ratio of unicast to multicast frames must remain the same when varying the intended load. The report must reflect the frame sizes, the number of tested egress interfaces, the test duration, the IGMP version, the total number of multicast groups, the traffic distribution for both classes and the ratio between them, and must state the mixed class throughput including the throughput per class.
The Scaled Group Forwarding Matrix determines the forwarding rate as a function of the number of multicast groups tested, for a fixed number of tested ports. It is iterative: the destination test ports join an initial number of groups, recommended as 10 groups, multicast traffic is transmitted to all of them and the forwarding rate is measured. The number of groups is then incremented by a further number, with a recommended granularity of 10 groups per iteration, though a finer granularity may be chosen, and the measurement is repeated. The total number of groups joined must not exceed the multicast group capacity of the device, so the group capacity results must be known before running the test. The report must show the total number of groups joined and the forwarding rate for each iteration.
Aggregated Multicast Throughput determines the maximum rate at which none of the offered frames are dropped through N destination interfaces of the same multicast groups. Traffic is offered at an initial maximum offered load to a fixed set of interfaces, with a fixed number of groups, a fixed frame length and a fixed duration. If any frame loss is detected the offered load is decreased and the sender transmits again, and an iterative search algorithm must be used to find the maximum offered frame rate with zero frame loss, varying the offered load while keeping the set of interfaces, number of groups, frame length and duration fixed.
Three further tests cover tunnelling, where a device wraps packets in another protocol on one side and unwraps them on the other. Encapsulation Throughput finds the maximum rate at which frames offered to one ingress interface are encapsulated and correctly forwarded on one or more egress interfaces without loss, with one or more tunnels created between each egress interface and a destination test port. Decapsulation Throughput finds the maximum rate at which frames offered to one ingress interface are decapsulated and correctly forwarded, with one or more tunnels between the source test port and the device. Re-encapsulation Throughput finds the maximum rate at which frames of one encapsulated format are converted to another encapsulated format and correctly forwarded. In each case the number of multicast groups per tunnel must be the same when the device is configured with multiple tunnels, all destination test ports must join all multicast group addresses offered, and each egress interface must be configured with the same MTU. When offering large frame sizes, the encapsulation process may require the device to fragment the IP datagrams before forwarding, so it is recommended to limit the offered frame size so that no fragmentation is required. A search algorithm must be used to determine each of the three throughputs, and the reports must state the tunnel configuration, the encapsulation format used, the frame sizes and the measured throughput.
Three throughput questions: how much can the device copy when the traffic is part unicast and part multicast, how much can it copy as more and more receivers join, and how much can it push through when it also has to wrap and unwrap the packets in tunnels.
| Benchmark | What it measures |
|---|---|
| Mixed Class Throughput | Throughput when unicast and multicast frames are offered together |
| Scaled Group Forwarding Matrix | Forwarding rate as the number of joined groups grows |
| Aggregated Multicast Throughput THIS RFC | The maximum rate at which no frames are dropped to the destinations |
| Multicast Latency | Delay from a tagged frame entering to its arrival on each egress |
| Min/Max Multicast Latency | The spread between the largest and the smallest latency |
| Group Join Delay | Time from an IGMP report to the first frame forwarded |
| Group Leave Delay | Time from an IGMP leave to the last frame forwarded |
| Multicast Group Capacity | The most groups the device can still forward to |
| Forwarding Burdened Multicast Latency | Latency while the device also forwards meshed unicast traffic |
| Forwarding Burdened Group Join Delay | Join delay while the device also forwards meshed unicast traffic |
m1 u1 m2 u2 m3 u3 m4 u1 m5 u2 m6 u3 m1 ...
m<Number> = Multicast Frame<Group>
u<Number> = Unicast Frame<Target Port>§5Forwarding Latency
This section presents the methodologies for characterizing the forwarding latency of a device in a multicast environment, extending the concept of latency characterization presented in RFC 2544. The offered load accompanying the latency-measured packet can affect the packet buffering of the device, which may in turn affect the measured latency, so this should be considered when selecting the intended load. RFC 1242 and RFC 2544 draw a distinction between device types, store and forward and bit-forwarding, and each type affects how latency is collected and presented.
Multicast Latency produces a set of measurements from a single multicast ingress interface through multiple egress interfaces of the same device, as provided for by the metric in RFC 2432. The procedure draws on the collection methodology for latency in RFC 2544. The trial duration should be 120 seconds, to be consistent with RFC 2544, and the nature of the measurement, store and forward or bit forwarding, must be associated with the trial and disclosed in the results report.
A test traffic stream is presented to the device, and it is recommended to offer traffic at the measured aggregated multicast throughput rate. At the midpoint of the trial, the test apparatus must inject a uniquely identifiable, tagged frame into the traffic being presented, and the frame generation timestamp, Timestamp A, reflecting the completion of the transmission of that frame, must be determined. The apparatus monitors the tested egress interfaces for the expected tagged frames and must record the time of successful detection of a tagged frame from each egress interface with a timestamp, Timestamp B. A set of Timestamp B values must be collected for all tested egress interfaces. A trial must be considered invalid if there are unexpected differences between intended load and offered load or between offered load and the resulting forwarding rates, if forwarded test frames are improperly formed or their header fields improperly manipulated, if required tagged frames are not forwarded on all expected egress interfaces, or if tagged frames are received more than 5 seconds after the cessation of test traffic by the source port.
The set of latency measurements, M, composed from each measurement taken from every ingress and tested egress interface pairing, is determined from a valid trial as the set of Timestamp B values minus Timestamp A for each tested egress interface. A more continuous profile may be built from a series of individual measurements. The report must state the frame sizes, the number of tested egress interfaces, the test duration, the IGMP version, the offered load and the total number of multicast groups, and must give the set of all latencies with their time units for the tested ingress and each tested egress interface. The time units must be uniform and of sufficient precision for the medium being tested, and the results should preserve the relationship of latency to ingress and egress interface for each multicast group, to assist in trending across trials.
The Min/Max Multicast Latency benchmark determines the difference between the maximum and the minimum latency measurement from the collected set. From the set M of individual forwarding latencies between ingress and egress port pairs, identify MAX(M) and MIN(M), and the result is MAX(M) minus MIN(M). It is reported with the same configuration parameters and, optionally, the full set of latencies.
To measure the delay, the tester marks one packet among the traffic, notes the time it left, and notes the time it turned up at each output port. The difference is the delay, and the gap between the fastest and slowest output shows how uneven the device is.
§6Overhead: Joining and Leaving a Group
The Overhead section characterizes the delay associated with explicit operations in multicast environments, which in practice means the time it takes to start and stop sending to a group.
Group Join Delay is the time a device takes to start forwarding multicast frames from the moment a successful IGMP group membership report has been issued to it. The measurement may be influenced by the state of the Multicast Forwarding Database. In State 0, the database does not contain the multicast group address, and the delay includes the time the device requires to add the address and begin forwarding, which says how well the device handles new addresses. In State 1, the database already contains the address, and the delay includes the time to update the database with the newly joined nodes and begin forwarding to them, plus packet replication time, which says how well the device copes with adding a new user to an event already being broadcast.
Two methods are given. Method A assumes the database is in State 0 and uses only one ingress and one egress; before any group membership reports are sent, it must be verified by externally observable means that the destination test port is not currently a member of the group and that the database does not contain the address. Method B assumes the database is in State 1 and may use one or more egress ports; it must be verified that the database contains the address, and a single un-instrumented test port joins the group first to populate it. The methods may be used independently or together, and the method used must be specified in the report. To minimize variation in the delay calculation and the burden on the device, the test should be performed with one multicast group, and all destination test ports must join it.
Once verification is complete, multicast traffic for the group must be offered to the ingress interface before the device receives any group membership report messages, and it is recommended to offer it at the measured aggregated multicast throughput rate. The destination test port then sends one group membership report for the group. The join delay is the difference between the time the last bit of the report is sent and the time the first bit of the first valid multicast frame is forwarded on the egress interface. The report must state the frame sizes, the number of tested egress interfaces, the IGMP version, the total number of multicast groups, the offered load and the method used, and must give the group join delay time in microseconds per egress interface.
Group Leave Delay is the time a device takes to cease forwarding multicast frames after an IGMP Leave Group message has been successfully offered to it. Before any leave messages are sent, it must be verified that the destination test ports are currently members of the group, and if any of the egress interfaces do not forward validation multicast frames then the test is invalid. Multicast traffic for the group must be offered to the ingress interface before receipt or processing of any leave messages, again recommended at the measured aggregated multicast throughput rate, and each destination test port then sends one leave message. The leave delay is the difference between the time the last bit of the leave message is sent and the time the last bit of the last valid multicast frame is forwarded on the egress interface, and it is reported in microseconds per egress interface.
When someone joins a broadcast, how long before the device starts sending to them? And when they leave, how long before it stops? The memo gives two ways to measure the first, because the answer depends on whether the device already knew about that group.
§7Capacity and Interaction
Multicast Group Capacity identifies the maximum number of multicast groups a device can support while still forwarding multicast frames to all of the groups registered to it. One or more destination test ports join an initial number of groups, and after a minimum delay as measured by the group join delay procedure, the source test ports must transmit to each group at a specified offered load. If at least one frame for each group is forwarded properly on each participating egress interface, the iteration passes at the current capacity. Each successful iteration is followed by the destination test ports joining an additional user-defined number of groups, and the test stops when an egress interface fails to forward traffic on one or more of the configured groups. The last successful iteration is the Maximum Group Capacity result, and the report must give the total number of group addresses successfully forwarded through the device.
Interaction covers the fact that network devices generally provide more functionality than forwarding, and may be asked to provide it in a variety of environments. The Forwarding Burdened Multicast Latency test follows the setup of the multicast latency test, and adds a set of burdening ports that transmit unicast class traffic to the device in a fully meshed distribution as described in RFC 2285. The device must learn the appropriate unicast addresses, verified through some externally observable method. A baseline measurement of multicast latency is taken first, then the unicast traffic is started at a user-specified offered load and the multicast latency test is rerun, with the same offered load to the ingress port as in the baseline. The report must give the latencies for both the baseline and the burdened response, along with the offered load to the burdening ports and the number of burdening ports.
The Forwarding Burdened Group Join Delay test follows the group join delay setup with the same addition of burdening ports transmitting meshed unicast traffic, takes a baseline measurement of group join delay, then starts the unicast traffic and reruns the join delay test with the same offered load to the ingress port. The report must give the join delay time in microseconds per egress interface for both the baseline and the burdened response.
Two more measurements. First, how many different groups can the device keep track of at once. Second, whether the delay grows when the device is also busy copying other people's traffic, which is what a real network looks like.