Internet DRAFT - draft-cpr-rap-cops-maid
draft-cpr-rap-cops-maid
WG: Resource Allocation Protocol (RAP) Gino Carrozzo
Internet Draft Nicola Ciulli
Giacomo Sergio
Document: draft-cpr-rap-cops-maid-00.txt CPR
Expires: April 2004 November 2003
COPS-MAID: COPS Usage for Multi-Access Inter-Domain
MPLS-DiffServ Networks
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026 [1].
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/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This document describes an architecture for the communication between
Border Routers (BR) and a Bandwidth Broker (BB) in a MPLS/DiffServ
core network. This architecture is based on the Common Open Policy
Service (COPS) protocol and defines a new Client Type extension for
it.
This specification applies basically to intra-domain MPLS/DiffServ
network scenarios. However, the same extensions to COPS are suitable
for inter-domain communications, when MPLS Label Switched Paths (LSP)
with QoS-DiffServ guarantees are established across multiple
MPLS/DiffServ islands. Therefore, this document provides also a
simple and efficient model for inter-BB communication.
Carrozzo, et al. Expires û April 2004 [Page 1]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
The new COPS client type provides a unified semantic to unify the
specific parameters of the different access protocols towards the
Policy Decision Point (PDP) on the BB, allowing the use of a single
PEP type implementation despite of the adopted access protocol.
Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [2].
Table of Contents
1. Network Model..................................................3
2. COPS-MAID extensions...........................................5
2.1 Client Type................................................5
2.2 Context Object.............................................5
2.3 COPS-MAID Protocol Objects Format..........................6
2.4 Request ID Object..........................................6
2.5 Source Host IPv4 address Object............................7
2.6 Destination IPv4 address Object............................7
2.7 Source Host IPv6 address Object............................7
2.8 Destination IPv6 address Object............................8
2.9 IPv4 Ingress Border Router Interface Object/TrunkID........8
2.10 IPv6 Ingress Border Router Interface Object/TrunkID.......9
2.11 Egress Border Router Interface Object.....................9
2.12 IPv6 Egress Border Router Interface Object...............10
2.13 Traffic Type Object......................................10
2.14 Traffic Characterization Object..........................11
2.15 QoS Class Description Object.............................15
2.16 QoS Parameters Description Object........................15
2.17 LSP Recovery description Object..........................16
2.18 COPS-MAID Decision Object................................17
2.19 Temporal information object..............................17
2.20 Explicit Route object....................................18
2.21 Reject Reason Object.....................................21
3. COPS-MAID Client Specific Information Object..................21
3.1 COPS-MAID Client Specific RAR data........................21
3.2 COPS-MAID Client Specific Decision data...................22
4. Message content...............................................23
4.1 Request Message (REQ) PEP -> PDP..........................23
4.2 Decision Message (DEC) PDP -> PEP.........................23
4.3 Report State Message (RPT) PEP -> PDP.....................23
Security Considerations..........................................23
References.......................................................24
Acknowledgments..................................................24
Author's Addresses...............................................24
Carrozzo, et al. Expires - Aprily 2004 [Page 2]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
1. Network Model
COPS (Common Open Policy Service) [3]is a simple query and response
protocol that can be used to exchange policy information in an
administrative domain. Relying on the client-server model, COPS
architecture is based on two fundamental elements: a policy server,
called Policy Decision Point (PDP), also addressed as COPS server,
and one or more policy clients, called Policy Enforcement Points
(PEPs), addressed as COPS clients. At least one policy server must
exist in each administrative domain, in order to implement a complete
COPS communication with one or more PEPs.
A single PEP is able to support multiple client-types, and it may
send multiple Client-Open messages to the PDP, each specifying a
particular client-type to a PDP over one or more TCP connections. If
a client-type is not supported by the PDP, the PDP itself can
redirect the PEP to an alternative PDP address and port for a given
client-type via COPS.
In an advisable network scenario the peripheral non-DiffServ access
networks (IntServ networks with the RSVP, H.323, SIP, MPEG-4, etc.)
are connected to a MPLS/DiffServ core network. In such a network ERs
and BRs manage the interoperability between different domains: in our
proposal the functionality of both devices are unified in a single
element called MA-BR, where MA identifies a generic Multi-Access
network architecture.
The data plane provides the mapping and forwarding of the access
network flows into the proper DiffServ PHBs/LSPs(labels) and vice
versa.
The control plane is responsible for Admission Control (AC) and
policy decisions (taken on a per-flow or per-PHB basis) and for the
service level agreement (SLA) maintenance.
Our proposal for such a control plane is to provide the MA-BR
communication with BB by means of the COPS protocol, because of the
great flexibility it provides and of the encapsulation capability for
client-specific information in COPS messages.
The MA-BR may either delegate all AC and policy decisions to the BB,
working in a totally outsourcing scenario, or may have limited local
AC and policy functionality, granted by a provisioning scenario. In
any case BB has pre-emption rights on each MA-BR decision. According
to the COPS architecture [3], the MA-BR must provide an interface to
the BB (i.e. the COPS client, or PEP) to send requests, accept
decisions and periodically report its status.
The BB, which is able to monitor the network status works as an
"oracle", performs the centralized AC and policy functionality.
It is possible (e.g. in MPLS Core Networks) that the BB configures
core and border elements according to its choices, achieving traffic
engineering capabilities. The BB, in its turn, must provide the MA-BR
with an interface to accept requests and send decisions (i.e. the
PDP, or COPS server) and should have one or more interfaces towards
the core network, in order to collect statistics and configure the
devices.
Carrozzo, et al. Expires - Aprily 2004 [Page 3]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
As previously addressed, it is desirable to tune an optimum mix of
dynamical and static resource allocation in order to share
architectural complexity between BB module and border NEs and make
the system scalable.
Our proposal focuses on the possibility of integrating different
protocols used in the access network. In a general scenario,
applications speaking different signalling protocols may coexist, and
the access point of the Core Network, i.e. the MA-BR, must understand
all these languages. According to the COPS architecture, different
applications using different protocols may be viewed as different
client types.
A client type is already defined for the integration of RSVP and COPS
[4], where RSVP is COPS client-type 1. The proposed standard has some
weak points due to the nature of RSVP itself, e.g. the duplication of
the states installed both in PDP and in PEP which limits the
scalability of the model and the possibility of expanding the core
domain. A possible solution to this scalability problem is an
administrative domain with many PDP supporting one or few client-
types each.
Whenever a PEP sends a client-open message to a PDP, that does not
support that client-type, it has the capability to redirect the PEP
to the right PDP. This solution is more scalable but needs to
implement many COPS servers, one for each of the supported client-
types within the domain. All these COPS servers have to exchange
management information to perform a coherent resource allocation, or
they must query for a higher level "omniscient" BB.
We propose to develop a unified COPS semantic in order to integrate
all the different protocols supported by the access domain. This
semantic will encapsulate the client-specific information in a common
format besides of the specific protocol.
By means of this modified architecture it is possible to reduce the
complexity of the system.
The MA-BR traduces the incoming requests in a common format:
- a unified COPS client-type transmits all the information to the
PDP;
- it is no longer needed to develop a different COPS server (PDP)
for each supported COPS client;
- there is no need to refer to a higher-level device when
performing resource allocation because the unique COPS server
(PDP) could be located inside the BB itself.
For this purpose, a new client-type, the COPS-MAID client type, is
defined in the following sections. This client-type is used to
transport admission control messages despite of the signalling
protocol (e.g. RSVP, SIP, H.323) and of the QoS/TE architecture (e.g.
DiffServ/MPLS). Therefore a single client could be supported by the
PDP shifting the complexity on the border router where appropriate
Inter Working Units (IWUs) are used to map protocol specific messages
into generalized client messages.
Carrozzo, et al. Expires - Aprily 2004 [Page 4]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
In order to provide a correct policy decision and perform admission
control, the BB MUST know the following information:
- Traffic origin:
> host which originated the flow;
> BR interface where the traffic will pass through;
- Traffic direction:
> egress BR for the flow;
> core routers the flow will go across (got from a Path
Computation System);
- Traffic type:
> traffic characterization;
> QoS parameters;
- Temporal information (optional)
> start time, end time, repetition intervals;
Besides of the specific signalling protocol used by the clients, a
subset of these information MUST be passed from the PEP to the PDP by
means of the COPS-MAID client type, while the remaining ones will be
somehow learned by the BB (e.g. via SNMP).
2. COPS-MAID extensions
The meaning and usage of several COPS objects is affected when used
with the COPS-MAID client type. This section describes these objects
and their usage.
2.1 Client Type
COPS-MAID is COPS client-type TBD.
2.2 Context Object
The semantics of the Context object for COPS-MAID is as follows:
- R-Type (Request Type Flag)
> R-Type = 0x01: Incoming-Message/Admission Control Requests;
> R-Type = 0x02: Resource Allocation Request;
> R-Type = 0x08: Configuration request;
For the COPS-MAID client-type the R-Type flag 0x04 (Outgoing-Message
Request) is not used.
- M-Type (Message Type)
> M-Type = 0x01: Add request;
> M-Type = 0x02: Release request;
> M-Type = 0x03: Modify request;
Carrozzo, et al. Expires - Aprily 2004 [Page 5]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
2.3 COPS-MAID Protocol Objects Format
All the objects described in this section have to be intended as
objects/attributes encapsulated within other "higher level" COPS
objects. In particular, they are carried in the COPS-MAID Client
Specific Information Object (ref. 3.1) for the PEP -> PDP
communication, and in the Client Specific Decision Object (ref. 3.2)
for the PDP -> PEP direction.
These COPS-MAID objects have a TLV format (Type-Length-Value) where
Type (16 bit) identifies univocally the object, Length (16 bit)
indicates the length of the object in Bytes (including the header)
and Value is the content of the object.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.4 Request ID Object
This object is carried in the Client Specific Information Object of a
Request Message sent from a PEP to a PDP, or in the Client Specific
Decision data sent from a PDP to a PEP. It allows to bind requests
sent by the PEP and having the same COPS Handle Object with responses
coming from the PDP (see [4]). This mechanism allows an COPS-MAID PEP
to make more than one request for a specific state (identified by the
Handle Object) before receiving a PDP response.
The Request ID Object is chosen by the PEP and it is opaque to the
PDP. For each request a different Request ID is chosen by the PEP.
Request ID values can be reused if they are associated to different
Handle Objects.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 1 | Length = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Request ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
In case of PCS enabled on BB, the Request ID / source MA-BR address
pair provides a unique identifier for the path computation which
returns an ERO for the RSVP-TE signalling.
Carrozzo, et al. Expires - Aprily 2004 [Page 6]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
2.5 Source Host IPv4 address Object
This object specifies the IPv4 address of the host originating the
flow for which a PDP decision is requested. It is carried in the
Client Specific Information Object of a Request Message sent from a
PEP to a PDP or in the Client Specific Decision data sent from a PDP
to a PEP. The host IP address could be useful to the Bandwidth Broker
in order to perform Authorization operations.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 2 | Length = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Host IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.6 Destination IPv4 address Object
This object specifies the IPv4 address of the host which is the
destination of the flow that requires a PDP decision. It is carried
in the Client Specific Information Object of a Request Message sent
from a PEP to a PDP or in the Client Specific Decision data sent from
a PDP to a PEP.
The destination address is needed each time the BR is not aware of
the egress router for the traffic flow for which is performing the
request. Moreover, the destination address could be useful to the
Bandwidth Broker in order to perform flow authorization operations.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 3 | Length = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Host IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.7 Source Host IPv6 address Object
This object specifies the IPv6 address of the host originating the
flow for which a PDP decision is requested. It is carried in the
Client Specific Information Object of a Request Message sent from a
PEP to a PDP or in the Client Specific Decision data sent from a PDP
to a PEP.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 4 | Length = 20 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
Carrozzo, et al. Expires - Aprily 2004 [Page 7]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
| Source Host IPv6 Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.8 Destination IPv6 address Object
This object specifies the IPv6 address of the host, which is the
destination of the flow that requires a PDP decision. It is carried
in the Client Specific Information Object of a Request Message sent
from a PEP to a PDP or in the Client Specific Decision data sent from
a PDP to a PEP.
The destination address is needed each time the BR is not aware of
the egress router for the traffic flow for which is performing the
request.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 5 | Length = 20 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Destination Host IPv6 Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.9 IPv4 Ingress Border Router Interface Object/TrunkID
This object specifies the IPv4 address of the ingress border router
output interface for the traffic flow which requires resource
allocation.
It is carried in the Client Specific Information Object of a Request
Message sent from a PEP to a PDP or in the Client Specific Decision
data sent from a PDP to a PEP.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 6 | Length = 16 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress BR Output IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Label Type field is used to specify the semantics of the
following label object:
Carrozzo, et al. Expires - Aprily 2004 [Page 8]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
- Label Type = 0x00000001: DiffServ;
- Label Type = 0x00000002: MPLS;
- Label Type = 0x00000003: ATM;
- Label Type = TBA;
The Label object specifies an identifier for the traffic flow with
respect to the specified semantic type (e.g. a DSCP in case of
DiffServ semantics, a label in case of MPLS, etc.). The couple IPv4
output address/label identifies univocally the trunk where the
traffic flow has to be aggregated.
2.10 IPv6 Ingress Border Router Interface Object/TrunkID
This object specifies the IPv6 address of the ingress border router
output interface for the traffic flow which requires resource
allocation. It is carried in the Client Specific Information Object
of a Request Message sent from a PEP to a PDP or in the Client
Specific Decision data sent from a PDP to a PEP.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 7 | Length = 28 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Ingress BR Output IPv6 Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Label Type field is used to specify the semantics of the label:
- Label Type = 0x00000001: DiffServ;
- Label Type = 0x00000002: MPLS;
- Label Type = 0x00000003: ATM;
- Label Type = TBA
The Label value is set according to the specified Label Type.
2.11 Egress Border Router Interface Object
This object specifies the IPv4 Egress Border Router interface address
for the traffic flow for which the resource allocation request is
performed. It is carried in the Client Specific Information Object of
Carrozzo, et al. Expires - Aprily 2004 [Page 9]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
a Request Message sent from a PEP to a PDP or in the Client Specific
Decision data sent from a PDP to a PEP.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 8 | Length = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress BR Input IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.12 IPv6 Egress Border Router Interface Object
This object specifies the IPv6 Egress Border Router interface address
for the traffic flow for which the resource allocation request is
performed. It is carried in the Client Specific Information Object of
a Request Message sent from a PEP to a PDP or in the Client Specific
Decision data sent from a PDP to a PEP.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 9 | Length = 20 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Egress BR Input IPv6 Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.13 Traffic Type Object
Traffic Type IDs are maintained in the form of a list where each
Traffic Type ID value corresponds to a predefined (either
standardized or client defined) characterization: Traffic Type ID =
value -> characterization.
- Traffic Type ID = TBA
- Traffic Type ID = TBA
Traffic Type Object and Traffic Characterization Object, described in
the next paragraph, can be used together or separately, allowing to
specify traffic parameters at different levels.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 10 | Length = 16 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Traffic Type ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Carrozzo, et al. Expires - Aprily 2004 [Page 10]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
2.14 Traffic Characterization Object
The traffic characterization object describes the traffic
characterization parameters for the traffic flow. It is carried in
the Client Specific Information Object of a Request Message sent from
a PEP to a PDP or in the Client Specific Decision data sent from a
PDP to a PEP.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 11 | Length = var |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Exclude-any |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Include-any |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Include-all |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Setup Prio | Holding Prio | MPLS/DS TSpec number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MPLS/DS Tspec sub-objects |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Resource affinities are declared by three 32 bit masks:
- Exclude-any (32-bit), for the set of attribute filters associated
with a tunnel any of which renders a link unacceptable;
- Include-any (32-bit), for the set of attribute filters
associated with a tunnel any of which renders a link acceptable)
- Include-all (32-bit), for the set of attribute filters
associated with a tunnel all of which must be present for a link
to be acceptable.
Priorities for the flow is specified by:
- Setup Priority (in the range of 0 to 7), which specifies
priority of the session with respect to taking resources;
- Holding Priority (in the range of 0 to 7), which specifies
priority of the session with respect to holding resources;
The MPLS/DS TSpec number specifies the total number of MPLS/DS
Traffic Specification entries (sub-objects) contained in the object.
Each sub-object is structured as follows:
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | DS Behaviour Class |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Traffic Profile Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Carrozzo, et al. Expires - Aprily 2004 [Page 11]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
| Profile Characterization |
| ... |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Types for MPLS/DS Tspec sub-object are:
- Type = 0x0001: E-LSP Tspec;
- Type = 0x0002: L-LSP Tspec;
and depending on Type value the DS Behaviour Class field contains the
EXP value (3 bit û left aligned) or the PHBID field (16 bit, ref.
[5]).
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 1 | EXP | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 2 | PHBID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
The Traffic Profile Type value specifies the type of characterization
attached to the object.
The following characterization type are supported:
- Traffic Profile Type 1 = 0x00000001: Average & Peak Rate (r, p,
m, M);
- Traffic Profile Type 2 = 0x00000002: LBAP point (r, b, p, m, M,
avgr);
- Traffic Profile Type 3 = 0x00000003: 3D LBAP point (l, r, b, p,
M, avgr);
- Traffic Profile Type 4 = 0x00000004: LBAP plot (p, m, M, avgr,
(r, b), ... , (r, b));
- Traffic Profile Type 5 = 0x00000005: 3D-LBAP plot (p, m, M,
avgr, (l, (r,b) plot,...,
l, (r,b)plot));
where r indicates the rate (bytes/s), b the bucket size (bytes), p
the peak rate (bytes/s), m the minimum policed unit (bytes), M the
connection MTU (bytes), avgr the average rate (bytes/sec) and l the
loss probability.
Carrozzo, et al. Expires - Aprily 2004 [Page 12]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
2.14.1 Profile Characterization for Type 1
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Minimum policed unit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Connection MTU |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.14.2 Profile Characterization for Type 2
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bucket Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Minimum policed unit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Connection MTU |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Average Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.14.3 Profile Characterization for Type 3
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Loss Probability |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bucket Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Minimum policed unit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Connection MTU |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Average Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Carrozzo, et al. Expires - Aprily 2004 [Page 13]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
2.14.4 Profile Characterization for Type 4
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Minimum policed unit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Connection MTU |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Average Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bucket Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bucket Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.14.5 Profile Characterization for Type 5
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Minimum policed unit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Connection MTU |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Average Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Loss Probability |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bucket Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bucket Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Carrozzo, et al. Expires - Aprily 2004 [Page 14]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
| Loss Probability |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bucket Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bucket Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.15 QoS Class Description Object
This object specifies the QoS class to which the traffic flow belongs
to. Four different QoS classes are defined:
- Class Type = 0x00000001: bounded losses;
- Class Type = 0x00000002: guaranteed bandwidth;
- Class Type = 0x00000003: guaranteed bandwidth + bounded delay;
- Class Type = 0x00000004: guaranteed bandwidth + bounded delay +
bounded jitter.
Each one of this classes has more stringent QoS guarantees than the
previous class.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 12 | Length = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Class Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.16 QoS Parameters Description Object
This object defines the QoS parameters requested. Four different
parameters are defined:
- bandwidth;
- delay;
- jitter;
- loss probability;
For each of the previous parameters a slack term could be indicated:
while the bandwidth slack term must be subtracted to the bandwidth
parameter in order to find the minimum allowed bandwidth, the jitter
Carrozzo, et al. Expires - Aprily 2004 [Page 15]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
and delay slack terms must be added to the respective parameters in
order to find the maximum allowed delay and jitter.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 13 | Length = 28 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bandwidth (bytes/sec) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bandwidth Slack term |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Jitter (msec) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Jitter Slack term |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Delay (msec) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Delay Slack term |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.17 LSP Recovery description Object
This object is used by the PEP to request by the way of a PDP a Path
Computation System (PCS) to compute a pair of Explicit Route objects
for a traffic flow. It is carried in the Client Specific Resource
Allocation Request data Object of a Decision Message sent from a PDP
to a PEP.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 14 | Length = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Recovery type | Recovery diversity |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Values defined for recovery type are:
- Recovery type = 0x0000: Unprotected
- Recovery type = 0x0001: Path Protection
- Recovery type = 0x0002: Link Protection
- Recovery type = 0x0003: Path Fast-Restoration (with preplanning
of a backup ERO)
- Recovery type = 0x0004: Link Fast-Restoration (with preplanning
of a partial detour for each link)
- Recovery type = TBA
Values defined for recovery diversity are:
- Recovery diversity = 0x0000: None
- Recovery diversity = 0x0001: Node
- Recovery diversity = 0x0002: Link
Carrozzo, et al. Expires - Aprily 2004 [Page 16]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
- Recovery diversity = 0x0003: SRLG
- Recovery diversity = TBA
2.18 COPS-MAID Decision Object
This object is used by the PDP to inform the PEP how to aggregate the
flow. It is carried in the Client Specific Decision Data Object of a
Decision Message sent from a PDP to a PEP.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 15 | Length = 12 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Label Type field is used to specify the semantics of the label:
- Label Type = 0x00000001: DiffServ;
- Label Type = 0x00000002: MPLS;
- Label Type = 0x00000003: ATM;
- Label Type = TBA;
The Label value is set according to the specified Label Type.
2.19 Temporal information object
The temporal information object is used to specify the time interval
inside which the request is valid. It is carried in the Client
Specific Information Object of a Request Message sent from a PEP to a
PDP or in the Client Specific Decision data sent from a PDP to a PEP.
y means of this object one or more time intervals and/or periodically
repeated time intervals could be defined.
An ASCII string is used to describe the temporal information. If the
string length is not multiple of 32 bits appropriate zero padding
bytes are used.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type =16 | Length = var |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ASCII String |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Carrozzo, et al. Expires - Aprily 2004 [Page 17]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
The ASCII string is in the form:
{[<start date _ end date>
<start day of the week _ end day of the week>
<start hour _ end hour>]
[<start date _ end date>
<start day of the week _ end day of the week>
<start hour _ end hour>]
...
[<start date _ end date>
<start day of the week _ end day of the week>
<start hour _ end hour>]
}
where:
- start date and end date are in the format: "ddmmyyyy";
- start day of the week and end day of the week are expressed by
one of the following character: A-B-C-D-E-F-G. The letters are
the coding for: sun - mon - tue - wen - thu - fri - sat ,
respectively;
- start hour and end hour are in the format: "hhmm".
Blanks, present in the string above, are used for increase the
readability, and are suppressed in the TempInfo object value.
The ASCII string starts with "{" and ends with "}". Each time
interval is specified internally to the characters "[" and "]". This
time interval is the intersection of the time intervals (separated by
the character "-") specified internally to the characters "<" and
">". Otherwise the global time interval is the union of all the time
intervals specified internally to the characters "[" and "]". The
character ("*") is used as wildcard.
As an example, the ASCII string
{[<15092001-15122001><B-C-F><1600-1800>]
[<01042002-30062002><*><1700-1900>]}
means: every Monday, Wednesday and Friday between September the 15th
and December the 15th 2001, from 16:00 to 18:00 and everyday between
April the 1st and June the 30th 2002, from 17:00 to 19:00. This
string could be, e.g , used to perform a resource allocation request
for a tele-teaching scenario.
2.20 Explicit Route object
The contents of an Explicit Route object are a series of variable-
length data items called sub-bjects. An explicit route is a
particular path in the network topology. An explicit route is
described as a list of groups of nodes along the explicit route. In
addition to the ability to identify specific nodes along the path, an
explicit route can identify a group of nodes (called abstract node)
Carrozzo, et al. Expires - Aprily 2004 [Page 18]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
that must be traversed along the path. This capability allows the
routing system a significant amount of local flexibility in
fulfilling a request for an explicit route. This capability allows
the generator of the explicit route to have imperfect information
about the details of the path.
The explicit route is encoded as a series of sub-objects contained in
an ERO object. Each sub-object identifies a group of nodes in the
explicit route. An explicit route is thus a specification of groups
of nodes to be traversed.
This object is used by the PDP to inform the MA-BR signalling
protocol for the core network how to setup an LSP. It is carried in
the Client Specific Decision Data Object of a Decision Message sent
from a PDP to a PEP.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 17 | Length = var |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
| Sub-objects |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.20.1 ERO Sub-objects
Each sub-object has the form:
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type | Length = var | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| ... |
| Sub-object contents |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The L bit is an attribute of the sub-object. The L bit is set if the
sub-object represents a loose hop in the explicit route. If the bit
is not set, the sub-object represents a strict hop in the explicit
route. The path between a strict node and its preceding node MUST
include only network nodes from the strict node and its preceding
abstract node. The path between a loose node and its preceding node
MAY include other network nodes that are not part of the strict node
or its preceding abstract node.
The Type indicates the type of contents of the sub-object. Currently
defined values are:
- Type = 0x01: IPv4 prefix
- Type = 0x02: IPv6 prefix
- Type = 0x20: Autonomous system number
Carrozzo, et al. Expires - Aprily 2004 [Page 19]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
The Length contains the total length of the sub-object in bytes,
including the L, Type and Length fields. The Length MUST be at least
4, and MUST be a multiple of 4.
2.20.1.1 Sub-object 1: IPv4 prefix
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type = 0x01 | Length = 8 | Ingress i/f IPv4 address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress i/f IPv4 addr (contd) | Prefix length | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Ingress interface IPv4 address (32) is treated as a prefix based
on the prefix length (8 bit) value below. Bits beyond the prefix are
ignored on receipt and SHOULD be set to zero on transmission.
Note that a prefix length of 32 indicates a single IPv4 node.
2.20.1.2 Sub-object 1: IPv6 prefix
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type = 0x02 | Length = 20 | Ingress i/f IPv6 address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress i/f IPv6 addr (contd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress i/f IPv6 addr (contd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress i/f IPv6 addr (contd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress i/f IPv4 addr (contd) | Prefix length | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Ingress interface IPv6 address (128) is treated as a prefix based
on the prefix length (8 bit) value below. Bits beyond the prefix are
ignored on receipt and SHOULD be set to zero on transmission.
Note that a prefix length of 128 indicates a single IPv6 node.
2.20.1.3 Sub-object 32: Autonomous System Number
The contents of an Autonomous System (AS) number sub-object are a 4-
octet AS number. The abstract node represented by this sub-object is
the set of nodes belonging to the autonomous system.
0 7 15 31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type = 0x20 | Length = 8 | AS Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Carrozzo, et al. Expires - Aprily 2004 [Page 20]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
2.21 Reject Reason Object
This object specifies the reason of a negative answer coming from the
PDP. It is carried in the Client Specific Decision Data Object of a
Decision Message sent from a PDP to a PEP.
Reason Code:
- Reason Code = 0x00000001: Resource unavailable;
- Reason Code = 0x00000002: Unsupported Traffic Type;
- Reason Code = 0x00000003: Unacceptable Src Address;
- Reason Code = 0x00000004: Unacceptable Dst Address;
- Reason Code = 0x00000005: Invalid Traffic Parameters;
- Reason Code = 0x00000006: No primary route to host;
- Reason Code = 0x00000007: No backup route to host;
- Reason Code = 0x00000008: No diversity for backup route;
- Reason Code = ....
3. COPS-MAID Client Specific Information Object
3.1 COPS-MAID Client Specific RAR data
The COPS-MAID Client Specific Resource Allocation Request data (RAR)
is carried in the REQ messages for the COPS-MAID client and contains
the description of the resources and has a different format depending
on whether the type of request is Add/Release or Modify.
For Add and Release messages the COPS-MAID ClientSI RAR is:
<ClientSI: COPS-MAID RAR data>::= <ReqID>
[<SrcIPv4(s)>]
[<SrcIPv6(s)>]
[<DstIPv4(s)>]
[<DstIPv6(s)>]
[<IPv4BRIf(s)>]
[<IPv6BRIf(s)>]
[<IPv4ER(s)>]
[<IPv6ER(s)>]
[<Ttype(s)>]
[<TDesc(s)>]
[<QoSDesc(s)>]
[<QoSPrms(s)>]
[<Recov(s)>]
[<TempInfo(s)>]
with:
X(s) ::= <X> | <X> <X>
whether for the Modify messages is:
Carrozzo, et al. Expires - Aprily 2004 [Page 21]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
<ClientSI: COPS-MAID RAR data> ::= <ReqID>
[<SrcIPv4(s)>] (new)
[<SrcIPv4(s)>] (old)
[<SrcIPv6(s)>](new)
[<SrcIPv6(s)>] (old)
[<IPv4BRIf(s)>](new)
[<IPv4BRIf(s)>](old)
[<IPv6BRIf(s)>](new)
[<IPv6BRIf(s)>](old)
[<IPv4ER(s)>](new)
[<IPv4ER(s)>](old)
[<IPv6ER(s)>] (new)
[<IPv6ER(s)>] (old)
[<Ttype(s)>] (new)
[<Ttype(s)>] (old)
[<TDesc(s)>] (new)
[<TDesc(s)>] (old)
[<QoSDesc(s)>] (new)
[<QoSDesc(s)>] (old)
[<QoSPrms(s)>] (new)
[<QoSPrms(s)>] (old)
[<Recov(s)>] (new)
[<Recov(s)>] (old)
[<TempInfo(s)>] (new)
[<TempInfo(s)>] (old)
3.2 COPS-MAID Client Specific Decision data
The COPS-MAID ClientSI Decision data is carried in the COPS decision
message and contains the PDP decision for a certain Request ID.
<Client SI: COPS-MAID Decision data> ::= <Request ID>
< COPS-MAIDDec> | < RejRea>
[<SrcIPv4(s)>]
[<SrcIPv6(s)>]
[<IPv4BRIf(s)>]
[<IPv6BRIf(s)>]
[<IPv4ER(s)>]
[<IPv6ER(s)>]
[<Ttype(s)>]
[<TDesc(s)>]
[<QoSDesc(s)>]
[<QoSPrms(s)>]
[<TempInfo(s)>]
[<ERO(s)>] - primary
[<ERO(s)>] û backup
Carrozzo, et al. Expires - Aprily 2004 [Page 22]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
4. Message content
4.1 Request Message (REQ) PEP -> PDP
<Request> ::= <Common Header>
<Client Handle>
<Context = Resource-Allocation request>
[<IN-Int>]
[<OUT-Int>]
[<ClientSI: COPS-MAID RAR data>]
[<Integrity>]
4.2 Decision Message (DEC) PDP -> PEP
<Decision Message> ::= <Common Header>
<Client Handle>
<Decision> | <Error>
[<Integrity>]
<Decision>::= <Context = Resource-Allocation request>
<Decision: Flags>
<Decision: COPS-MAID decision data>
4.3 Report State Message (RPT) PEP -> PDP
The RPT Message is sent by the PEP to PDP in case of problems with a
received Decision Message.
RPT Message has the following format:
<Decision Message> ::= <Common Header>
<Client Handle>
<Report Type>
<Client SI: COPS-MAID RPT data>
[<Integrity>]
<Client SI: COPS-MAID RPT data> ::= <Request ID>
Security Considerations
The extensions proposed in this document do not raise any new
security concerns with respect to those declared in [3].
Carrozzo, et al. Expires - Aprily 2004 [Page 23]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
References
1 Bradner, S., "The Internet Standards Process -- Revision 3", BCP
9, RFC 2026, October 1996.
2 Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997
3 D. Durham, Ed., J. Boyle, R. Cohen, S. Herzog, R. Rajan, A.
Sastry, "The COPS (Common Open Policy Service) Protocol", IETF RFC
2748, January 2000
4 S. Herzdog, Ed., J. Boyle, R. Cohen, D. Durham, R. Rajan, A.
Sastry, "COPS Usage for RSVP", IETF RFC 2749, January 2000
5 D.Black, S. Brim, B. Carpenter, F. Le Faucheur, ôPer Hop Behavior
Identification Codeö, RFC 3140, June 2001
Acknowledgments
The authors would like to thank G. Giorgi and F. Mustacchio for their
comments on this draft.
Author's Addresses
Gino Carrozzo
META Centre - Consorzio Pisa Ricerche
c.so Italia, 116
56125 Pisa, ITALY
Email: g.carrozzo@cpr.it
Nicola Ciulli
META Centre - Consorzio Pisa Ricerche
c.so Italia, 116
56125 Pisa, ITALY
Email: n.ciulli@cpr.it
Giacomo Sergio
META Centre - Consorzio Pisa Ricerche
c.so Italia, 116
56125 Pisa, ITALY
Email: g.sergio@cpr.it
Carrozzo, et al. Expires - Aprily 2004 [Page 24]
Internet Draft draft-cpr-rap-cops-maid-00.txt November 2003
Intellectual Property Rights Notices
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to
obtain a general license or permission for the use of such
proprietary rights by implementers or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
Full Copyright Statement
Copyright (C) The Internet Society (2003). 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.
Carrozzo, et al. Expires - Aprily 2004 [Page 25]