RFC 3918

Methodology for IP Multicast Benchmarking

๐Ÿ“… published October 2004, from ietf

RFC 3918: Methodology for IP Multicast Benchmarking ๐Ÿฆ‹

okay bestie, this RFC is all about how to test multicast forwarding devices (the boxes that copy one stream out to a bunch of receivers) ๐Ÿซถโœจ. It was written by D. Stopp from Ixia and B. Hickman from Spirent Communications, and it's from the Network Working Group. It's dated October 2004 and its category is Informational ๐Ÿ’œ, so it's giving information for the Internet community, not a standard. The header doesn't list any Obsoletes or Updates entries, so it doesn't replace or change any other RFC ๐Ÿ’….

Status of This Memo ๐ŸŒธ

This memo gives information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited โœจ.

Copyright (C) The Internet Society (2004).

Abstract ๐Ÿงš

So the big goal here is to describe the methodology for benchmarking multicast IP forwarding devices ๐Ÿ“. It's built on the ideas from RFC 2544, RFC 2432 and other IETF Benchmarking Methodology Working Group (BMWG) efforts, and it's trying to stretch all of that over to the multicast world ๐ŸŒˆ.

The BMWG makes two main kinds of documents: Benchmarking Terminology documents and Benchmarking Methodology documents. The Terminology ones present the benchmarks and other related terms. The Methodology ones define the procedures required to collect the benchmarks cited in the matching 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 give the user meaningful data on multicast performance ๐Ÿ“Š.

A previous document, "Terminology for IP Multicast Benchmarking" [Du98], defined a lot of the terms used in this one. You should consult the terminology document before you try to use this document ๐Ÿ“š.

This methodology focuses on one source to many destinations. That said, a lot of the tests can be extended to multiple source to multiple destination topologies ๐Ÿฆ‹.

Later documents may cover IPv6 multicast and related multicast routing protocol performance. More 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 explains how these key words are used so that the intent of standards track documents is as clear as possible ๐Ÿ’…. This document uses these keywords too, but it is not a standards track document ๐Ÿซถ.

3. Test Set Up ๐ŸŽ€

The methodologies in this document are for single ingress, multiple egress multicast scenarios, as shown in Figures 1 and 2 ๐Ÿ’œ. Methodologies for multiple ingress and multiple egress multicast scenarios are out of scope for this document ๐Ÿ™ˆ.

Figure 1 shows a typical setup for an IP multicast test, with one source going 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 taken across multiple devices forming a System Under Test (SUT), then test frames are offered to a single ingress interface on one device in the SUT ๐Ÿงš. They then get forwarded across the SUT topology, and finally the test egress interface(s) on the devices in the SUT forward them to the test apparatus' frame-receiving components ๐Ÿ“. Figure 2 is 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, so they can make sure the frames involved in the test are actually received ๐Ÿ’–.

3.1. Test Considerations ๐Ÿ’…

The methodology assumes a uniform medium topology ๐Ÿฆ‹. Issues about mixed transmission media, such as speed mismatch, header 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.) so they forward subsequent traffic optimally โญ. So, before running any tests that require forwarding of multicast or unicast packets, the test apparatus MUST generate test traffic using the same addressing characteristics toward the DUT/SUT that will later be used to measure the DUT/SUT response ๐ŸŽ€. The test monitor should make sure the DUT/SUT forwards the traffic correctly ๐Ÿ‘€. The priming action only needs to be repeated to keep the associated information current ๐ŸŒธ.

The intent of this memo is to provide the methodology for basic characterizations of how a device (or a simple system of devices) forwards multicast packets ๐Ÿงšโ€โ™€๏ธ. These characterizations can help show how device architectural features affect multicast forwarding (e.g., message passing versus shared memory; handling multicast traffic as an exception by the general purpose processor versus handling it on a primary data path, etc.) ๐Ÿ“.

It has been noted that forming the multicast distribution tree may be a significant part of multicast performance ๐ŸŒณ. Some measurements or scenarios in this memo may include this part, but this memo does not explicitly benchmark the formation of the multicast distribution tree ๐Ÿ™…โ€โ™€๏ธ. Benchmarking the formation of the multicast distribution tree 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 ๐ŸŒธ

okay so the multicast addresses you can use for the test traffic are basically wide open ๐Ÿ’… the only real rule is that you follow whatever IANA has already assigned [De89]. the IANA multicast assignments [IANA1] MUST be regarded so everybody stays operationally consistent ๐Ÿซถ and ngl you don't have to stick to Administratively Scoped IP Multicast addresses [Me98] either. main character address picking, honestly โœจ

3.1.3. Frame Sizes ๐Ÿ“

each test SHOULD be run with different multicast frame sizes ๐ŸŽ€ for Ethernet the recommended ones are 64, 128, 256, 512, 1024, 1280, and 1518 byte frames. it's giving variety ๐Ÿ’–

other link layer technologies MAY be used too ๐Ÿฆ‹ whatever you pick, the minimum and maximum frame lengths of that link layer technology SHOULD be tested, because those edges are where things get spicy ๐ŸŒถ๏ธ

and the big one: when you switch between frame sizes, the DUT/SUT configuration MUST remain the same ๐Ÿ”’ no sneaky config changes between runs, periodt ๐Ÿ’…

3.1.4. TTL โณ

the data plane test traffic should have a TTL value that's big enough to actually get through the DUT/SUT ๐Ÿงš the TTL in IGMP control plane messages MUST be in compliance with whichever version of IGMP is in use ๐Ÿ“œ no freelancing on that one, bestie ๐Ÿ’€

3.1.5. Trial Duration โฑ๏ธ

the test portion of each trial SHOULD run for at least 30 seconds ๐ŸŒˆ and this parameter MUST be included in the results reporting for each methodology ๐Ÿ“ so nobody can say they didn't know how long it ran ๐Ÿ˜Œ

4. Forwarding and Throughput ๐Ÿฆ‹

okay this section is all about how a DUT/SUT forwards frames in a multicast setting โœจ some of the metrics stretch the concept of throughput from RFC 1242 ๐ŸŒธ and the Forwarding Rate is cited in RFC 2285 [Ma98] ๐Ÿ’œ

4.1. Mixed Class Throughput ๐Ÿ“

Objective:

we're figuring out the throughput of a DUT/SUT when unicast class frames AND multicast class frames get offered at the same time to a fixed number of interfaces, as defined in RFC 2432 ๐Ÿ”ฅ

Procedure:

so we mix multicast and unicast traffic together in one aggregated stream to act like a heterogeneous networking environment, which is very real-world coded ๐ŸŒ

before any test traffic gets offered, these things MUST happen first:

  • all destination test ports that are set up to receive multicast traffic MUST join all configured multicast groups ๐Ÿงš
  • the DUT/SUT 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 [Ma98] SHOULD be set up as alternating multicast class frames and unicast class frames going into a single ingress interface โœจ and the unicast class frames MUST be configured to go out 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 address per port, the source test port will offer frames in this 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 used to find the Mixed Class Throughput ๐Ÿ” and the ratio of unicast to multicast frames MUST stay the same when you vary the intended load ๐ŸŽฏ

Reporting Format:

the following configuration parameters MUST show up in the test report ๐Ÿ“‹

  • frame size(s)
  • number of tested egress interfaces on the DUT/SUT
  • test duration
  • IGMP version
  • total number of multicast groups
  • traffic distribution for unicast and multicast traffic classes
  • the ratio of multicast to unicast class traffic

the following results MUST show up in the test report ๐Ÿ“Š

  • 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 as a table with a row for each tested frame size, following the recommendations in section 3.1.3 ๐ŸŒธ and each row SHOULD specify the intended load, the number of multicast frames offered, the number of unicast frames offered, and the measured throughput per class ๐Ÿ’…

4.2. Scaled Group Forwarding Matrix ๐Ÿง

Objective:

this one finds the Forwarding Rate as a function of the tested multicast groups, for a fixed number of tested DUT/SUT ports ๐Ÿ“ˆ

Procedure:

this is an iterative procedure, so it's giving repeat-and-level-up ๐ŸŽฎ the destination test port(s) MUST join an initial number of multicast groups on the first iteration. all destination test ports that are set up to receive multicast traffic MUST join all configured multicast groups ๐Ÿงš the recommended number of groups to join on the first iteration is 10 groups. then multicast traffic gets sent to all groups joined on that iteration and the forwarding rate is measured ๐Ÿ“

then each destination test port's group count gets incremented, or scaled, by an additional number of multicast groups ๐Ÿชœ the recommended granularity of extra groups per iteration is 10, although the tester MAY choose a finer granularity ๐Ÿ”ฌ multicast traffic is sent to all groups joined during this iteration, and the forwarding rate is measured again ๐Ÿ’ซ

the total number of multicast groups joined MUST not exceed the multicast group capacity of the DUT/SUT ๐Ÿšง and the Group Capacity (Section 7.1) results MUST be known before running this test ๐Ÿ“š

Reporting Format:

the following configuration parameters MUST show up in the test report ๐Ÿ“‹

  • frame size(s)
  • number of tested egress interfaces on the DUT/SUT
  • test duration
  • IGMP version

the following results MUST show up in the test report ๐Ÿ“Š

  • the total number of multicast groups joined for that iteration
  • the forwarding rate determined for that iteration

the Scaled Group Forwarding results for each test SHOULD be reported as a table with a row for each iteration of the test ๐ŸŒˆ and each row or iteration SHOULD specify the total number of groups joined for that iteration, the offered load, the total number of frames transmitted, the total number of frames received, and the aggregate forwarding rate determined for that iteration ๐ŸŽ€

4.3. Aggregated Multicast Throughput ๐ŸŒŠ

Objective:

we want the maximum rate at which none of the offered frames getting 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 gets decreased and the sender transmits again ๐Ÿ“‰ an iterative search algorithm MUST be used to find the maximum offered frame rate with zero frame loss ๐Ÿ”

each iteration varies the offered load of the multicast traffic, while the set of interfaces, number of multicast groups, frame length, and test duration stay fixed, until the maximum rate with no dropped offered frames is found ๐ŸŽฏ

the 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 show up in the test report ๐Ÿ“‹

  • frame size(s)
  • number of tested egress interfaces on the DUT/SUT
  • test duration
  • IGMP version
  • total number of multicast groups

the following results MUST show up in the test report ๐Ÿ“Š

  • Aggregated Multicast Throughput as defined in RFC 2432 [Du98]

the Aggregated Multicast Throughput results SHOULD be reported as a table with a row for each tested frame size, following the recommendations in section 3.1.3 ๐Ÿ“ each row or iteration SHOULD specify the offered load, the total number of offered frames, and the measured Aggregated Multicast Throughput โœจ

4.4. Encapsulation/Decapsulation (Tunneling) Throughput ๐Ÿš‡

this sub-section covers the tests for throughput when a DUT/SUT, or a set of DUTs, is acting as a tunnel endpoint ๐Ÿซถ

for this scenario, encapsulation or tunneling means a packet that contains an unsupported protocol feature, wrapped in a format that the DUT/SUT does support ๐ŸŽ iykyk, it's like a packet in a costume ๐Ÿงš

4.4.1. Encapsulation Throughput ๐ŸŽ€

Objective: Okay so the goal is finding the highest rate where frames hitting ONE ingress interface of the DUT/SUT get encapsulated and correctly forwarded out one or more egress interfaces with zero loss. No drops, bestie ๐Ÿ’…

Procedure:

  Source              DUT/SUT                Destination
 Test Port                                   Test Port(s)
+---------+        +-----------+             +---------+
|         |        |           |             |         |
|         |        |     Egress|--(Tunnel)-->|         |
|         |        |           |             |         |
|         |------->|Ingress    |             |         |
|         |        |           |             |         |
|         |        |     Egress|--(Tunnel)-->|         |
|         |        |           |             |         |
+---------+        +-----------+             +---------+

                     Figure 3

Figure 3 is the setup for testing encapsulation throughput ๐Ÿฆ‹ You make one or more tunnels from each egress interface of the DUT/SUT to a destination test port. Then the source test port sends non-encapsulated multicast traffic, the DUT/SUT wraps it up in tunnels, and it gets forwarded to the destination test port(s). It's giving packaging ๐ŸŽ

The DUT/SUT SHOULD be configured so the traffic on each egress interface is either:

  • a) A single tunnel carrying one or more multicast address groups OR
  • b) Multiple tunnels, each carrying one or more multicast address groups.

When there are multiple tunnels, the number of multicast groups per tunnel MUST be the same. It's also RECOMMENDED to test with the same number of tunnels on each egress interface ๐ŸŒธ Every destination test port MUST join all the multicast group addresses the source test port offers, and each egress interface MUST have the same MTU ๐Ÿ’–

Heads up: when the frames are huge, the encapsulation might force the DUT/SUT to fragment the IP datagrams before they go out the egress interface. So it's RECOMMENDED to keep the offered frame size small enough that no fragmentation is needed ๐Ÿซถ

A search algorithm MUST be used to find the encapsulation throughput, as defined in [Du98] โœจ

Reporting Format:

The following configuration parameters MUST be in the test report:

  • Number of tested egress interfaces on the DUT/SUT
  • Test duration
  • IGMP version
  • Total number of multicast groups
  • MTU size of DUT/SUT interfaces
  • Originating un-encapsulated frame size
  • Number of tunnels per egress interface
  • Number of multicast groups per tunnel
  • Encapsulation algorithm or format used to tunnel the packets

The following results MUST be in the test report:

  • Measured Encapsulated Throughput as defined in RFC 2432 [Du98]
  • Encapsulated frame size

The Encapsulated Throughput results SHOULD be shown in a table ๐Ÿ“Š For this test, there SHOULD be a row 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: This one's the reverse, periodt. We want the maximum rate where frames hitting ONE ingress interface of the DUT/SUT get decapsulated and correctly forwarded out 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 decapsulation throughput of the DUT/SUT ๐ŸŽ€ One or more tunnels run from the source test port to the DUT/SUT. The source test port sends encapsulated multicast traffic, the DUT/SUT unwraps it, and it gets forwarded to the destination test port(s). Unboxing era ๐ŸŽ

The DUT/SUT SHOULD be configured so the traffic on the ingress interface is either:

  • a) A single tunnel carrying one or more multicast address groups OR
  • b) Multiple tunnels, each carrying one or more multicast address groups.

With multiple tunnels, the number of multicast groups per tunnel MUST be the same. Every destination test port MUST join all the multicast group addresses the source test port offers, and each egress interface MUST have the same MTU โœจ

A search algorithm MUST be used to find the decapsulation throughput, as defined in [Du98] ๐Ÿ’–

If you want to compare encapsulation and decapsulation performance, the offered frame sizes SHOULD match the encapsulated frame sizes from the encapsulation test (see section 4.4.1) instead of the ones in section 3.1.3 ๐Ÿ“

Reporting Format:

The following configuration parameters MUST be in the test report:

  • Number of tested egress interfaces on the DUT/SUT
  • Test duration
  • IGMP version
  • Total number of multicast groups
  • Originating encapsulation algorithm or format used to tunnel the packets
  • Originating encapsulated frame size
  • Number of tunnels
  • Number of multicast groups per tunnel

The following results MUST be in the test report:

  • Measured Decapsulated Throughput as defined in RFC 2432 [Du98]
  • Decapsulated frame size

The Decapsulated Throughput results SHOULD be shown in a table ๐Ÿ“Š For this test, there SHOULD be a row 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: Now we're doing a glow-up ๐Ÿ’… We want the maximum rate where frames in one encapsulated format, hitting ONE ingress interface of the DUT/SUT, get converted into another encapsulated format and correctly forwarded out 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 re-encapsulation throughput of the DUT/SUT ๐ŸŒธ The source test port sends encapsulated traffic of one type to the DUT/SUT, which is configured to re-encapsulate those frames into a different format. Then the DUT/SUT forwards the re-encapsulated frames to the destination test port(s). Format swap, iykyk ๐Ÿฆ‹

The DUT/SUT SHOULD be configured so the traffic on the ingress interface and each egress interface is either:

  • a) A single tunnel carrying one or more multicast address groups OR
  • b) Multiple tunnels, each carrying one or more multicast address groups.

With multiple tunnels, the number of multicast groups per tunnel MUST be the same. It's also lowkey important that the DUT/SUT SHOULD be configured so the number of tunnels on the ingress and on each egress interface match ๐Ÿ‘‘ Every destination test port MUST join all the multicast group addresses the source test port offers, and each egress interface MUST have the same MTU ๐Ÿ’œ

Note that with large frame sizes, the encapsulation process may force the DUT/SUT to fragment the IP datagrams before they go out the egress interface. So it's RECOMMENDED to limit the offered frame sizes so the DUT/SUT doesn't need any fragmentation ๐ŸŒˆ

A search algorithm MUST be used to find the re-encapsulation throughput, as defined in [Du98] โœจ

Reporting Format:

The following configuration parameters MUST be in the test report:

  • Number of tested egress interfaces on the DUT/SUT
  • Test duration
  • IGMP version
  • Total number of multicast groups
  • MTU size of DUT/SUT interfaces
  • Originating encapsulation algorithm or format used to tunnel the packets
  • Re-encapsulation algorithm or format used to tunnel the packets
  • Originating encapsulated frame size
  • Number of tunnels per interface
  • Number of multicast groups per tunnel

The following results MUST be in the test report:

  • Measured Re-encapsulated Throughput as defined in RFC 2432 [Du98]
  • Re-encapsulated frame size

The Re-encapsulated Throughput results SHOULD be shown in a table ๐Ÿ“Š For this test, there SHOULD be a row 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 covers how to measure the forwarding latency of a DUT/SUT in a multicast environment. It builds on the latency characterization idea from RFC 2544, so it's giving continuity ๐Ÿซถ

The offered load carried with the latency-measured packet can change how the DUT/SUT buffers packets, which can then change the measured latency. This SHOULD be considered when picking the load for the methods below ๐Ÿ’€

RFC 1242 and RFC 2544 split devices into two types: "store and forward" and "bit-forwarding." Each type affects how latency is collected and how it gets presented. Check those RFCs for the full scoop ๐ŸŒธ

5.1. Multicast Latency โœจ

Objective:

okay so the goal here is to get a set of multicast latency numbers from ONE multicast ingress interface of a DUT/SUT, measured through multiple multicast egress interfaces on that very same DUT/SUT. this is what RFC 2432 [Du98] calls the "Multicast Latency" metric ๐Ÿฆ‹

The procedures below borrow the latency collection method from RFC 2544 [Br96] ๐Ÿ’… There are two topology scenarios: one for characterizing a single device (DUT), and another for characterizing multiple devices (SUT) ๐Ÿซถ

Procedure:

bestie, so for a single Device Under Test (DUT), an example test topology could look like Figure 1 in section 3. basically one DUT with one ingress interface getting the multicast test traffic from the frame-transmitting part of the test apparatus, and n egress interfaces on that same DUT sending the multicast test traffic back to the frame-receiving part of the test apparatus ๐ŸŒธ Note that n is the number of TESTED egress interfaces that actually forward the test traffic. configured but untested, non-forwarding interfaces don't count, for example ๐Ÿ™ˆ

If the latencies are being measured across multiple devices forming a System Under Test (SUT), an example topology could look like Figure 2 in section 3 ๐Ÿงš

The trial duration SHOULD be 120 seconds, to stay 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 MUST be disclosed in the results report ๐Ÿ’œ no skipping this part, it's giving important ๐Ÿ˜ญ

Now the test traffic stream gets 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 is the basis for the latency measurements, so it's literally the main character ๐Ÿ‘‘ By "uniquely identifiable," we mean the test apparatus MUST be able to tell the "tagged" frame apart from the other frames in 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 ๐Ÿ“ For more on store and forward devices versus bit forwarding devices, check RFC 1242 [Br91] โœจ

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, is made up of each latency measurement taken from every ingress/tested egress interface pairing, and 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 have 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 help with trending across multiple trials ๐Ÿ“ˆ


5.2. Min/Max Multicast Latency ๐Ÿ’…

Objective:

the goal is to find the difference between the maximum latency and the minimum latency 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 described in section 5.1. This gives a set of multicast latencies, M, where M is made up of individual forwarding latencies between DUT frame ingress and DUT frame egress port pairs. Like this:

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), where 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 have 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 ๐Ÿงš

okay so this section covers the methodology for characterizing the overhead delays tied to explicit operations found in multicast environments ๐Ÿ’œ๐ŸŒธ

6.1. Group Join Delay โœจ

Objective:

okay so this one is about how long a DUT/SUT takes to actually start forwarding multicast frames after a successful IGMP group membership report has been sent to it. like, the report goes out, and then how long until the frames start flowing? ๐Ÿฆ‹

Procedure:

ngl the join delay can be affected by the state of the Multicast Forwarding Database <MFDB> of the DUT/SUT. there are two states to know about ๐Ÿ’…

  • State 0, where the MFDB does not contain the specified multicast group address. here the delay includes the time the DUT/SUT needs to add the address to the MFDB and begin forwarding. measuring from State 0 tells you how well the DUT/SUT can add brand new addresses ๐Ÿงš
  • State 1, where the MFDB does contain the specified multicast group address. here the delay includes the time to update the MFDB with the newly joined node<s>, start forwarding to them, and add the packet replication time. measuring from State 1 shows how well it updates the MFDB for new nodes while still sending packets to everyone else on that same IP multicast address. think adding a new user to an event that's being promoted with multicast packets ๐ŸŽ€

there are two alternate methods, based on the MFDB state, and they MAY be used on their own or together for extra insight into how the DUT/SUT handles its MFDB ๐ŸŒธ

users MAY pick either method to determine the Multicast Group Join Delay, BUT the collection method MUST be specified as part of the reporting format. no skipping that part, bestie ๐Ÿ™ˆ

to keep the delay calculations from getting wobbly and to not overload the DUT/SUT, the test SHOULD be run with one multicast group. also, every destination test port MUST join the specified multicast group that's offered to the ingress interface of the DUT/SUT.

Method A

method A assumes the MFDB doesn't contain the group address (or hasn't learned it yet), so the MFDB MUST be in State 0. here the metric is the time the DUT/SUT takes to add the multicast address to the MFDB and start forwarding the multicast packet. only one ingress and one egress MUST be used for this metric ๐Ÿ”ฅ

before sending any IGMP Group Membership Reports used for the Multicast Group Join Delay, it MUST be verified through externally observable means that the destination test port is not already a member of the specified multicast group. it MUST also be verified through externally observable means that the MFDB of the DUT/SUT does not contain the specified multicast address. double-check the vibes first ๐Ÿ‘‘

Method B

method B assumes the MFDB of the DUT/SUT does contain the specified multicast group address, so the MFDB MUST be in State 1. here the metric is the time the DUT/SUT takes to update the MFDB with the additional nodes and their corresponding interfaces, and then start forwarding the multicast packet. one or more egress ports MAY be used for this metric โœจ

before 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 before any test traffic is sent. that port is only there to make sure the MFDB has been populated with the 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 before the DUT/SUT receives 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 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 between when the IGMP Group Membership message is sent (timestamp A) and when 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:

  • Frame size(s)
  • Number of tested egress interfaces on the DUT/SUT
  • IGMP version
  • Total number of multicast groups
  • Offered load to ingress interface
  • Method used to measure the join delay metric

the following results MUST be reflected in the test report:

  • The group join delay time in microseconds per egress interface(s)

the Group Join Delay results for each test MAY be reported as 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:

this one flips it around: how long does a DUT/SUT take to stop forwarding multicast frames after a matching IGMP Leave Group message has been successfully offered to it? bye bye, frames ๐Ÿ‘‹

Procedure:

to keep the delay calculations from getting wobbly and to not overload the DUT/SUT, the test SHOULD be run with one multicast group. every destination test port MUST also join the specified multicast group that's offered to the ingress interface of the DUT/SUT. ๐Ÿ’–

before 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 don't forward the validation multicast frames, then the test is invalid. no cap, that's a fail ๐Ÿ’€

once verification is complete, multicast traffic for the specified multicast group address MUST be offered to the ingress interface before any IGMP Leave Group messages are received or processed. it is RECOMMENDED to offer traffic at the measured aggregated multicast throughput rate (Section 4.3). ๐Ÿฆ‹

after the multicast traffic has 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 between when the IGMP Leave Group message is sent (timestamp A) and when 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:

  • Frame size(s)
  • Number of tested egress interfaces on the DUT/SUT
  • IGMP version
  • Total number of multicast groups
  • Offered load to ingress interface

the following results MUST be reflected in the test report:

  • The group leave delay time in microseconds per egress interface(s)

the Group Leave Delay results for each test MAY be reported as 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 is all about finding the multicast group limits of a DUT/SUT. how many groups can it handle before things start breaking? ๐Ÿ‘€

7.1. Multicast Group Capacity ๐Ÿ’…

Objective:

to find the maximum number of multicast groups a DUT/SUT can support while still forwarding multicast frames to every multicast group registered to it. the max that still slays ๐Ÿ”ฅ

Procedure:

one or more destination test ports of the 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 properly forwarded 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 joins 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:

  • Frame size(s)
  • Number of tested egress interfaces on the DUT/SUT
  • IGMP version
  • Offered load

the following results MUST be reflected in the test report:

  • 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 as 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, the number of frames transmitted, and the number of frames received for that iteration. ๐Ÿ“Š


8. Interaction ๐Ÿฆ‹

network forwarding devices are generally expected to do way more than just forward traffic ๐Ÿ™ƒ and they can be asked to do those extra jobs in all kinds of different environments. so this section offers procedures to help characterize how the DUT/SUT behaves when other factors might interact with it. the whole vibe is "what else is going on in there?" ๐ŸŒˆ

8.1. Forwarding Burdened Multicast Latency โœจ

okay so this one is giving stress test ๐Ÿ’… the goal is to get a set of multicast latency numbers from a single multicast ingress interface of a DUT/SUT, measured through multiple egress multicast interfaces on that same DUT/SUT. it's the "Multicast Latency" metric from RFC 2432 [Du98], but measured while the box is also forwarding meshed unicast traffic ๐Ÿซถ

Here's the vibe: multicast latency can get messed with if you force the DUT/SUT to do extra processing on packets while the multicast class traffic is flowing for the latency measurements ๐Ÿ˜ญ

The Burdened Forwarding Multicast Latency test MUST follow the setup described for the Multicast Latency test in Section 5.1. On top of that, a second set of test ports MUST be used to burden the DUT/SUT. these are the burdening ports ๐Ÿงš They send 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 that has to be verified through some externally observable method, so no vibes-only checking ๐Ÿ‘€

Step by step:

  • First, do a baseline measurement of Multicast Latency like Section 5.1 says.
  • Once you have the baseline, start sending the unicast class traffic at a user-specified offered load on the burdening ports, then rerun the Multicast Latency test.
  • The offered load to the ingress port MUST be the same as what was used in the baseline measurement. same energy both runs, no cheating ๐Ÿ™…โ€โ™€๏ธ

Reporting Format ๐Ÿ“‹

Similar to Section 5.1, these configuration parameters MUST be reflected in the test report:

  • Frame size(s)
  • Number of tested egress interfaces on the DUT/SUT
  • Test duration
  • IGMP version
  • Offered load to ingress interface
  • Total number of multicast groups
  • Offered load to burdening ports
  • Total number of burdening ports

And these results MUST be reflected in the test report:

  • 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, with sufficient precision for the medium or media being tested ๐Ÿ“

The latency results for each test SHOULD be reported as a table, with a row for each of the tested frame sizes per the recommended frame sizes in section 3.1.3. They SHOULD also preserve the relationship of latency to ingress/egress interface(s), which helps with trending across multiple trials ๐Ÿ“ˆ

8.2. Forwarding Burdened Group Join Delay ๐ŸŒธ

the goal here is to figure out how long it takes a DUT/SUT to start forwarding multicast frames, measured from the moment a successful IGMP Group Membership Report has been issued to the DUT/SUT, all while it's forwarding meshed unicast traffic. so basically join delay but make it busy ๐Ÿ”ฅ

The Forwarding Burdened Group Join Delay test MUST follow the setup described for the Group Join Delay test in Section 6.1. Same as before, a second set of test ports MUST be used to burden the DUT/SUT (burdening ports). They transmit unicast class traffic in a fully meshed traffic pattern as described in RFC 2285 [Ma98]. The DUT/SUT MUST learn the appropriate unicast addresses, and that has to be verified through some externally observable method ๐Ÿ’…

Procedure, same shape as 8.1:

  • Do a baseline measurement of Group Join Delay as described in Section 6.1.
  • After the baseline is in, start sending unicast class traffic at a user-specified offered load on the burdening ports, then rerun the Group Join Delay test.
  • The offered load to the ingress port MUST be the same as in the baseline measurement. no sneaky changes ๐Ÿ™ˆ

Reporting Format:

Similar to Section 6.1, these configuration parameters MUST be reflected in the test report:

  • Frame size(s)
  • Number of tested egress interfaces on the DUT/SUT
  • IGMP version
  • Offered load to ingress interface
  • Total number of multicast groups
  • Offered load to burdening ports
  • Total number of burdening ports
  • Method used to measure the join delay metric

And these results MUST be reflected in the test report:

  • 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 as 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, the number of frames transmitted, and the number of frames received for that iteration ๐Ÿงพ

9. Security Considerations ๐Ÿ”

ok this section is short but it's serious, so listen up ๐Ÿซข This document is only about providing metric methodology. It doesn't describe a protocol or how a protocol gets implemented, so there are no security considerations that come with this document specifically. BUT results from these methodologies can show a performance capability or limit of a device or system in a particular test context. Those results might not be representative of the tested entity in an operational network. So don't take a lab number and treat it like the gospel for production ๐Ÿ’€

10. Acknowledgements ๐ŸŽ€

The Benchmarking Methodology Working Group of the IETF, and especially Kevin Dubray of Juniper Networks, get major thanks ๐Ÿซถ for the many suggestions they made together to help complete this document.

11. Contributions ๐ŸŒˆ

The authors want to shout out the following people for their help and participation in putting this document together: Hardev Soor of Ixia and Ralph Daniels of Spirent Communications, who both made significant contributions to the earlier versions of this document. The authors also want to thank 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

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. ๐Ÿซถ

๐Ÿ“ฆ where this page comes from