⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2748.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:






Network Working Group                                     D. Durham, Ed.
Request for Comments: 2748                                         Intel
Category: Standards Track                                       J. Boyle
                                                                 Level 3
                                                                R. Cohen
                                                                   Cisco
                                                               S. Herzog
                                                               IPHighway
                                                                R. Rajan
                                                                    AT&T
                                                               A. Sastry
                                                                   Cisco
                                                            January 2000


             The COPS (Common Open Policy Service) Protocol


Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

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].

Abstract

   This document describes a simple client/server model for supporting
   policy control over QoS signaling protocols. The model does not make
   any assumptions about the methods of the policy server, but is based
   on the server returning decisions to policy requests. The model is
   designed to be extensible so that other kinds of policy clients may
   be supported in the future. However, this document makes no claims
   that it is the only or the preferred approach for enforcing future
   types of policies.





Durham, et al.              Standards Track                     [Page 1]

RFC 2748                          COPS                      January 2000


Table Of Contents

   1. Introduction....................................................3
   1.1 Basic Model....................................................4
   2. The Protocol....................................................6
   2.1 Common Header..................................................6
   2.2 COPS Specific Object Formats...................................8
   2.2.1 Handle Object (Handle).......................................9
   2.2.2 Context Object (Context).....................................9
   2.2.3 In-Interface Object (IN-Int)................................10
   2.2.4 Out-Interface Object (OUT-Int)..............................11
   2.2.5 Reason Object (Reason)......................................12
   2.2.6 Decision Object (Decision)..................................12
   2.2.7 LPDP Decision Object (LPDPDecision).........................14
   2.2.8 Error Object (Error)........................................14
   2.2.9 Client Specific Information Object (ClientSI)...............15
   2.2.10 Keep-Alive Timer Object (KATimer)..........................15
   2.2.11 PEP Identification Object (PEPID)..........................16
   2.2.12 Report-Type Object (Report-Type)...........................16
   2.2.13 PDP Redirect Address (PDPRedirAddr)........................16
   2.2.14 Last PDP Address (LastPDPAddr).............................17
   2.2.15 Accounting Timer Object (AcctTimer)........................17
   2.2.16 Message Integrity Object (Integrity).......................18
   2.3 Communication.................................................19
   2.4 Client Handle Usage...........................................21
   2.5 Synchronization Behavior......................................21
   3. Message Content................................................22
   3.1 Request (REQ)  PEP -> PDP.....................................22
   3.2 Decision (DEC)  PDP -> PEP....................................24
   3.3 Report State (RPT)  PEP -> PDP................................25
   3.4 Delete Request State (DRQ)  PEP -> PDP........................25
   3.5 Synchronize State Request (SSQ)  PDP -> PEP...................26
   3.6 Client-Open (OPN)  PEP -> PDP.................................26
   3.7 Client-Accept (CAT)  PDP -> PEP...............................27
   3.8 Client-Close (CC)  PEP -> PDP, PDP -> PEP.....................28
   3.9 Keep-Alive (KA)  PEP -> PDP, PDP -> PEP.......................28
   3.10 Synchronize State Complete (SSC) PEP -> PDP..................29
   4. Common Operation...............................................29
   4.1 Security and Sequence Number Negotiation......................29
   4.2 Key Maintenance...............................................31
   4.3 PEP Initialization............................................31
   4.4 Outsourcing Operations........................................32
   4.5 Configuration Operations......................................32
   4.6 Keep-Alive Operations.........................................33
   4.7 PEP/PDP Close.................................................33
   5. Security Considerations........................................33
   6. IANA Considerations............................................34




Durham, et al.              Standards Track                     [Page 2]

RFC 2748                          COPS                      January 2000


   7. References.....................................................35
   8. Author Information and Acknowledgments.........................36
   9. Full Copyright Statement.......................................38

1. Introduction

   This document describes a simple query and response protocol that can
   be used to exchange policy information between a policy server
   (Policy Decision Point or PDP) and its clients (Policy Enforcement
   Points or PEPs).  One example of a policy client is an RSVP router
   that must exercise policy-based admission control over RSVP usage
   [RSVP].  We assume that at least one policy server exists in each
   controlled administrative domain. The basic model of interaction
   between a policy server and its clients is compatible with the
   framework document for policy based admission control [WRK].

   A chief objective of this policy control protocol is to begin with a
   simple but extensible design. The main characteristics of the COPS
   protocol include:

      1. The protocol employs a client/server model where the PEP sends
         requests, updates, and deletes to the remote PDP and the PDP
         returns decisions back to the PEP.

      2. The protocol uses TCP as its transport protocol for reliable
         exchange of messages between policy clients and a server.
         Therefore, no additional mechanisms are necessary for reliable
         communication between a server and its clients.

      3. The protocol is extensible in that it is designed to leverage
         off self-identifying objects and can support diverse client
         specific information without requiring modifications to the
         COPS protocol itself. The protocol was created for the general
         administration, configuration, and enforcement of policies.

      4. COPS provides message level security for authentication, replay
         protection, and message integrity. COPS can also reuse existing
         protocols for security such as IPSEC [IPSEC] or TLS to
         authenticate and secure the channel between the PEP and the
         PDP.

      5. The protocol is stateful in two main aspects:  (1)
         Request/Decision state is shared between client and server and
         (2) State from various events (Request/Decision pairs) may be
         inter-associated. By (1) we mean that requests from the client
         PEP are installed or remembered by the remote PDP until they
         are explicitly deleted by the PEP. At the same time, Decisions
         from the remote PDP can be generated asynchronously at any time



Durham, et al.              Standards Track                     [Page 3]

RFC 2748                          COPS                      January 2000


         for a currently installed request state. By (2) we mean that
         the server may respond to new queries differently because of
         previously installed Request/Decision state(s) that are
         related.

      6. Additionally, the protocol is stateful in that it allows the
         server to push configuration information to the client, and
         then allows the server to remove such state from the client
         when it is no longer applicable.

1.1 Basic Model

          +----------------+
          |                |
          |  Network Node  |            Policy Server
          |                |
          |   +-----+      |   COPS        +-----+
          |   | PEP |<-----|-------------->| PDP |
          |   +-----+      |               +-----+
          |    ^           |
          |    |           |
          |    \-->+-----+ |
          |        | LPDP| |
          |        +-----+ |
          |                |
          +----------------+

          Figure 1: A COPS illustration.


   Figure 1 Illustrates the layout of various policy components in a
   typical COPS example (taken from [WRK]). Here, COPS is used to
   communicate policy information between a Policy Enforcement Point
   (PEP) and a remote Policy Decision Point (PDP) within the context of
   a particular type of client. The optional Local Policy Decision Point
   (LPDP) can be used by the device to make local policy decisions in
   the absence of a PDP.

   It is assumed that each participating policy client is functionally
   consistent with a PEP [WRK]. The PEP may communicate with a policy
   server (herein referred to as a remote PDP [WRK]) to obtain policy
   decisions or directives.

   The PEP is responsible for initiating a persistent TCP connection to
   a PDP. The PEP uses this TCP connection to send requests to and
   receive decisions from the remote PDP. Communication between the PEP
   and remote PDP is mainly in the form of a stateful request/decision
   exchange, though the remote PDP may occasionally send unsolicited



Durham, et al.              Standards Track                     [Page 4]

RFC 2748                          COPS                      January 2000


   decisions to the PEP to force changes in previously approved request
   states. The PEP also has the capacity to report to the remote PDP
   that it has successfully completed performing the PDP's decision
   locally, useful for accounting and monitoring purposes. The PEP is
   responsible for notifying the PDP when a request state has changed on
   the PEP. Finally, the PEP is responsible for the deletion of any
   state that is no longer applicable due to events at the client or
   decisions issued by the server.

   When the PEP sends a configuration request, it expects the PDP to
   continuously send named units of configuration data to the PEP via
   decision messages as applicable for the configuration request. When a
   unit of named configuration data is successfully installed on the
   PEP, the PEP should send a report message to the PDP confirming the
   installation. The server may then update or remove the named
   configuration information via a new decision message. When the PDP
   sends a decision to remove named configuration data from the PEP, the
   PEP will delete the specified configuration and send a report message
   to the PDP as confirmation.

   The policy protocol is designed to communicate self-identifying
   objects which contain the data necessary for identifying request
   states, establishing the context for a request, identifying the type
   of request, referencing previously installed requests, relaying
   policy decisions, reporting errors, providing message integrity, and
   transferring client specific/namespace information.

   To distinguish between different kinds of clients, the type of client
   is identified in each message. Different types of clients may have
   different client specific data and may require different kinds of
   policy decisions. It is expected that each new client-type will have
   a corresponding usage draft specifying the specifics of its
   interaction with this policy protocol.

   The context of each request corresponds to the type of event that
   triggered it. The COPS Context object identifies the type of request
   and message (if applicable) that triggered a policy event via its
   message type and request type fields. COPS identifies three types of
   outsourcing events: (1) the arrival of an incoming message (2)
   allocation of local resources, and (3) the forwarding of an outgoing
   message. Each of these events may require different decisions to be
   made. The content of a COPS request/decision message depends on the
   context. A fourth type of request is useful for types of clients that
   wish to receive configuration information from the PDP. This allows a
   PEP to issue a configuration request for a specific named device or
   module that requires configuration information to be installed.





Durham, et al.              Standards Track                     [Page 5]

RFC 2748                          COPS                      January 2000


   The PEP may also have the capability to make a local policy decision
   via its Local Policy Decision Point (LPDP) [WRK], however, the PDP
   remains the authoritative decision point at all times. This means
   that the relevant local decision information must be relayed to the
   PDP. That is, the PDP must be granted access to all relevant
   information to make a final policy decision. To facilitate this
   functionality, the PEP must send its local decision information to
   the remote PDP via an LPDP decision object. The PEP must then abide
   by the PDP's decision as it is absolute.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -