QBone Architecture (v1.0)

http://www.internet2.edu/qos/wg/papers/qbArch/1.0/draft-i2-qbone-arch-1.0.html
Internet2 QoS Working Group Draft
August, 1999
Editor: Ben Teitelbaum <ben@internet2.edu>

Abstract

This document specifies the architectural requirements for the QBone - an interdomain testbed for differentiated services (DiffServ) that seeks to provide the higher-education community with end-to-end services in support of emerging advanced networked applications.  The emphasis is on specifying the minimum requirements for a network to participate in the QBone and support interdomain DiffServ services. Implementation techniques will be explored in other documents.

This document is a product of the Internet2 QoS Working Group. which is overseeing the QBone testbed initiative.  It should be regarded as a work in progress and open to constructive criticism from all Internet2 QBone participants.

1. Introduction

The goal of the QBone is to provide an interdomain testbed for differentiated services (DiffServ), where the engineering, behavior, and policy consequences of new IP services can be explored.  As described in [I2QoS98], the most demanding advanced networked applications require absolute, per-flow service assurances and it is the primary goal of the QBone to explore this class of new services.  The Internet Draft [DSFRAME] calls these "quantitative services".

The QBone architecture seeks to remain consistent with the emerging IETF standards for DiffServ, which have been described in a number of recent Internet Drafts, many in last call.  It is not the intent of this document to reiterate or elaborate upon these emerging standards, but rather to clarify what subset of them will be implemented by the QBone and specify QBone requirements that are outside the scope of the IETF's work.  Where this document references Internet Drafts, which are themselves works in progress, the references should be considered as being to the most recent versions of these drafts.

Consistent with the terminology defined in [DSARCH], each network participating in the QBone will be considered a "DS domain" and the union of these networks - the QBone itself - a "DS region".  QBone participants must cooperate to provide one or more interdomain services besides the default, traditional best effort IP service model.  The first such service to be implemented is the Virtual Leased Line (a.k.a. "Premium") Service described in [2BIT].  Every QBone DS domain must support the expedited forwarding (EF) per-hop behavior (PHB) [EF] and configure its traffic classifiers and conditioners (meters, markers, shapers, and droppers) to provide a VLL service to EF aggregates.

Additionally, the QBone must support an integrated measurement infrastructure with hooks to support end-to-end debugging and auditing by users, network operators, and implementers.  Both active and passive measurement data will be collected and shared openly among participants.  The Internet2 Measurements Working Group is working to provide additional guidance in this area.

Another area where the QBone architecture will provide a "value-add" on top of the base DiffServ architecture is in interdomain operations.  At a minimum, we must specify a common set of operational practices and procedures to be followed by network operators.  As the project progresses, it should be expected that network operators will begin to rely on automated tools to make admission control decisions and configure network devices.  This document uses the term "bandwidth broker" (BB) to refer to the abstraction that automates this admission control and configuration functionality.  The discussion of bandwidth brokers in [2BIT] suggests that BBs must eventually communicate among themselves to negotiate interdomain reservation setup.  The QBone architecture must admit the use of prototype inter-BB signaling protocols when they develop.

2. Overview and High-Level Requirements

The QBone architecture is based on the DiffServ architecture described in the Informational RFC "An Architecture for Differentiated Services" [DSARCH].  It is the goal of this document to specify the subset of the DiffServ architecture that must be implemented by the QBone.  Beyond the requirements dictated by the DiffServ architecture, the QBone architecture contains several value-adds in the form of an integrated measurement infrastructure and pre-standards operational procedures for establishing interdomain reservations.

A high-level architectural requirement of the QBone is contiguity.  Unlike IPv6 and MBone technology, quality of service cannot be implemented as an overlay network service based on address aggregation only.  The QBone is necessarily a contiguous set of DS domains - which is to say: a DS Region.  Within the QBone, each participating network is a DS Domain that interoperates with other QBone networks to provide the end-to-end QBone services described in Section 3.

Each QBone network must have a well-defined administrative boundary, across which it peers with neighboring QBone DS domains. Bilateral service level specifications (SLSes) exist between adjacent QBone DS domains.  These SLSes specify how traffic is classified, policed, and forwarded by DS boundary nodes. Although SLSes are necessarily bilateral and may contain any number of arcane arrangements, within the QBone there are certain minimal features of any SLS that are required to implement each QBone service.  These SLS requirements are described in detail in Section 3.

Section 4 specifies the requirements for the QBone Measurement Architecture, including what measurement metrics must be collected and how they are to be disseminated.

Section 5 describes the process through which interdomain reservations are established through the QBone testbed infrastructure.

3. Specification of  Services

3.1 QBone Premium Service

The QBone Premium Service (QPS) will strive to implement the "Premium Service" described in [2BIT].  A QPS reservation makes a simplex, peak-limited bandwidth assurance.  The extent of a QPS reservation may be entirely within a QBone domain, from one edge of a QBone domain to another edge of the same domain, or through multiple QBone domains and is defined by a service source and service destination, each of which is, in general, defined by a network prefix.

QPS exploits the Expedited Forwarding (EF) per-hop forwarding behavior [EF].  EF requires that the "departure rate of the aggregate's packets from any DiffServ node must equal or exceed a configurable rate" and that the EF traffic "SHOULD receive this rate independent of the intensity of any other traffic attempting to transit the node".  EF may be implemented by any of a variety of queuing disciplines. Services like QPS are built  from EF through careful conditioning of EF aggregates so that the arrival rate of EF packets at any node is always less than that node's configured minimum departure rate for any interval of time equal to or greater than the time to send an MTU-sized packet at the configured peakRate (where the terms in bold are defined below).  Note that QPS is defined with an explicit jitter bound that imposes configuration requirements more stringent than those required by RFC2598 [EF].

Initiators of QPS reservations request and contract for a peak rate peakRate of EF traffic, at a specified maximum transmission unit MTU for transmission with a specified jitter bound jitter. Each QPS reservation is also parameterized by a DS-domain-to-DS-domain route route and a specified time interval {startTime, endTime}.  In summary, a QPS reservation {source, dest, route, startTime, endTime, peakRate, MTU, jitter} is an agreement to provide the transmission assurances of the QBone Premium Service (see below) starting at startTime and ending at endTime across the chain of DS-domains route between source source and destination dest for EF traffic ingressing at source and conforming to a "CBR-like" traffic profile parameterized by a token bucket profiler with:

The transmission assurance offered by the QBone Premium Service is as follows: The transmission assurances of a QPS reservation remain valid only if the EF traffic ingressing at the source of the reservation extent conforms to the agreed upon token bucket profile {peakRate, MTU}.  This can be achieved either by discarding non-conformant packets or by reshaping them until they are conformant.  Because of synchronization effects, conformant EF behavior aggregates may be merged within a QBone domain to form an EF behavior aggregate that does not conform to a downstream QPS traffic profile.  Consequently, each egressing EF behavior aggregate SHOULD be shaped to conform to the QPS traffic profile of the downstream QBone domain.  Depending on the capabilities of the border router equipment, a QBone domain MAY shape on behalf of an upstream domain.  If two adjacent QBone domains offer different transmission MTUs, then reshaping must occur at the boundary going from a larger to a smaller value.

The parameter jitter is a worst case bound on instantaneous packet delay variation, or IPDV (defined in section 4.2.1.2), with the caveat that the bound does not apply to EF packets with different IP routes.  Measurable IPDV should occur primarily due to synchronization between EF packets contending for the EF forwarding resources of network elements along the QPS path.  Any computation of a QBone domain's worst case IPDV must include an analysis of possible synchronization between converging EF aggregates in the domain.  At any node, an EF packet may find itself synchronized with EF packets converging from other circuits and may additionally find itself synchronized with a non-EF packet whose transmission on an output interface may have already begun at the time of the EF packet's arrival. To make appropriate admissions control decisions for QPS reservation requests, it is important that a QBone domain understand the worst case variation in delay that an EF packet might experience.  In practice, the worst case jitter will be very rare and QPS users may find measurements of  99.5th percentile IPDV a more relevant empirical gauge of jitter.  The appendix contains an example computation of the worst case IPDV for a QPS reservation across a typical Internet2 path; the bound computed is better than 10ms, which is sufficient to meet the jitter requirements of most advanced Internet2 applications.

3.2 Minimum Requirements for a QBone SLS

Consistent with the DiffServ architectural model, all service level specifications (SLSes) are determined bilaterally between adjacent DS domains. However, to implement the QBone Premium Service, certain minimal requirements for any QBone SLS must be met. The following is a list of recommendations ("shoulds") and requirements ("musts") for any QBone SLS supporting the QBone Premium Service. (Assume a bilateral SLS between an upstream QBone DS domain U and a downstream QBone DS domain D.)
  1. Within the QBone, the DS Codepoint 101110 should be used for the EF PHB.
  2. D must respond to reservation requests from U. Section 3.1 defines a "reservation request" and Section 5 specifies the protocol by which a reservation is established, including the requirements of how D must respond to admissions requests.
  3. A necessary part of any SLS is a Traffic Conditioning Specification (TCS) that specifies how traffic is conditioned and policed on ingress. The TCS is a dynamic component of the SLS, which may need to be adjusted with the creation or tear down of every reservation across the demarcation boundary.  To implement QPS, a TCS must specify:
    a) Traffic conditioning
      1. First, ingressing traffic must be conditioned into EF and non-EF traffic.
      2. Then, EF traffic may be conditioned into either a single EF Behavior Aggregate (BA) or a set of EF behavior aggregates, each of which may be defined by a destination prefix or an egress link in domain D or other criteria.
      3. Note that if  EF traffic is conditioned into a single behavior aggregate, poorly behaved sources may break the QPS of well-behaved sources by sending an in-profile overall aggregate to an out-of-profile mixture of destinations.  QBone domains that do not condition traffic according to egress link must take care to squelch misbehaving sources.
    b) Traffic profiles
      A traffic profile must be specified for each behavior aggregate.  Formally, these profiles are defined analogously to the profiles of Section 3.1.  Given a peak rate peakRate and transmission MTU MTU, the traffic profile is defined by a token bucket filter with:
      1. a token rate equal to peakRate bytes per second;
      2. a bucket depth equal to MTU bytes;
    c) Disposition of Excess Traffic
      Traffic within an EF BA that exceeds the aggregate's profile should be discarded.
    d) Shaping
      Shaping of individual traffic flows or aggregates should be supported by ingress/egress QBone boundary nodes.
  4. Ingressing EF traffic conforming to the traffic profiles of the TCS will be given EF treatment across DS domain U towards its destination. The EF PHB requires the same low loss, low latency, low jitter packet delivery assurances discussed for the QBone Premium Service in Section 3.1.
  5. Every SLS must specify the jitter assurance made to conforming EF traffic.

4. Measurement Architecture

To debug, audit, and study QBone services, a set of QoS measurement requirements is integrated into the QBone architecture. This section defines a basic set of metrics to be collected at each ingress and egress of a QBone domain, as well as dissemination and presentation requirements for these data. It is expected that this measurement architecture will evolve with the QBone itself, as new measurement metrics and reporting techniques are modified or added with experience.

The initial design of the QBone Measurement Architecture (QMA) is focused on verifying the service goals of the QBone Premium Service (QPS) and helping with the debugging, provisioning, and understanding of EF behavior aggregates. The initial QPS goals are low loss and low delay variation, so measuring loss and delay variation is to be prioritized. To help with provisioning and understanding the use of EF service level specifications, the amount of bandwidth reserved relative to the instantaneous EF load on ingress and egress links will be measured. To help with debugging and isolation of faults, metrics are required to be measured domain-to-domain, with measurement points at interdomain interfaces. It is also recommended that end-to-end measurements be taken using the same metrics.

Both active and passive measurements will be used to answer the question: Is the EF PHB working as expected? Active measurements are measurements made by injecting traffic into the network and measuring the properties of the injected traffic. Passive measurements observe properties of traffic by means that do not interfere with the traffic itself. The IETF IPPM definitions of one-way packet loss and one-way packet delay are examples of metrics commonly obtained through active measurement, while "bytes transmitted on link L" is an example of a metric that must be obtained through passive observation of traffic. Note that passive measurements do not necessarily make a distinction between production traffic and injected traffic.

4.1 Overview

4.1.1 Some Definitions

[Bandwidth definitions]
Figure 4.1: Link capacity definitions.

Figure 4.1 shows the definitions used to measure the capacity and bandwidth of a link. The link bandwidth is the total bandwidth of a given link, in bits per second. The contracted (EF) capacity or EF commitment is the total fraction of link bandwidth contracted to Premium service in bits per second. Reservation load is the current bandwidth of the link reserved for EF. This ultimately will be dynamic. The reservation load is the result of reservations made through bandwidth brokers, and is less than or equal to the EF commitment. For the initial phase of the QBone, the reservation load should be static and equal to the EF commitment. Finally, the EF load is the link bandwidth actually used by EF-marked packets, in bits per second. This will always be less than or equal to the reservation load.

4.1.2 Measurement Metrics

Metrics fall into three classes: required, suggested, and future. Required metrics are metrics that each domain must implement. Suggested metrics include those that are implementable today as well as those that are clearly desirable but are not yet well defined. Finally, future metrics are metrics that appear to be desirable, but for which efficient ways to measure them are not yet known.

Required metrics include metrics like one-way packet loss, one-way delay variation, and routing information, which are obtained through active measurement, as well as metrics like link utilization, which are generally obtained through SNMP polling of MIBs or through passive measurement devices that eavesdrop on traffic.  Finally, there are some required metrics that will come from configuration information (and eventually from the bandwidth broker reservation system); these include link bandwidths, per-interface EF commitments, and EF reservation load.

Suggested metrics include EF and BE interface discards, one-way packet delay, and burst throughput. EF and BE interface loss statistics should be reported if they are available in proprietary MIBs.  One-way packet delay shows both minimum latencies and queuing (indicated by values greater than the minimum) along a path, and can be used to compute one-way delay variation. Burst throughput consists of sending short EF and BE bursts end-to-end, in order to test policing of EF traffic and that BE bursts do not affect the EF traffic.

Future metrics include routing metrics and application-specific metrics. Routing metrics may be derived from routing protocols themselves, such as autonomous system (AS) path stability, and may be useful for understanding the sensitivity of interdomain QoS reservations to routing and for designing signaling protocols and resource allocation algorithms to cope with route changes.  Application-specific metrics are metrics that indicate how well applications would perform over specific paths. The application-specific metrics envisioned so far fall into two types: derived and active end-to-end. In the first case, application-specific metrics could be derived from "network base metrics", such as loss and delay variation. Thus, they would take the base metrics and produce some indication of a benchmark application's performance (e.g. MPEG-1 picture quality). In the second case, application-specific metrics could consist of minimal applications themselves: something that one runs, perhaps at two endpoints, and that gives an indication of how well the application of interest would perform.

4.1.3 Discussion of Required Measurements

The one-way loss metric required by this document is the IETF IPPM one-way loss metric [LOSS]. A packet delay variation metric is currently under development in the IETF; the one-way delay variation metric required by this document (and defined below) is closely based on the IETF IPPM one-way delay metric [DELAY].  A low-rate test stream is to be used to measure both loss and delay variation. The goal is constant monitoring of the network using messages that do not (excessively) perturb the network. EF test streams must be sent out according to any rate limitations imposed by the test stream's EF reservation.

In addition to the loss and delay measurements, traceroute measurements must be performed in parallel to verify that EF packets are being routed as intended, and give an indication of path stability. Since traceroutes require resources of all intermediate points, they should be performed with a lower frequency than the other active tests ­ initially on ten minute intervals.

Conforming EF traffic should not be dropped and should not experience significant delay variation due to queuing. Thus, these active tests may be used to verify the basic QPS service goals. If packets are lost or variation is introduced, the position of the measurement machines sending active test traffic will assist in isolating the problem to a single QBone domain.  Interface load and loss metrics and information on the reservation load should further assist in the isolation of faults and deepen our understanding of DiffServ provisioning issues.

4.1.5 Measurement Points

Although the QBone measurement architecture specifies only those measurements that must be collected at these interdomain measurement points, additional measurements taken within QBone clouds or end-to-end between application sites are encouraged to use the same metrics described in this document. In any case, the measurements taken and made available by each QBone domain must be a superset of the measurements defined and required here.  Figure 4.2 below shows the locations of measurement points in a sample topology.

QBone Measurement Points
Figure 4.2: Measurement points

All measurements are to be taken at or as close to interdomain boundary routers as possible.  Figure 4.3 illustrates an example QBone measurement node configuration.  Actual configurations will vary significantly according to local issues.

When possible, active measurement probes should have direct interfaces to boundary routers.  These probes are the sources and sinks of dedicated measurement paths terminating at the measurement node.

Passive measurement probes must observe the traffic on inter-domain links without perturbing it in any respect.  This is commonly accomplished through the use of a splitter.
Passive measurement probes may additionally be located on intra-domain links to assist in deriving metrics such as EF and BE interface discards.  Passive measurement equipment may also be used to measure probe flows created by active measurement equipment.

SNMP-based polling agents that extract MIBs to support QBone utilization metrics may be located anywhere.


Figure 4.3 Example QBone Measurement Node Configuration

4.1.6 Measurement Paths

Metrics that apply to a single interface or cloud are required to be collected at each measurement point. Metrics that apply to interdomain paths are required to be collected between each measurement point and all measurement points of a neighboring QBone domain.  This is illustrated below in Figure 4.4.  In this example, the single measurement point in Domain1 must participate in active measurements from itself to the two measurement points in Domain2 and must participate in active measurements from the two measurement points in Domain2 to itself.

QBone Measurement Paths
Figure 4.4: Measurement paths

4.2 Metric Definitions

This section describes in greater detail the metrics required and suggested for all QBone domains, and discusses how some of these may be collected.  It is assumed that the measurement points are at (or very close to) the border routers of each QBone domain. As experience with the QBone is gained, the set of required metrics may be enlarged or amended. Also, metrics discussed as suggested or future may later move into the required category.

An explicit level of global clock synchronization is not required.  However, to achieve reasonably consistent accuracy of timestamps across the QBone measurement infrastructure, it is strongly recommended that participants report timestamps as closely synchronized with UTC as possible.

4.2.1 Required Active Measurements

This subsection contains the definitions and descriptions of the active measurements required by all QBone domains. The purpose of these measurements is to build a picture of the network's behavior continuously over time. These measurements can be expected to add a small background load to the traffic in each class, but relative to the capacity of the links, this should be negligible.  Small EF aggregates must be reserved for active measurement streams, which must take care not to exceed the parameters of these reservations.
4.2.1.1 EF and BE Path Losses
The path loss metrics are defined as the IPPM one-way packet loss metric [LOSS] applied to a behavior aggregate.  This metric measures one-way loss between two network hosts, or measurement points for a particular PHB. Loss is measured by injecting packets at one point directed to another, and then waiting for the packets to arrive at the second point. Type-P-One-way-Packet-Loss is 0 when the packet arrives at the second point, and 1 when the test packet does not arrive within a reasonable period of time.

For QBone measurements, the initial "reasonable period of time" is two minutes or more. Two minutes allows more than ample time to account for NTP-level clock drift among the measurement instruments, is the default TCP timeout, and is long enough that for most advanced applications the packet is as good as lost.

Type-P represents the type of test packets sent. Since loss measurements should be taken continuously, small packets are required so as to not disrupt user EF traffic. The Type-P of the measurement packets should be 100 byte or less UDP packets, with EF specified in the DS-byte as appropriate.

This metric requires a Type-P-One-way-Loss-Poisson-Stream, with a lambda of twice per second. A Poisson stream attempts to avoid synchronizing the test traffic with other network events. A high lambda is desirable to see more detail (in particular the results of shorter bursts), however, it is important that the test traffic does not perturb user traffic, and, in addition, that any packet bursts that occur as a result of the Poisson distribution do not exceed the test stream's reservation profile.

Note that a Type-P-One-way-Loss-Poisson-Stream is derivable from a Type-P-One-way-Delay-Poisson-Stream, so a single stream generated using measurement machines with closely synchronized time-of-day references can be used for EF and BE losses, IPDV, and one-way delay.

When measuring EF and BE path losses, care must be taken to prevent synchronization of the Poisson processes driving the test streams.

Pay attention to the error analysis section of the IPPM One-way loss document, and report any details of "Type-P" that have been left unspecified here (for example, what UDP ports are used) so that the results of the metrics can be understood in the future.

The purpose of the one-way packet loss measurement is to estimate the packet loss along EF-enabled paths in the QBone. This can be done more or less continuously and can provide important background information which can be used to interpret other measurements taken. One use for such simultaneous one-way BE and EF packet loss measurements is to measure the effect the various levels of EF reservation have on best effort packet loss. Further, correlations between EF and best effort loss can be calculated. The correlations can point out problems with the isolation of EF traffic and consequently possible problems in PHB implementation.

4.2.1.2 Packet Delay Variation
The specification of instantaneous packet delay variation (IPDV) is based on the draft documents [IPDV] and [I.380]. Inside a stream of packets the IPDV of an IP packet is the difference of the one-way delay of that packet and the one-way delay of the preceding packet of the stream.

The Type-P-One-Way-IPDV metric makes use of the similar methods used in [DELAY], but being a differential measurement, the IPDV metric does not require clock synchronization of distant measurement points. For more information on measurements with un-synchronized clocks, please refer to [IPDV].

Only the collection of EF IPDV measurements is required within the QBone.  There is no need at this time to measure IPDV for BE packet streams.

The general procedure for taking IPDV measurements is as follows:

Error Conditions: Note that as in the case of one-way-delay measurements, the packets must arrive within 2 minutes (120 seconds) in order not to be counted as lost.  In a continuous stream of test packets the second packet of a pair is at the same time the first packet of the next pair. The value of a Type-P-One-Way-IPDV is either a real number, or an undefined (informally, infinite) number of seconds.

Type-P represents the type of test packets sent. Since loss measurements should be taken continuously, small packets are required so as to not disrupt user EF traffic. The Type-P of the measurement packets should be UDP packets with size 100 bytes or less, with EF specified in the DS-byte as appropriate.

This metric requires a Type-P-One-way-Delay-Poisson-Stream, with a lambda of twice per second. A Poisson stream attempts to avoid synchronizing the test traffic with other network events. A high lambda is desirable to see more detail (in particular the results of shorter bursts), however, it is important that the test traffic does not perturb user traffic, and, in addition, that any packet bursts that occur as a result of the Poisson distribution do not exceed the test stream's reservation profile.

IPDV measurement may be combined with loss measurement. A comparison of EF and BE IPDV in this case may be used to evaluate performance differences between EF and BE measurement flows if no losses occur.

4.2.1.3 Traceroutes Along EF and BE Paths
EF and BE traceroutes must be taken along the active measurement paths described in Section 4.1.6. Note that to make an EF traceroute observation requires a version of the traceroute utility that can set the DS byte appropriately.

Traceroute should be run between measurement machines directly connected to the border routers of each QBone domain. For example, in Figure 4.4, traceroutes should be run from QBone Domain 1 to QBone Domain 2 (if there is a DMZ between these domains where other routers might be, otherwise it is not necessary) and from the measurement point in Domain 1 to the furthest measurement point in Domain 2. In addition, Domain 2 should run traceroute between its two ingress/egress points. Note that in this case, Domain 2 should run traceroute from each of its border routers to the other, since the routes in each direction may be different. Further, any QBone domains exchanging traffic with one another should run traceroute during their experiments.

Since traceroute exploits IP TTL (time-to-live) expiration and generally results in an exception to normal packet forwarding that consumes non-negligible resources, it is recommended that traceroute be run no more frequently than once every 10 minutes. Nodes initiating traceroute measurements should randomize the starting times in an interval around the 10 minute start time so that the traceroutes in the QBone are not synchronized.

Metrics that could be derived from traceroute measurement include frequency of path change and average length of time a path stays in place. This is important planning information that is additionally important for experiments where one needs to know what path a data stream took in order to interpret other measurements correctly.

4.2.2 Required Passive Measurements of Highly Dynamic Metrics

Standard MIBs implemented in early 1999 don't support DiffServ-specific measurement distinctions. The capturing of these quantities may depend on their availability in vendor-specific MIBs.
4.2.2.1 EF Load, BE Load
Load is capacity demanded over a given interval of time for a given interface. Load measurements must be taken at least once per minute and should capture the number of (IP) bytes sent on the measured  interface since the last measurement taken.  Every interface is assumed to have a single IP address, and to be connected by a channel to a peer interface. Link overheads are to be ignored in this measurement. The measurements are to be taken in bytes.

Load measurements can be taken with an external passive device with the capability of filtering packets (to distinguish EF and BE counts) or they can be taken by polling the appropriate MIB counters every minute. BE and EF statistics should be collected simultaneously so that the loads can be correlated with each other. The timing of the poll should be as accurate as possible so that the load over the interval can be accurately computed in bits/second.

The distinction between traffic types does not appear in the standard MIB-2 interface fields (you can only get the information for the total interface), and so vendor-specific MIBs must be used.  One example of a vendor-specific MIB is the Cisco CAR MIB. This MIB has statistics defined for various configured rate limits that can be used to separate EF and BE traffic.

The purpose of the load measurements is, first, to see what fraction of the link's capacity (as opposed to the reserved capacity) the EF traffic is using, and second, to use simultaneous EF Load and BE Load measurements to see whether the EF traffic is sufficiently insulated from spikes in the BE traffic.

4.2.3 Required Provisioning Metrics

For the initial deployment phases of the QBone, the metrics described in this section will be mostly static and configured manually. They are not really expected to change significantly until bandwidth brokers begin to be deployed in the testbed. What is described in the following subsections is based on this assumption of stability.
4.2.3.1 Link Bandwidth
The link bandwidth is defined as the IP capacity of the link in bits per second. It is not expected to change frequently, although occasional changes due to reconfigurations or reprovisioning may occur.  This quantity may be read from the standard if-MIB for the inter-domain links in the routers of the QBone domains. There are two pieces of information needed: ifType and ifSpeed. These should be sufficient to determine the actual bandwidth (less link overhead) that is available to IP.

The link bandwidth measurement is triggered by

These measurements should be timestamped and are assumed not to change between samplings.
4.2.3.2 EF Commitment
The EF commitment is defined as the maximum EF reservation load at a QBone domain ingress, measured in IP bits per second. The EF commitment is a function of the QBone Premium Service SLS and is not expected to change frequently.

EF commitment measurements are triggered by

These measurements should be timestamped and are assumed not to change between samplings.
4.2.3.3 EF Reservation Load
The EF reservation load is defined as the capacity of a QBone domain ingress link dynamically reserved for EF traffic. The units are IP bits per second. EF reservation load may differ from EF commitment because reservations may be adjusted dynamically by bandwidth brokers up to a maximum EF commitment set in an SLS.

Initially, the QBone will use "static" reservations and manually configured SLSes. Consequently, the EF reservation load will also be configured manually.  In later implementations, the EF reservation load may be available from bandwidth brokers or directly from edge routers.

EF reservation load measurements are triggered by

These measurements should be timestamped and are assumed not to change between samplings.

The reservation load metric is useful for comparing to the actual load generated by the EF traffic and also for understanding the reservation dynamics which will have an effect on the SLSes as well as on provisioning.

4.2.4 Suggested Metrics

4.2.4.1 EF and BE Interface Discards
In order to generate a complete picture of packet loss, it is necessary to measure actual packet loss at router interfaces, as well as to audit paths actively for loss with the path loss metric described in Section 4.2.1.1.  Passive interface loss measurements should capture the number of packets discarded and the number of bytes discarded from each behavior aggregate.  These measurements must be taken at least once per minute. Both pairs of measurements should have values that reflect the packets and bytes discarded since the last measurement was taken.

As with load, standard MIB-2 loss fields do not distinguish between behavior aggregates.  Vendor-specific MIBs may be available to distinguish between aggregates.  Alternatively, it may be possible to capture these loss measurements external to the routers with passive measurement devices like protocol analyzers.  If measuring through polling MIBs, these polls should be combined with the polls for the EF and BE load measurements if possible, in order to synchronize all 8 measurements in time, as well as to minimize the polling traffic overhead.

The purpose of the interface loss measurements is to be able, first, to check the quality of the EF and BE services on all measured interfaces, and second, to compare these measurements with the active "sampling" measurements provided by the path loss measurements. These measurements can be correlated with the passive load measurements in order to see that the EF and BE aggregates are properly isolated, and to observe the effect of EF traffic on BE loss.

4.2.4.2 One-Way Packet Delay
The path delay metrics are defined as the IPPM one-way packet delay metric [DELAY] applied to a behavior aggregate.  This metric measures one-way delay between two network hosts, or measurement points for a particular PHB. One-way delay is measured by injecting packets at one point directed to another, and then watching as the packets arrive at the second point. If the two points have synchronized clocks (as defined in [DELAY]), then the Type-P-One-way-Delay is the difference in wire times of the first bit sent at the injecting point and the last bit received at the arrival point. If the packet does not arrive within a reasonable period of time, the Type-P-One-way-Delay is undefined (or, informally, infinite).

For QBone measurements, a "reasonable period of time" is two minutes or more. Two minutes is the default TCP timeout, and is long enough that for most advanced applications the packet is as good as lost.

As with the packet loss measurements above, Type-P represents the type of test packets sent. Since delay measurements should be taken continuously, small packets are required so as to not disrupt user EF traffic. The Type-P of the measurement packets should be 100 byte or less UDP packets, with EF specified in the DS-byte as appropriate.

This metric requires a Type-P-One-way-Delay-Poisson-Stream, with a lambda of twice per second. A Poisson stream attempts to avoid synchronizing the test traffic with other network events. A high lambda is desirable to see more detail (in particular the results of shorter bursts), however, it is important that the test traffic does not perturb user traffic, and, in addition, that any packet bursts that occur as a result of the Poisson distribution do not exceed the test stream's reservation profile.

Note that a Type-P-One-way-Loss-Poisson-Stream is derivable from a Type-P-One-way-Delay-Poisson-Stream, so a single stream generated using measurement machines with closely synchronized time-of-day references can be used for EF and BE losses, IPDV, and one-way delay.

When measuring One-way delay of EF and BE paths simultaneously, care must be taken to prevent synchronization of the Poisson processes driving the test streams. For example, if the two packets are always sent out back-to-back, the second might get consistently worse treatment (if it's always waiting in a queue) or consistently better treatment (if the first causes routers to cache information along the path). Since these cases are difficult to disambiguate, prevent synchronization of the two streams.

Pay attention to the metric reporting and error analysis sections of the IPPM One-way Delay document, and report any details of "Type-P" that have been left unspecified here (for example, what UDP ports are used) so that the results of the metrics can be understood in the future.

The purpose of the one-way delay measurement is to estimate the delay along EF-enabled paths in the QBone. This can be done more or less continuously and can provide important background information which can be used to interpret other measurements taken. One use for one-way EF packet delay measurements is to detect queuing within the EF path, since in the absence of routing changes, delays greater than the minimum generally indicate queuing is occurring along a path.

4.2.4.3 Burst Throughput
It is suggested that anyone holding onto a QPS reservation and not using it, do periodic EF burst tests at 50%, 100%, and 150% of their reserved peak rate.  These tests require close coordination of both termini of a QPS reservation.  It is recommended that for each burst test performed, the destination domain report: the time of the measurement, the QPS reservation parameters, and the received throughput.  It is recommended that burst tests for each QPS reservation be performed at least once per week.  Some details of burst throughput testing are still to be determined.  An important open question is whether global coordination is necessary to mitigate the potentially destructive effects of these tests.

4.3 Dissemination and Presentation Requirements

A key goal of the QBone measurement architecture is to collect, disseminate, and present results in a consistent fashion.  This uniformity will greatly simplify the analysis of interdomain QPS reservations and the isolation of any faults in the service.  In addition, it will be possible to build a coherent system-wide performance data set that could prove extremely valuable to researchers attempting to model network performance.

Each QBone domain must provide a web site for disseminating and presenting measurements taken at points within the domain. Both summary plots and raw measurement data are to be made available through this web interface.  By standardizing on a simple namespace and several simple reporting styles, it will be straightforward for QBone domains to create a rich mesh of links to each other's sites, without rigidly specifying all aspects of how an individual domain must present its measurements.

4.3.1 Metric Names, Types, and Units

The following canonical names, types, and units are to be used for the metrics described in Section 4.2.
 
Canonical Name Metric Data Type Units
efPathLoss EF Path Loss comma-delimited unsigned integer tuple
(e.g. "100, 92")
EF (packets sent, packets received) per 1 minute
bePathLoss BE Path Loss comma-delimited unsigned integer tuple BE (packets sent, packets received) per 1 minute
efInterfaceLoss EF Interface Loss comma-delimited unsigned integer 4-tuple EF (packets sent, packets received, bytes sent, bytes received) per 1 minute
beInterfaceLoss BE Interface Loss comma-delimited unsigned integer 4-tuple BE (packets sent, packets received, bytes sent, bytes received) per 1 minute
efDV EF Delay Variation unsigned integer microseconds
efLoad EF Load unsigned integer pair bits per second, packets per second
beLoad BE Load unsigned integer pair bits per second, packets per second
efTrace EF Traceroute string of dot-notated, comma-delimited IP addresses
(e.g. "a1.b1.c1.d1, a2.b2.c2.d2, ...")
NA
beTrace BE Traceroute string of dot-notated, comma-delimited IP addresses 
(e.g. "a1.b1.c1.d1, a2.b2.c2.d2, ...")
NA 
linkBW Link Bandwidth unsigned integer ordered pair bits per second, timestamp
efCom EF Commitment unsigned integer ordered pair bits per second, timestamp
efRes EF Reservation Load unsigned integer ordered pair bits per second, timestamp
Table 4.1 Metric Names, Types, and Units

4.3.2 Required Reports

Each report is parameterized by a duration, a summary interval, and a summary function (e.g. mean, median, sum). For example: a one-day plot of load averages taken over five-minute intervals has a duration of one day, a summary interval of five minutes, and a summary function of mean().

All reports are to begin at 00:00:00 UTC for the specified day (see Section 4.3.3) and have a duration of one day. All clocks used in the QBone measurement infrastructure must be accurate to within 100 milliseconds of UTC.

Three types of reports are to be made available: image reports, page reports, and file reports.

Image Reports
An image report is a bitmapped plot in the style of MRTG [MRTG].  This must be a GIF image no larger than 500x200 pixels.


Figure 4.4: MRTG Load Example

Page Reports
A page report is an HTML page containing an embedded image report.  This provides an opportunity for each QBone domain to customize its presentation style.
File Reports
A file report is a raw ASCII file of newline-delimited records.  For a report with a well-defined summary interval, the start and end times of each interval are implicit from the start time of the report.  For unsummarized reports, timestamps must be made explicit.

The record format for summarized reports is:
 
<metric data type shown in 4.3.1 or "-1" for missing data> \n
Table 4.2 File Report Format (summarized record)

The record format for unsummarized reports is:
 
<timestamp in milliseconds since midnight UTC> , <metric data type shown in 4.3.1 or "-1" for missing data> \n
Table 4.3 File Report Format (unsummarized "raw" record)

The following table lists the reports required by the QBone architecture.  For each report, the summary interval and summary function are given.  Summary intervals have been chosen based on an educated guess of what is reasonable for a QBone domain to collect and archive.
 
Metric Image Report (*.gif) /Page Reports (*.html) 
(Summary Interval | Summary Function)
File Reports (*.txt) 
(Summary Interval | Summary Function)
efPathLoss 5 minutes percentage of EF packets lost 5 minutes summed efPathLoss tuples
none timestamped efPathLoss tuples
bePathLoss 5 minutes percentage of BE packets lost 5 minutes summed bePathLoss tuples
none timestamped bePathLoss tuples
efInterfaceLoss 5 minutes percentage of EF packets lost 5 minutes percentage of EF packets lost
percentage of EF bytes lost 5 minutes percentage of EF bytes lost
none timestamped efInterfaceLoss 4-tuples
beInterfaceLoss 5 minutes percentage of BE packets lost 5 minutes percentage of BE packets lost
percentage of BE bytes lost 5 minutes percentage of BE bytes lost
none timestamped beInterfaceLoss 4-tuples
efDV 5 minutes milliseconds of IPDV at the 50th  percentile 5 minutes
5 minutes milliseconds of IPDV at the 90th  percentile  5 minutes
5 minutes milliseconds of IPDV at the 99.5th percentile 5 minutes
efLoad 5 minutes sum of EF bps 5 minutes sum of EF bps
none raw 1 minute EF load measurements
(no timestamps needed)
beLoad 5 minutes sum of BE bps 5 minutes sum of BE bps
none raw 1 minute BE load measurements
(no timestamps needed)
efTrace optional timestamped raw traceroutes
beTrace optional timestamped raw traceroutes
linkBW 24 hour link bandwidth in bps 24 hours link bandwidth in bps
efCom 24 hour mean EF commitment in bps 24 hours mean EF commitment in bps
efRes 24 hour mean EF reservation in bps 24 hours mean EF reservation in bps
Table 4.4 Required Reports

4.3.3 Common Reporting Namespace

Each QBone domain must make well-known: a canonical domain name, by which it may be referenced; a root URL, under which its measurement reports may be found; and the set of measurement points it supports.

Each measurement point is at an inter-domain interface specified by the triple: {<source domain>, <dest domain>, <first hop>}.  The domain names are the canonical domain names published by the respective QBone domains,  The <first hop> is the IP address of the first-hop router in the destination domain to disambiguate multihoming.  <first hop> may be "default" if there is a unique peering between the two domains.

For static reports and objects:

<root URL>/<source domain>/<dest domain>/<first hop>/<date>/<type>.<aggregation>.{html | gif | txt}


For dynamic and CGI-based reports and objects:

<root URL>/cgi-bin/getStat.cgi?source=<source domain>&dest=<dest domain>&first=<first hop>&date=<date>&type=<type>&agg=<aggregation>&report={html | gif | txt}
<root URL> Root where all measurement reports hosted by a given domain may be found (e.g. "http://qbone.umn.edu")
<source domain> Canonical name for the source QBone domain (e.g."minnesota")
<dest domain> Canonical name for the destination QBone domain (e.g."duke")
<first hop> IP address of the first-hop router in the destination domain or "default" 
<date> YYYYMMDD where year is common era and all fields are zero-padded (e.g. valentines day = "19990214")
<type> Canonical name of a measurement data type (see below)
<aggregation> Summary aggregation interval in minutes
Table 4.5 Common Report Namespace

In order to foster research into providing quality of service over differentiated service networks, all measurements taken within the QBone as mandated by the architecture document will be public. No restrictions will be placed on web site access, and raw data and summaries should be made available to bona fide network researchers.

5. Reservation Setup

An automated interdomain reservation mechanism is not part of the QBone Architecture at this time.  Manual propagation of reservation requests and admission control decisions will proceed as follows in the short term:
When an automated interdomain bandwidth broker signaling protocol is ready for experimental deployment in the QBone, this section will be amended to describe a migration path from manual reservation setup to automated reservation setup.

6. Conclusions

This document specifies the networking requirements for any implementation of the QBone architecture, including a definition of "QBone Premium Service", the specification of an integrated measurement collection and dissemination architecture, and the description of the initial reservation setup process.  While the detailed contents of SLSes and TCSes between QBone users and domains and between pairs of QBone domains are out of scope for this document, the document does specify minimum requirements for any SLS supporting the QBone Premium Service.  Required measurement metrics and dissemination practices are specified, but explicit recommendations of measurement tools are not made.  This document will be supplemented with auxiliary documents on best-current-practices (BCPs) for implementing aspects of the QBone architecture.

Acknowledgments

This document is a product of the Internet2 QoS Working Group in collaboration with Internet2 engineering staff, and the participants in the Internet2 QBone initiative.  Primary contributors include: Guy Almes <almes@internet2.edu>, Philip F. Chimento <chimento@cs.utwente.nl>, Larry Dunn <ldunn@cisco.com>, Rüdiger Geib <geib@advanced.org>, Roch Guerin <guerin@ee.upenn.edu>, Kathleen Nichols <kmn@cisco.com>, John Wroclawski <jtw@lcs.mit.edu>, Matt Zekauskas <matt@advanced.org>.  The QBone architecture makes heavy leverage of the work of the IETF DiffServ and IPPM working groups and much credit is due to the authors of the leveraged Internet Drafts and RFCs from these groups.

References

[2BIT] K. Nichols, V. Jacobson, and L. Zhang, "A Two-bit Differentiated Services Architecture for the Internet", ftp://ftp.ee.lbl.gov/papers/dsarch.pdf, November, 1997.
[AF] J.Heinanen, "Assured Forwarding PHB Group", Internet Draft, August 1998.
[CAnet] British Columbia Institute of Technology, "CA*net II Differentiated Services-Bandwidth Broker High-Level Design", November 1998
[CLARK] D. Clark and J. Wroclawski, "An Approach to Service Allocation in the Internet", Internet Draft, July, 1997.
[COPS] J. Boyle, R. Cohen, D. Durham, S. Herzog, R. Rajan, and A. Sastry, "COPS (Common Open Policy Service) Protocol", Internet Draft, August 1999.
[CORAL] http://www.caida.org/Tools/Coral=/
[DELAY] G.Almes, S.Kalindi, M.Zekauskas, "A One-way Delay Metric for IPPM", IETF Proposed Standard RFC 2679, September 1999.
[DSARCH] D. Black, S. Blake, M. Carlson, E. Davies, Z. Wang, and W. Weiss, "An Architecture for Differentiated Services", IETF Informational RFC 2475, December 1998.
[DSFRAME] Y. Bernet, J. Binder, S. Blake, M. Carlson, S. Keshav, E. Davies, B. Ohlman, D. Verma, Z. Wang, W. Weiss, "A Framework for Differentiated Services", Internet Draft, October 1998.
[DSHEAD] K. Nichols, S. Blake, F. Baker, D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", IETF Proposed Standard RFC 2474, December 1998.
[EF] V. Jacobson, K. Nichols, K. Poduri, "An Expedited Fowarding PHB", IETF Proposed Standard RFC 2598, June 1999.
[I2QoS98] "Report from the First Internet2 Joint Applications/Engineering QoS Workshop", http://www.internet2.edu/qos/may98Workshop, May 1998.
[I.380] ITU-T Recommendation I.380, "Internet Protocol Data Communications Service - IP Packet Transfer and Availability Performance Parameters", ITU-T SG 13, February 1999.
[IPDV] C. Demichelis, P. Chimento, "Instantaneous Packet Delay Variation Metric for IPPM", Internet Draft, June 1999.
[LOSS] G.Almes, S.Kalindi, M.Zekauskas, "A One-way Packet Loss Metric for IPPM", IETF Proposed Standard RFC 2680, September 1999.
[MRT] http://www.merit.edu/~mrt=/
[MRTG] http://ee-staff.ethz.ch/~oetiker/webtools/mrtg=/
[RTFM] http://www.auckland.ac.nz/net/Internet/rtfm/
[SURVEYOR] http://www.advanced.org/surveyor
[WAND] http://atm.cs.waikato.ac.nz/wand/

Appendix

This appendix provides an example computation of the worst case instantaneous packet delay variation (IPDV) for QBone Premium Service through a typical Internet2 path.  The path considered consists of 14 routers connected by circuits varying in speed from 45 Mbps (T1) to 622 Mbps (OC12).  Explicitly, the path is: source-T1-OC3 (four hops)-OC12 (four hops)-OC3 (four hops)-T1-dest.  It is assumed that at each hop there is a fan-in of 8 other links, carrying EF traffic and converging on the egress link in the example path.

The worst case IPDV will occur when one EF packet is forwarded with no queuing delay, followed by a second EF packet that experiences maximum queuing delay.  The maximum queuing delay at any hop is related to the fan-in of converging EF traffic, which, in the worst case, may be perfectly synchronized. Table A.1 below shows the IPDV bound (in milliseconds) for this example assuming different MTU sizes.
 
MTU (bytes)
Jitter (IPDV) bound (ms)
64
0.42
512
3.36
1500
9.84

Table A1
The average packet size to be expected for the QBone Premium Service is not yet known.  In a real network, the probability that the worst case jitter will be observed is very small.  Consequently, it is expected that the observed 99.5th percentile jitter will be much better than the worst case given by the service definition.  However, as this example shows, even the worst case jitter bound across a typical Internet2 path under fairly conservative assumptions (1500 byte MTU and fan-in of 8 at every hop) is quite good-a jitter bound of 10 ms being sufficient for all but the most demanding real-time applications.  Many advanced applications require bounds on round trip latency, but that's a different story and external to the scope of the QPS service definition.