GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:rfc3086

Network Working Group K. Nichols Request for Comments: 3086 Packet Design Category: Informational B. Carpenter

                                                                   IBM
                                                            April 2001
     Definition of Differentiated Services Per Domain Behaviors
                 and Rules for their Specification

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 (2001).  All Rights Reserved.

Abstract

 The differentiated services framework enables quality-of-service
 provisioning within a network domain by applying rules at the edges
 to create traffic aggregates and coupling each of these with a
 specific forwarding path treatment in the domain through use of a
 codepoint in the IP header.  The diffserv WG has defined the general
 architecture for differentiated services and has focused on the
 forwarding path behavior required in routers, known as "per-hop
 forwarding behaviors" (or PHBs).  The WG has also discussed
 functionality required at diffserv (DS) domain edges to select
 (classifiers) and condition (e.g., policing and shaping) traffic
 according to the rules.  Short-term changes in the QoS goals for a DS
 domain are implemented by changing only the configuration of these
 edge behaviors without necessarily reconfiguring the behavior of
 interior network nodes.
 The next step is to formulate examples of how forwarding path
 components (PHBs, classifiers, and traffic conditioners) can be used
 to compose traffic aggregates whose packets experience specific
 forwarding characteristics as they transit a differentiated services
 domain.  The WG has decided to use the term per-domain behavior, or
 PDB, to describe the behavior experienced by a particular set of
 packets as they cross a DS domain.  A PDB is characterized by
 specific metrics that quantify the treatment a set of packets with a
 particular DSCP (or set of DSCPs) will receive as it crosses a DS
 domain.  A PDB specifies a forwarding path treatment for a traffic
 aggregate and, due to the role that particular choices of edge and

Nichols & Carpenter Informational [Page 1] RFC 3086 Diffserv per Domain Behaviors April 2001

 PHB configuration play in its resulting attributes, it is where the
 forwarding path and the control plane interact.  The measurable
 parameters of a PDB should be suitable for use in Service Level
 Specifications at the network edge.
 This document defines and discusses Per-Domain Behaviors in detail
 and lays out the format and required content for contributions to the
 Diffserv WG on PDBs and the procedure that will be applied for
 individual PDB specifications to advance as WG products.  This format
 is specified to expedite working group review of PDB submissions.

Table of Contents

  1. Introduction ................................................ 2
  2. Definitions ................................................. 4
  3. The Value of Defining Edge-to-Edge Behavior ................. 5
  4. Understanding PDBs .......................................... 7
  5. Format for Specification of Diffserv Per-Domain Behaviors ...13
  6. On PDB Attributes ...........................................16
  7. A Reference Per-Domain Behavior .............................19
  8. Guidelines for Advancing PDB Specifications .................21
  9. Security Considerations .....................................22
 10. Acknowledgements ............................................22
     References ..................................................22
     Authors' Addresses ..........................................23
     Full Copyright Statement ....................................24

1 Introduction

 Differentiated Services allows an approach to IP Quality of Service
 that is modular, incrementally deployable, and scalable while
 introducing minimal per-node complexity [RFC2475].  From the end
 user's point of view, QoS should be supported end-to-end between any
 pair of hosts.  However, this goal is not immediately attainable.  It
 will require interdomain QoS support, and many untaken steps remain
 on the road to achieving this.  One essential step, the evolution of
 the business models for interdomain QoS, will necessarily develop
 outside of the IETF.  A goal of the diffserv WG is to provide the
 firm technical foundation that allows these business models to
 develop.  The first major step will be to support edge-to-edge or
 intradomain QoS between the ingress and egress of a single network,
 i.e., a DS Domain in the terminology of RFC 2474.  The intention is
 that this edge-to-edge QoS should be composable, in a purely
 technical sense, to a quantifiable QoS across a DS Region composed of
 multiple DS domains.

Nichols & Carpenter Informational [Page 2] RFC 3086 Diffserv per Domain Behaviors April 2001

 The Diffserv WG has finished the first phase of standardizing the
 behaviors required in the forwarding path of all network nodes, the
 per-hop forwarding behaviors or PHBs.  The PHBs defined in RFCs 2474,
 2597 and 2598 give a rich toolbox for differential packet handling by
 individual boxes.  The general architectural model for diffserv has
 been documented in RFC 2475.  An informal router model [MODEL]
 describes a model of traffic conditioning and other forwarding
 behaviors.  However, technical issues remain in moving "beyond the
 box" to intradomain QoS models.
 The ultimate goal of creating scalable end-to-end QoS in the Internet
 requires that we can identify and quantify behavior for a group of
 packets that is preserved when they are aggregated with other packets
 as they traverse the Internet.  The step of specifying forwarding
 path attributes on a per-domain basis for a set of packets
 distinguished only by the mark in the DS field of individual packets
 is critical in the evolution of Diffserv QoS and should provide the
 technical input that will aid in the construction of business models.
 This document defines and specifies the term "Per-Domain Behavior" or
 PDB to describe QoS attributes across a DS domain.
 Diffserv classification and traffic conditioning are applied to
 packets arriving at the boundary of a DS domain to impose
 restrictions on the composition of the resultant traffic aggregates,
 as distinguished by the DSCP marking , inside the domain.  The
 classifiers and traffic conditioners are set to reflect the policy
 and traffic goals for that domain and may be specified in a TCA
 (Traffic Conditioning Agreement).  Once packets have crossed the DS
 boundary, adherence to diffserv principles makes it possible to group
 packets solely according to the behavior they receive at each hop (as
 selected by the DSCP).  This approach has well-known scaling
 advantages, both in the forwarding path and in the control plane.
 Less well recognized is that these scaling properties only result if
 the per-hop behavior definition gives rise to a particular type of
 invariance under aggregation.  Since the per-hop behavior must be
 equivalent for every node in the domain, while the set of packets
 marked for that PHB may be different at every node, PHBs should be
 defined such that their characteristics do not depend on the traffic
 volume of the associated BA on a router's ingress link nor on a
 particular path through the DS domain taken by the packets.
 Specifically, different streams of traffic that belong to the same
 traffic aggregate merge and split as they traverse the network.  If
 the properties of a PDB using a particular PHB hold regardless of how
 the temporal characteristics of the marked traffic aggregate change
 as it traverses the domain, then that PDB scales.  (Clearly this
 assumes that numerical parameters such as bandwidth allocated to the
 particular PDB may be different at different points in the network,
 and may be adjusted dynamically as traffic volume varies.)  If there

Nichols & Carpenter Informational [Page 3] RFC 3086 Diffserv per Domain Behaviors April 2001

 are limits to where the properties hold, that translates to a limit
 on the size or topology of a DS domain that can use that PDB.
 Although useful single-link DS domains might exist, PDBs that are
 invariant with network size or that have simple relationships with
 network size and whose properties can be recovered by reapplying
 rules (that is, forming another diffserv boundary or edge to re-
 enforce the rules for the traffic aggregate) are needed for building
 scalable end-to-end quality of service.
 There is a clear distinction between the definition of a Per-Domain
 Behavior in a DS domain and a service that might be specified in a
 Service Level Agreement.  The PDB definition is a technical building
 block that permits the coupling of classifiers, traffic conditioners,
 specific PHBs, and particular configurations with a resulting set of
 specific observable attributes which may be characterized in a
 variety of ways.  These definitions are intended to be useful tools
 in configuring DS domains, but the PDB (or PDBs) used by a provider
 is not expected to be visible to customers any more than the specific
 PHBs employed in the provider's network would be.  Network providers
 are expected to select their own measures to make customer-visible in
 contracts and these may be stated quite differently from the
 technical attributes specified in a PDB definition, though the
 configuration of a PDB might be taken from a Service Level
 Specification (SLS).  Similarly, specific PDBs are intended as tools
 for ISPs to construct differentiated services offerings; each may
 choose different sets of tools, or even develop their own, in order
 to achieve particular externally observable metrics.  Nevertheless,
 the measurable parameters of a PDB are expected to be among the
 parameters cited directly or indirectly in the Service Level
 Specification component of a corresponding SLA.
 This document defines Differentiated Services Per-Domain Behaviors
 and specifies the format that must be used for submissions of
 particular PDBs to the Diffserv WG.

2 Definitions

 The following definitions are stated in RFCs 2474 and 2475 and are
 repeated here for easy reference:
 " Behavior Aggregate: a collection of packets with the same codepoint
   crossing a link in a particular direction.
 " Differentiated Services Domain: a contiguous portion of the
   Internet over which a consistent set of differentiated services
   policies are administered in a coordinated fashion.  A
   differentiated services domain can represent different

Nichols & Carpenter Informational [Page 4] RFC 3086 Diffserv per Domain Behaviors April 2001

   administrative domains or autonomous systems, different trust
   regions, different network technologies (e.g., cell/frame), hosts
   and routers, etc.  Also DS domain.
 " Differentiated Services Boundary: the edge of a DS domain, where
   classifiers and traffic conditioners are likely to be deployed.  A
   differentiated services boundary can be further sub-divided into
   ingress and egress nodes, where the ingress/egress nodes are the
   downstream/upstream nodes of a boundary link in a given traffic
   direction.  A differentiated services boundary typically is found
   at the ingress to the first-hop differentiated services-compliant
   router (or network node) that a host's packets traverse, or at the
   egress of the last-hop differentiated services-compliant router or
   network node that packets traverse before arriving at a host.  This
   is sometimes referred to as the boundary at a leaf router.  A
   differentiated services boundary may be co-located with a host,
   subject to local policy.  Also DS boundary.
 To these we add:
 " Traffic Aggregate: a collection of packets with a codepoint that
   maps to the same PHB, usually in a DS domain or some subset of a DS
   domain.  A traffic aggregate marked for the foo PHB is referred to
   as the "foo traffic aggregate" or "foo aggregate" interchangeably.
   This generalizes the concept of Behavior Aggregate from a link to a
   network.
 " Per-Domain Behavior: the expected treatment that an identifiable or
   target group of packets will receive from "edge-to-edge" of a DS
   domain.  (Also PDB.)  A particular PHB (or, if applicable, list of
   PHBs) and traffic conditioning requirements are associated with
   each PDB.
 " A Service Level Specification (SLS) is a set of parameters and
   their values which together define the service offered to a traffic
   stream by a DS domain.  It is expected to include specific values
   or bounds for PDB parameters.

3 The Value of Defining Edge-to-Edge Behavior

 As defined in section 2, a PDB describes the edge-to-edge behavior
 across a DS domain's "cloud." Specification of the transit
 expectations of packets matching a target for a particular diffserv
 behavior across a DS domain will both assist in the deployment of
 single-domain QoS and will help enable the composition of end-to-end,
 cross-domain services.  Networks of DS domains can be connected to
 create end-to-end services by building on the PDB characteristics
 without regard to the particular PHBs used.  This level of

Nichols & Carpenter Informational [Page 5] RFC 3086 Diffserv per Domain Behaviors April 2001

 abstraction makes it easier to compose cross-domain services as well
 as making it possible to hide details of a network's internals while
 exposing information sufficient to enable QoS.
 Today's Internet is composed of multiple independently administered
 domains or Autonomous Systems (ASs), represented by the "clouds" in
 figure 1.  To deploy ubiquitous end-to-end quality of service in the
 Internet, business models must evolve that include issues of charging
 and reporting that are not in scope for the IETF.  In the meantime,
 there are many possible uses of quality of service within an AS and
 the IETF can address the technical issues in creating an intradomain
 QoS within a Differentiated Services framework.  In fact, this
 approach is quite amenable to incremental deployment strategies.
 Where DS domains are independently administered, the evolution of the
 necessary business agreements and future signaling arrangements will
 take some time, thus, early deployments will be within a single
 administrative domain.  Putting aside the business issues, the same
 technical issues that arise in interconnecting DS domains with
 homogeneous administration will arise in interconnecting the
 autonomous systems (ASs) of the Internet.
  1. —————————————

| AS2 |

               |                                      |
  -------      |     ------------     ------------    |
  | AS1 |------|-----X           |    |          |    |
  -------      |     |           |    Y          |    |        -------
               |     |           |   /|          X----|--------| AS3 |
               |     |           |  / |          |    |        -------
               |     |           | /  ------------    |
               |     |           Y      |             |
               |     |           | \  ------------    |
  -------      |     |           |  \ |          |    |
  | AS4 |------|-----X           |   \|          |    |
  -------      |     |           |    Y          X----|------
               |     |           |    |          |    |
               |     ------------     ------------    |
               |                                      |
               |                                      |
               ----------------------------------------
       Figure 1: Interconnection of ASs and DS Domains
 A single AS (e.g., AS2 in figure 1) may be composed of subnetworks
 and, as the definition allows, these can be separate DS domains.  An
 AS might have multiple DS domains for a number of reasons, most
 notable being to follow topological and/or technological boundaries

Nichols & Carpenter Informational [Page 6] RFC 3086 Diffserv per Domain Behaviors April 2001

 and to separate the allocation of resources.  If we confine ourselves
 to the DS boundaries between these "interior" DS domains, we avoid
 the non-technical problems of setting up a service and can address
 the issues of creating characterizable PDBs.
 The incentive structure for differentiated services is based on
 upstream domains ensuring their traffic conforms to the Traffic
 Conditioning Agreements (TCAs) with downstream domains and downstream
 domains enforcing that TCA, thus metrics associated with PDBs can be
 sensibly computed.  The letters "X" and "Y" in figure 1 represent the
 DS boundary routers containing traffic conditioners that ensure and
 enforce conformance (e.g., shapers and policers).  Although policers
 and shapers are expected at the DS boundaries of ASs (the "X" boxes),
 they might appear anywhere, or nowhere, inside the AS.  Specifically,
 the boxes at the DS boundaries internal to the AS (the "Y" boxes) may
 or may not condition traffic.  Technical guidelines for the placement
 and configuration of DS boundaries should derive from the attributes
 of a particular PDB under aggregation and multiple hops.
 This definition of PDB continues the separation of forwarding path
 and control plane described in RFC 2474.  The forwarding path
 characteristics are addressed by considering how the behavior at
 every hop of a packet's path is affected by the merging and branching
 of traffic aggregates through multiple hops.  Per-hop behaviors in
 nodes are configured infrequently, representing a change in network
 infrastructure.  More frequent quality-of-service changes come from
 employing control plane functions in the configuration of the DS
 boundaries.  A PDB provides a link between the DS domain level at
 which control is exercised to form traffic aggregates with quality-
 of-service goals across the domain and the per-hop and per-link
 treatments packets receive that results in meeting the quality-of-
 service goals.

4 Understanding PDBs

4.1 Defining PDBs

 RFCs 2474 and 2475 define a Differentiated Services Behavior
 Aggregate as "a collection of packets with the same DS codepoint
 crossing a link in a particular direction" and further state that
 packets with the same DSCP get the same per-hop forwarding treatment
 (or PHB) everywhere inside a single DS domain.  Note that even if
 multiple DSCPs map to the same PHB, this must hold for each DSCP
 individually.  In section 2 of this document, we introduced a more
 general definition of a traffic aggregate in the diffserv sense so
 that we might easily refer to the packets which are mapped to the
 same PHB everywhere within a DS domain.  Section 2 also presented a
 short definition of PDBs which we expand upon in this section:

Nichols & Carpenter Informational [Page 7] RFC 3086 Diffserv per Domain Behaviors April 2001

 Per-Domain Behavior: the expected treatment that an identifiable or
   target group of packets will receive from "edge to edge" of a DS
   domain.  A particular PHB (or, if applicable, list of PHBs) and
   traffic conditioning requirements are associated with each PDB.
 Each PDB has measurable, quantifiable, attributes that can be used to
 describe what happens to its packets as they enter and cross the DS
 domain.  These derive from the characteristics of the traffic
 aggregate that results from application of classification and traffic
 conditioning during the entry of packets into the DS domain and the
 forwarding treatment (PHB) the packets get inside the domain, but can
 also depend on the entering traffic loads and the domain's topology.
 PDB attributes may be absolute or statistical and they may be
 parameterized by network properties.  For example, a loss attribute
 might be expressed as "no more than 0.1% of packets will be dropped
 when measured over any time period larger than T", a delay attribute
 might be expressed as "50% of delivered packets will see less than a
 delay of d milliseconds, 30% will see a delay less than 2d ms, 20%
 will see a delay of less than 3d ms." A wide range of metrics is
 possible.  In general they will be expressed as bounds or percentiles
 rather than as absolute values.
 A PDB is applied to a target group of packets arriving at the edge of
 the DS domain.  The target group is distinguished from all arriving
 packets by use of packet classifiers [RFC2475] (where the classifier
 may be "null").  The action of the PDB on the target group has two
 parts.  The first part is the the use of traffic conditioning to
 create a traffic aggregate.  During traffic conditioning, conformant
 packets are marked with a DSCP for the PHB associated with the PDB
 (see figure 2).  The second part is the treatment experienced by
 packets from the same traffic aggregate transiting the interior of a
 DS domain, between and inside of DS domain boundaries.  The following
 subsections further discuss these two effects on the target group
 that arrives at the DS domain boundary.
  1. ———- ———— ——————– foo

arriving _|classifiers|_|target group|_|traffic conditioning|_ traffic packets | | |of packets | |& marking (for foo) | aggregate

  1. ———- ———— ——————–
       Figure 2: Relationship of the traffic aggregate associated
                  with a PDB to arriving packets

Nichols & Carpenter Informational [Page 8] RFC 3086 Diffserv per Domain Behaviors April 2001

4.1.1 Crossing the DS edge: the effects of traffic conditioning on the

    target group
 This effect is quantified by the relationship of the emerging traffic
 aggregate to the entering target group.  That relationship can depend
 on the arriving traffic pattern as well as the configuration of the
 traffic conditioners.  For example, if the EF PHB [RFC2598] and a
 strict policer of rate R are associated with the foo PDB, then the
 first part of characterizing the foo PDB is to write the relationship
 between the arriving target packets and the departing foo traffic
 aggregate.  In this case, "the rate of the emerging foo traffic
 aggregate is less than or equal to the smaller of R and the arrival
 rate of the target group of packets" and additional temporal
 characteristics of the packets (e.g., burst) may be specified as
 desired.  Thus, there is a "loss rate" on the arriving target group
 that results from sending too much traffic or the traffic with the
 wrong temporal characteristics.  This loss rate should be entirely
 preventable (or controllable) by the upstream sender conforming to
 the traffic conditioning associated with the PDB specification.
 The issue of "who is in control" of the loss (or demotion) rate helps
 to clearly delineate this component of PDB performance from that
 associated with transiting the domain.  The latter is completely
 under control of the operator of the DS domain and the former is used
 to ensure that the entering traffic aggregate conforms to the traffic
 profile to which the operator has provisioned the network.  Further,
 the effects of traffic conditioning on the target group can usually
 be expressed more simply than the effects of transiting the DS domain
 on the traffic aggregate's traffic profile.
 A PDB may also apply traffic conditioning at DS domain egress.  The
 effect of this conditioning on the overall PDB attributes would be
 treated similarly to the ingress characteristics (the authors may
 develop more text on this in the future, but it does not materially
 affect the ideas presented in this document.)

4.1.2 Crossing the DS domain: transit effects

 The second component of PDB performance is the metrics that
 characterize the transit of a packet of the PDB's traffic aggregate
 between any two edges of the DS domain boundary shown in figure 3.
 Note that the DS domain boundary runs through the DS boundary routers
 since the traffic aggregate is generally formed in the boundary
 router before the packets are queued and scheduled for output.  (In
 most cases, this distinction is expected to be important.)

Nichols & Carpenter Informational [Page 9] RFC 3086 Diffserv per Domain Behaviors April 2001

 DSCPs should not change in the interior of a DS domain as there is no
 traffic conditioning being applied.  If it is necessary to reapply
 the kind of traffic conditioning that could result in remarking,
 there should be a DS domain boundary at that point, though such an
 "interior" boundary can have "lighter weight" rules in its TCA.
 Thus, when measuring attributes between locations as indicated in
 figure 3, the DSCP at the egress side can be assumed to have held
 throughout the domain.
  1. ————

| |

  1. —-X |

| |

                             |   DS      |
                             |   domain  X----
                             |           |
                        -----X           |
                             |           |
                             -------------
        Figure 3: Range of applicability of attributes of a traffic
                  aggregate associated with a PDB (is between the
                  points marked "X")
 Though a DS domain may be as small as a single node, more complex
 topologies are expected to be the norm, thus the PDB definition must
 hold as its traffic aggregate is split and merged on the interior
 links of a DS domain.  Packet flow in a network is not part of the
 PDB definition; the application of traffic conditioning as packets
 enter the DS domain and the consistent PHB through the DS domain must
 suffice.  A PDB's definition does not have to hold for arbitrary
 topologies of networks, but the limits on the range of applicability
 for a specific PDB must be clearly specified.
 In general, a PDB operates between N ingress points and M egress
 points at the DS domain boundary.  Even in the degenerate case where
 N=M=1, PDB attributes are more complex than the definition of PHB
 attributes since the concatenation of the behavior of intermediate
 nodes affects the former.  A complex case with N and M both greater
 than one involves splits and merges in the traffic path and is non-
 trivial to analyze.  Analytic, simulation, and experimental work will
 all be necessary to understand even the simplest PDBs.

4.2 Constructing PDBs

 A DS domain is configured to meet the network operator's traffic
 engineering goals for the domain independently of the performance
 goals for a particular flow of a traffic aggregate.  Once the

Nichols & Carpenter Informational [Page 10] RFC 3086 Diffserv per Domain Behaviors April 2001

 interior routers are configured for the number of distinct traffic
 aggregates that the network will handle, each PDB's allocation at the
 edge comes from meeting the desired performance goals for the PDB's
 traffic aggregate subject to that configuration of packet schedulers
 and bandwidth capacity.  The configuration of traffic conditioners at
 the edge may be altered by provisioning or admission control but the
 decision about which PDB to use and how to apply classification and
 traffic conditioning comes from matching performance to goals.
 For example, consider the DS domain of figure 3.  A PDB with an
 explicit bound on loss must apply traffic conditioning at the
 boundary to ensure that on the average no more packets are admitted
 than can emerge.  Though, queueing internal to the network may result
 in a difference between input and output traffic over some
 timescales, the averaging timescale should not exceed what might be
 expected for reasonably sized buffering inside the network.  Thus if
 bursts are allowed to arrive into the interior of the network, there
 must be enough capacity to ensure that losses don't exceed the bound.
 Note that explicit bounds on the loss level can be particularly
 difficult as the exact way in which packets merge inside the network
 affects the burstiness of the PDB's traffic aggregate and hence,
 loss.
 PHBs give explicit expressions of the treatment a traffic aggregate
 can expect at each hop.  For a PDB, this behavior must apply to
 merging and diverging traffic aggregates, thus characterizing a PDB
 requires understanding what happens to a PHB under aggregation.  That
 is, PHBs recursively applied must result in a known behavior.  As an
 example, since maximum burst sizes grow with the number of microflows
 or traffic aggregate streams merged, a PDB specification must address
 this.  A clear advantage of constructing behaviors that aggregate is
 the ease of concatenating PDBs so that the associated traffic
 aggregate has known attributes that span interior DS domains and,
 eventually, farther.  For example, in figure 1 assume that we have
 configured the foo PDB on the interior DS domains of AS2.  Then
 traffic aggregates associated with the foo PDB in each interior DS
 domain of AS2 can be merged at the shaded interior boundary routers.
 If the same (or fewer) traffic conditioners as applied at the
 entrance to AS2 are applied at these interior boundaries, the
 attributes of the foo PDB should continue to be used to quantify the
 expected behavior.  Explicit expressions of what happens to the
 behavior under aggregation, possibly parameterized by node in-degrees
 or network diameters, are necessary to determine what to do at the
 internal aggregation points.  One approach might be to completely
 reapply the traffic conditioning at these points; another might
 employ some limited rate-based remarking only.

Nichols & Carpenter Informational [Page 11] RFC 3086 Diffserv per Domain Behaviors April 2001

 Multiple PDBs may use the same PHB.  The specification of a PDB can
 contain a list of PHBs and their required configuration, all of which
 would result in the same PDB.  In operation, it is expected that a
 single domain will use a single PHB to implement a particular PDB,
 though different domains may select different PHBs.  Recall that in
 the diffserv definition [RFC2474], a single PHB might be selected
 within a domain by a list of DSCPs.  Multiple PDBs might use the same
 PHB in which case the transit performance of traffic aggregates of
 these PDBs will, of necessity, be the same.  Yet, the particular
 characteristics that the PDB designer wishes to claim as attributes
 may vary, so two PDBs that use the same PHB might not be specified
 with the same list of attributes.
 The specification of the transit expectations of PDBs across domains
 both assists in the deployment of QoS within a DS domain and helps
 enable the composition of end-to-end, cross-domain services to
 proceed by making it possible to hide details of a domain's internals
 while exposing characteristics necessary for QoS.

4.3 PDBs using PHB Groups

 The use of PHB groups to construct PDBs can be done in several ways.
 A single PHB member of a PHB group might be used to construct a
 single PDB.  For example, a PDB could be defined using just one of
 the Class Selector Compliant PHBs [RFC2474].  The traffic
 conditioning for that PDB and the required configuration of the
 particular PHB would be defined in such a way that there was no
 dependence or relationship with the manner in which other PHBs of the
 group are used or, indeed, whether they are used in that DS domain.
 In this case, the reasonable approach would be to specify this PDB
 alone in a document which expressly called out the conditions and
 configuration of the Class Selector PHB required.
 A single PDB can be constructed using more than one PHB from the same
 PHB group.  For example, the traffic conditioner described in RFC
 2698 might be used to mark a particular entering traffic aggregate
 for one of the three AF1x PHBs [RFC2597] while the transit
 performance of the resultant PDB is specified, statistically, across
 all the packets marked with one of those PHBs.
 A set of related PDBs might be defined using a PHB group.  In this
 case, the related PDBs should be defined in the same document.  This
 is appropriate when the traffic conditioners that create the traffic
 aggregates associated with each PDB have some relationships and
 interdependencies such that the traffic aggregates for these PDBs
 should be described and characterized together.  The transit
 attributes will depend on the PHB associated with the PDB and will
 not be the same for all PHBs in the group, though there may be some

Nichols & Carpenter Informational [Page 12] RFC 3086 Diffserv per Domain Behaviors April 2001

 parameterized interrelationship between the attributes of each of
 these PDBs.  In this case, each PDB should have a clearly separate
 description of its transit attributes (delineated in a separate
 subsection) within the document.  For example, the traffic
 conditioner described in RFC 2698 might be used to mark arriving
 packets for three different AF1x PHBs, each of which is to be treated
 as a separate traffic aggregate in terms of transit properties.  Then
 a single document could be used to define and quantify the
 relationship between the arriving packets and the emerging traffic
 aggregates as they relate to one another.  The transit
 characteristics of packets of each separate AF1x traffic aggregate
 should be described separately within the document.
 Another way in which a PHB group might be used to create one PDB per
 PHB might have decoupled traffic conditioners, but some relationship
 between the PHBs of the group.  For example, a set of PDBs might be
 defined using Class Selector Compliant PHBs [RFC2474] in such a way
 that the traffic conditioners that create the traffic aggregates are
 not related, but the transit performance of each traffic aggregate
 has some parametric relationship to the other.  If it makes sense to
 specify them in the same document, then the author(s) should do so.

4.4 Forwarding path vs. control plane

 A PDB's associated PHB, classifiers, and traffic conditioners are all
 in the packet forwarding path and operate at line rates.  PHBs,
 classifiers, and traffic conditioners are configured in response to
 control plane activity which takes place across a range of time
 scales, but, even at the shortest time scale, control plane actions
 are not expected to happen per-packet.  Classifiers and traffic
 conditioners at the DS domain boundary are used to enforce who gets
 to use the PDB and how the PDB should behave temporally.
 Reconfiguration of PHBs might occur monthly, quarterly, or only when
 the network is upgraded.  Classifiers and traffic conditioners might
 be reconfigured at a few regular intervals during the day or might
 happen in response to signalling decisions thousands of times a day.
 Much of the control plane work is still evolving and is outside the
 charter of the Diffserv WG.  We note that this is quite appropriate
 since the manner in which the configuration is done and the time
 scale at which it is done should not affect the PDB attributes.

5 Format for Specification of Diffserv Per-Domain Behaviors

 PDBs arise from a particular relationship between edge and interior
 (which may be parameterized).  The quantifiable characteristics of a
 PDB must be independent of whether the network edge is configured
 statically or dynamically.  The particular configuration of traffic

Nichols & Carpenter Informational [Page 13] RFC 3086 Diffserv per Domain Behaviors April 2001

 conditioners at the DS domain edge is critical to how a PDB performs,
 but the act(s) of configuring the edge is a control plane action
 which can be separated from the specification of the PDB.
 The following sections must be present in any specification of a
 Differentiated Services PDB.  Of necessity, their length and content
 will vary greatly.

5.1 Applicability Statement

 All PDB specs must have an applicability statement that outlines the
 intended use of this PDB and the limits to its use.

5.2 Technical specification

 This section specifies the rules or guidelines to create this PDB,
 each distinguished with "may", "must" and "should." The technical
 specification must list the classification and traffic conditioning
 required (if any) and the PHB (or PHBs) to be used with any
 additional requirements on their configuration beyond that contained
 in RFCs.  Classification can reflect the results of an admission
 control process.  Traffic conditioning may include marking, traffic
 shaping, and policing.  A Service Provisioning Policy might be used
 to describe the technical specification of a particular PDB.

5.3 Attributes

 A PDB's attributes tell how it behaves under ideal conditions if
 configured in a specified manner (where the specification may be
 parameterized).  These might include drop rate, throughput, delay
 bounds measured over some time period.  They may be bounds,
 statistical bounds, or percentiles (e.g., "90% of all packets
 measured over intervals of at least 5 minutes will cross the DS
 domain in less than 5 milliseconds").  A wide variety of
 characteristics may be used but they must be explicit, quantifiable,
 and defensible.  Where particular statistics are used, the document
 must be precise about how they are to be measured and about how the
 characteristics were derived.
 Advice to a network operator would be to use these as guidelines in
 creating a service specification rather than use them directly.  For
 example, a "loss-free" PDB would probably not be sold as such, but
 rather as a service with a very small packet loss probability.

Nichols & Carpenter Informational [Page 14] RFC 3086 Diffserv per Domain Behaviors April 2001

5.4 Parameters

 The definition and characteristics of a PDB may be parameterized by
 network-specific features; for example, maximum number of hops,
 minimum bandwidth, total number of entry/exit points of the PDB
 to/from the diffserv network, maximum transit delay of network
 elements, minimum buffer size available for the PDB at a network
 node, etc.

5.5 Assumptions

 In most cases, PDBs will be specified assuming lossless links, no
 link failures, and relatively stable routing.  This is reasonable
 since otherwise it would be very difficult to quantify behavior and
 this is the operating conditions for which most operators strive.
 However, these assumptions must be clearly stated.  Since PDBs with
 specific bandwidth parameters require that bandwidth to be available,
 the assumptions to be stated may include standby capacity.  Some PDBs
 may be specifically targeted for cases where these assumptions do not
 hold, e.g., for high loss rate links, and such targeting must also be
 made explicit.  If additional restrictions, especially specific
 traffic engineering measures, are required, these must be stated.
 Further, if any assumptions are made about the allocation of
 resources within a diffserv network in the creation of the PDB, these
 must be made explicit.

5.6 Example Uses

 A PDB specification must give example uses to motivate the
 understanding of ways in which a diffserv network could make use of
 the PDB although these are not expected to be detailed.  For example,
 "A bulk handling PDB may be used for all packets which should not
 take any resources from the network unless they would otherwise go
 unused.  This might be useful for Netnews traffic or for traffic
 rejected from some other PDB by traffic policers."

5.7 Environmental Concerns (media, topology, etc.)

 Note that it is not necessary for a provider to expose which PDB (if
 a commonly defined one) is being used nor is it necessary for a
 provider to specify a service by the PDB's attributes.  For example,
 a service provider might use a PDB with a "no queueing loss"
 characteristic in order to specify a "very low loss" service.
 This section is to inject realism into the characteristics described
 above.  Detail the assumptions made there and what constraints that
 puts on topology or type of physical media or allocation.

Nichols & Carpenter Informational [Page 15] RFC 3086 Diffserv per Domain Behaviors April 2001

5.8 Security Considerations for each PDB

 This section should include any security considerations that are
 specific to the PDB.  Is it subject to any unusual theft-of-service
 or denial-of-service attacks?  Are any unusual security precautions
 needed?
 It is not necessary to repeat the general security discussions in
 [RFC2474] and [RFC2475], but a reference should be included.  Also
 refer to any special security considerations for the PHB or PHBs
 used.

6 On PDB Attributes

 As discussed in section 4, measurable, quantifiable attributes
 associated with each PDB can be used to describe what will happen to
 packets using that PDB as they cross the domain.  In its role as a
 building block for the construction of interdomain quality-of-
 service, a PDB specification should provide the answer to the
 question: Under what conditions can we join the output of this domain
 to another under the same traffic conditioning and expectations?
 Although there are many ways in which traffic might be distributed,
 creating quantifiable, realizable PDBs that can be concatenated into
 multi-domain services limits the realistic scenarios.  A PDB's
 attributes with a clear statement of the conditions under which the
 attributes hold is critical to the composition of multi-domain
 services.
 There is a clear correlation between the strictness of the traffic
 conditioning and the quality of the PDB's attributes.  As indicated
 earlier, numerical bounds are likely to be statistical or expressed
 as a percentile.  Parameters expressed as strict bounds will require
 very precise mathematical analysis, while those expressed
 statistically can to some extent rely on experiment.  Section 7 gives
 the example of a PDB without strict traffic conditioning and
 concurrent work on a PDB with strict traffic conditioning and
 attributes is also in front of the WG [VW].  This section gives some
 general considerations for characterizing PDB attributes.
 There are two ways to characterize PDBs with respect to time.  First
 are properties over "long" time periods, or average behaviors.  A PDB
 specification should report these as the rates or throughput seen
 over some specified time period.  In addition, there are properties
 of "short" time behavior, usually expressed as the allowable
 burstiness in a traffic aggregate.  The short time behavior is
 important in understanding buffering requirements (and associated
 loss characteristics) and for metering and conditioning
 considerations at DS boundaries.  For short-time behavior, we are

Nichols & Carpenter Informational [Page 16] RFC 3086 Diffserv per Domain Behaviors April 2001

 interested primarily in two things: 1) how many back-to-back packets
 of the PDB's traffic aggregate will we see at any point (this would
 be metered as a burst) and 2) how large a burst of packets of this
 PDB's traffic aggregate can appear in a queue at once (gives queue
 overflow and loss).  If other PDBs are using the same PHB within the
 domain, that must be taken into account.

6.1 Considerations in specifying long-term or average PDB attributes

 To characterize the average or long-term behavior for the foo PDB we
 must explore a number of questions, for instance: Can the DS domain
 handle the average foo traffic flow?  Is that answer topology
 dependent or are there some specific assumptions on routing which
 must hold for the foo PDB to preserve its "adequately provisioned"
 capability?  In other words, if the topology of D changes suddenly,
 will the foo PDB's attributes change?  Will its loss rate
 dramatically increase?
 Let domain D in figure 4 be an ISP ringing the U.S. with links of
 bandwidth B and with N tails to various metropolitan areas.  Inside
 D, if the link between the node connected to A and the node connected
 to Z goes down, all the foo traffic aggregate between the two nodes
 must transit the entire ring: Would the bounded behavior of the foo
 PDB change?  If this outage results in some node of the ring now
 having a larger arrival rate to one of its links than the capacity of
 the link for foo's traffic aggregate, clearly the loss rate would
 change dramatically.  In this case, topological assumptions were made
 about the path of the traffic from A to Z that affected the
 characteristics of the foo PDB.  If these topological assumptions no
 longer hold, the loss rate of packets of the foo traffic aggregate
 transiting the domain could change; for example, a characteristic
 such as "loss rate no greater than 1% over any interval larger than
 10 minutes." A PDB specification should spell out the assumptions
 made on preserving the attributes.
                ____X________X_________X___________          /
               /                                   \    L   |
       A<---->X                                     X<----->|  E
              |                                     |       |
              |               D                     |        \
       Z<---->X                                     |
              |                                     |
               \___________________________________/
                       X                 X
      Figure 4: ISP and DS domain D connected in a ring and
                connected to DS domain E

Nichols & Carpenter Informational [Page 17] RFC 3086 Diffserv per Domain Behaviors April 2001

6.2 Considerations in specifying short-term or bursty PDB attributes

 Next, consider the short-time behavior of the traffic aggregate
 associated with a PDB, specifically whether permitting the maximum
 bursts to add in the same manner as the average rates will lead to
 properties that aggregate or under what conditions this will lead to
 properties that aggregate.  In our example, if domain D allows each
 of the uplinks to burst p packets into the foo traffic aggregate, the
 bursts could accumulate as they transit the ring.  Packets headed for
 link L can come from both directions of the ring and back-to-back
 packets from foo's traffic aggregate can arrive at the same time.  If
 the bandwidth of link L is the same as the links of the ring, this
 probably does not present a buffering problem.  If there are two
 input links that can send packets to queue for L, at worst, two
 packets can arrive simultaneously for L.  If the bandwidth of link L
 equals or exceeds twice B, the packets won't accumulate.  Further, if
 p is limited to one, and the bandwidth of L exceeds the rate of
 arrival (over the longer term) of foo packets (required for bounding
 the loss) then the queue of foo packets for link L will empty before
 new packets arrive.  If the bandwidth of L is equal to B, one foo
 packet must queue while the other is transmitted.  This would result
 in N x p back-to- back packets of this traffic aggregate arriving
 over L during the same time scale as the bursts of p were permitted
 on the uplinks.  Thus, configuring the PDB so that link L can handle
 the sum of the rates that ingress to the foo PDB doesn't guarantee
 that L can handle the sum of the N bursts into the foo PDB.
 If the bandwidth of L is less than B, then the link must buffer
 Nxpx(B-L)/B foo packets to avoid loss.  If the PDB is getting less
 than the full bandwidth L, this number is larger.  For probabilistic
 bounds, a smaller buffer might do if the probability of exceeding it
 can be bounded.
 More generally, for router indegree of d, bursts of foo packets might
 arrive on each input.  Then, in the absence of any additional traffic
 conditioning, it is possible that dxpx(# of uplinks) back-to-back foo
 packets can be sent across link L to domain E.  Thus the DS domain E
 must permit these much larger bursts into the foo PDB than domain D
 permits on the N uplinks or else the foo traffic aggregate must be
 made to conform to the TCA for entering E (e.g., by shaping).
 What conditions should be imposed on a PDB and on the associated PHB
 in order to ensure PDBs can be concatenated, as across the interior
 DS domains of figure 1?  Traffic conditioning for constructing a PDB
 that has certain attributes across a DS domain should apply
 independently of the origin of the packets.  With reference to the

Nichols & Carpenter Informational [Page 18] RFC 3086 Diffserv per Domain Behaviors April 2001

 example we've been exploring, the TCA for the PDB's traffic aggregate
 entering link L into domain E should not depend on the number of
 uplinks into domain D.

6.3 Remarks

 This section has been provided as motivational food for thought for
 PDB specifiers.  It is by no means an exhaustive catalog of possible
 PDB attributes or what kind of analysis must be done.  We expect this
 to be an interesting and evolutionary part of the work of
 understanding and deploying differentiated services in the Internet.
 There is a potential for much interesting research work.  However, in
 submitting a PDB specification to the Diffserv WG, a PDB must also
 meet the test of being useful and relevant by a deployment
 experience, described in section 8.

7 A Reference Per-Domain Behavior

 The intent of this section is to define as a reference a Best Effort
 PDB, a PDB that has little in the way of rules or expectations.

7.1 Best Effort PDB

7.1.1 Applicability

 A Best Effort (BE) PDB is for sending "normal internet traffic"
 across a diffserv network.  That is, the definition and use of this
 PDB is to preserve, to a reasonable extent, the pre-diffserv delivery
 expectation for packets in a diffserv network that do not require any
 special differentiation.  Although the PDB itself does not include
 bounds on availability, latency, and packet loss, this does not
 preclude Service Providers from engineering their networks so as to
 result in commercially viable bounds on services that utilize the BE
 PDB.  This would be analogous to the Service Level Guarantees that
 are provided in today's single-service Internet.
 In the present single-service commercial Internet, Service Level
 Guarantees for availability, latency, and packet delivery can be
 found on the web sites of ISPs [WCG, PSI, UU].  For example, a
 typical North American round-trip latency bound is 85 milliseconds,
 with each service provider's site information specifying the method
 of measurement of the bounds and the terms associated with these
 bounds contractually.

Nichols & Carpenter Informational [Page 19] RFC 3086 Diffserv per Domain Behaviors April 2001

7.1.2 TCS and PHB configurations

 There are no restrictions governing rate and bursts of packets beyond
 the limits imposed by the ingress link.  The network edge ensures
 that packets using the PDB are marked for the Default PHB (as defined
 in [RFC2474]), but no other traffic conditioning is required.
 Interior network nodes apply the Default PHB on these packets.

7.1.3 Attributes of this PDB

 "As much as possible as soon as possible".
 Packets of this PDB will not be completely starved and when resources
 are available (i.e., not required by packets from any other traffic
 aggregate), network elements should be configured to permit packets
 of this PDB to consume them.
 Network operators may bound the delay and loss rate for services
 constructed from this PDB given knowledge about their network, but
 such attributes are not part of the definition.

7.1.4 Parameters

 None.

7.1.5 Assumptions

 A properly functioning network, i.e., packets may be delivered from
 any ingress to any egress.

7.1.6 Example uses

 1. For the normal Internet traffic connection of an organization.
 2. For the "non-critical" Internet traffic of an organization.
 3. For standard domestic consumer connections

7.1.7 Environmental Concerns

 There are no environmental concerns specific to this PDB.

7.1.8 Security Considerations for BE PDB

 There are no specific security exposures for this PDB.  See the
 general security considerations in [RFC2474] and [RFC2475].

Nichols & Carpenter Informational [Page 20] RFC 3086 Diffserv per Domain Behaviors April 2001

8 Guidelines for writing PDB specifications

 G1. Following the format given in this document, write a draft and
 submit it as an Internet Draft.  The document should have "diffserv"
 as some part of the name.  Either as an appendix to the draft, or in
 a separate document, provide details of deployment experience with
 measured results on a network of non-trivial size carrying realistic
 traffic and/or convincing simulation results (simulation of a range
 of modern traffic patterns and network topologies as applicable).
 The document should be brought to the attention of the diffserv WG
 mailing list, if active.
 G2. Initial discussion should focus primarily on the merits of the
 PDB, though comments and questions on the claimed attributes are
 reasonable.  This is in line with the Differentiated Services goal to
 put relevance before academic interest in the specification of PDBs.
 Academically interesting PDBs are encouraged, but would be more
 appropriate for technical publications and conferences, not for
 submission to the IETF.  (An "academically interesting" PDB might
 become a PDB of interest for deployment over time.)
 The implementation of the following guidelines varies, depending on
 whether there is an active diffserv working group or not.
 Active Diffserv Working Group path:
 G3. Once consensus has been reached on a version of a draft that it
 is a useful PDB and that the characteristics "appear" to be correct
 (i.e., not egregiously wrong) that version of the draft goes to a
 review panel the WG co-chairs set up to audit and report on the
 characteristics.  The review panel will be given a deadline for the
 review.  The exact timing of the deadline will be set on a case-by-
 case basis by the co-chairs to reflect the complexity of the task and
 other constraints (IETF meetings, major holidays) but is expected to
 be in the 4-8 week range.  During that time, the panel may correspond
 with the authors directly (cc'ing the WG co-chairs) to get
 clarifications.  This process should result in a revised draft and/or
 a report to the WG from the panel that either endorses or disputes
 the claimed characteristics.
 G4. If/when endorsed by the panel, that draft goes to WG last call.
 If not endorsed, the author(s) can give an itemized response to the
 panel's report and ask for a WG Last Call.

Nichols & Carpenter Informational [Page 21] RFC 3086 Diffserv per Domain Behaviors April 2001

 G5. If/when passes Last Call, goes to ADs for publication as a WG
 Informational RFC in our "PDB series".
 If no active Diffserv Working Group exists:
 G3. Following discussion on relevant mailing lists, the authors
 should revise the Internet Draft and contact the IESG for "Expert
 Review" as defined in section 2 of RFC 2434 [RFC2434].
 G4. Subsequent to the review, the IESG may recommend publication of
 the Draft as an RFC, request revisions, or decline to publish as an
 Informational RFC in the "PDB series".

9 Security Considerations

 The general security considerations of [RFC2474] and [RFC2475] apply
 to all PDBs.  Individual PDB definitions may require additional
 security considerations.

10 Acknowledgements

 The ideas in this document have been heavily influenced by the
 Diffserv WG and, in particular, by discussions with Van Jacobson,
 Dave Clark, Lixia Zhang, Geoff Huston, Scott Bradner, Randy Bush,
 Frank Kastenholz, Aaron Falk, and a host of other people who should
 be acknowledged for their useful input but not be held accountable
 for our mangling of it.  Grenville Armitage coined "per domain
 behavior (PDB)" though some have suggested similar terms prior to
 that.  Dan Grossman, Bob Enger, Jung-Bong Suk, and John Dullaert
 reviewed the document and commented so as to improve its form.

References

 [RFC2474] 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.
 [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z. and
           W. Weiss, "An Architecture for Differentiated Services",
           December 1998.
 [RFC2597] Heinanen, J., Baker, F., Weiss, W. and J. Wroclawski,
           "Assured Forwarding PHB Group", RFC 2597, June 1999.
 [RFC2598] Jacobson, V., Nichols, K. and K. Poduri, "An Expedited
           Forwarding PHB", RFC 2598, June 1999.

Nichols & Carpenter Informational [Page 22] RFC 3086 Diffserv per Domain Behaviors April 2001

 [RFC2698] Heinanen, J. and R. Geurin, "A Two Rate Three Color
           Marker", RFC 2698, June 1999.
 [MODEL]   Bernet, Y., Blake, S., Grossman, D. and A. Smith, "An
           Informal Management Model for Diffserv Routers", Work in
           Progress.
 [MIB]     Baker, F., Chan, K. and A. Smith, "Management Information
           Base for the Differentiated Services Architecture", Work in
           Progress.
 [VW]      Jacobson, V., Nichols, K. and K. Poduri, "The 'Virtual
           Wire' Per-Domain Behavior", Work in Progress.
 [WCG]     Worldcom, "Internet Service Level Guarantee",
           http://www.worldcom.com/terms/service_level_guarantee/
           t_sla_terms.phtml
 [PSI]     PSINet, "Service Level Agreements",
           http://www.psinet.com/sla/
 [UU]      UUNET USA Web site, "Service Level Agreements",
           http://www.us.uu.net/support/sla/
 [RFC2434] Alvestrand, H. and T. Narten, "Guidelines for IANA
           Considerations", BCP 26, RFC 2434, October 1998.

Authors' Addresses

 Kathleen Nichols
 Packet Design, LLC
 2465 Latham Street, Third Floor
 Mountain View, CA 94040
 USA
 EMail: nichols@packetdesign.com
 Brian Carpenter
 IBM
 c/o iCAIR
 Suite 150
 1890 Maple Avenue
 Evanston, IL 60201
 USA
 EMail: brian@icair.org

Nichols & Carpenter Informational [Page 23] RFC 3086 Diffserv per Domain Behaviors April 2001

Full Copyright Statement

 Copyright (C) The Internet Society (2001).  All Rights Reserved.
 This document and translations of it may be copied and furnished to
 others, and derivative works that comment on or otherwise explain it
 or assist in its implementation may be prepared, copied, published
 and distributed, in whole or in part, without restriction of any
 kind, provided that the above copyright notice and this paragraph are
 included on all such copies and derivative works.  However, this
 document itself may not be modified in any way, such as by removing
 the copyright notice or references to the Internet Society or other
 Internet organizations, except as needed for the purpose of
 developing Internet standards in which case the procedures for
 copyrights defined in the Internet Standards process must be
 followed, or as required to translate it into languages other than
 English.
 The limited permissions granted above are perpetual and will not be
 revoked by the Internet Society or its successors or assigns.
 This document and the information contained herein is provided on an
 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
 TASK FORCE DISCLAIMS 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.

Acknowledgement

 Funding for the RFC Editor function is currently provided by the
 Internet Society.

Nichols & Carpenter Informational [Page 24]

/data/webs/external/dokuwiki/data/pages/rfc/rfc3086.txt · Last modified: 2001/04/09 21:30 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki