Internet DRAFT - draft-nichols-dcpel-strawman-arch
draft-nichols-dcpel-strawman-arch
Internet Engineering Task Force K. Nichols
Internet Draft Pollere LLC
Expires in April, 2006 L. Sampson
R. Barrios
K. Adams
J. Pulliam
J. Kim
Lockheed Martin
draft-nichols-dcpel-strawman-arch-00 October 2005
A Strawman Architecture for Diffserv Control Plane Elements
<draft-nichols-dcpel-strawman-arch-00>
Status of this Memo
By submitting this Internet-Draft, each author
represents that any applicable patent or other IPR
claims of which he or she is aware have been or will be
disclosed, and any of which he or she becomes aware
will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet
Engineering Task Force (IETF), its areas, and its
working groups. Note that other groups may also
distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum
of six months and may be updated, replaced, or
obsoleted by other documents at any time. It is
inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in
progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html.
The list of Internet-Draft Shadow Directories can be
accessed at www.ietf.org/shadow.html.
Comments are solicited and should be addressed to the
dcpel mailing list, dcpel@ietf.org, which can be joined
at www1.ietf.org/mailman/listinfo/dcpel and/or to the authors.
Copyright Notice
Copyright (C) The Internet Society (2005). All Rights Reserved.
[Note: this is an informal pdf version of the draft]
Abstract
Diffserv (RFC 2474, 2475, and 3086) made explicit that
IP QoS can be separated into the differentiated
treatment given to packets in the forwarding path and
Nichols et. al. Expires: April, 2006 [page 1 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
the task of configuring these forwarding path
components to allocate QoS according to policy and
availability. The IETF Diffserv WG described the
forwarding path architecture in detail and specified
some specific forwarding path elements. This draft
attempts a similar approach of specifying the elements
of a diffserv control plane, gives a general
architecture and example solution that fits into this
architecture, and lays out some issues. An example of a
diffserv control plane architecture is presented,
derived from the control plane described in RFC2638,
and an example implementation of that approach is
briefly described. The authors hope to stimulate a
discussion of the architectural model and its elements
and to elicit more example solutions that may fit,
change, or extend the model.
A control plane must be configurable, secure, and
monitorable. The authors believe the operations and
management issues of a diffserv control plane must be
made explicit and the approach to solving them properly
constrained. Resolving operational and management
issues is key to moving to availability of IP QoS.
A pdf version of this document is available at:
www.pollere.com at Resources: Current Work.
Table of Contents
1 Introduction
1.1 Background
1.2 Goal of this document
1.3 Definitions
2 Diffserv Control Plane Model
2.1 Overview
2.2 Diffserv Control Plane Elements
2.2.1 Request Manager
2.2.2 Allocation Engine
2.2.3 Policy Rules Database
2.2.4 Network State Manager
2.2.5 Authentication Rules Database
2.2.6 Diffserv Router QoS agents
2.3 Admission Control Model
2.4 Distributing a DCP
2.5 Example DCP: Bandwidth Broker
3 InterDomain QoS Issues for the BB model
3.1 Static configuration
3.2 Static allocation with requests
3.3 End-to-end request with signaling
4 Domain Managed QoS and Prototype
4.1 Overview of DMQ and components
4.2 Resource allocation in DMQ
4.3 Schema of TPR
Nichols et. al. Expires: April, 2006 [page 2 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
4.4 Schema of TCA
5 Security Considerations
6 Acknowlegements
1 Introduction
1.1 Background
This document describes a general model for a
diffserv control plane which has evolved from the
control plane described in RFC2638 and is consistent
with RFCs 2474, 2475, and 3086. In addition, this
control plane can interact with the router model of
RFC3290's figure 1 through specification of the QoS
Agent and control messages and some of the
configuration and management interface. A key point in
the Diffserv approach is that IP QoS can be divided
into two functions, much like IP end-to-end
connectivity. In IP forwarding, connectivity is
achieved by the interaction of two components; the
packet forwarding part and the routing part. Diffserv
can be separated into the differentiated treatment
given to packets in the forwarding path and the task of
configuring the parameters of the forwarding path
components to allocate QoS according to policy and
availablility. The Diffserv model is based on the
separation of forwarding path and control plane and on
the notion that a small number of forwarding path
primitives can be composed to create a wide range of
QoS features. A diffserv control plane should be
decoupled from the forwarding path and be part of the
network infrastructure of a network domain.
Per-Domain Behaviors (PDBs) [5] give a technical
service description on a domain. The Traffic Aggregate
is the forwarding path portion of a PDB which is
defined on an entire DS domain, but the control plane
must configure the QoS tables to produce the correct TA
which will experience the expected metrics as it
crosses the DS domain. The control plane consists of
entities that can produce configuration messages based
on information about policy and the state of the
network. This information can be detailed or simple and
can be obtained in a range of ways. Diffserv
configuration does not happen at forwarding speeds and
may, indeed, take place over very long time scales.
Even an extremely dynamic configuration will not cause
updates at forwarding rates.
1.2 Goal of this document
The goal of this document is to describe a
path-decoupled diffserv control plane that is composed
Nichols et. al. Expires: April, 2006 [page 3 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
of functional elements. The intent is analogous to the
diffserv forwarding path development where the
individual elements can vary in complexity (or not be
present at all) so that customization and innovation
can occur in an environment where the interfaces and
functionalities are well understood. This is intended
to provide a common framework in which both intra- and
interdomain Diffserv QoS can be developed, respecting
the varied needs of networks while encouraging common
interfaces and specific functionalities that permit
diverse products to interoperate.
The model defined here is shown to apply to a prototype
Diffserv control plane, Domain-Managed QoS, and some of
those components and interfaces are described. While
the model is intended as a strawman for discussion,
DMQoS is a particular implementation that the authors
have worked on, presented for illustration.
We see the following issues: aggregation, security,
performance and mangement, an operationally useful and
constrained policy componenet. A goal is to have
discussion on these issues and to bring out any others.
1.3 Definitions
The following definitions are stated in RFCs 2474,
2475, and 3086 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 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
Nichols et. al. Expires: April, 2006 [page 4 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
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.
Traffic stream: an administratively significant set of
one or more microflows which traverse a path segment. A
traffic stream may consist of the set of active
microflows which are selected by a particular classifier.
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 the "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 Specfication (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.
2 Diffserv Control Plane Model
2.1 Overview
Before the Diffserv WG was started, one of the
proposals (later published in RFC 2638) proposed an
approach to the control plane. Once the working group
was chartered, the emphasis was on forwarding path
mechanisms. There is a subsequent body of work on
diffserv control planes using bandwidth brokers (BBs),
bandwidth managers and resource managers including
[9, 12, 11, 16, 10, 13, 15, 19].
In addition, RFC 3086 and [14] give some description of
what a Diffserv control plane needs to do. These works
on the Diffserv control plane (DCP hereafter, DSCP
would be confusing) have some commonality. The intent
of this section is to both reflect this commonality and
spell out general features for a DCP.
A DCP operates over a particular trust region, usually
a single DS domain or an AS, and can be implemented as
a single agent or by a collection or hierarchy of
Nichols et. al. Expires: April, 2006 [page 5 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
agents and may contain its own databases or have access
to information that is part of the network
infrastructure. Externally, the DCP should appear as a
service available at a particular (well-known) address,
regardless of how it is implemented. DCPs should handle
messages external to their domain of control, from
authorized attached hosts or adjacent domains as well
as messages from their domain's network management and
should be capable of monitoring selected network
control information. A DCP configures the network edge
in response to these messages, network performance
measures, and in accordance with the policies of the
domain as expressed in statements of rules. To deploy a
secure and policy-controlled system, only a DCP can
configure the edge routers which it does via a secure
association.
Provisioning sets up static membership and limits on
PDBs and their traffic aggregates while allocation sets
up a portion of a PDB to an identifiable traffic stream
for a specified duration. Packet schedulers in the
forwarding path should be configured so that the
metrics for each PDB's traffic aggregate are met and
not changed in response to signaling. Those settings
are part of the infrastructure of the network,
determining its capacity for the various behaviors it
commits to supplying. While the results of provisioning
may be pushed out to the network through the DCP,
provisioning is not a task of the DCP.
Allocation refers to the process of making traffic
commitments anywhere along the continuum from strictly
preallocated to dynamic call set-up and requires an
allocation architecture capable of encompassing this
entire spectrum in any mix. Allocation only results in
changes to the configuration of the domain edge routers
while the interior configuration remains the same.
Static levels may be provisioned with time-of-day
specifications, but cannot be changed in response to a
dynamic message. Dynamic covers the range from a
telephoned or e-mailed request to a signaled model. In
cases where differential QoS is allocated in a strictly
static way on the connection to an attached network,
the attached network may control entry into that fixed
aggregate in a number of ways, including per-flow or
per-session admission. Where a dynamic QoS entity
(possibly a DCP) exists in an attached network, a
secure connection with that DCP can be established and
used to request additional QoS beyond the basic
allocation.
Signalling can indirectly (through the DCP) change
classifier settings, thus changing some combination of
Nichols et. al. Expires: April, 2006 [page 6 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
who is admitted to a traffic aggregate and whether the
resources are committed. Whether an allocation is
statically pre-allocated, signalled for in advance, or
signalled for upon immediate need, the DCP should not
handle them differently. Policy can and should be
applied to appropriately prioritize the different
approaches. For example, a priority could be attached
to allocations that are requested in advance while
still keeping the overall priorities of the network in place.
2.2 Diffserv Control Plane Elements
Figure 1 shows the basic functions needed by a diffserv
control plane. The model comprises an Allocation
Engine, a Request Manager, a Network State Manager, and
databases of Network State History, Allocation State
History, Policy rules, and Authentication rules. The
control plane will need to configure edge routers,
receive network alerts, handle messages from entities
external to the network as well as internal network
management. A DCP is expected to include the allocation
engine, request manager, at least some part of the
network state manager, and access to the required
databases.
Fig. 1: Elements of a Diffserv control plane
The Request Manager handles dynamic messages that
concern allocation, either from attached users or
networks or from network management. These may use the
same protocol or may differ. During allocation, the
resources of three localities come into play: ingress,
egress, and transit of the domain. Policy rules for
each ingress and egress link reflect the SLA with the
network on the other end of the link (e.g., I tell you
what I will accept) and the Network State gives the
physical capabilities and topology.
2.2.1 Request Manager
DCPs of adjacent networks communicate with each other
through secure associations across network trust
boundaries. DCPs must also communicate with other
entities that may request allocations such as users,
network administrators, and entities that request
allocations on behalf of users such as call control
agents. Requests may be internal or external and all
requests must be authenticated. Might use some RSVP
variant, custom messages over SCTP, or something from
the NSIS WG. SIP might be used to contact a Call
Control agent (or SIP server) or even to communicate
directly to the DCP. The Request Manager handles all
messages related to requests, including any messages
Nichols et. al. Expires: April, 2006 [page 7 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
that might be sent to indicate that a request is
expiring or being pre-empted.
2.2.2 Allocation Engine
Allocation records are organized by PDB and will
contain information about the PDB, its implementation
(DSCP and edge restrictions), and applicable policies
(could be restrictions on largest size allocable,
number of simultaneous users, authorization levels). In
addition, a list of available bandwidth for that PDB is
kept, perhaps with ingress and egress routers
specified. A list of allocated bandwidth for the PDB
must also be kept, along with the identity of the user
network and other information about the commitment. For
a more sophisticated DCP (one that utilizes signaling
and/or monitors network traffic instrumentation), it
will be necessary to track committed allocations.
Policy data specific to the requester, topology
restrictions, and perhaps general policies for the PDB
must also be consulted to determine if the request can
be granted. If the commitments are pre-emptable, it may
be efficient to attach the authorization level to the
committed bandwidth record.
Allocation records are generally expected to have an
ingress and an egress port in order to permit the
control of the ingress and egress allocations where
resources are expected to be the most limited and where
policies must match with the policies of the source or
destination at the links. This prevents the overloading
of an egress link to an attached network and ensures
all policies are checked. Allocations are characterized
by ingress, egress, PDB type, DSCP(s) used, time and
duration, and information about the identity of the
current user of the allocation that can be used to
consult policy. It is possible to wildcard any of these
fields should the particular network and/or resources
allocated warrant it.
Through the Network State Manager, a DCP knows its own
network's topology and should not allocate more
resources than it can handle. This may be done
conservatively by assuming that all allocated flows
will traverse the most limited link or the DCP may
exploit its knowledge of the topology and routing used
to be less conservative. For a meshier network, a
reasonable allocation should permit functioning in the
case of single link failures. This property of the DCP
makes it path-aware, that is able to determine which
links packets of any particular source/destination pair
will take. This information can be used in making
Nichols et. al. Expires: April, 2006 [page 8 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
traffic allocations and in making changes to
allocations should the network topology change. The DCP
will be informed of such changes as quickly as the
routing infrastructure, then can consult policy to
determine whether any link allocations have been
affected. If so, the separate source/destination
aggregates sharing that link allocation can be checked
to see which has lower priority by policy or whose
removal or change would be most efficacious by whatever
other measures have been specified by policy. The
policers for these aggregates can be immediately
reconfigured to reduce or eliminate that traffic and a
message about this should be sent to the affected
attached network at the source (and possibly the
destination) with a source field of the DCP service
address.
If metric-based TE is used, the DCP will be aware of
the metrics used by the SPF algorithm. (It may be
possible to affect TE metrics from a DCP, but this
requires further research to determine if necessary and
desirable.) The additional network information might be
communicated by use of the IS-IS TE extensions; SNMP
traps may also be employed.
2.2.3 Policy Rules Database
The DCP must have a policy database that can be
consulted to determine if each authenticated requester
is authorized to have a particular resource at a
particular time and, in the case of pre-emption, the
priority level of each requester. A network
administrator configures the policy database. The
Allocation Engine should probably be notified of
changes to the policy database.
2.2.4 Network State Manager
In general, a change in allocation means network edge
routers must be reconfigured. The network elements that
can be configured are classifiers and traffic
conditioners. The DCP must be able to reconfigure these
in response to a change in allocation. For dynamic
allocations or the dynamic portion of allocations, edge
devices should be configured with soft state that will
expire if not refreshed periodically by the DCP. This
may not be required for static allocations.
Configuration can be done through SNMP, CLI, COPS or
other approaches.
Network topology can be maintained by monitoring
routing or other network information and other state
may come from SNMP traps or other alerts.
Nichols et. al. Expires: April, 2006 [page 9 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
As allocations depend in some degree on the topology
and capabilities of the network, the DCP must be able
to receive and respond to network alarms that may be
generated in response to changes (e.g., topology
changes that affect available bandwidth) or from a
measurement infrastructure (unmet SLAs, etc.).
2.2.5 Authentication Rules Database
Authentication is either part of the DCP or an external
function it can access. Requests that come through some
intermediary such as a call control agent that are on
behalf of an end-user (principal) must have a way to
authenticate with identity of principal without
principal revealing too much of its own information.
Network management configures this database and the
Allocation Engine consults it.
Figure 2 shows how a request might be handled. The
request can come from a user, an associated DCP within
the same trust domain, a DCP in a different trust
domain, or some other entity. The possibility of having
a DCP hierarchy is addressed later.
Fig. 2: Responding-to-a>Responding to a request
2.2.6 Diffserv Router QoS agents
The informal diffserv router model of RFC 3290
indicates that a QoS agent may be present in the edge
routers. QoS agents also appear in RFC 3175 and the
RSVP RFCs. Spelling out the functionality of these
agents is an important task for a diffserv control
plane as they can be a critical part of the
infrastructure. Certainly, a diffserv control plane
could be realized without an agent in the edge routers,
but they can be usefully employed in some
architectures. Our model explicitly includes the QoS
agent, or DCPA. All QoS resource requests are passed
from the router forwarding plane to the DCPA; if an
ARSVP agent is present, it would also pass requests to
the DCPA. Reqests are passed to the DCPA for
authentication, authorization, and approval. The DCPA
may make some accept/reject decisions locally and may
message the DCP service address for other decisions.
This resembles a COPS model where the DCPA becomes the
PEP and the DCP is the PDP and perhaps that would be a
suitable communication protocol. Configuration messages
should be passed through the DCPA which can resolve
conflicts and authenticate configurations.
This is illustrated in figure 3. There is one known
Nichols et. al. Expires: April, 2006 [page 10 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
address for the DS domain's DCP and QoS requests are
sent to this address. The domain-wide DCP is shown with
a dotted outline to indicate it may represent a real or
virtual entity and options for its distribution are
covered in the next section. All resource requests may
be referred to the domain-level DCP or allocations of
local interest may be parceled out among DCPAs.
Parceling out allocations of local interest follows
some simple rules so that resource managment decisions
are delgated not distributed. Only one entity has
control of a resource at a time, eliminating race
conditions. Local control over the access links may be efficient.
Fig. 3: DCP service using agents in edge routers
DCPA-local allocations may be further tagged with
information about whether more bandwidth may be
requested of the domain-level DCP for this allocation
or other information that might be useful in local
commitment of resources or in requesting changes from
the DCP. As portions of allocations are committed, the
available rates are reduced. As committed resources are
released, the available rates are increased. High and
low water marks may be used to request more resources
from the DCP or offer to return resources to a general
pool. Resources should be tracked pending the set up of
the entire path. May use a timeout to return to
allocation pool if no confirmation returned. DCPAs will
have some operational rules, for example, these might
include rules like:
* the DCPA can allocate from the allocation pool in
response to authenticated requests
* the DCPA can bump lower priority committments in
favor of higher priority requests
* rules about asking the DCP to rearrange the
allocation pool
* how to treat high or low water marks on committed allocations
* respond to DCP requests for status
* how to handle configuraton requests
2.3 Admission Control Model
In figure 4, the requesting entity in a user network can
be a host. A host asks for permission to send and sends
(and receives) packets marked for a particular PDB
defined on the network. The permission asking and
granting might be dynamic or preconfigured or implicit.
Nichols et. al. Expires: April, 2006 [page 11 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
When an application aims a request at a network domain,
its physical path includes the edge router. The router
should send QoS requests to the local DCP agent. The
host always sends its data to the edge router, but it
may perform some additional conditioning functions on
the data (like marking and shaping). The DCP has the
responsibility for allocating its DS domain(s). It
receives requests, determines if the resources are
available (to that particular requestor), grants or
refuses permission, and generates a response and/or
configuration.
Fig. 4: Admission-Control,-Host>Admission Control Components
Whenever a network boundary is crossed, it is important
to ensure that trust is not violated or to pass trust
in a controlled way (e.g. authentication). An attached
network is responsible for ensuring that the data
packets it sends conform to all appropriate SLSs at
risk of having packets dropped. Use of mutually agreed
DSCPs can be used to distinguish packets for different
SLSs. Once admitted, the DS domain has the
responsibility for delivering packets reliably and
queuing them consistently with their DSCPs. These
characteristics are determined by the PDB provisioned
on the domain and SLSs can use those charcteristics.
There are a number of ways edge router configuration
can be done, some of which do not require that the
allocator know the specific address/location of the
edge router. For example, the allocator might send a
"cookie" to host (sender or receiver) to use in
signalling, thus passing the trust across the boundary
in a limited use cookie. The allocator might multicast
the configuration information to all the boundary
routers. If the allocator knows the specific router to
be configured, the information can be unicast (using
SNMP, COPS-PR, some other signalling). Finally, the
allocator might "do nothing" in the case of a
preconfigured allocation. As some packets might be
encrypted, the available packet fields for edge
filtering might be only the three fields of tunnel
source, tunnel destination, and DSCP. This architecture
does not require more information. Edge routers
generally follow the informal model of RFC 3290.
Requests can come from many sources, including hosts,
applications, users, system/network admins, and trusted
signals. Requests need to include the requestor's
identifying information as well as information that
identifies the flow, microflow, or behavior aggregate
for which the request is intended. The requestor need
not be either the source or destination of the request.
Nichols et. al. Expires: April, 2006 [page 12 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
A request may contain such information as PDB, rate and
burst of the target packet flow and the time period
when the request is to be serviced.
A DCP is agnostic about what signaling method, if any,
is used. It might be standard or proprietary. An NSIS
protocol, modified versions of RSVP, or even SIP might
be used.
2.4 Distributing a DCP
Although a DCP appears as a single service at a single
address, it can be implemented by a single entity, a
fully distributed set of entities, a hierarchy of
entities, or some hybrid. Distribution might be for
reliability, to avoid a control bottleneck, or to
reduce latency of responses. Each peer DCP entity can
be given a (revocable) pool of allocations for
controlled PDBs. A peer DCP entity should be able to
request additional allocation, either from a central
entity at the top of the hierarchy or from the
collection of peer entities when it is approaching
capacity. Distributed peer entities must communicate
about the current state of the allocation database,
i.e. whether a resource is committed and which entity
currently has control over commitment. If the intent is
to decrease response time and increase local autonomy,
the model is one of delegating control over some
resources among the entities, not one of cooperative
decision-making among the entities; only one entity has
control of a resource at a time. For reliability a
cooperative decision-making model might be used. The
DCP service address is advertised by each of the peer
entities, thus SPF routing will ensure that messages go
to the closest one.
Each peer entity may have a full copy of policies with
respect to authorization, pre-emption, etc, or some
subset. Where there are clear policy boundaries the
policy rules can be localized. If not all information
is available at a peer entity, it must have the
capability to request it from within association of DCP
entities. Discrete units of allocation may be parceled
out among a distributed hierarchy. Committed (in-use)
resources cannot be moved to another DCP entity or user
without an explicit pre-emption step.
DCP entities must communicate about the status of their
allocation databases. Thus, each needs a functional
block for coordination. Figure 5 shows coordination.
There should be a logging facility for the coordinated
whole of the DCP information.
Nichols et. al. Expires: April, 2006 [page 13 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
Fig. 5: Updating Allocations and Coordination between entities
2.5 Example DCP: Bandwidth Broker
This model derives from the approach of RFC 2638 [3, 4] which
defines "agents called bandwidth brokers (BB)... that
can be configured with organizational policies, keep
track of the currrent allocation of marked traffic, and
interpret new requests to mark traffic in light of the
policies and current allocation." Further, "BBs only need
to establish relationships of limited trust with their
peers in adjacent domains, unlike schemes that require
the setting of flow specifications in routers
throughout an end-to-end path. In practical technical
terms, the BB architecture makes it possible to keep
state on an administrative domain basis, rather than at
every router and ... make[s] it possible to confine per
flow state to just the leaf routers." Figure 6 shows a BB
in an ISP network with signaling crossing domain
boudaries to the DCPs in attached customer networks. As
we will see, it is not necessary that a dynamic DCP be
available in the attached networks.
Fig. 6: BB operating in and between DS domains
In the following example, we assume a SIP-based call
control structure, though any signaling structure will
interact with users and BBs in a similar fashion.
However, SIP is a standard protocol and is easily
adapted to a variety of QoS control planes. Any
sesssion might be admission controlled by the user
network. The focus for this example is a voice or video
call, from Fluffy, in network Neighbor1, to Fido, in
network Neighbor2 across an ISP. The steps that are taken:
1. Fluffy's sends a SIP Invite message which is held at
the local SIP server while local policy and QoS level
availability are consulted through the BB. The SIP
server would use a QoS precondition as described in
RFC 3312. The BB uses such information as source,
dest, amount, type, time. (A request might also come
directly from a user, but the BB should receive the
same type of information.) The Neighbor1 BB is sent a
request from Fluffy asking that a flow with source
address Fy:4 and destination address Fo:8 (SIP
supplies the detailed address) be configured for the
VW PDB at 128 kbps from 10 am till noon and is signed
by Fluffy in a secure, verifiable way.
2. From the address information, BB.N1 determines that
one end of the call lies outside its borders across
the ISP link and checks allocation (if requestor
Fluffy is authorized to use VW on the link at this
Nichols et. al. Expires: April, 2006 [page 14 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
time). The Border Router has a total allocation of
256 kbps which is currently unused.
3. If allocation exists, BB.N1 may commit it or may
hold it until an indication is returned that the
session is accepted by Fido. (This might involve more
complex signaling of intermediate transit networks or
pre-emption.) The QoS precondition for Red1 is met
and the call set up information, a SIP Invite, is
sent to Fido's network where the session may be
refused (busy, no resources, not interested, etc.) or
accepted. In either case the response returns to
Neighbor1 where the SIP server handles the
call/session action (busy signal, sends OK, etc) and
informs BB.N1 which commits or releases the resources
and keeps records. The call set up messages that
cross the ISP look like any other packet bound from
N1 to N2. If the QoS precondition cannot be met at
N1, the SIP server will notify Fluffy the call has failed.
4. At Neighbor2, the SIP server holds the Invite while
the precondition is cleared by BB.N2. This may simply
involve consulting local policy and checking only
local allocations controlled by BB.N2. It may involve
more complex QoS control messages transiting between
the intermediate network (adding bandwidth,
pre-emption). Once the precondition is cleared by
BB.N2, the Invite can be passed to Fido and a SIP OK
returned in the case of success.
5. Once BB.N1 commits the allocation, it does any
necessary configuration. This might include
configuring QoS tables in edge (host-facing) routers
to properly send and receive the call and configuring
border (cross trust domain) routers to send and admit
the call. If the call is just added to an aggregate
allocation at the border router and there are
edge/host mechanisms for assuring the identity and
use level of the call, then it's unlikely a border
router change will be made. The Border Router policer
might be pre-set to the entire feasible allocation,
256 kbps, whether or not it is all presently
committed or not.
A diagram of this process is shown in figure 7. Dotted
lines show control paths and dashed lines show
associated configuration information that is
instantiated in the device.
Fig. 7: Set up of special handling for Fluffy calling Fido
When the individual session flows exit N1's BR, the ISP
border router can police on the DSCP alone or on the
Nichols et. al. Expires: April, 2006 [page 15 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
source and/or destination with the DSCP. The ISP Border
Router is shown as policing on the source (N1) and DSCP
only, but it might also be set to police on source
(N1), destination (N2), and DSCP, if desired. The N1 BB
would then need to track its use of the allocation by
destination.
A simple intradomain Bandwidth Broker can be configured
by a network administrator with information about what
flows should be admitted to which PDBs and what sort of
traffic conditioning, if any, should be applied to
these. The BB pushes this information out to the
appropriate edge router(s) using CLI, SNMP, COPS+, or
other proprietary interfaces. Only edge/border routers
keep state information, keeping track of the
appropriate DSCP packets should be marked with and the
configuration information for any traffic conditioners
needed. Interior routers only inspect DSCP for QoS
decisions. More complex models don't change the packet
forwarding path, just the way the BB gets its
information. When packets with unmatched header fields
arrive, it's possible for edge/border routers to query
the BB, but this can result in problems with
denial-of-service attacks or in the fact of
misconfiguration of an attached network. More likely is
that unmatched packets will be dropped and network
management/alert signals will be generated giving drops
by DSCP, alerts for exceeding rate allocations.
3 InterDomain QoS Issues for the BB model
When independently adminstered domains connect, they
may not be using the same PDB internally to supply
quality of service characteristics that are essentially
the same. The SLA between the two domains will need to
include the mutually agreed identifier for each type of
transit service. For example, ISP1 may have a PDB
called "Virtual Wire" that is used to implement an SLS it
offers attached networks and an attached network might
have a PDB called "Guaranteed Service" that it wishes to
be carried across the ISP with the attributes that are
in ISP's VW PDB. Either the ISP might make the VW name
and attributes available in the SLA, in which case the
attached network asks for allocations of VW (into which
it places its GS packets), or there is some name for
the service that both agree to use, such as Premium.
Regardless of the implementation, it's important to
keep in mind that the PDB is a tool each domain uses in
creating an externally visible service. The SLS covers
packet treatments once they arrive at the network boundaries.
3.1 Static configuration
Nichols et. al. Expires: April, 2006 [page 16 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
The link between two networks may be configured for
allocations of jointly accepted PDBs that are both
realizable and expected to handle requirements. For
example, there may be some number of telephony users
that one network wishes to support across the link.
Erlang formulas can be used to arrive at the amount of
bandwidth needed. If this amount of bandwidth is
supportable with the appropriate characteristics across
the link, then this should be allocated. Otherwise some
compromise is needed.
The allocations that each domain agrees to for upstream
must be supportable to anywhere or to a list of
destinations that is specified to the upstream domain
at the particular agreed service level. The downstream
domain reserves some portion of the appropriate PDB
that supplies this service for use by the upstream
domain's traffic. In most cases, it makes sense for the
downstream domain to expect the upstream domain to use
the DSCP it specifies for this service. Then the
downstream domain merely polices this DSCP from the
upstream domain. It is possible that the downstream
domain may want to hide which DSCP it is using in which
case, it will need to remark the packets on ingress. If
there is a direct connection between the two, the
policers at each domain's ingress are set to police
only on DSCP, otherwise it may be necessary to inspect
the source field.
3.2 Static allocation with requests
Tthe total ingress aggregates are pre-allocated and all
policers and shapers set accordingly but some
agreements specify an "ask before use" message for all or
part of the allocation. One application of this is
where resources are somewhat overallocated in the ISP,
so there is some possibility of the additional
bandwidth not being available. Another might be for the
case where topology changes make more or less bandwidth
available. The "don't ask" amount could be a minimum that
is expected to be available if the link is at all functional.
Consider an example where D1's agreement with ISP is
for a static allocation of Premium traffic with rules
on when requests must be made of ISP. ISP uses the VW
PDB for this traffic and wants to carefully account for
use. Referring to figure 8, assume that D1's Border
Router can handle up to 256 kbps of type VW traffic,
but only 128 kbps is committed. Fluffy's request means
that the D1 network must ask the next network, ISP, for
permission to use the remaining 128 kbps. BB.D1 aims a
request at ISP's BB for 128 kbps of type P traffic from
10am till noon. The destination (D2) may be given. A
Nichols et. al. Expires: April, 2006 [page 17 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
secure association between BB.D1 and BB.ISP must be
ensured. BB.D1 waits for ISP's BB to return a reply.
Fig. 8: Static allocation with request policies
BB.ISP consults its policies with regards to the
requestor, BB.D1, and the two session endpoints, D1 and
D2. Since R2 has a policy not to be asked about
commitments below 128 kbps, BB.ISP increases the
committed amount to 128 kbps, increases its committed
amount from D1 to 256 kbps and returns an okay to
BB.D1. The policy "accept commit" means that the network
is configured to accept whatever the committed amount
is. Here, we show the Border Router policer for P
traffic from D1 preconfigured at its 256kbps maximum
which means BB.ISP does not need to change
configuration information. It is also possible to set
the policer for only the current committed amount, with
a floor of the "don't ask" amount. In that case, BB.ISP
must reconfigure the BR policer with each signaling transaction.
Both directions of a session could be configured
through the same messages or they might be done with
independent messages. "Ask" commitments should have a
limited lifetime and/or time out if not refreshed.
This covers the resource set up for a session that
requires special service. The call control messages, if
needed, are carried by ISP transparently, the call
information being instantiated at each end network, D1
and D2. A discussion of this, using SIP, was covered in
the last section.
3.3 End-to-end request with signaling
In general, for a multi-network connection, requests
get passed along from each BB to the next hop BB until
either the final okay is received or a no (see RFC2638
examples). A no might return information about which
domain or direction said no. If a domain has the
resources but needs to pass the request on to the next
domain, it should put a hold on the resources that is
released by the return of a no or committed by the
return of an okay or timed out.
The example shown in figure 9 is for Fluffy in N1
calling Fido in N2, where N1 is connected to ISP1 and
N2 to ISP2. In this case, we do not assume a BB for the
ISP2, but merely an agreement between ISP2 and ISP1 to
mutually accept 512kbps of P-marked traffic which must
conform to a specific profile (e.g., the 512 kbps is
burst-limited by agreement one packet per millisecond).
Assume N2 polices its incoming traffic from ISP2 to
Nichols et. al. Expires: April, 2006 [page 18 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
128kbps, in agreement with ISP2. Assume N1 and N2 are
using SIP, similarly to the previous example. When
Fluffy initiates the call,
1. SIP.N1 gets the session invite and sends a request
for the 128kbps necessary to BB.N1.
2. BB.N1 determines that Fluffy is authorized and that
the 128 kbps can be carried to N1's border. BB.N1
asks BB.ISP1 for 128kbps of type P to the destination
address (tunnel endpoint gets put in through the
Message Guard/HAIPE device) for Fido [does SIP server
coordinate with the MG or does MG "fix up" the
request?].
3. BB.TC determines that the destination address is one
that is routed through ISP2, notes that there are
sufficient uncommitted resources both on the TC-ISP2
link and on the path between N1's ingress and the
egress to ISP2, so returns an okay to BB.N1 as well
as configuring the Border Router where N1 is attached
to police for 128kbps of P from N1 (possibly also
including destination). BB.TC updates its entries.
4. BB.N1 lets SIP.N1 know that the quality level for
the call has been set up (as far as it can) and may
configure its own Border and Edge Routers at this
time. (Steps 1-3 may include a bidirectional
reservation of 128 kbps or that direction could be
handled during the response from Fido in N2.)
5. SIP.N1 sends a message to SIP.N2 asking if Fido
can/will accept a call from Fluffy. This is sent as
an ordinary data message.
6. SIP.N2 checks with BB.N2 for allocation of P type
traffic for this session. BB.N2 may reject the
session for either policy or resource reasons. BB.N2
has only a static agreement with ISP2, so no further
signaling is required to check QoS availability at
N2. If okay, BB.N2 puts a hold on the resource while
it signals Fido. If Fido accepts the call, the
resource is committed and an okay is returned to SIP.N1.
7. SIP.N1 messages BB.N1 to commit all resources and
the call starts (in one direction) or set up begins
in the other direction with BB.N1 signalling for
incoming allocation now.
Fig 9: Interdomain QoS with signaling
4 Domain Managed QoS and Prototype
Nichols et. al. Expires: April, 2006 [page 19 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
This section describes a large scale prototype the
authors are implementing. The architecture is called
Domain-Managed QoS and is a BB-based Diffserv control
plane that can interoperate with ARSVP. We adapted a
diffserv control plane to a network with some
challenges that would not appear in most networks,
specifically, a satellite network with long delays,
functioning with encryption, and paying particular
attention to precedence and pre-emption issues.
4.1 Overview of DMQ and components
We made an early commitment to a service oriented
architecture, with specific functional optimizations
where needed for performance (see figure 10). The service
bus provides a basis for integration which is quite
flexible, scales very well, and allows us to build very
generalized components for use across the enterprise.
XML based syntax is expected to replace other syntax
for encapsulation of network and service data. In
addition, UDDI is robust and performs well for registry
and discovery.
Fig 10 Domain Managed QoS Bandwidth Broker Executive
Component (as implemented)
After evaluating several approaches to management of
policy, XACML was found to make an excellent basis for
exchange of authentication and resource allocation policy.
The service architecture provided the basis for us to
integrate both XML based messaging (examples shown in
this draft), and ARSVP components that our team built,
to provide a choice of capability for user equipment.
Other messaging formats are easily integrated to
provide additional interoperation flexibility.
We sought out commercial off-the-shelf products where
possible. It was a real help to find some products we
could use, but a great deal of customization was also
required to integrate all functions and to implement a
working prototype. A benefit of IETF work on the
Diffserv control plane could be more available product
options and easier integration.
For management and execution of node, element, agent,
and service configuration, we selected and integrated
Intelliden R Series. The key feature we were looking
for was information model driven architectures for
configuration management. We evaluated several other
packages and architectures for this function, but found
the flexibility provided by the information model
centric approach made our life easier.
Nichols et. al. Expires: April, 2006 [page 20 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
Large scale network management provided FCAPS (fault,
configuration, accounting/cost, performance, security)
generated and correlated network state, focused on
individual boxes and links. For this implementation we
integrated with Telcordia Surveillance Manager for
Fault Events, and Telcordia Service Director for
performance management generated events.
To provide network topology, we used Packet Design's
Route Explorer. Routing protocol exchanges proved to be
quite valuable for deriving current network state
relevant to resource allocation.
4.2 Resource allocation in DMQ
In DMQ, the acquisition of resource allocations for
services requiring quality of service treatment is
initiated by a requesting entity submitting a Traffic
Profile Request (TPR) and receiving a Traffic
Conditioning Agreement (TCA). The TPR describes the
specific traffic stream requirements of the service
being requested by the requestor for treatment across
the DS domain. It includes the source and destination
IP addresses (or source/destination tunnel pairs when
communicating over encrypted tunnels), the amount of
bandwidth required, the DSCP, the priority of the
particular service for use in precedence and preemption
scenarios, when the service is to start and how long
the service will be needed (complete TPR schema
follows). The TCA is the response to a TPR (schema can
be reviewed in a subsequent section). It provides
status, a unique identifier the user can use to check
status on the requested services as well as summary
information extracted from the TPR. Both of these
messages are based on an XML schema.
Once the TPR is received by the Bandwidth Broker QoS
service, the Request Handler Component of the Request
Manager acts as a controller for the traffic request.
The Authentication Component controlled by the Request
Manager performs an authentications step by consulting
its policy database to make sure the requestor is a
known user and in good standing i.e. currently logged
into the system. The TPR is then archived into
persistent storage. The Policy Component controlled by
the Request Handler then performs an authorization step
by consulting its policy database to validate that the
requestor is allowed to make the request described in
the TPR. This validation step has been designed to be
very flexible. Examples of policy checks are to
determine if the size of traffic being requested fits
the amount allowed for a requestor, and if the total
Nichols et. al. Expires: April, 2006 [page 21 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
amount allowed for the community of interest the
requestor belongs to has not been exceeded. Other
examples of policy checks include determining whether a
requestor is authorized to request a particular service
at the requested QoS during a particular time or day,
or a precedence and preemption policy which determines
which traffic streams need to be preempted due to
topology changes that affect bandwidth which is
determined by the Allocation Engine of the BB by
consulting its policy database and Network State Manager.
Once the policy check is complete the Resource
Controller of the Request Manager routes the message to
the Resource Allocation Component of the Allocation
Engine. The Resource Allocator determines the path the
message would travel. Two paths are determined,
source-to-dest and dest-to-source. The reason for two
paths is that the TPR contains two bandwidth amounts,
one for the source and one for the return. This allows
even tighter control of the bandwidth allocation. For
example, if a video feed was being requested then the
amount being pulled from the source would be very high
but the amount needed from the destination to the
source would be low. By allowing such taxonomy in the
bandwidth request allows for finer management of the
network's bandwidth.
Once the path has been determined then it is reserved.
Each segment of the path is represented in persistent
storage and the amount being requested is deducted from
each Network Element (NE) along the path. The
configuration of each NE is derived and stored with the
request. The configuration consists of setting policers
and shapers. Once the reservation has been modeled the
Allocator returns to the controller. The Request
controller places the allocation request on a work flow
queue, generates a TCA and returns the TCA to the requestor.
The Configuration Component of the Allocation Engine is
responsible for monitoring the reservation queue and
retrieving reservations that are due to go active
within the near future; the lead time is configurable,
fifteen minutes was used in one implementation by
Lockheed Martin. Before issuing the configuration
commands, the request is sent to the Conflict &
Contention Component of the Network State Manager. This
component is responsible for receiving events from
external sources that may affect available bandwidth.
It also has access to Layer 2 and Layer 3 fault,
performance and security events, MAC, and Inventory
management information. The request is vetted against
the current network state to validate that it can still
be serviced. If it cannot then it is dropped and a
Nichols et. al. Expires: April, 2006 [page 22 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
status indicating such is recorded in its record.
Otherwise, a green light is given to the Configuration
Component which then translates the configuration
request into specific command sets for each NE to be
configured along the source and destination paths.
The above described how to reserve bandwidth under the
QoS mechanism. Another feature that was implemented was
an active monitor that received external events and
sent them to the Conflict & Contention component. When
these events were received, the event was applied
against active traffic to determine if reallocation was
necessary. An example would be if network capacity
suddenly decreased in one segment of the network by
50%. The event would be received and the Allocation
Engine would consult its policy database to determine
how to apply the bandwidth decrease against active
traffic streams and determine which ones could be
dropped so higher priority streams would not be
affected by the drop. Notifications were sent to all
requesting entities of the traffic streams that were
dropped. Also, the bandwidth capacity of the affected
NEs was modified in the Inventory Management system so
that new requests would be applied against the updated
values to ensure compliance with the new capacity. When
capacity is restored, the NEs bandwidth capacity is
automatically updated via a received event indicating
the network has been repaired.
Another feature that was implemented was the ability
for the Policy Component of the BB to interoperate with
an ARSVP-over-DiffServ implementation. This was enabled
by providing ARSVP aggregator/deaggregator agents that
converted the ARSVP requests into BB QoS requests. An
ARSVP component was constructed that generated ARSVP
signaling commands that were sent to ARSVP agents which
then signaled the ARSVP requestors and receivers.
4.3 Schema of TPR
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U
(http://www.xmlspy.com) by Kanvasi Tejasen (Lockheed
Martin) -->
<!--W3C Schema generated by XMLSPY v2004 rel. 4 U
(http://www.xmlspy.com)-->
<xs:schema
targetNamespace="http://lmco.com/anl/request/ws/
TrafficProfileRequest.xsd"
elementFormDefault="qualified"
attributeFormDefault="qualified" id="Filters"
xmlns:mstns="http://tempuri.org/TrafficProfileRequest.xsd"
xmlns="http://lmco.com/anl/request/ws/TrafficProfileRequest.xsd"
Nichols et. al. Expires: April, 2006 [page 23 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="trafficProfileRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="trackIDTPR" type="xs:string"/>
<xs:element name="COIName" type="xs:string"/>
<xs:element name="entityID" type="xs:string"/>
<xs:element name="entityPW" type="xs:string"/>
<xs:element name="authenticationMethod" type="xs:string"/>
<xs:element ref="serviceType"/>
<xs:element name="serviceTime" type="serviceTimeType"/>
<xs:element name="sourceInfo" type="sourceInfoType"/>
<xs:element name="destinationInfo" type="destinationInfoType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="precedenceLevel">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="routine"/>
<xs:enumeration value="priority"/>
<xs:enumeration value="immediate"/>
<xs:enumeration value="flash"/>
<xs:enumeration value="flashOverride"/>
<xs:enumeration value="flashFlashOverride"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="serviceType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="virtual wire"/>
<xs:enumeration value="control effort"/>
<xs:enumeration value="best effort"/>
</xs:restriction>
<xs:complexType name="destinationInfoType">
<xs:sequence>
<xs:element name="addressIP" type="xs:string"/>
<xs:element name="requestedBW" type="requestedBWType"/>
<xs:element ref="precedenceLevel"/>
</xs:sequence>
</xs:complexType>
<xs:element name="durationTime" type="xs:integer"/>
<xs:element name="durationUnit" type="xs:string"/>
<xs:complexType name="durationofFlowType">
<xs:sequence>
<xs:element ref="durationTime"/>
<xs:element ref="durationUnit"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="serviceTimeType">
<xs:sequence>
Nichols et. al. Expires: April, 2006 [page 24 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
<xs:element ref="startDateTime"/>
<xs:element name="durationofFlow" type="durationofFlowType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="sourceInfoType">
<xs:sequence>
<xs:element name="addressIP" type="xs:string"/>
<xs:element name="requestedBW" type="requestedBWType"/>
<xs:element ref="precedenceLevel"/>
</xs:sequence>
</xs:complexType>
<xs:element name="startDateTime" type="xs:dateTime"/>
<xs:complexType name="requestedBWType">
<xs:simpleContent>
<xs:extension base="xs:long">
<xs:attribute name="unit" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
4.4 Schema of TCA
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://lmco.com/anl/request/ws/
TrafficConditionAgreement.xsd"
elementFormDefault="qualified"
attributeFormDefault="qualified" id="Filters"
xmlns:mstns="http://tempuri.org/TrafficConditionAgreement.xsd"
xmlns="http://lmco.com/anl/request/ws/TrafficConditionAgreement.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="trafficConditionAgreement">
<xs:complexType>
<xs:sequence>
<xs:element ref="requestEntityID"/>
<xs:element ref="approvalInfo"/>
<xs:element ref="usageTime"/>
<xs:element ref="trackIDTPR"/>
</xs:sequence>
<xs:attribute name="TCAID" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="trackIDTPR" type="xs:string"/>
<!-- to refer to the corresponding traffic profile
request -->
<xs:element name="requestEntityID" type="xs:string"/>
<xs:element name="approvalInfo">
<xs:complexType>
<xs:sequence>
<xs:element ref="approvalStatus"/>
<xs:element ref="approvalStatement"/>
Nichols et. al. Expires: April, 2006 [page 25 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
<xs:element ref="denialCode"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="approvalStatus" type="xs:boolean"/>
<xs:element name="approvalStatement" type="xs:string"/>
<xs:element name="denialCode" type="xs:integer"/>
<xs:element name="startTimeConfirm" type="xs:dateTime"/>
<xs:element name="leaseTime">
<xs:complexType>
<xs:sequence>
<xs:element ref="leaseTimeLength"/>
<xs:element ref="leaseTimeUnit"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="usageTime">
<xs:complexType>
<xs:sequence>
<xs:element ref="startTimeConfirm"/>
<xs:element ref="leaseTime"/>
<xs:element ref="BWRequestRenewalTime"/>
<xs:element ref="bandwidthRate"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="leaseTimeLength" type="xs:integer"/>
<xs:element name="leaseTimeUnit" type="xs:string"/>
<xs:element name="BWRequestRenewalTime" type="xs:dateTime"/>
<xs:element name="bandwidthRate">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="unit" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
5 Security Considerations
The general security considerations of [RFC2474] and
[RFC2475] apply. Messaging protocols must be secured.
Communication with the agent in the router must not
become a vehicle for denial of service attacks.
6 Acknowlegements
Many folks helped on DMQ, including Yadu Zambre on policy and
security issues and many others including Peter Paluzzi, Javier
Lopez, Dave Chow, Steve Shiflett, Kanvasi Tejasen Michael Fears,
Jonathan Christman, Peter Schmalz, Bruce Durham, Isil Sebuktekin,
Nichols et. al. Expires: April, 2006 [page 26 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
Yeng-Zhong Lee, John Haluska, Dana Chee, Kate O'Loughlin, and
Julie Taylor.
References
[1] RFC2474, "Definition of the Differentiated Services
Field (DS Field) in the IPv4 and IPv6 Headers", K.
Nichols, S. Blake, F. Baker, D. Black,
www.ietf.org/rfc/rfc2474.txt, Dec 1998.
[2] RFC 2475, "An Architecture for Differentiated Services",
S. Blake et. al, www.ietf.org/rfc/rfc2475.txt, Dec 1998.
[3] RFC2638, "A Two-bit Differentiated Services Architecture
for the Internet", K. Nichols, V. Jacobson, and L.
Zhang, www.ietf.org/rfc/rfc2638.{txt,ps}
[4] RFC 2598, "An Expedited Forwarding PHB", V. Jacobson, K.
Nichols, K. Poduri, ftp://ftp.isi.edu/ in-notes/rfc2598.txt
[5] RFC3086, "Definition of Differentiated Services
Per-domain Behaviors and Rules for their Specification",
K.Nichols and B.Carpenter, RFC 3086,
www.ietf.org/rfc/rfc3086.txt, April, 2001.
[6] RFC3290, "An Informal Management Model for Diffserv Routers,"
Y. Bernet et. al, www.ietf.org/rfc/rfc3290.txt
[7] RFC3312, "Integration of Resource Management and Session
Initiation Protocol (SIP)," Camarillo et. al., RFC 3312.
[8] RFC3662 "A Lower Effort Per-Domain Behavior for
Differentiated Services,"
draft-bless-diffserv-pdb-le-01, R. Bless, K. Nichols,
K. Wehrle, /www.ietf.org/rfc/rfc3662.txt, December,
2003.
[9] "A Scalable Model for Interbandwidth Broker Resource
Reservation and Provisioning," IEEE Journal on Selected
Areas on Communiations, Vol 22, No 10, December 2004,
pp. 2019-2034.
[10] Keith Kim, Petros Mouchtaris, Sunil Samtani, Rajesh
Talpade, Larry Wong, "A Bandwidth Broker Architecture
for VoIP QoS", in Proceedings of SPIE's International
Symposium on Convergence of IT and Communications
(ITCom), Colorado, August 2001.
[11] "Operax Resource Manager in TITAAN", application note
from Operax available at:
operax.com/docs/operax_resource_manager_titaan_product_sheetD52.pdf
[12] "A Quality of Service Architecture that Combines
Nichols et. al. Expires: April, 2006 [page 27 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
Resource Reservation and Application Adaptation", I.
Foster, A. Roy, V. Sander. 8th International Workshop
on Quality of Service, 2000.
[13] "PacketCable(TM) Dynamic Quality-of-Service Specification"
, PKT-SP-DQOS-1-8-040113, available from www.cablelabs.com
[14] "Differentiated Services in the Internet", B. Carpenter
and K. Nichols, Proceedings of the IEEE, vol 90 no 9,
September, 2002, pp. 1479-1494.
[15] Multiservice Forum White Papers at www.msforum.org
[16] "End-to-End Provision of Policy Information for Network QoS"
, V. Sander et. al., Proceedings of the Tenth IEEE
Symposium on High Performance Distributed Computing
(HPDC), August, 2001.
[17] "Differentiated Services in the Internet", B. Carpenter
and K. Nichols, Proceedings of the IEEE, vol 90 no 9,
September, 2002, pp. 1479-1494.
[18] "A Per-Domain Behavior for Circuit Emulation in IP Networks,"
K. Nichols, V. Jacobson, K. Poduri, ACM CCR, April 2004.
[19] "Differentiated Services for the Internet", V. Jacobson,
First Internet2 Joint Applications/Engineering QoS
Workshop Proceedings, May 21-22, 1998, Santa Clara CA, pp26-31.
[20] G. Hoo and W. Johnston, "QoS as Middleware: Bandwidth
Reservation System Design", LBNL tech report, 1999, at
http://www-itg.lbl.gov/QoS/
Authors' Addresses
Kathleen Nichols J. Pulliam
Pollere LLC R. Barrios
325M Sharon Park Drive #214 L. Sampson
Menlo Park, CA 94025 K. Adams
USA Lockheed Martin
San Jose, CA 95161
USA
email: nichols@pollere.com email: jeffrey.s.pulliam@lmco.com
IPR Disclosure
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and
restrictions contained in BCP 78, and except as set
forth therein, the authors retain all their rights.
Nichols et. al. Expires: April, 2006 [page 28 ]
INTERNET DRAFT draft-nichols-dcpel-strawman-arch-00.txt October, 2005
This document and the information contained herein are
provided on an "AS IS" basis and THE CONTRIBUTOR, THE
ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF
ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE
OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS
OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE.