Dynamic Service Negotiation: The Connectivity Provisioning Negotiation Protocol (CPNP)
RFC 8921

Document Type RFC - Informational (October 2020; No errata)
Authors Mohamed Boucadair  , Christian Jacquenet  , Dacheng Zhang  , Panos Georgatsos 
Last updated 2020-10-21
Stream Independent Submission
Formats plain text html xml pdf htmlized (tools) htmlized bibtex
IETF conflict review conflict-review-boucadair-connectivity-provisioning-protocol
Stream ISE state Published RFC
Consensus Boilerplate Unknown
Document shepherd Adrian Farrel
Shepherd write-up Show (last changed 2020-03-24)
IESG IESG state RFC 8921 (Informational)
Telechat date
Responsible AD (None)
Send notices to Adrian Farrel <rfc-ise@rfc-editor.org>
IANA IANA review state Version Changed - Review Needed
IANA action state No IANA Actions

Independent Submission                                 M. Boucadair, Ed.
Request for Comments: 8921                                  C. Jacquenet
Category: Informational                                           Orange
ISSN: 2070-1721                                                 D. Zhang
                                                     Huawei Technologies
                                                           P. Georgatsos
                                                            October 2020

 Dynamic Service Negotiation: The Connectivity Provisioning Negotiation
                            Protocol (CPNP)


   This document defines the Connectivity Provisioning Negotiation
   Protocol (CPNP), which is designed to facilitate the dynamic
   negotiation of service parameters.

   CPNP is a generic protocol that can be used for various negotiation
   purposes that include (but are not necessarily limited to)
   connectivity provisioning services, storage facilities, Content
   Delivery Networks, etc.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This is a contribution to the RFC Series, independently of any other
   RFC stream.  The RFC Editor has chosen to publish this document at
   its discretion and makes no statement about its value for
   implementation or deployment.  Documents approved for publication by
   the RFC Editor are not candidates for any level of Internet Standard;
   see Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.

Table of Contents

   1.  Introduction
   2.  Terminology
   3.  CPNP Functional Elements
   4.  Order Processing Models
   5.  Sample Use Cases
   6.  CPNP Deployment Models
   7.  CPNP Negotiation Model
   8.  Protocol Overview
     8.1.  Client/Server Communication
     8.2.  Policy Configuration on the CPNP Server
     8.3.  CPNP Session Entries
     8.4.  CPNP Transactions
     8.5.  CPNP Timers
     8.6.  CPNP Operations
     8.7.  Connectivity Provisioning Documents
     8.8.  Child PQOs
     8.9.  Multi-Segment Service
     8.10. Negotiating with Multiple CPNP Servers
     8.11. State Management
       8.11.1.  On the Client Side
       8.11.2.  On the Server Side
   9.  CPNP Objects
     9.1.  Attributes
       9.1.3.  TRANSACTION_ID
       9.1.4.  SEQUENCE_NUMBER
       9.1.5.  NONCE
       9.1.7.  EXPECTED_OFFER_TIME
       9.1.8.  VALIDITY_OFFER_TIME
       9.1.10. CPNP Information Elements
     9.2.  Operation Messages
       9.2.1.  QUOTATION
       9.2.2.  PROCESSING
       9.2.3.  OFFER
       9.2.4.  ACCEPT
       9.2.5.  DECLINE
       9.2.6.  ACK
       9.2.7.  CANCEL
       9.2.8.  WITHDRAW
       9.2.9.  UPDATE
       9.2.10. FAIL
       9.2.11. ACTIVATE
   10. CPNP Message Validation
     10.1.  On the Client Side
     10.2.  On the Server Side
   11. Theory of Operation
     11.1.  Client Behavior
       11.1.1.  Order Negotiation Cycle
       11.1.2.  Order Withdrawal Cycle
       11.1.3.  Order Update Cycle
     11.2.  Server Behavior
       11.2.1.  Order Processing
       11.2.2.  Order Withdrawal
       11.2.3.  Order Update
     11.3.  Sequence Numbers
     11.4.  Message Retransmission
   12. Some Operational Guidelines
     12.1.  CPNP Server Logging
     12.2.  Business Guidelines and Objectives
   13. Security Considerations
   14. IANA Considerations
   15. References
     15.1.  Normative References
     15.2.  Informative References
   Authors' Addresses

1.  Introduction

   This document defines the Connectivity Provisioning Negotiation
   Protocol (CPNP) that is meant to dynamically exchange and negotiate
   connectivity provisioning parameters and other service-specific
   parameters between a Customer and a Provider.  CPNP is a tool that
   introduces automation to the service negotiation and activation
   procedures, thus fostering the overall service provisioning process.
   CPNP can be seen as a component of the dynamic negotiation metadomain
   described in Section 2.4 of [RFC7149].

   CPNP is a generic protocol that can be used for negotiation purposes
   other than connectivity provisioning.  For example, CPNP can be used
Show full document text