Rfc | 4689 |
Title | Terminology for Benchmarking Network-layer Traffic Control
Mechanisms |
Author | S. Poretsky, J. Perser, S. Erramilli, S. Khurana |
Date | October 2006 |
Format: | TXT, HTML |
Status: | INFORMATIONAL |
|
Network Working Group S. Poretsky
Request for Comments: 4689 Reef Point Systems
Category: Informational J. Perser
Veriwave
S. Erramilli
Telcordia
S. Khurana
Motorola
October 2006
Terminology for Benchmarking Network-layer Traffic Control Mechanisms
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 (2006).
Abstract
This document describes terminology for the benchmarking of devices
that implement traffic control using packet classification based on
defined criteria. The terminology is to be applied to measurements
made on the data plane to evaluate IP traffic control mechanisms.
Rules for packet classification can be based on any field in the IP
header, such as the Differentiated Services Code Point (DSCP), or any
field in the packet payload, such as port number.
Table of Contents
1. Introduction ....................................................2
2. Existing Definitions ............................................3
3. Term Definitions ................................................4
3.1. Configuration Terms ........................................4
3.1.1. Classification ......................................4
3.1.2. Codepoint Set .......................................4
3.1.3. Forwarding Congestion ...............................5
3.1.4. Congestion Management ...............................6
3.1.5. Flow ................................................7
3.2. Measurement Terms ..........................................7
3.2.1. Forwarding Capacity .................................7
3.2.2. Conforming Packet ...................................8
3.2.3. Nonconforming Packet ................................9
3.2.4. Forwarding Delay ....................................9
3.2.5. Jitter .............................................11
3.2.6. Undifferentiated Response ..........................11
3.3. Sequence Tracking .........................................12
3.3.1. Test Sequence Number ...............................12
3.3.2. Stream .............................................12
3.3.3. In-Sequence Packet .................................13
3.3.4. Out-of-Order Packet ................................14
3.3.5. Duplicate Packet ...................................14
3.4. Vectors ...................................................15
3.4.1. Intended Vector ....................................15
3.4.2. Offered Vector .....................................16
3.4.3. Expected Vectors ...................................16
3.4.4. Output Vectors .....................................23
4. Security Considerations ........................................30
5. Acknowledgements ...............................................30
6. References .....................................................31
6.1. Normative References ......................................31
6.2. Informative References ....................................31
1. Introduction
New terminology is needed because most existing measurements assume
the absence of congestion and only a single per-hop behavior. This
document introduces several new terms that will allow measurements to
be taken during periods of congestion.
Another key difference from existing terminology is the definition of
measurements as observed on egress and ingress of a device/system
under test. Again, the existence of congestion requires the addition
of egress measurements, as well as of those taken on ingress; without
observing traffic leaving a device/system, it is not possible to say
whether traffic-control mechanisms effectively dealt with congestion.
The principal measurements introduced in this document are vectors
for rate, delay, and jitter, all of which can be observed with or
without congestion of the Device Under Test (DUT)/System Under Test
(SUT). This document describes only those terms relevant to
measuring behavior of a DUT or SUT at the egress during periods of
congestion. End-to-end and service-level measurements are beyond the
scope of this document.
2. Existing Definitions
RFC 1224, "Techniques for Managing Asynchronously Generated Alerts"
[St91], is used for 'Time with fine enough units to distinguish
between two events'.
RFC 1242, "Benchmarking Terminology for Network Interconnect
Devices", and RFC 2285, "Benchmarking Terminology for LAN Switching
Devices", should be consulted before attempting to make use of this
document.
RFC 2474, "Definition of the Differentiated Services Field (DS Field)
in the IPv4 and IPv6 Headers", section 2, contains discussions of a
number of terms relevant to network-layer traffic control mechanisms
and should also be consulted.
For the sake of clarity and continuity, this RFC adopts the template
for definitions set out in Section 2 of RFC 1242. Definitions are
indexed and grouped together in sections for ease of reference.
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.
2.1. Frequently Used Acronyms
DA Destination Address
DS DiffServ
DSCP DiffServ Code Point
DUT Device Under Test
IP Internet Protocol
PHB Per Hop Behavior
SA Source Address
SUT System Under Test
3. Term Definitions
3.1. Configuration Terms
3.1.1. Classification
Definition:
Selection of packets according to defined rules.
Discussion:
Classification determines the per-hop behaviors and traffic
conditioning functions, such as shaping and dropping, that are to
be applied to the packet.
Classification of packets can be based on the DS field or IP
Precedence in the packet header. Classification can be based on
other IP header fields, such as IP Source Address (SA),
Destination Address (DA), and protocol, or on fields in the packet
payload, such as port number. Classification can also be based on
ingress interface. It is possible to base classification on
Multi-Field (MF) criteria such as IP source and destination
addresses, protocol, and port number. For further discussion of
packet classification and its network applications, see [Bl98].
Measurement units:
n/a
See Also:
None
3.1.2. Codepoint Set
Definition:
The set of all DS Code-points or IP precedence values used during
the test duration.
Discussion:
Describes all the code-point markings associated with packets that
are input to the DUT/SUT. For each entry in the codepoint set,
there are associated vectors describing the rate of traffic,
delay, loss, or jitter containing that particular DSCP or IP
precedence value.
The treatment that a packet belonging to a particular code-point
gets is subject to the DUT classifying packets to map to the
correct PHB. Moreover, the forwarding treatment in general is
also dependent on the complete set of offered vectors.
Measurement Units:
n/a
See Also:
None
3.1.3. Forwarding Congestion
Definition:
A condition in which one or more egress interfaces are offered
more packets than are forwarded.
Discussion:
This condition is a superset of the overload definition [Ma98].
Overload [Ma98] deals with overloading input and output interfaces
beyond the maximum transmission allowed by the medium. Forwarding
congestion does not assume ingress interface overload as the only
source of overload on output interfaces.
Another difference between Forwarding Congestion and overload
occurs when the SUT comprises multiple elements, in that
Forwarding Congestion may occur at multiple points. Consider an
SUT comprising multiple edge devices exchanging traffic with a
single core device. Depending on traffic patterns, the edge
devices may induce Forwarding Congestion on multiple egress
interfaces on the core device.
Throughput [Br91] defines the lower boundary of Forwarding
Congestion. Throughput is the maximum offered rate with no
Forwarding Congestion. At offered rates above throughput, the
DUT/SUT is considered to be in a state of Forwarding Congestion.
Packet Loss, not increased Forwarding Delay, is the external
observable metric used to indicate the condition of Forwarding
Congestion. Packet Loss is a deterministic indicator of
Forwarding Congestion. The condition of increased Forwarding
Delay without Packet Loss is an indicator of Forwarding Congestion
known as Incipient Congestion. Incipient Congestion is a non-
deterministic indicator of Forwarding Congestion [Fl93]. As
stated in [Ec98], RED [Br98] detects incipient congestion before
the buffer overflows, but the current Internet environment is
limited to packet loss as the mechanism for indicating congestion
to the end-nodes. [Ra99] implies that it is impractical to build
a black-box test to observe Incipient Congestion. [Ra99] instead
introduces Explicit Congestion Notification (ECN) as a
deterministic Black-Box method for observing Incipient Congestion.
[Ra99] is an Experimental RFC with limited deployment, so ECN is
not used for this particular methodology. For the purpose of
"black-box" testing a DUT/SUT, this methodology uses Packet Loss
as the indicator of Forwarding Congestion.
Ingress observations alone are not sufficient to cover all cases
in which Forwarding Congestion may occur. A device with an
infinite amount of memory could buffer an infinite number of
packets and eventually forward all of them. However, these
packets may or may not be forwarded during the test duration.
Congestion Collapse [Na84] is defined as the state in which
buffers are full and all arriving packets MUST be dropped across
the network. Even though ingress interfaces accept all packets
without loss, Forwarding Congestion is present in this
hypothetical device.
The definition presented here explicitly defines Forwarding
Congestion as an event observable on egress interfaces.
Regardless of internal architecture, any device exhibiting Packet
Loss on one or more egress interfaces is experiencing Forwarding
Congestion.
Measurement units:
None
See Also:
Gateway Congestion Control Survey [Ma91]
3.1.4. Congestion Management
Definition:
An implementation of one or more per-hop behaviors to avoid or
minimize the condition of congestion.
Discussion:
Congestion management may seek either to control congestion or
avoid it altogether through Classification.
Congestion avoidance mechanisms seek to prevent congestion before
it actually occurs.
Congestion control mechanisms give one or more flows (with a
discrete IP Precedence or DSCP value) preferential treatment over
other classes during periods of congestion.
Measurement units:
n/a
See Also:
Classification
3.1.5. Flow
Definition:
A flow is one or more packets sharing a common intended pair of
ingress and egress interfaces.
Discussion:
Packets are grouped by the ingress and egress interfaces they use
on a given DUT/SUT.
A flow can contain multiple source IP addresses and/or destination
IP addresses. All packets in a flow MUST enter on the same
ingress interface and exit on the same egress interface and have
some common network layer content.
Microflows [Ni98] are a subset of flows. As defined in [Ni98],
microflows require application-to-application measurement. In
contrast, flows use lower-layer classification criteria. Since
this document focuses on network-layer classification criteria, it
concentrates here on the use of network-layer identifiers in
describing a flow. Flow identifiers also may reside at the data-
link, transport, or application layers of the OSI model. However,
identifiers other than those at the network layer are out of scope
for this document.
A flow may contain a single code point/IP precedence value or may
contain multiple values destined for a single egress interface.
This is determined by the test methodology.
Measurement units:
n/a
See Also:
Microflow [Ni98]
Streams
3.2. Measurement Terms
3.2.1. Forwarding Capacity
Definition:
The number of packets per second that a device can be observed to
transmit successfully to the correct egress interface in response
to a specified offered load while the device drops none of the
offered packets.
Discussion:
Forwarding Capacity measures the packet rate at the egress
interface(s) of the DUT/SUT. In contrast, throughput (as defined
in RFC 1242) measures the packet rate at the ingress interface(s)
of the DUT/SUT.
Ingress-based measurements do not account for queuing of the
DUT/SUT. Throughput rates can be higher than the Forwarding
Capacity because of queueing. The difference is dependent upon
test duration, packet rate, and queue size. Forwarding Capacity,
as an egress measurement, does take queuing into account.
Understanding Forwarding Capacity is a necessary precursor to any
measurement involving Traffic Control Mechanisms. The
accompanying methodology document MUST take into consideration
Forwarding Capacity when determining the expected forwarding
vectors. When the sum of the expected forwarding vectors on an
interface exceeds the Forwarding Capacity, the Forwarding Capacity
will govern the forwarding rate.
This measurement differs from forwarding rate at maximum offered
load (FRMOL) [Ma98] in that the Forwarding Capacity requires zero
loss.
Measurement units:
N-octet packets per second
See Also:
Throughput [Br91]
Forwarding Rate at Maximum Offered Load [Ma98]
3.2.2. Conforming Packet
Definition:
Packets that lie within specific rate, delay, or jitter bounds.
Discussion:
A DUT/SUT may be configured to allow a given traffic class to
consume a given amount of bandwidth, or to fall within predefined
delay or jitter boundaries. All packets that lie within specified
bounds are then said to be conforming, whereas those outside the
bounds are nonconforming.
Measurement units:
n/a
See Also:
Expected Vector
Forwarding Vector
Offered Vector
Nonconforming
3.2.3. Nonconforming Packet
Definition:
Packets that do not lie within specific rate, delay, or jitter
bounds.
Discussion:
A DUT/SUT may be configured to allow a given traffic class to
consume a given amount of bandwidth, or to fall within predefined
delay or jitter boundaries. All packets that do not lie within
these bounds are then said to be nonconforming.
Measurement units:
n/a
See Also:
Expected Vector
Forwarding Vector
Offered Vector
Conforming
3.2.4. Forwarding Delay
Definition:
The time interval starting when the last bit of the input IP
packet is offered to the input port of the DUT/SUT and ending when
the last bit of the output IP packet is received from the output
port of the DUT/SUT.
Discussion:
The delay time interval MUST be externally observed. The delay
measurement MUST NOT include delays added by test bed components
other than the DUT/SUT, such as propagation time introduced by
cabling or non-zero delay added by the test instrument.
Forwarding Delay differs from latency [Br91] and one-way delay
[Al99] in several key regards:
1. Latency [Br91] assumes knowledge of whether the DUT/SUT uses
"store and forward" or "bit forwarding" technology. Forwarding
Delay is the same metric, measured the same way, regardless of
the architecture of the DUT/SUT.
2. Forwarding Delay is a last-in, last-out (LILO) measurement,
unlike the last-in, first-out method [Br91] or the first-in,
last-out method [Al99].
The LILO method most closely simulates the way a network-layer
device actually processes an IP datagram. IP datagrams are not
passed up and down the stack unless they are complete, and
processing begins only once the last bit of the IP datagram has
been received.
Further, the LILO method has an additive property, where the
sum of the parts MUST equal the whole. This is a key
difference from [Br91] and [Al99]. For example, the delay
added by two DUTs MUST equal the sum of the delay of the DUTs.
This may or may not be the case with [Br91] and [Al99].
3. Forwarding Delay measures the IP datagram only, unlike [Br91],
which also includes link-layer overhead.
A metric focused exclusively on the Internet protocol relieves
the tester from specifying the start/end for every link-layer
protocol that IP runs on. This avoids the need to determine
whether the start/stop delimiters are included. It also allows
the use of heterogeneous link-layer protocols in a test.
4. Forwarding Delay can be measured at any offered load, whereas
the latency methodology [Br99] recommends measurement at, and
only at, the throughput level. Comparing the Forwarding Delay
below the throughput to Forwarding Delay above the Forwarding
Capacity will give insight to the traffic control mechanisms.
For example, non-congested delay may be measured with an
offered load that does not exceed the Forwarding Capacity,
while congested delay may involve an offered load that exceeds
the Forwarding Capacity.
Note: Forwarding Delay SHOULD NOT be used as an absolute
indicator of DUT/SUT Forwarding Congestion. While Forwarding
Delay may rise when offered load nears or exceeds the
Forwarding Capacity, there is no universal point at which
Forwarding Delay can be said to indicate the presence or
absence of Forwarding Congestion.
Measurement units:
milliseconds
See Also:
Latency [Br91]
Latency [Al99]
One-way Delay [Br99]
3.2.5. Jitter
Definition:
The absolute value of the difference between the Forwarding Delay
of two consecutive received packets belonging to the same stream.
Discussion:
The Forwarding Delay fluctuation between two consecutive received
packets in a stream is reported as the jitter. Jitter can be
expressed as |D(i) - D(i-1)|, where D equals the Forwarding Delay
and i is the order the packets were received.
Under loss, jitter can be measured between non-consecutive test
sequence numbers. When IP Traffic Control Mechanisms are dropping
packets, fluctuating Forwarding Delay may be observed. Jitter
MUST be able to benchmark the delay variation independently of
packet loss.
Jitter is related to the IPDV [De02] (IP Delay Variation) by
taking the absolute value of the ipdv. The two metrics will
produce different mean values. Mean Jitter will produce a
positive value, where the mean ipdv is typically zero. Also, IPDV
is undefined when one packet from a pair is lost.
Measurement units:
milliseconds
See Also:
Forwarding Delay
Jitter variation [Ja99]
ipdv [De02]
interarrival jitter [Sc96]
3.2.6. Undifferentiated Response
Definition:
The vector(s) obtained when mechanisms used to support diff-serv
or IP precedence are disabled.
Discussion:
Enabling diff-serv or IP precedence mechanisms may impose
additional processing overhead for packets. This overhead may
degrade performance even when traffic belonging to only one class,
the best-effort class, is offered to the device. Measurements
with "undifferentiated response" SHOULD be made to establish a
baseline.
The vector(s) obtained with DSCP or IP precedence enabled can be
compared to the undifferentiated response to determine the effect
of differentiating traffic.
Measurement units:
n/a
3.3. Sequence Tracking
3.3.1. Test Sequence Number
Definition:
A field in the IP payload portion of the packet that is used to
verify the order of the packets on the egress of the DUT/SUT.
Discussion:
The traffic generator sets the test sequence number value. Upon
receipt of the packet, the traffic receiver checks the value.
The traffic generator changes the value on each packet transmitted
based on an algorithm agreed to by the traffic receiver.
The traffic receiver keeps track of the sequence numbers on a
per-stream basis. In addition to the number of received packets,
the traffic receiver may also report the number of in-sequence
packets, the number of out-of-sequence packets, the number of
duplicate packets, and the number of reordered packets. The
RECOMMENDED algorithm to change the sequence number on sequential
packets is an incrementing value.
Measurement units:
n/a
See Also:
Stream
3.3.2. Stream
Definition:
A group of packets tracked as a single entity by the traffic
receiver. A stream MUST share common content, such as type (IP,
UDP), IP SA/DA, packet size, or payload.
Discussion:
Streams are tracked by test sequence number or "unique signature
field" [Ma00]. Streams define how individual packet statistics
are grouped together to form an intelligible summary.
Common stream groupings would be by egress interface, destination
address, source address, DSCP, or IP precedence. A stream using
test sequence numbers can track the ordering of packets as they
traverse the DUT/SUT.
Streams are not restricted to a pair of source and destination
interfaces as long as all packets are tracked as a single entity.
A multicast stream can be forwarded to multiple destination
interfaces.
Measurement units:
n/a
See Also:
Flow
Microflow [Ni98]
Test sequence number
3.3.3. In-Sequence Packet
Definition:
A received packet with the expected Test Sequence number.
Discussion:
In-sequence is done on a stream level. As packets are received on
a stream, each packet's Test Sequence number is compared with the
previous packet. Only packets that match the expected Test
Sequence number are considered in-sequence.
Packets that do not match the expected Test Sequence number are
counted as "not in-sequence" or out-of-sequence. Every packet
that is received is either in-sequence or out-of-sequence.
Subtracting the in-sequence from the received packets (for that
stream), the tester can derive the out-of-sequence count.
Two types of events will prevent the in-sequence from
incrementing: packet loss and reordered packets.
Measurement units:
Packet count
See Also:
Stream
Test Sequence number
3.3.4. Out-of-Order Packet
Definition:
A received packet with a sequence number less than the sequence
number of any previously arriving packet.
Discussion:
As a stream of packets enters a DUT/SUT, they include a Stream
Test Sequence number indicating the order the packets were sent to
the DUT/SUT. On exiting the DUT/SUT, these packets may arrive in
a different order. Each packet that was reordered is counted as
an Out-of-Order Packet.
Certain streaming protocols (such as TCP) require the packets to
be in a certain order. Packets outside this are dropped by the
streaming protocols even though they were properly received by the
IP layer. The type of reordering tolerated by a streaming
protocol varies from protocol to protocol, and also by
implementation.
Packet loss does not affect the Out-of-Order Packet count. The
Out-of-Order Packet count is impacted only by packets that were
not received in the order that they were transmitted.
Measurement units:
packets
See Also:
Stream
Test Sequence number
Packet Reordering Metric for IPPM [Mo03]
3.3.5. Duplicate Packet
Definition:
A received packet with a Test Sequence number matching a
previously received packet.
Discussion:
A Duplicate Packet is a packet that the DUT/SUT has successfully
transmitted out an egress interface more than once. The egress
interface has previously forwarded this packet.
A Duplicate Packet SHOULD be a bit-for-bit copy of an already
transmitted packet (including Test Sequence number). If the
Duplicate Packet traversed different paths through the DUT/SUT,
some fields (such as TTL or checksum) may have changed.
A multicast packet is not a Duplicate Packet by definition. For a
given IP multicast group, a DUT/SUT SHOULD forward a packet once
on a given egress interface provided the path to one or more
multicast receivers is through that interface. Several egress
interfaces will transmit the same packet, but only once per
interface.
To detect a Duplicate Packet, each packet offered to the DUT/SUT
MUST contain a unique packet-by-packet identifier.
Measurement units:
Packet count
See Also:
Stream
Test Sequence number
3.4. Vectors
A vector is a group of packets all matching a specific
classification criteria, such as DSCP. Vectors are
identified by the classification criteria and benchmarking
metrics, such as a Forwarding Capacity, Forwarding Delay,
or Jitter.
3.4.1. Intended Vector
Definition:
A description of the configuration on an external source
for the attempted rate of a stream transmitted to a DUT/SUT
matching specific classification rules.
Discussion:
The Intended Vector of a stream influences the benchmark
measurements. The Intended Vector is described by the
classification criteria and attempted rate.
Measurement Units:
N-bytes packets per second
See Also:
Stream
Offered Vector
Forwarding Vector
3.4.2. Offered Vector
Definition:
A description for the attempted rate of a stream offered to
a DUT/SUT matching specific classification rules.
Discussion:
The Offered Vector of a stream influences the benchmark
measurements. The Offered Vector is described by the
classification criteria and offered rate.
Measurement Units:
N-bytes packets per second
See Also:
Stream
Intended Vector
Forwarding Vector
3.4.3. Expected Vectors
3.4.3.1. Expected Forwarding Vector
Definition:
A description of the expected output rate of packets matching a
specific classification, such as DSCP.
Discussion:
The value of the Expected Forwarding Vector is dependent on the
set of offered vectors and Classification configuration on the
DUT/SUT. The DUT is configured in a certain way so that
classification occurs when a traffic mix consisting of multiple
streams is applied.
This term captures the expected forwarding behavior from the DUT
receiving multiple Offered Vectors. The actual algorithm or
mechanism the DUT uses to achieve service differentiation is
implementation specific and is not important when describing the
Expected Forwarding Vector.
Measurement units:
N-octet packets per second
See Also:
Classification
Stream
Intended Vector
Offered Vector
3.4.3.2. Expected Loss Vector
Definition:
A description of the percentage of packets having a specific
classification that should not be forwarded.
Discussion:
The value of the Expected Loss Vector is dependent on the set of
offered vectors and Classification configuration on the DUT/SUT.
The DUT is configured in a certain way so that classification
occurs when a traffic mix consisting of multiple streams is
applied.
This term captures the expected forwarding behavior from the DUT
receiving multiple Offered Vectors. The actual algorithm or
mechanism the DUT uses to achieve service differentiation is
implementation specific and is not important when describing the
Expected Loss Vector.
Measurement Units:
Percentage of intended packets expected to be dropped.
See Also:
Classification
Stream
Intended Vector
Offered Vector
One-way Packet Loss Metric [Ka99]
3.4.3.3. Expected Sequence Vector
Definition:
A description of the expected in-sequence packets matching a
specific classification, such as DSCP.
Discussion:
The value of the Expected Sequence Vector is dependent on the set
of offered vectors and Classification configuration on the
DUT/SUT. The DUT is configured in a certain way so that
classification occurs when a traffic mix consisting of multiple
streams is applied.
This term captures the expected forwarding behavior from the DUT
receiving multiple Offered Vectors. The actual algorithm or
mechanism the DUT uses to achieve service differentiation is
implementation specific and is not important when describing the
Expected Sequence Vector.
Measurement Units:
N-octet packets per second
See Also:
Classification
Stream
In-Sequence Packet
Intended Vector
Offered Vector
3.4.3.4. Expected Delay Vector
Definition:
A description of the expected instantaneous Forwarding Delay for
packets matching a specific classification, such as DSCP.
Discussion:
The value of the Expected Delay Vector is dependent on the set of
offered vectors and Classification configuration on the DUT/SUT.
The DUT is configured in a certain way so that classification
occurs when a traffic mix consisting of multiple streams is
applied.
This term captures the expected forwarding behavior from the DUT
receiving multiple Offered Vectors. The actual algorithm or
mechanism the DUT uses to achieve service differentiation is
implementation specific and is not important when describing the
Expected Delay Vector.
Measurement units:
milliseconds
See Also:
Classification
Stream
Forwarding Delay
Intended Vector
Offered Vector
3.4.3.5. Expected Average Delay Vector
Definition:
A description of the expected average Forwarding Delay for packets
matching a specific classification, such as DSCP.
Discussion:
The value of the Expected Average Delay Vector is dependent on the
set of offered vectors and Classification configuration on the
DUT/SUT. The DUT is configured in a certain way so that
classification occurs when a traffic mix consisting of multiple
streams is applied.
This term captures the expected forwarding behavior from the DUT
receiving multiple Offered Vectors. The actual algorithm or
mechanism the DUT uses to achieve service differentiation is
implementation specific and is not important when describing the
Expected Average Delay Vector.
Measurement units:
milliseconds
See Also:
Classification
Stream
Forwarding Delay
Intended Vector
Offered Vector
Expected Delay Vector
3.4.3.6. Expected Maximum Delay Vector
Definition:
A description of the expected maximum Forwarding Delay for packets
matching a specific classification, such as DSCP.
Discussion:
The value of the Expected Maximum Delay Vector is dependent on the
set of offered vectors and Classification configuration on the
DUT/SUT. The DUT is configured in a certain way so that
classification occurs when a traffic mix consisting of multiple
streams is applied.
This term captures the expected forwarding behavior from the DUT
receiving multiple Offered Vectors. The actual algorithm or
mechanism the DUT uses to achieve service differentiation is
implementation specific and is not important when describing the
Expected Maximum Delay Vector.
Measurement units:
milliseconds
See Also:
Classification
Stream
Forwarding Delay
Intended Vector
Offered Vector
Expected Delay Vector
3.4.3.7. Expected Minimum Delay Vector
Definition:
A description of the expected minimum Forwarding Delay for packets
matching a specific classification, such as DSCP.
Discussion:
The value of the Expected Minimum Delay Vector is dependent on the
set of offered vectors and Classification configuration on the
DUT/SUT. The DUT is configured in a certain way so that
classification occurs when a traffic mix consisting of multiple
streams is applied.
This term captures the expected forwarding behavior from the DUT
receiving multiple Offered Vectors. The actual algorithm or
mechanism the DUT uses to achieve service differentiation is
implementation specific and is not important when describing the
Expected Minimum Delay Vector.
Measurement units:
milliseconds
See Also:
Classification
Stream
Forwarding Delay
Intended Vector
Offered Vector
Expected Delay Vector
3.4.3.8. Expected Instantaneous Jitter Vector
Definition:
A description of the expected Instantaneous Jitter between two
consecutive packets arrival times matching a specific
classification, such as DSCP.
Discussion:
Instantaneous Jitter is the absolute value of the difference
between the Forwarding Delay measurement of two packets belonging
to the same stream.
The Forwarding Delay fluctuation between two consecutive packets
in a stream is reported as the "Instantaneous Jitter".
Instantaneous Jitter can be expressed as |D(i) - D(i-1)|, where D
equals the Forwarding Delay and i is the test sequence number.
Packets lost are not counted in the measurement.
The Forwarding Vector may contain several Jitter Vectors. For n
packets received in a Forwarding Vector, there is a total of (n-1)
Instantaneous Jitter Vectors.
Measurement units:
milliseconds
See Also:
Classification
Stream
Jitter
Intended Vector
Offered Vector
3.4.3.9. Expected Average Jitter Vector
Definition:
A description of the expected average jitter for packets arriving
in a stream matching a specific classification, such as DSCP.
Discussion:
Average Jitter Vector is the average of all the Instantaneous
Jitter Vectors measured during the test duration for the same
stream.
The value of the Expected Average Jitter Vector is dependent on
the set of offered vectors and Classification configuration on the
DUT/SUT. The DUT is configured in a certain way so that
classification occurs when a traffic mix consisting of multiple
streams is applied.
This term captures the expected forwarding behavior from the DUT
receiving multiple Offered Vectors. The actual algorithm or
mechanism the DUT uses to achieve service differentiation is
implementation specific and is not important when describing the
Expected Average Jitter Vector.
Measurement units:
milliseconds
See Also:
Classification
Stream
Jitter
Intended Vector
Offered Vector
Expected Instantaneous Jitter Vector
3.4.3.10. Expected Peak-to-peak Jitter Vector
Definition:
A description of the expected maximum variation in the Forwarding
Delay of packet arrival times for packets arriving in a stream
matching a specific classification, such as DSCP.
Discussion:
Peak-to-peak Jitter Vector is the maximum Forwarding Delay minus
the minimum Forwarding Delay of the packets (in a vector)
forwarded by the DUT/SUT.
Peak-to-peak Jitter is not derived from the Instantaneous Jitter
Vector. Peak-to-peak Jitter is based upon all the packets during
the test duration, not just two consecutive packets.
The value of the Expected Peak-to-peak Jitter Vector is dependent
on the set of offered vectors and Classification configuration on
the DUT/SUT. The DUT is configured in a certain way so that
classification occurs when a traffic mix consisting of multiple
streams is applied.
This term captures the expected forwarding behavior from the DUT
receiving multiple Offered Vectors. The actual algorithm or
mechanism the DUT uses to achieve service differentiation is
implementation specific and is not important when describing the
Expected Peak-to-peak Jitter Vector.
Measurement units:
milliseconds
See Also:
Classification
Stream
Jitter
Intended Vector
Offered Vector
Expected Instantaneous Jitter Vector
Expected Average Jitter Vector
3.4.4. Output Vectors
3.4.4.1. Forwarding Vector
Definition:
The number of packets per second for a stream matching a specific
classification, such as DSCP, that a DUT/SUT is measured to
forward to the correct destination interface successfully in
response to an offered vector.
Discussion:
Forwarding Vector is expressed as a combination of values: the
classification rules AND the measured packets per second for the
stream matching the classification rules. Forwarding Vector is a
per-hop measurement. The DUT/SUT MAY remark the specific DSCP (or
IP precedence) value for a multi-hop measurement. The stream
remains the same.
Measurement units:
N-octet packets per second
See Also:
Classification
Stream
Forwarding Capacity
Intended Vector
Offered Vector
Expected Vector
3.4.4.2. Loss Vector
Definition:
The percentage of packets per second for a stream matching a
specific classification, such as DSCP, that a DUT/SUT is measured
not to transmit to the correct destination interface in response
to an offered vector.
Discussion:
Loss Vector is expressed as a combination of values: the
classification rules AND the measured percentage value of packet
loss. Loss Vector is a per-hop measurement. The DUT/SUT MAY
remark the specific DSCP or IP precedence value for a multi-hop
measurement. The stream remains the same.
Measurement Units:
Percentage of packets
See Also:
Classification
Stream
Intended Vector
Offered Vector
Expected Vector
One-way Packet Loss Metric [Ka99]
3.4.4.3. Sequence Vector
Definition:
The number of packets per second for all packets in a stream
matching a specific classification, such as DSCP, that a DUT/SUT
is measured to transmit in sequence to the correct destination
interface in response to an offered vector.
Discussion:
Sequence Vector is expressed as a combination of values: the
classification rules AND the number of packets per second that are
in-sequence.
Sequence Vector is a per-hop measurement. The DUT/SUT MAY remark
the specific DSCP or IP precedence value for a multi-hop
measurement. The stream remains the same.
Measurement Units:
N-octet packets per second
See Also:
Classification
Stream
In-sequence Packet
Intended Vector
Offered Vector
Expected Vector
3.4.4.4. Instantaneous Delay Vector
Definition:
The instantaneous Forwarding Delay for a packet in a stream
matching a specific classification, such as DSCP, that a DUT/SUT
is measured to transmit to the correct destination interface
successfully in response to an offered vector.
Discussion:
Instantaneous Delay Vector is expressed as a combination of
values: the classification rules AND Forwarding Delay. For every
packet received in a Forwarding Vector, there is a corresponding
Instantaneous Delay Vector.
Instantaneous Delay Vector is a per-hop measurement. The DUT/SUT
MAY remark the specific DSCP or IP precedence value for a multi-
hop measurement. The stream remains the same.
Instantaneous Delay Vector can be obtained at any offered load.
It is RECOMMENDED that this vector be obtained at or below the
Forwarding Capacity in the absence of Forwarding Congestion. For
congested Forwarding Delay, run the offered load above the
Forwarding Capacity.
Measurement Units:
milliseconds
See Also:
Classification
Stream
Forwarding Capacity
Forwarding Delay
Intended Vector
Offered Vector
Expected Delay Vector
3.4.4.5. Average Delay Vector
Definition:
The average Forwarding Delay for packets in a stream matching a
specific classification, such as DSCP, that a DUT/SUT is measured
to transmit to the correct destination interface successfully in
response to an offered vector.
Discussion:
Average Delay Vector is expressed as combination of values: the
classification rules AND average Forwarding Delay.
The average Forwarding Delay is computed by averaging all the
Instantaneous Delay Vectors for a given stream.
Average Delay Vector is a per-hop measurement. The DUT/SUT MAY
remark the specific DSCP or IP precedence value for a multi-hop
measurement. The stream remains the same.
Average Delay Vector can be obtained at any offered load. It is
recommended that the offered load be at or below the Forwarding
Capacity in the absence of congestion. For congested Forwarding
Delay, run the offered load above the Forwarding Capacity.
Measurement Units:
milliseconds
See Also:
Classification
Stream
Forwarding Capacity
Forwarding Delay
Intended Vector
Offered Vector
Expected Delay Vector
Instantaneous Delay Vector
3.4.4.6. Maximum Delay Vector
Definition:
The maximum Forwarding Delay for packets in a stream matching a
specific classification, such as DSCP, that a DUT/SUT is measured
to transmit to the correct destination interface successfully in
response to an offered vector.
Discussion:
Maximum Delay Vector is expressed as combination of values: the
classification rules AND maximum Forwarding Delay.
The maximum Forwarding Delay is computed by selecting the highest
value from the Instantaneous Delay Vectors for a given stream.
Maximum Delay Vector is a per-hop measurement. The DUT/SUT MAY
remark the specific DSCP or IP precedence value for a multi-hop
measurement. The stream remains the same.
Maximum Delay Vector can be obtained at any offered load. It is
recommended that the offered load be at or below the Forwarding
Capacity in the absence of congestion. For congested Forwarding
Delay, run the offered load above the Forwarding Capacity.
Measurement Units:
milliseconds
See Also:
Classification
Stream
Forwarding Capacity
Forwarding Delay
Intended Vector
Offered Vector
Expected Delay Vector
Instantaneous Delay Vector
3.4.4.7. Minimum Delay Vector
Definition:
The minimum Forwarding Delay for packets in a stream matching a
specific classification, such as DSCP, that a DUT/SUT is measured
to transmit to the correct destination interface successfully in
response to an offered vector.
Discussion:
Minimum Delay Vector is expressed as a combination of values: the
classification rules AND minimum Forwarding Delay. The minimum
Forwarding Delay is computed by selecting the lowest value from
the Instantaneous Delay Vectors for a given stream.
Minimum Delay Vector is a per-hop measurement. The DUT/SUT MAY
remark the specific DSCP or IP precedence value for a multi-hop
measurement. The stream remains the same.
Minimum Delay Vector can be obtained at any offered load. It is
recommended that the offered load be at or below the Forwarding
Capacity in the absence of congestion. For congested Forwarding
Delay, run the offered load above the Forwarding Capacity.
Measurement Units:
milliseconds
See Also:
Classification
Stream
Forwarding Capacity
Forwarding Delay
Intended Vector
Offered Vector
Expected Delay Vector
3.4.4.8. Instantaneous Jitter Vector
Definition:
The jitter for two consecutive packets in a stream matching a
specific classification, such as DSCP, that a DUT/SUT is measured
to transmit to the correct destination interface successfully in
response to an offered vector.
Discussion:
Instantaneous Jitter is the absolute value of the difference
between the Forwarding Delay measurement of two packets belonging
to the same stream.
The Instantaneous Jitter vector is expressed as a pair of numbers.
Both the specific DSCP (or IP precedence) value AND jitter value
combine to make a vector.
The Forwarding Delay fluctuation between two consecutive packets
in a stream is reported as the "Instantaneous Jitter".
Instantaneous Jitter Vector can be expressed as |D(i) - D(i-1)|,
where D equals the Forwarding Delay and i is the test sequence
number. Packets lost are not counted in the measurement.
The Instantaneous Jitter Vector is a per-hop measurement. The
DUT/SUT MAY remark the specific DSCP or IP precedence value for a
multi-hop measurement. The stream remains the same.
There may be several Instantaneous Jitter Vectors for a single
stream. For n packets measured, there may be (n-1) Instantaneous
Jitter Vectors.
Measurement units:
milliseconds
See Also:
Classification
Stream
Forwarding Delay
Jitter
Forwarding Vector
Expected Vectors
3.4.4.9. Average Jitter Vector
Definition:
The average jitter for packets in a stream matching a specific
classification, such as DSCP, that a DUT/SUT is measured to
transmit to the correct destination interface successfully in
response to an offered vector.
Discussion:
Average jitter is calculated by the average of all the
Instantaneous Jitter Vectors of the same stream measured during
the test duration. Average Jitter Vector is expressed as a
combination of values: the classification rules AND average
Jitter.
Average Jitter Vector is a per-hop measurement. The DUT/SUT MAY
remark the specific DSCP or IP precedence value for a multi-hop
measurement. The stream remains the same.
Measurement units:
milliseconds
See Also:
Classification
Stream
Jitter
Forwarding Vector
Expected Vector
Instantaneous Jitter Vector
3.4.4.10. Peak-to-peak Jitter Vector
Definition:
The maximum possible variation in the Forwarding Delay for packets
in a stream matching a specific classification, such as DSCP, that
a DUT/SUT is measured to transmit to the correct destination
interface successfully in response to an offered vector.
Discussion:
Peak-to-peak Jitter Vector is calculated by subtracting the
maximum Forwarding Delay from the minimum Forwarding Delay of the
packets forwarded by the DUT/SUT. Jitter vector is expressed as a
combination of values: the classification rules AND peak-to-peak
Jitter.
Peak-to-peak Jitter is not derived from the Instantaneous Jitter
Vector. Peak-to-peak Jitter is based upon all the packets during
the test duration, not just two consecutive packets.
Measurement units:
milliseconds
See Also:
Jitter
Forwarding Vector
Stream
Expected Vectors
Instantaneous Jitter Vector
Average Jitter Vector
4. Security Considerations
Documents of this type do not directly affect the security of the
Internet or of corporate networks as long as benchmarking is not
performed on devices or systems connected to production networks.
Packets with unintended and/or unauthorized DSCP or IP precedence
values may present security issues. Determining the security
consequences of such packets is out of scope for this document.
5. Acknowledgements
The authors gratefully acknowledge the contributions of the IETF's
Benchmarking Methodology Working Group members in reviewing this
document. The authors would like to express our thanks to David
Newman for his consistent and valuable assistance throughout the
development of this document. The authors would also like to thank
Al Morton and Kevin Dubray for their ideas and support.
6. References
6.1. Normative References
[Br91] Bradner, S., "Benchmarking terminology for network
interconnection devices", RFC 1242, July 1991.
[Br97] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[Br98] Braden, B., Clark, D., Crowcroft, J., Davie, B., Deering, S.,
Estrin, D., Floyd, S., Jacobson, V., Minshall, G., Partridge,
C., Peterson, L., Ramakrishnan, K., Shenker, S., Wroclawski,
J., and L. Zhang, "Recommendations on Queue Management and
Congestion Avoidance in the Internet", RFC 2309, April 1998.
[Ma98] Mandeville, R., "Benchmarking Terminology for LAN Switching
Devices", RFC 2285, February 1998.
[Ni98] Nichols, K., Blake, S., Baker, F., and D. Black, "Definition
of the Differentiated Services Field (DS Field) in the IPv4
and IPv6 Headers", RFC 2474, December 1998.
[St91] Steinberg, L., "Techniques for managing asynchronously
generated alerts", RFC 1224, May 1991.
6.2. Informative References
[Al99] Almes, G., Kalidindi, S., and M. Zekauskas, "A One-way Delay
Metric for IPPM", RFC 2679, September 1999.
[Bl98] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., and
W. Weiss, "An Architecture for Differentiated Service", RFC
2475, December 1998.
[Br99] Bradner, S. and J. McQuaid, "Benchmarking Methodology for
Network Interconnect Devices", RFC 2544, March 1999.
[De02] Demichelis, C. and P. Chimento, "IP Packet Delay Variation
Metric for IP Performance Metrics (IPPM)", RFC 3393, November
2002.
[Ec98] http://www3.ietf.org/proceedings/98mar/98mar-edited-135.htm
[Fl93] Floyd, S., and Jacobson, V., "Random Early Detection gateways
for Congestion Avoidance", IEEE/ACM Transactions on
Networking, V.1 N.4, August 1993, p. 397-413. URL
"ftp://ftp.ee.lbl.gov/papers/early.pdf".
[Ja99] Davie, B., Charny, A., Bennet, J.C., Benson, K., Le Boudec,
J., Courtney, W., Davari, S., Firoiu, V., and D. Stiliadis,
"An Expedited Forwarding PHB (Per-Hop Behavior)", RFC 3246,
March 2002.
[Ka99] Almes, G., Kalidindi, S., and M. Zekauskas, "A One-way Packet
Loss Metric for IPPM", RFC 2680, September 1999.
[Ma91] Mankin, A. and K. Ramakrishnan, "Gateway Congestion Control
Survey", RFC 1254, August 1991.
[Ma00] Mandeville, R. and J. Perser, "Benchmarking Methodology for
LAN Switching Devices", RFC 2889, August 2000.
[Mo03] Morton, A., Ciavattone, L., Ramachandran, G., Shalunov, S.,
Perser, J., "Packet Reordering Metric for IPPM", Work in
Progress.
[Na84] Nagle, J., "Congestion control in IP/TCP internetworks", RFC
896, January 1984.
[Ra99] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition of
Explicit Congestion Notification (ECN) to IP", RFC 3168,
September 2001.
[Sc96] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson,
"RTP: A Transport Protocol for Real-Time Applications", STD
64, RFC 3550, July 2003.
Authors' Addresses
Jerry Perser
Veriwave
8770 SW Nimbus Ave.
Suite B
Beaverton, OR 97008 USA
USA
Phone: + 1 818 338 4112
EMail: jerry@perser.org
Scott Poretsky
Reef Point Systems
8 New England Executive Park
Burlington, MA 01803
USA
Phone: + 1 508 439 9008
EMail: sporetsky@reefpoint.com
Shobha Erramilli
Telcordia Technologies
331 Newman Springs Road
Red Bank, New Jersey 07701
USA
EMail: shobha@research.telcordia.com
Sumit Khurana
Motorola
7700 West Parmer Ln.
Austin, TX 78729
USA
Phone: +1 512 996 6604
Email: skhurana@motorola.com
Full Copyright Statement
Copyright (C) The Internet Society (2006).
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/SHE 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 procedures with respect to rights in RFC 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 provided by the IETF
Administrative Support Activity (IASA).