[Search] [txt|pdfized|bibtex] [Tracker] [Email] [Nits]
Versions: 00                                                            
Network Working Group                                       M. Boucadair
Internet-Draft                                            France Telecom
Intended status: Informational                                  R. Penno
Expires: December 17, 2010                              Juniper Networks
                                                                 D. Wing
                                                                   Cisco
                                                           June 15, 2010


                           PCP Flow Examples
                draft-bpw-softwire-pcp-flow-examples-00

Abstract

   This document provides a set of examples to illustrate PCP
   operations.  It is a companion document to the base PCP
   specification.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

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

   This Internet-Draft will expire on December 17, 2010.

Copyright Notice

   Copyright (c) 2010 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
   (http://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.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as



Boucadair, et al.       Expires December 17, 2010               [Page 1]


Internet-Draft              PCP Flow Examples                  June 2010


   described in the Simplified BSD License.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  PCP Server Mapping Table . . . . . . . . . . . . . . . . .  3
   2.  Create Mapping . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.1.  Create a Mapping with Mandatory IEs  . . . . . . . . . . .  4
     2.2.  Create Mapping with a Hinted External Port Number  . . . .  5
     2.3.  Create Mapping with a Hinted External Port Number  . . . .  7
     2.4.  Create Mapping with a Preferred Lifetime . . . . . . . . .  8
     2.5.  Create Mapping with all Various Optional IEs . . . . . . .  9
     2.6.  Create a Mapping with a Port Reservation Option  . . . . . 10
     2.7.  Error Encountered when Creating a Mapping (1st Example)  . 11
     2.8.  Error Encountered when Creating Mapping (2nd Example)  . . 12
     2.9.  Error Encountered when Creating Mapping (3rd Example)  . . 13
     2.10. Create Mapping with Distinct External IP Addresses . . . . 14
   3.  List Mappings  . . . . . . . . . . . . . . . . . . . . . . . . 16
     3.1.  List all Mappings Associated with a Client/Subscriber  . . 16
     3.2.  List all Mappings Associated with an IPv4 Address  . . . . 19
     3.3.  Listing All Mappings Associated with an IPv4 Address
           and a Given Transport Protocol . . . . . . . . . . . . . . 21
     3.4.  Listing All Mappings Associated with an IPv4 Address,
           a Transport Protocol and a DSCP Code . . . . . . . . . . . 23
     3.5.  No Existing Mapping  . . . . . . . . . . . . . . . . . . . 24
   4.  Delete Operation . . . . . . . . . . . . . . . . . . . . . . . 24
     4.1.  Delete All Mappings  . . . . . . . . . . . . . . . . . . . 25
     4.2.  Delete all Mappings Associated with a Transport
           Protocol . . . . . . . . . . . . . . . . . . . . . . . . . 25
     4.3.  Delete Mappings Associated with an IP Address  . . . . . . 26
     4.4.  Delete all Mappings Associated with a Given Transport
           Protocol and IP Address  . . . . . . . . . . . . . . . . . 26
     4.5.  Delete an Explicit Mapping . . . . . . . . . . . . . . . . 26
     4.6.  Failed Delete Operation  . . . . . . . . . . . . . . . . . 27
   5.  Modify an Existing Mapping . . . . . . . . . . . . . . . . . . 28
     5.1.  Change of the Client-ID  . . . . . . . . . . . . . . . . . 28
     5.2.  Change of the Internal IP Address  . . . . . . . . . . . . 28
   6.  Retrieve the External IP Address . . . . . . . . . . . . . . . 29
     6.1.  Retrieve the External IP Address . . . . . . . . . . . . . 29
     6.2.  Assess the Reachability of the PCP Server  . . . . . . . . 30
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 30
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 30
   9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 30
   10. Normative References . . . . . . . . . . . . . . . . . . . . . 30
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 31





Boucadair, et al.       Expires December 17, 2010               [Page 2]


Internet-Draft              PCP Flow Examples                  June 2010


1.  Introduction

   As a companion document to [I-D.wing-softwire-port-control-protocol],
   this document provides examples to help understanding the PCP
   machinery and exchanged PCP messages in various usage contexts.

   For more details about PCP protocol specification, the reader is
   invited to refer to [I-D.wing-softwire-port-control-protocol].

   Examples included in this document make use of the IPv4 and IPv6
   address blocks defined in [RFC5737] and [RFC3849] for documentation
   purposes.

1.1.  PCP Server Mapping Table

   The structure of the PCP Server mapping table when controlling a
   stateful NAT44 or NAT64 [I-D.ietf-behave-v6v4-xlate-stateful] is
   shown below.  Some information such as DSCP may not be supported.
   Internal IP addresses can be IPv4 or IPv6 addresses.

                  +----------------------+-------------+
                  |                      | Entry Index |
                  +----------------------+-------------+
                  |       Client-ID      |             |
                  |  Transport Protocol  |             |
                  |  Internal IP Address |             |
                  | Internal Port Number |             |
                  |  External IP Address |             |
                  | External Port Number |             |
                  |     Internal DSCP    |             |
                  |     External DSCP    |             |
                  |       Lifetime       |             |
                  +----------------------+-------------+

   As for the DS-Lite [I-D.ietf-softwire-dual-stack-lite], the mapping
   table would be as follows:















Boucadair, et al.       Expires December 17, 2010               [Page 3]


Internet-Draft              PCP Flow Examples                  June 2010


                  +----------------------+-------------+
                  |                      | Entry Index |
                  +----------------------+-------------+
                  |       Client-ID      |             |
                  |       Tunnel-ID      |             |
                  |  Transport Protocol  |             |
                  |  Internal IP Address |             |
                  | Internal Port Number |             |
                  |  External IP Address |             |
                  | External Port Number |             |
                  |     Internal DSCP    |             |
                  |     External DSCP    |             |
                  |       Lifetime       |             |
                  +----------------------+-------------+

   Tunnel-ID is an IPv6 address (e.g., 2001:DB8:0:0:1::1) of the B4
   element.

   Decimal and dotted-decimal values are used in the examples listed in
   the following sections.


2.  Create Mapping

   The following figure illustrates the messages which are exchanged to
   create a mapping in a PCP-controlled device.

                +------+                           +------+
                | PCP  |                           | PCP  |
                |Client|                           |Server|
                +------+                           +------+
                    |   (1) PCP Map Create Request     |
                    |--------------------------------->|
                    |   (2) PCP Map Create Response    |
                    |<---------------------------------|
                    |                                  |


                  Figure 1: Example of creating a mapping

   The following sub-sections provide several examples depending on the
   included IEs in the PCP Map Create Request.

2.1.  Create a Mapping with Mandatory IEs

   This example illustrates the content of exchanged PCP messages when
   the PCP Client includes only mandatory IEs: Client-ID, Transport
   protocol (TCP), Internal Port Number and Internal IP Address.



Boucadair, et al.       Expires December 17, 2010               [Page 4]


Internet-Draft              PCP Flow Examples                  June 2010


   1.  PCP Map Create Request

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal Port Number IE (11234)

          Internal IP Address IE (198.51.100.1)

   2.  PCP Map Create Response

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal Port Number IE (11234)

          Internal IP Address IE (198.51.100.1)

          External IP Address IE (192.0.2.1)

          External Port Number IE (32654)

          Assigned Mapping Lifetime IE (3600)

   As a result, the following entry is added to the PCP Server mapping
   table:

                  +----------------------+--------------+
                  |                      |    Entry 1   |
                  +----------------------+--------------+
                  |       Client-ID      |      ID      |
                  |  Transport Protocol  |      TCP     |
                  |  Internal IP Address | 198.51.100.1 |
                  | Internal Port Number |     11234    |
                  |  External IP Address |   192.0.2.1  |
                  | External Port Number |     32654    |
                  |     Internal DSCP    |      --      |
                  |     External DSCP    |      --      |
                  |       Lifetime       |     3600     |
                  +----------------------+--------------+

2.2.  Create Mapping with a Hinted External Port Number

   In this example, the PCP Client includes all mandatory IEs and a
   preferred external port number.




Boucadair, et al.       Expires December 17, 2010               [Page 5]


Internet-Draft              PCP Flow Examples                  June 2010


   1.  PCP Map Create Request

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal Port Number IE (10001)

          Internal IP Address IE (198.51.100.1)

          Hinted External Port Number IE (15632)

   2.  PCP Map Create Response

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal Port Number IE (10001)

          Internal IP Address IE (198.51.100.1)

          External IP Address IE (192.0.2.1)

          External Port Number IE (13568)

          Assigned Mapping Lifetime IE (3600)

   As a result, the following entry is added to the PCP Server mapping
   table:

             +----------------------+---------+--------------+
             |                      | Entry i |   Entry i+1  |
             +----------------------+---------+--------------+
             |       Client-ID      |   ...   |      ID      |
             |  Transport Protocol  |    ..   |      TCP     |
             |  Internal IP Address |    ..   | 198.51.100.1 |
             | Internal Port Number |    ..   |     10001    |
             |  External IP Address |    ..   |   192.0.2.1  |
             | External Port Number |    ..   |     13568    |
             |     Internal DSCP    |    ..   |      --      |
             |     External DSCP    |    ..   |      --      |
             |       Lifetime       |    ..   |     3600     |
             +----------------------+---------+--------------+







Boucadair, et al.       Expires December 17, 2010               [Page 6]


Internet-Draft              PCP Flow Examples                  June 2010


2.3.  Create Mapping with a Hinted External Port Number

   In this example the PCP Server assigns the hinted port number to the
   requesting PCP Client.

   1.  PCP Map Create Request

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal Port Number IE (9568)

          Internal IP Address IE (198.51.100.1)

          Hinted External Port Number IE (15632)

   2.  PCP Map Create Response

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal Port Number IE (9568)

          Internal IP Address IE (198.51.100.1)

          External IP Address IE (192.0.2.1)

          External Port Number IE (15632)

          Assigned Mapping Lifetime IE (3600)

   As a result, the following entry is added to the PCP Server mapping
   table:

             +----------------------+---------+--------------+
             |                      | Entry i |   Entry i+1  |
             +----------------------+---------+--------------+
             |       Client-ID      |   ...   |      ID      |
             |  Transport Protocol  |    ..   |      TCP     |
             |  Internal IP Address |    ..   | 198.51.100.1 |
             | Internal Port Number |    ..   |     9568     |
             |  External IP Address |    ..   |   192.0.2.1  |
             | External Port Number |    ..   |     15632    |
             |     Internal DSCP    |    ..   |      --      |
             |     External DSCP    |    ..   |      --      |




Boucadair, et al.       Expires December 17, 2010               [Page 7]


Internet-Draft              PCP Flow Examples                  June 2010


             |       Lifetime       |    ..   |     3600     |
             +----------------------+---------+--------------+

2.4.  Create Mapping with a Preferred Lifetime

   In this example, the PCP Client includes all mandatory IEs, a
   preferred external port number and a preferred mapping lifetime.  The
   PCP Server returns a mapping using values it assigns according to its
   configured policies and port numbers availability.

   1.  PCP Map Create Request

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal Port Number IE (16254)

          Internal IP Address IE (198.51.100.1)

          Hinted External Port Number IE (25685)

          Requested Mapping Lifetime IE (1800)

   2.  PCP Map Create Response

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal Port Number IE (16254)

          Internal IP Address IE (198.51.100.1)

          External IP Address IE (192.0.2.1)

          External Port Number IE (16532)

          Assigned Mapping Lifetime IE (1800)

   As a result, the following entry is added to the PCP Server mapping
   table:









Boucadair, et al.       Expires December 17, 2010               [Page 8]


Internet-Draft              PCP Flow Examples                  June 2010


             +----------------------+---------+--------------+
             |                      | Entry i |   Entry i+1  |
             +----------------------+---------+--------------+
             |       Client-ID      |   ...   |      ID      |
             |  Transport Protocol  |    ..   |      TCP     |
             |  Internal IP Address |    ..   | 198.51.100.1 |
             | Internal Port Number |    ..   |     16254    |
             |  External IP Address |    ..   |   192.0.2.1  |
             | External Port Number |    ..   |     16532    |
             |     Internal DSCP    |    ..   |      --      |
             |     External DSCP    |    ..   |      --      |
             |       Lifetime       |    ..   |     1800     |
             +----------------------+---------+--------------+

2.5.  Create Mapping with all Various Optional IEs

   This flow shows an example of the content of PCP messages that will
   be exchanged to create a mapping in a PCP-controlled device.  In this
   example, the PCP Client indicates a requested external UDP port
   number and also a DSCP marking policy (Internal DSCP <=> External
   DSCP).

   In reference to Figure 1, the content of exchanged PCP messages is as
   follows:

   1.  PCP Map Create Request

          Client-ID IE (Client-ID=ID)

          Transport Protocol IE (1)

          Internal Port Number IE (15968)

          Internal IP Address IE (192.168.0.1)

          Hinted External Port Number IE (15648)

          Internal DSCP IE (45)

          External DSCP IE (32)

          Requested Mapping Lifetime IE (8965)

   2.  PCP Map Create Response

          Client-ID IE (ID)





Boucadair, et al.       Expires December 17, 2010               [Page 9]


Internet-Draft              PCP Flow Examples                  June 2010


          Transport Protocol IE (1)

          Internal Port Number IE (15968)

          Internal IP Address IE (192.168.0.1)

          External IP Address IE (192.0.2.1)

          External Port Number IE (18759)

          Internal DSCP IE (45)

          External DSCP IE (32)

          Assigned Mapping Lifetime IE (3600)

   As a result, the following entry is added to the PCP Server mapping
   table:

             +----------------------+---------+--------------+
             |                      | Entry i |   Entry i+1  |
             +----------------------+---------+--------------+
             |       Client-ID      |   ...   |      ID      |
             |  Transport Protocol  |    ..   |      UDP     |
             |  Internal IP Address |    ..   | 198.51.100.1 |
             | Internal Port Number |    ..   |     15968    |
             |  External IP Address |    ..   |   192.0.2.1  |
             | External Port Number |    ..   |     18759    |
             |     Internal DSCP    |    ..   |      45      |
             |     External DSCP    |    ..   |      32      |
             |       Lifetime       |    ..   |     3600     |
             +----------------------+---------+--------------+

2.6.  Create a Mapping with a Port Reservation Option

   The following example depicts a scenario where the PCP Client
   indicates its UDP port parity preference (using Port Reservation
   Option IE).  The PCP Server, if it supports such option, may assign
   an external port number according to the requested policy.

   1.  PCP Map Create Request

          Client-ID IE (ID)

          Transport Protocol IE (1)

          Internal Port Number IE (8759)




Boucadair, et al.       Expires December 17, 2010              [Page 10]


Internet-Draft              PCP Flow Examples                  June 2010


          Internal IP Address IE (198.51.100.1)

          Hinted External Port Number IE (11233)

          Port Reservation Option IE (Preserve parity)

          Requested Mapping Lifetime IE (3600)

   2.  PCP Map Create Response

          Client-ID IE (ID)

          Transport Protocol IE (1)

          Internal Port Number IE (8759)

          Internal IP Address IE (198.51.100.1)

          External IP Address IE (192.0.2.1)

          External Port Number IE (13565)

          Assigned Mapping Lifetime IE (3600)

   As a result, the following entry is added to the PCP Server mapping
   table:

             +----------------------+---------+--------------+
             |                      | Entry i |   Entry i+1  |
             +----------------------+---------+--------------+
             |       Client-ID      |   ...   |      ID      |
             |  Transport Protocol  |    ..   |      UDP     |
             |  Internal IP Address |    ..   | 198.51.100.1 |
             | Internal Port Number |    ..   |     8759     |
             |  External IP Address |    ..   |   192.0.2.1  |
             | External Port Number |    ..   |     13565    |
             |     Internal DSCP    |    ..   |      --      |
             |     External DSCP    |    ..   |      --      |
             |       Lifetime       |    ..   |     3600     |
             +----------------------+---------+--------------+

2.7.  Error Encountered when Creating a Mapping (1st Example)

   This example shows the exchange that occurs when the PCP Server is
   unable to meet the PCP Client's request: DSCP re-marking is not
   supported.





Boucadair, et al.       Expires December 17, 2010              [Page 11]


Internet-Draft              PCP Flow Examples                  June 2010


                +------+                           +------+
                | PCP  |                           | PCP  |
                |Client|                           |Server|
                +------+                           +------+
                    |   (1) PCP Map Create Request     |
                    |--------------------------------->|
                    |          (2) PCP Error           |
                    |<---------------------------------|
                    |                                  |


                  Figure 2: Error when creating a mapping

   1.  PCP Map Create Request

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal Port Number IE

          Internal IP Address IE

          Hinted External Port Number IE

          Internal DSCP IE

          External DSCP IE

          Requested Mapping Lifetime IE

   2.  PCP Error

          Client-ID IE (ID)

          Error Code IE

          UTF-8 Encoded Error IE (DSCP re-marking is not supported)

2.8.  Error Encountered when Creating Mapping (2nd Example)

   This example shows the exchange that occurs when the PCP Server is
   unable to meet the PCP Client's request: per-subscriber limit is
   reached.

   1.  PCP Map Create Request





Boucadair, et al.       Expires December 17, 2010              [Page 12]


Internet-Draft              PCP Flow Examples                  June 2010


          Client-ID IE (ID)

          Transport Protocol IE (1)

          Internal Port Number IE

          Internal IP Address IE

          Hinted External Port Number IE

          Requested Mapping Lifetime IE

   2.  PCP Error

          Client-ID IE (ID)

          Error Code IE (code=7, sub-code=1)

2.9.  Error Encountered when Creating Mapping (3rd Example)

   This example shows the exchange that occurs when the PCP Server is
   unable to meet the PCP Client's request: Unsupported transport
   protocol.

   1.  PCP Map Create Request

          Client-ID IE (ID)

          Transport Protocol IE (3)

          Internal Port Number IE

          Internal IP Address IE

          Hinted External Port Number IE

          Requested Mapping Lifetime IE

   2.  PCP Error

          Client-ID IE (ID)

          Error Code IE (code=6, sub-code=1)

          UTF-8 Encoded Error IE (Unsupported transport protocol)






Boucadair, et al.       Expires December 17, 2010              [Page 13]


Internet-Draft              PCP Flow Examples                  June 2010


2.10.  Create Mapping with Distinct External IP Addresses

   Figure 3 shows a PCP Server with a pool of public IPv4 addresses
   (192.0.2/24) and two PCP Clients associated with different
   subscribers.  The PCP Clients each make a port mapping request to the
   PCP Server which creates the mapping from its 192.0.2/24 pool.

    +--------+                     +------+                   +--------+
    |  PCP   |                     | PCP  |                   |  PCP   |
    |Client 1|                     |Server|                   |Client 2|
    +--------+                     +------+                   +--------+
        |(1) PCP Map Create Request   |                            |
        |---------------------------->|                            |
        |(2) PCP Map Create Response  |                            |
        |<----------------------------|(a) PCP Map Create Request  |
        |                             |<---------------------------|
        |                             |(b) PCP Map Create Response |
        |                             |--------------------------->|
        |                             |                            |



     Figure 3: Example of creating mappings with distinct external IP
                                 addresses

   In this example, the PCP Clients were mapped to different public
   addresses as illustrated in the content of the PCP messages listed
   below.

   The content of PCP messages exchanged between PCP Client 1 and the
   PCP Server is as follows:

   1.  PCP Map Create Request

          Client-ID IE (ID)

          Transport Protocol IE (1)

          Internal Port Number IE (25655)

          Internal IP Address IE (198.51.100.1)

   2.  PCP Map Create Response

          Client-ID IE (ID)

          Transport Protocol IE (1)




Boucadair, et al.       Expires December 17, 2010              [Page 14]


Internet-Draft              PCP Flow Examples                  June 2010


          Internal Port Number IE (25655)

          Internal IP Address IE (198.51.100.1)

          External IP Address IE (192.0.2.1)

          External Port Number IE (15659)

          Assigned Mapping Lifetime IE (3600)

   The content of PCP messages exchanged between PCP Client 2 and the
   PCP Server is as follows:

   1.  PCP Map Create Request

          Client-ID IE (ID2)

          Transport Protocol IE (1)

          Internal Port Number IE (19856)

          Internal IP Address IE (198.51.100.2)

   2.  PCP Map Create Response

          Client-ID IE (ID2)

          Transport Protocol IE (1)

          Internal Port Number IE (19856)

          Internal IP Address IE (198.51.100.2)

          External IP Address IE (192.0.2.2)

          External Port Number IE (32654)

          Assigned Mapping Lifetime IE (3600)

   At the end of this exchange, the following entries are instructed in
   the PCP Server.










Boucadair, et al.       Expires December 17, 2010              [Page 15]


Internet-Draft              PCP Flow Examples                  June 2010


          +----------------------+--------------+--------------+
          |                      |    Entry i   |   Entry i+1  |
          +----------------------+--------------+--------------+
          |       Client-ID      |      ID1     |      ID2     |
          |  Transport Protocol  |      UDP     |      UDP     |
          |  Internal IP Address | 198.51.100.1 | 198.51.100.2 |
          | Internal Port Number |     25655    |     19856    |
          |  External IP Address |   192.0.2.1  |   192.0.2.2  |
          | External Port Number |     15659    |     32654    |
          |       Lifetime       |     3600     |     3600     |
          +----------------------+--------------+--------------+


3.  List Mappings

   In order to retrieve a list of active mappings, Figure 4 illustrates
   the PCP messages exchange that occurs.  The following sub-sections
   describes various cases according to the IEs as included by the PCP
   Client in the PCP Map List Request.

                +------+                           +------+
                | PCP  |                           | PCP  |
                |Client|                           |Server|
                +------+                           +------+
                    |   (1) PCP Map List Request      |
                    |-------------------------------->|
                    |   (2) PCP Map List Response     |
                    |<--------------------------------|
                    |                                 |


                     Figure 4: Example of PCP Map List

3.1.   List all Mappings Associated with a Client/Subscriber

   This example shows the PCP exchange that occurs in order to retrieve
   all mappings associated with a given PCP Client (or a subscriber).
   The value of the transport protocol is positioned to 0 (i.e., all
   transport protocols) to indicate to the PCP Server that all mappings
   associated with a client/subscriber are to be returned whatever their
   associated transport protocol.

   1.  PCP Map List Request

          Client-ID IE (ID)

          Transport Protocol IE (0)




Boucadair, et al.       Expires December 17, 2010              [Page 16]


Internet-Draft              PCP Flow Examples                  June 2010


   2.  PCP Map List Response

          Client-ID IE (ID)

          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (11234)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (32654)

             Remaining Mapping Lifetime IE (1254)

          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (10001)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (13568)

             Remaining Mapping Lifetime IE (2500)

          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (9568)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (15632)

             Remaining Mapping Lifetime IE (2800)






Boucadair, et al.       Expires December 17, 2010              [Page 17]


Internet-Draft              PCP Flow Examples                  June 2010


          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (16254)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (16532)

             Remaining Mapping Lifetime IE (2900)

          Forwarding IE

             Transport Protocol IE (1)

             Internal Port Number IE (15968)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (18759)

             Internal DSCP IE (45)

             External DSCP IE (32)

             Remaining Mapping Lifetime IE (3000)

          Forwarding IE

             Transport Protocol IE (1)

             Internal Port Number IE (8759)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (13565)

             Remaining Mapping Lifetime IE (3200)






Boucadair, et al.       Expires December 17, 2010              [Page 18]


Internet-Draft              PCP Flow Examples                  June 2010


          Forwarding IE



             Transport Protocol IE (1)

             Internal Port Number IE (25655)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (32654)

             Remaining Mapping Lifetime IE (3300)

3.2.  List all Mappings Associated with an IPv4 Address

   This example shows the PCP exchange that occurs in order to retrieve
   all mappings associated with a given PCP Client (subscriber) and a
   given internal IP address:

   1.  PCP Map List Request

          Client-ID IE (ID)

          Transport Protocol IE (0)

          Internal IP Address IE (198.51.100.1)

   2.  PCP Map List Response

          Client-ID IE (ID)

          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (11234)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (32654)

             Remaining Mapping Lifetime IE (1254)




Boucadair, et al.       Expires December 17, 2010              [Page 19]


Internet-Draft              PCP Flow Examples                  June 2010


          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (10001)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (13568)

             Remaining Mapping Lifetime IE (2500)

          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (9568)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (15632)

             Remaining Mapping Lifetime IE (2800)

          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (16254)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (16532)

             Remaining Mapping Lifetime IE (2900)

          Forwarding IE

             Transport Protocol IE (1)

             Internal Port Number IE (15968)




Boucadair, et al.       Expires December 17, 2010              [Page 20]


Internet-Draft              PCP Flow Examples                  June 2010


             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (18759)

             Internal DSCP IE (45)

             External DSCP IE (32)

             Remaining Mapping Lifetime IE (3000)

          Forwarding IE

             Transport Protocol IE (1)

             Internal Port Number IE (8759)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (13565)

             Remaining Mapping Lifetime IE (3200)

          Forwarding IE



             Transport Protocol IE (1)

             Internal Port Number IE (25655)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (32654)

             Remaining Mapping Lifetime IE (3300)

3.3.  Listing All Mappings Associated with an IPv4 Address and a Given
      Transport Protocol

   This example shows the PCP exchange that occurs in order retrieve all
   mappings associated with a given internal IP address and a transport
   protocol (e.g., TCP).



Boucadair, et al.       Expires December 17, 2010              [Page 21]


Internet-Draft              PCP Flow Examples                  June 2010


   1.  PCP Map List Request

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal IP Address IE

   2.  PCP Map List Response

          Client-ID IE (ID)

          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (11234)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (32654)

             Remaining Mapping Lifetime IE (1254)

          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (10001)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (13568)

             Remaining Mapping Lifetime IE (2500)

          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (9568)

             Internal IP Address IE (198.51.100.1)




Boucadair, et al.       Expires December 17, 2010              [Page 22]


Internet-Draft              PCP Flow Examples                  June 2010


             External IP Address IE (192.0.2.1)

             External Port Number IE (15632)

             Remaining Mapping Lifetime IE (2800)

          Forwarding IE

             Transport Protocol IE (2)

             Internal Port Number IE (16254)

             Internal IP Address IE (198.51.100.1)

             External IP Address IE (192.0.2.1)

             External Port Number IE (16532)

             Remaining Mapping Lifetime IE (2900)



3.4.  Listing All Mappings Associated with an IPv4 Address, a Transport
      Protocol and a DSCP Code

   This example shows the PCP exchange that occurs when retrieving all
   mappings associated with a given internal IP address, a transport
   protocol (e.g., TCP) and an internal DSCP code.

   1.  PCP Map List Request

          Client-ID IE (ID)

          Transport Protocol IE (1)

          Internal IP Address IE

          Internal DSCP IE

   2.  PCP Map List Response

          Client-ID IE (ID)

          Transport Protocol IE (1)

          Internal Port Number IE (15968)





Boucadair, et al.       Expires December 17, 2010              [Page 23]


Internet-Draft              PCP Flow Examples                  June 2010


          Internal IP Address IE (198.51.100.1)

          External IP Address IE (192.0.2.1)

          External Port Number IE (18759)

          Internal DSCP IE (45)

          External DSCP IE (32)

          Remaining Mapping Lifetime IE (3000)

3.5.  No Existing Mapping

   This example shows the content of PCP messages when no mapping
   matching the requested criteria is found.

   1.  PCP Map List Request

          Client-ID IE (ID)

          Transport Protocol IE (1)

          Internal IP Address IE (198.51.100.1)

          Internal DSCP IE (56)

   2.  PCP Map List Response (ID)

          Client-ID IE (ID)


4.  Delete Operation

   In order to delete a mapping, Figure 5 illustrates the PCP messages
   exchange that occurs.  The following sub-sections describe various
   cases according to the IEs included by the PCP Client in the PCP Map
   Delete Request.













Boucadair, et al.       Expires December 17, 2010              [Page 24]


Internet-Draft              PCP Flow Examples                  June 2010


                +------+                           +------+
                | PCP  |                           | PCP  |
                |Client|                           |Server|
                +------+                           +------+
                    |   (1) PCP Map Delete Request    |
                    |-------------------------------->|
                    |   (2) PCP Map Delete Response   |
                    |<--------------------------------|
                    |                                 |


                         Figure 5: Delete mapping

4.1.  Delete All Mappings

   This example shows the PCP exchange that occurs in order to delete
   all mappings associated with a given PCP Client (subscriber).  The
   value of the transport protocol is positioned to "0" to indicate to
   the PCP Server that all mappings are to be deleted whatever their
   associated transport protocol.

   1.  PCP Map Delete Request

          Client-ID IE (ID)

          Transport Protocol IE (0)

   2.  PCP Map Delete Response (ID)

          Client-ID IE (ID)

4.2.  Delete all Mappings Associated with a Transport Protocol

   This example shows the PCP exchange that occurs in order to delete
   all mappings associated with a given PCP Client (subscriber) and a
   given transport protocol.

   1.  PCP Map Delete Request

          Client-ID IE (ID)

          Transport Protocol IE (1)

   2.  PCP Map Delete Response

          Client-ID IE (ID)





Boucadair, et al.       Expires December 17, 2010              [Page 25]


Internet-Draft              PCP Flow Examples                  June 2010


4.3.  Delete Mappings Associated with an IP Address

   This example shows the PCP exchange that occurs in order to delete
   all mappings associated with an internal IP address (same PCP
   Client).

   1.  PCP Map Delete Request

          Client-ID IE (ID)

          Transport Protocol IE (0)

          Internal IP Address IE (198.51.100.1)

   2.  PCP Map Delete Response

          Client-ID IE (ID)

4.4.  Delete all Mappings Associated with a Given Transport Protocol and
      IP Address

   This example shows the PCP exchange that occurs in order to delete
   all mappings associated with an internal IP address (same PCP Client)
   and a given transport protocol.

   1.  PCP Map Delete Request

          Client-ID IE (ID)

          Transport Protocol IE (2)

          Internal IP Address IE (198.51.100.1)

   2.  PCP Map Delete Response

          Client-ID IE (ID)

4.5.  Delete an Explicit Mapping

   This example shows the PCP exchange that occurs when requesting to
   delete all mappings associated with an internal IP address and a
   given transport protocol (same PCP Client).

   1.  PCP Map Delete Request

          Client-ID IE (ID)





Boucadair, et al.       Expires December 17, 2010              [Page 26]


Internet-Draft              PCP Flow Examples                  June 2010


          Transport Protocol IE (1)

          Internal Port Number IE (8759)

          Internal IP Address IE (198.51.100.1)

   2.  PCP Map Delete Response

          Client-ID IE (ID)

4.6.  Failed Delete Operation

   This example shows the PCP exchange that occurs when requesting to
   delete a mapping which does not exist in the server side.

   [[Note to the base PCP doc: Why not returning a PCP Error with an
   Error Code IE set to "this mapping does not exist".  Upon receipt of
   this message, the PCP Client updates its local states.  The current
   PCP base document states that a a response is sent back to the PCP
   Client asking to delete a mapping which does not exist.  The
   motivation is that a previous delete request has been sent by the PCP
   Client but the response from the PCP Server has been lost.]]

                +------+                           +------+
                | PCP  |                           | PCP  |
                |Client|                           |Server|
                +------+                           +------+
                    |   (1) PCP Map Delete Request    |
                    |-------------------------------->|
                    |  (2) PCP Map Delete Response    |
                    |<--------------------------------|
                    |                                 |


                  Figure 6: Error when deleting a mapping

   1.  PCP Map Delete Request

          Client-ID IE (ID)

          Transport Protocol IE (1)

          Internal Port Number IE (8759)

          Internal IP Address IE (198.51.100.1)






Boucadair, et al.       Expires December 17, 2010              [Page 27]


Internet-Draft              PCP Flow Examples                  June 2010


   2.  PCP Map Delete Response

          Client-ID IE (ID)


5.  Modify an Existing Mapping

   To update an existing mapping, the exchange illustrated in Figure 7
   is observed.

                +------+                           +------+
                | PCP  |                           | PCP  |
                |Client|                           |Server|
                +------+                           +------+
                    |   (1) PCP Map Refresh Request   |
                    |-------------------------------->|
                    |   (2) PCP Map Refresh Response  |
                    |<--------------------------------|
                    |                                 |
                TBC


                   Figure 7: Modify an existing mapping

5.1.  Change of the Client-ID

   The content of exchanged PCP messages is as follows:

   1.  PCP Map Refresh Request

          Client-ID IE (ID)

          New Client-ID IE (ID1)

   2.  PCP Map Refresh Response

          Client-ID IE (ID1)

5.2.  Change of the Internal IP Address

   The content of exchanged PCP messages is as follows:

   1.  PCP Map Refresh Request

          Client-ID IE (ID)

          New Internal IP Address (198.51.100.2)




Boucadair, et al.       Expires December 17, 2010              [Page 28]


Internet-Draft              PCP Flow Examples                  June 2010


   2.  PCP Map Refresh Response

          Client-ID IE (ID)


6.  Retrieve the External IP Address

6.1.  Retrieve the External IP Address

   In order to retrieve the IP address used on the external side of the
   PCP-controlled device (Figure 8), a PCP Client issues a PCP PING
   message.  Once received by the PCP Server, a PCP PONG message is sent
   by the PCP Server in return.  This message conveys only the External
   IP Address IE.  This IE includes the external IP address used by the
   PCP-controlled device for all outbound communications established by
   the subscriber.

   An External IP Address IE is included in the PCP PONG response only
   if the PCP PING message included an Internal IP Address IE.

                   +------+                      +------+
                   | PCP  |                      | PCP  |
                   |Client|                      |Server|
                   +------+                      +------+
                       |      (1) PCP PING           |
                       |---------------------------->|
                       |      (2) PCP PONG           |
                       |<----------------------------|
                       |                             |


    Figure 8: Flow Example of a PING/PONG exchange: Get the external IP
                                  address

   1.  PCP PING

          Client-ID IE (ID)

          Internal IP Address IE (198.51.100.1)

   2.  PCP PONG

          Client-ID IE (ID)

          Internal IP Address IE (198.51.100.1)

          External IP Address IE (192.0.2.1)




Boucadair, et al.       Expires December 17, 2010              [Page 29]


Internet-Draft              PCP Flow Examples                  June 2010


6.2.  Assess the Reachability of the PCP Server

   In this example, the PCP Client issues a PCP PING with no IEs to an
   IP address of a PCP Server.  Once received by the PCP Server, since
   it is configured to reply to such request, it sends back a PCP PONG
   including a Capability IE.

                   +------+                      +------+
                   | PCP  |                      | PCP  |
                   |Client|                      |Server|
                   +------+                      +------+
                       |      (1) PCP PING           |
                       |---------------------------->|
                       |      (2) PCP PONG           |
                       |<----------------------------|
                       |                             |


         Figure 9: Flow Example of a PING/PONG exchange: Check the
                      availability of the PCP Server

   1.  PCP PING

   2.  PCP PONG

          Capability IE


7.  Security Considerations

   This document does not define any protocol nor architecture.  No
   security issue is introduced in this document.


8.  IANA Considerations

   This document has no IANA actions.


9.  Acknowledgements

   Many thanks to C. Jacquenet for his review.


10.  Normative References

   [I-D.ietf-behave-v6v4-xlate-stateful]
              Bagnulo, M., Matthews, P., and I. Beijnum, "Stateful



Boucadair, et al.       Expires December 17, 2010              [Page 30]


Internet-Draft              PCP Flow Examples                  June 2010


              NAT64: Network Address and Protocol Translation from IPv6
              Clients to IPv4 Servers",
              draft-ietf-behave-v6v4-xlate-stateful-11 (work in
              progress), March 2010.

   [I-D.ietf-softwire-dual-stack-lite]
              Durand, A., Droms, R., Haberman, B., Woodyatt, J., Lee,
              Y., and R. Bush, "Dual-Stack Lite Broadband Deployments
              Following IPv4 Exhaustion",
              draft-ietf-softwire-dual-stack-lite-04 (work in progress),
              March 2010.

   [I-D.wing-softwire-port-control-protocol]
              Wing, D., Penno, R., and M. Boucadair, "Port Control
              Protocol (PCP)",
              draft-wing-softwire-port-control-protocol-01 (work in
              progress), March 2010.

   [RFC3849]  Huston, G., Lord, A., and P. Smith, "IPv6 Address Prefix
              Reserved for Documentation", RFC 3849, July 2004.

   [RFC5737]  Arkko, J., Cotton, M., and L. Vegoda, "IPv4 Address Blocks
              Reserved for Documentation", RFC 5737, January 2010.


Authors' Addresses

   Mohamed Boucadair
   France Telecom
   Rennes,   35000
   France

   Email: mohamed.boucadair@orange-ftgroup.com


   Reinaldo Penno
   Juniper Networks
   1194 N Mathilda Avenue
   Sunnyvale, California  94089
   USA

   Email: rpenno@juniper.net









Boucadair, et al.       Expires December 17, 2010              [Page 31]


Internet-Draft              PCP Flow Examples                  June 2010


   Dan Wing
   Cisco Systems, Inc.
   170 West Tasman Drive
   San Jose, California  95134
   USA

   Email: dwing@cisco.com












































Boucadair, et al.       Expires December 17, 2010              [Page 32]