Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 WG: Authentication, Authorization and Accounting (AAA) Gino Carrozzo Internet Draft Nicola Ciulli Gianluca Insolvibile Giacomo Sergio Document: draft-carrozzo-aaa-cops-maid-00.txt CPR Expires: November 2005 May 2005 COPS-MAID: COPS Usage for Multi-Access Inter-Domain Service Provider Networks based on MPLS-Diffserv Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [1]. 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/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This specification defines some extensions to the COPS protocol under the COPS-MAID client type to be used for the SP Control Plane Carrozzo et al. Expires - November 2005 [Page 1] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 procedures in a Multimedia Telephony Service (MTS) context. The reference SP network infrastructure is assumed to be based on MPLS/Diffserv Control and Data Planes. The proposed architecture is defined signalling independent because it is able to uphold different signalling protocols used by the MTS-enabled terminals (e.g. SIP, H.323, H.248-Megaco, MGCP, etc.) with a common approach. The overall specification relies on the identification of a common and generalized semantic for the service requests (policy & CAC), which will encapsulate the client-specific information in a common format besides of the specific protocol (e.g. SIP, H.323, etc.). By means of this generalized architecture it is possible to reduce the complexity of the SP Control Plane architecture. 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. Introduction...................................................3 2. MAID network architecture......................................4 3. The COPS-MAID rationale........................................6 4. COPS-MAID extensions...........................................7 4.1 Client Type................................................7 4.2 Context Object.............................................8 4.3 COPS-MAID Protocol Objects Format..........................8 4.4 Request ID Object..........................................8 4.5 Source Host IPv4 address Object............................9 4.6 Destination IPv4 address Object............................9 4.7 Source Host IPv6 address Object...........................10 4.8 Destination IPv6 address Object...........................10 4.9 IPv4 Ingress Border Router Interface Object/TrunkID.......10 4.10 IPv6 Ingress Border Router Interface Object/TrunkID......11 4.11 Egress Border Router Interface Object....................12 4.12 IPv6 Egress Border Router Interface Object...............12 4.13 Traffic Type Object......................................12 4.14 Traffic Characterization Object..........................13 4.15 QoS Class Description Object.............................17 4.16 QoS Parameters Description Object........................18 4.17 LSP Recovery description Object..........................18 4.18 COPS-MAID Decision Object................................19 4.19 Temporal information object..............................20 4.20 Explicit Route object....................................21 4.21 Reject Reason Object.....................................23 5. COPS-MAID Client Specific Information Object..................23 Carrozzo et al. Expires - November 2005 [Page 2] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 5.1 COPS-MAID Client Specific RAR data........................24 5.2 COPS-MAID Client Specific Decision data...................25 6. Message content...............................................25 6.1 Request Message (REQ) PEP -> PDP..........................25 6.2 Decision Message (DEC) PDP -> PEP.........................25 6.3 Report State Message (RPT) PEP -> PDP.....................26 Security Considerations..........................................26 IANA Considerations..............................................26 Normative References.............................................27 Informative References...........................................27 Acknowledgments..................................................27 Author's Addresses...............................................27 Intellectual Property Statement..................................28 Disclaimer of Validity...........................................29 Copyright Statement..............................................29 1. Introduction Multimedia Telephony Services (e.g. voice/video calls, SMS/MMS services, multi-party audio/video conference) based on all-IP networks poses new challenging requirements for the infrastructures of Service Providers (SP) in terms of end-to- end Quality of Service (QoS), dynamical and tailored network resource management, security/privacy, service availability, service resiliency, etc. All these issues are supported by the traditional PSTN for the basic telephony services, but they cannot be effectively and natively provided by the standard IP networks, which are based on the flat "best-effort" and connectionless paradigm. Focusing on the SP network, the presence of heterogeneous multimedia applications requiring QoS guarantees on the boundary of its network entails general requirements for: - flexibility/modularity of the SP architecture, in order to provide new multimedia services with the least possible impact on the SP internal infrastructure; - scalability of the SP network, in order to scale well with the increasing of service demands from the users through the related access networks; - dynamicity of the service provisioning, in order to offer dynamically (i.e. as long as the end-user needs) a transport service for the MTS with QoS guarantees (both at Layer 3 and at Layer 2); - tailoring of the SP QoS-enabled transport services, in order to allocate the amount of network resources that exactly fulfil the end-user requirements in terms of bandwidth, delays, jitter, etc. This specification aims to define some extensions to the COPS protocol under the COPS-MAID client type to be used in a signalling Carrozzo et al. Expires - November 2005 [Page 3] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 independent architecture for the SP Control Plane. This architecture satisfies the requirements for flexibility and scalability of the network, as well as dynamicity and tailoring of the related transport services. This control plane architecture is defined signalling independent because it is able to uphold different signalling protocols used by the MTS-enabled terminals (e.g. SIP, H.323, H.248- Megaco, MGCP, etc.) with a common approach, according to a "classical" User-Network Interface concept. 2. MAID network architecture The requirement for end-to-end QoS guarantees for MTS sessions implies that the SP network must comprise QoS-capable equipment. The most effective and common choices that currently gather scalability and manageability are Diffserv [5], MPLS [6] and a mixed MPLS/ Diffserv solution [3], which merges the Control Plane features of MPLS with the differentiation and scheduling tools provided by Diffserv. The Multi-Access Inter-Domain (MAID) SP network derives from this rationale and it relies on a mixed MPLS/Diffserv architecture (both Control and Data Planes). The MAID Data Plane provides the mapping and the forwarding of the IP flows from the access network into the proper Diffserv PHBs/LSPs (labels) and vice versa. The MAID 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. Focusing on the Control Plane side, the SP network is a collection of functionalities and components, in support of signalling, security, billing, inter-working of domains, etc. relying on the coordination function of an MTS Call Agent (e.g. the H.323 Gatekeeper, or the SIP Proxy or a softswitch in general). After a successful phase of subscription and registration of end-users to the SP services, upon receiving a service request for an MTS call from an end-user, the SP control plane is triggered to provide: 1. the authorization, authentication and accounting of the end- user; 2. the call control through a MTS Call Agent; 3. the inter-working with peering domains of the same or different technologies (e.g. neighbouring TDM domains or other SIP/H.323 domains); 4. the setup/selection/update/release of the QoS-enabled IP service in the SP data plane that can accommodate the final MTS call, in case across a chain of SP domains. Carrozzo et al. Expires - November 2005 [Page 4] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 The last step, i.e. the selection of a just running QoS-enabled IP service and/or the set-up of a new one inside the SP network, is the main QoS-related step and it relies on the action of a Transport Network Resource Manager (TNRM), also known as Bandwidth Broker (BB). The TNRM has the main role of managing network resources by means of proper configurations of the Traffic Control (TC) modules in the involved QoS-capable IP/MPLS routers, as well as the Layer 2 priority mechanisms of the involved L2 devices. TC is the set of policing, filtering, marking, shaping and scheduling procedures available on the IP routers for QoS enforcement purposes. The triggers for TNRM actions can be: - requests for call admission control originated by the MTS Call Agent and related to the MTS signalling - some provisioning information (e.g. traffic matrix like) These two solutions are generally classified as outsourcing and provisioning approaches. Outsourcing allows a dynamic distribution of available resources, even if it requires the continuous TNRM invocation and, thus, it implies scalability issues. On the contrary, provisioning relies on the pre-allocation of a set of policies (and a certain amount of resources) by the TNRM to external Policy Enforcement Points. In this case TNRM acts as a Policy Decision Point. It would be desirable to adopt a mixed provisioning/ outsourcing scheme, in order to address both the scalability and resource optimisation issues. The scalability issues raised by the different MTS architectures (e.g. H.323, SIP, etc.) interoperating with the single TNRM encourage the definition of a common syntax for admission control and policy requests despite of the native MTS signalling protocol (e.g. SIP, H.323, H.248, etc.) and of the SP internal network architecture (e.g. Diffserv, MPLS or both). This approach allows shifting the complexity of the network on a single module, the Signalling Translation Function (STF), which is related to the MTS Call Agent and, thus, can be distributed in different network elements. The main actions provided by STF are: - to map the QoS semantic of the specific MTS signalling protocol into a generalized and common semantic for the QoS-enabled IP service request; - to provide the inter-working with the native signalling protocol dynamics (i.e. message flows), depending on the result of the admission control phase by the TNRM. Carrozzo et al. Expires - November 2005 [Page 5] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 The STF translation do not extend nor modify the native MTS signalling, but it simply supports the MTS signalling by providing the missing correlation between the signalling/media negotiation and the relative actions in the SP transport network in terms of QoS configuration and enforcement. 3. The COPS-MAID rationale This specification focuses on the possibility of integrating different MTS protocol architectures through the STF module. Since a per-protocol QoS semantic can be identified from the MTS call signalling messages, it is possible to derive a minimum set of information the TNRM must know in order to provide a correct policy decision and call admission control. This common semantic is comprised of: - Traffic origin: > host which originated the flow; > Border Router (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, the QoS-sensible information highlighted above MUST be passed from the STF to the TNRM via a specific protocol. Different protocols can be extended for this purpose (e.g. DIAMETER, SIP, etc.). In this specification some extensions to the COPS protocol are proposed under the COPS-MAID client type (MAID, Multiple-Access Inter-Domain). 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 Carrozzo et al. Expires - November 2005 [Page 6] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 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. 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" Bandwidth Broker. In this specification a unified COPS semantic is proposed 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 generalized architecture it is possible to reduce the complexity of the system, because: - 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 Bandwidth Broker or TNRM. The COPS-MAID client type and the related objects are defined in the following sections. 4. 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. 4.1 Client Type COPS-MAID is COPS client-type TBD. Carrozzo et al. Expires - November 2005 [Page 7] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 4.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; 4.3 COPS-MAID Protocol Objects Format All the objects described in this section must 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. 5.1 for the PEP -> PDP communication) and in the Client Specific Decision Object (ref. 5.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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 binding requests sent by the PEP and having the same COPS Handle Object with responses coming from the PDP (ref. [3]). This mechanism allows a COPS-MAID PEP to make more than one request for a specific state (identified by the Handle Object) before receiving a PDP response. Carrozzo et al. Expires - November 2005 [Page 8] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 TNRM in order to perform Authorization operations. 0 7 15 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 2 | Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Host IPv4 Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 MTS Call Agent 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 TNRM in order to perform flow authorization operations. 0 7 15 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 3 | Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Host IPv4 Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Carrozzo et al. Expires - November 2005 [Page 9] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 4.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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source Host IPv6 Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 MTS Call Agent 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 | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.9 IPv4 Ingress Border Router Interface Object/TrunkID This object specifies the IPv4 address of the ingress BR 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. Carrozzo et al. Expires - November 2005 [Page 10] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 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: - 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. 4.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: Carrozzo et al. Expires - November 2005 [Page 11] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 - 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. 4.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 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.13 Traffic Type Object Traffic Type Objects are maintained in the form of a list in which each Traffic Type ID value corresponds to a predefined (either standardized or client defined) characterization: Traffic Type ID = value -> characterization. Carrozzo et al. Expires - November 2005 [Page 12] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 - 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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. Carrozzo et al. Expires - November 2005 [Page 13] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 Priorities for the flow are 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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.[8]). 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 types 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, Carrozzo et al. Expires - November 2005 [Page 14] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 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. 4.14.1 Profile Characterization for Type 1 0 7 15 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Peak Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Minimum policed unit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Connection MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.14.2 Profile Characterization for Type 2 0 7 15 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bucket Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Peak Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Minimum policed unit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Connection MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Average Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Carrozzo et al. Expires - November 2005 [Page 15] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 4.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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.14.5 Profile Characterization for Type 5 0 7 15 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Peak Rate | Carrozzo et al. Expires - November 2005 [Page 16] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Minimum policed unit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Connection MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Average Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss Probability | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bucket Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bucket Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss Probability | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bucket Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bucket Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 these classes has more stringent QoS guarantees than the previous class. Carrozzo et al. Expires - November 2005 [Page 17] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 0 7 15 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 12 | Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Class Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 Carrozzo et al. Expires - November 2005 [Page 18] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 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 - Recovery diversity = 0x0003: SRLG - Recovery diversity = TBA 4.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; Carrozzo et al. Expires - November 2005 [Page 19] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 The Label value is set according to the specified Label Type. 4.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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The ASCII string is in the form: {[ ] [ ] ... [ ] } 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 are used for increase the readability and are suppressed in the TempInfo object value. Carrozzo et al. Expires - November 2005 [Page 20] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 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><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. 4.20 Explicit Route object The contents of an Explicit Route object are a series of variable- length data items called sub-objects. 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) 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 MPLS-enabled ingress BR (LER) of the MPLS/Diffserv SP network that an MPLS signalling session (e.g. via RSVP-TE protocol) must be initiated 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Carrozzo et al. Expires - November 2005 [Page 21] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 4.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 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. 4.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. 4.20.1.2 Sub-object 1: IPv6 prefix 0 7 15 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Carrozzo et al. Expires - November 2005 [Page 22] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 |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. 4.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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 = .... 5. COPS-MAID Client Specific Information Object Carrozzo et al. Expires - November 2005 [Page 23] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 5.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: ::= [] [] [] [] [] [] [] [] [] [] [] [] [] [] with: X(s) ::= | whether for the Modify messages is: ::= [] (new) [] (old) [](new) [] (old) [](new) [](old) [](new) [](old) [](new) [](old) [] (new) [] (old) [] (new) [] (old) [] (new) [] (old) [] (new) Carrozzo et al. Expires - November 2005 [Page 24] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 [] (old) [] (new) [] (old) [] (new) [] (old) [] (new) [] (old) 5.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. ::= < COPS-MAIDDec> | < RejRea> [] [] [] [] [] [] [] [] [] [] [] [] - primary [] û backup 6. Message content 6.1 Request Message (REQ) PEP -> PDP ::= [] [] [] [] 6.2 Decision Message (DEC) PDP -> PEP ::= Carrozzo et al. Expires - November 2005 [Page 25] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 | [] ::= 6.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: ::= [] ::= Security Considerations The extensions proposed in this document do not raise any new security concerns with respect to those declared in [3]. IANA Considerations Within this document a new COPS Client Type (COPS-MAID) is defined and it needs to be assigned in compliancy with the IANA assignments for the COPS protocol parameters: http://www.iana.org/assignments/cops-parameters A Client-type values within the range 0x0001-0x3FFF (Specification Required) could apply to this specification, since the behavior and applicability of the COPS-MAID extensions are hereby described. The other extensions described in this document are in the form of TLV sub-objects carried by the COPS-MAID Client Specific Information Object (ref. 5.1 for the PEP -> PDP communication) and in the Client Specific Decision Object (ref. 5.2 for the PDP -> PEP direction). Carrozzo et al. Expires - November 2005 [Page 26] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 The Type values assigned by authors for each of them from sec. 4.4 to sec. 4.21 are those suggested for IANA assignment. Normative 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]Durham D., Ed., "The COPS (Common Open Policy Service) Protocol", RFC 2748, January 2000. [4] Herzdog S., Ed., "COPS Usage for RSVP", RFC 2749, January 2000. Informative References [5]Blake S. et al., "An Architecture for Differentiated Services", RFC 2475, December 1998. [6] Rosen E. et al., "Multiprotocol Label Switching Architecture", RFC 3031, January 2001. [7] Le Faucheur F., Ed., "Multi-Protocol Label Switching (MPLS) Support of Differentiated Services", RFC 3270, May 2002. [8] Black D. et al., "Per Hop Behavior Identification Code", RFC 3140, June 2001. Acknowledgments This work has been supported by the European Commission through the Integrated Project "Multimedia Networking (MediaNet)" - IST-Project no. FP6-507452. Author's Addresses Gino Carrozzo Divisione Informatica e Telecomunicazioni - Consorzio Pisa Ricerche C.so Italia, 116 56100 Pisa, ITALY Carrozzo et al. Expires - November 2005 [Page 27] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 Email: g.carrozzo@cpr.it Nicola Ciulli Divisione Informatica e Telecomunicazioni - Consorzio Pisa Ricerche C.so Italia, 116 56100 Pisa, ITALY Email: n.ciulli@cpr.it Gianluca Insolvibile Divisione Informatica e Telecomunicazioni - Consorzio Pisa Ricerche C.so Italia, 116 56100 Pisa, ITALY Email: g.insolvibile@cpr.it Giacomo Sergio Divisione Informatica e Telecomunicazioni - Consorzio Pisa Ricerche C.so Italia, 116 56100 Pisa, ITALY Email: g.sergio@cpr.it Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the IETF's procedures with respect to rights in IETF Documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org. Carrozzo et al. Expires - November 2005 [Page 28] Internet Draft draft-carrozzo-aaa-cops-maid-00.txt May 2005 Disclaimer of Validity 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. Copyright Statement 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. Carrozzo et al. Expires - November 2005 [Page 29]