PCP Deployment Models
draft-boucadair-pcp-deployment-cases-01
The information below is for an old version of the document.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Author | Mohamed Boucadair | ||
| Last updated | 2013-12-02 | ||
| Stream | (None) | ||
| Formats | plain text xml htmlized pdfized bibtex | ||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-boucadair-pcp-deployment-cases-01
PCP Working Group M. Boucadair
Internet-Draft France Telecom
Intended status: Informational December 02, 2013
Expires: June 5, 2014
PCP Deployment Models
draft-boucadair-pcp-deployment-cases-01
Abstract
This document lists a set of PCP deployment models.
Requirements Language
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 [RFC2119].
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 June 5, 2014.
Copyright Notice
Copyright (c) 2013 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
Boucadair Expires June 5, 2014 [Page 1]
Internet-Draft PCP Deployment Cases December 2013
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Single Homed CPE Model: Local PCP Server . . . . . . . . . . 2
4. Single Homed CPE Model: Multiple PCP Servers . . . . . . . . 3
5. Hide PCP Servers Model . . . . . . . . . . . . . . . . . . . 4
5.1. PCP Proxy Model . . . . . . . . . . . . . . . . . . . . . 4
5.2. HTTP-Triggered PCP Client Model . . . . . . . . . . . . . 5
6. Separated PCP Server & PCP-controlled Device Model . . . . . 6
7. Cascaded PCP-controlled Nodes Model . . . . . . . . . . . . . 6
7.1. Single Homed CPE Model: PCP Proxy Model . . . . . . . . . 8
7.2. UPnP IGD-PCP Interworking Model . . . . . . . . . . . . . 8
8. Multi-Homed CPE Model: One Single PCP Server . . . . . . . . 9
9. Multi-Homed CPE Model: Multiple PCP Servers . . . . . . . . . 10
10. Security Considerations . . . . . . . . . . . . . . . . . . . 10
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
13.1. Normative References . . . . . . . . . . . . . . . . . . 11
13.2. Informative References . . . . . . . . . . . . . . . . . 11
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction
This document lists a set of PCP [RFC6887] deployment models.
2. Terminology
This document makes use of the following terms:
o PCP server denotes a functional element that receives and
processes PCP requests from a PCP client. A PCP server can be co-
located with or be separated from the function (e.g., NAT,
Firewall) it controls. Refer to [RFC6887].
o PCP client denotes a PCP software instance responsible for issuing
PCP requests to a PCP server. Refer to [RFC6887].
3. Single Homed CPE Model: Local PCP Server
This model assumes PCP is enabled in the LAN side to control
functions located in the CPE. The PCP server is reachable with the
IP address of the private-faced interface.
Boucadair Expires June 5, 2014 [Page 2]
Internet-Draft PCP Deployment Cases December 2013
+-------------+
| PCP |
| Client |----+ ,-----------.
+-------------+ | +------------+ ,' `--.
+---| CPE | / :
| PCP server |_______; ISP |
+---| NAT+FW+.. | : |
+-------------+ | +------------+ \ |
| PCP |----+ -------------------.
| Client |
+-------------+
4. Single Homed CPE Model: Multiple PCP Servers
This model assumes a customer site is connected to the same ISP's
network. One or multiple PCP servers are deployed in the ISP's
domain; each of them manage distinct set of functions. In the
example shown in the following figure:
o NAT64 device are used to interwork with IPv4-only devices.
o NPTv6 function is used for engineering motivation internal to the
ISP.
+-------------+
| PCP |
| Client |----+ ,-----------.
+-------------+ | +------------+ ,' ISP `--.
+---| CPE | / :
| |________; NAT64 |
+---| | : |
+-------------+ | +------------+ \ NPTv6 |
| PCP |----+ ----------------.
| Client |
+-------------+
The use of NAT64 and NPTv6 is for illustration purposes; other
functions can be enabled.
PCP clients located behind the CPE, must discover both the external
IPv4 address and port numbers assigned by the NAT64 and the external
IPv6 address assigned by the NPTv6. These external addresses are
used for example in referrals to indicate to remote peers both the
IPv4 address and IPv6 address to reach an internal server deployed in
an IPv6-only domain.
Boucadair Expires June 5, 2014 [Page 3]
Internet-Draft PCP Deployment Cases December 2013
The use of a PCP anycast address ([I-D.ietf-pcp-anycast]) is not
recommended for this deployment case because two state entries must
be created in both NAT64 and NPTv6. Explicit means such as
[I-D.ietf-pcp-dhcp] must be used instead to provision IP addresses of
available PCP servers.
[I-D.ietf-pcp-dhcp] may be used to provision the IP addresses of
these PCP servers, or the CPE must embed a PCP proxy function that
must follow [I-D.ietf-pcp-server-selection] to contact all PCP
servers.
5. Hide PCP Servers Model
5.1. PCP Proxy Model
In order to hide PCP servers deployed within an administrative
domain, an administrative entity may decide to deploy in front of PCP
clients PCP Proxies [I-D.ietf-pcp-proxy] that are responsible for
relaying PCP requests to the appropriate PCP servers:
o In order to prevent single failure scenarios, multiple PCP proxies
can be hosted within an administrative domain.
o A PCP proxy can be configured with one or multiple PCP servers.
o Multiple PCP Proxies can be enabled; each of them manages a set of
PCP servers.
o A PCP proxy can be configured with the logic indicating how it
should proceed to contact upstream PCP servers. The PCP proxy
will then follow the procedure defined in
[I-D.ietf-pcp-server-selection] to contact those servers.
o Internal PCP clients may be configured with the IP address(es) of
the appropriate PCP proxy (e.g., [I-D.ietf-pcp-dhcp]).
* If all PCP Proxies interact with the same PCP server(s), the
same IP address can be provisioned to PCP clients.
* If PCP Proxies do not interact with the same set of PCP
server(s), appropriate IP address(es) are to be returned to
each requesting PCP client.
+------------------------------------+
| Administrative Domain |
+----------+ | +-------------------+ |
|PCP client|---|----| PCP proxy | |
+----------+ | +-------------------+ |
Boucadair Expires June 5, 2014 [Page 4]
Internet-Draft PCP Deployment Cases December 2013
| | | |
| | | |
| +------+------+ +-+------------+ |
| | PCP server | | PCP server | |
| +-------------+ +--------------+ |
+------------------------------------+
The use of anycast address ([I-D.ietf-pcp-anycast]) is not convenient
in this model if available PCP servers do not manage the same set of
state entries. Deterministic means should be used instead.
If the PCP proxy is reachable using the PCP anycast address,
available PCP servers must not be reachable using the same PCP
anycast address.
5.2. HTTP-Triggered PCP Client Model
Another deployment model to hide the identity of back-end PCP servers
is to relay on HTTP to invoke the PCP service. This model can also
be used by operators to accommodate cases where a PCP client
implementation is not available at the customer side (e.g., unmanaged
CPE model).
The deployment model relies on the following:
o An HTTP administration based interface is provided to the user to
create flow-bases forwarding rules.
o The HTTP GUI can be part of a CPE management interface or be
provided as part of the customer care portal.
o HTTP requests are translated into appropriate PCP requests in
order to install the requested state. The HTTP server embeds also
a PCP client.
o The PCP client uses THIRD_PARTY option.
o The PCP client should be configured with PCP server that controls
the on-path PCP-controlled device for that user.
o One or multiple PCP servers can be deployed. The logic of
contacting these PCP servers may also be explicitly configured.
The procedure defined in [I-D.ietf-pcp-server-selection] is used
to contact those servers.
Boucadair Expires June 5, 2014 [Page 5]
Internet-Draft PCP Deployment Cases December 2013
o The use of a well-known address ([I-D.ietf-pcp-anycast]) to reach
internal PCP servers is not be convenient if all PCP server do not
manage the same set of state entries (e.g., NAT64, NPTv6, IPv6
firewall, etc.).
+------------------------------------+
| Administrative Domain |
+----------+ | +----------------------+ |
| Host |---|----|HTTP Server+PCP client| |
+----------+ | +----------------------+ |
| | | |
| | | |
| +------+------+ +-+------------+ |
| | PCP server | | PCP server | |
| +-------------+ +--------------+ |
+------------------------------------+
6. Separated PCP Server & PCP-controlled Device Model
This model assumes the PCP server is not co-located with the PCP-
controlled device. Moreover:
o In order to prevent single failure scenarios, multiple PCP servers
can be hosted within an administrative domain.
o A PCP server can control one or many PCP-controlled devices.
o Multiple PCP servers can be enabled; each of them manages a set of
PCP-controlled devices.
o Internal PCP clients are configured with the IP address(es) of the
appropriate PCP server.
* If all PCP servers interact with the same PCP-controlled
devices., the same IP address can be provisioned to PCP
clients.
* If PCP servers do not interact with the same set of PCP-
controlled devices, appropriate IP address(es) are to be
returned to each requesting PCP client.
Note, PCP is not used as interface between the PCP server and the
PCP-controlled device. Other protocols (e.g., H.248) can be used for
that purpose.
7. Cascaded PCP-controlled Nodes Model
Boucadair Expires June 5, 2014 [Page 6]
Internet-Draft PCP Deployment Cases December 2013
This model assumes cascaded PCP-controlled devices are deployed. A
typical example is provided below.
,-----------.
PCP server ,' `--.
+-------+ +------+ +----------+ / :
|PCP |____|Home |______|ISP CPE |________; Public |
|Client | |Router| |NAT Router| : Internet |
+-------+ +------+ +----------+ \ |
\ ;
`------. ,-'
`-----'
,-----------.
PCP server ,' `--.
+-------+ +------+ +-------+ / :
|PCP |____|CPE |______|CGN/FW |___________; Public |
|Client | | | | | : Internet |
+-------+ +------+ +-------+ \ |
\ ;
`------. ,-'
`-----'
,-----------.
PCP proxy PCP server ,' `--.
+-------+ +------+ +-------+ / :
|PCP |____|CPE |_______________|CGN/FW |__; Public |
|Client | | | | | : Internet |
+-------+ +------+ +-------+ \ |
\ ;
`------. ,-'
`-----'
,-----------.
PCP server PCP server ,' `--.
+-------+ +------+ +-------+ / :
|PCP |____|CPE |_______________|CGN/FW |__; Public |
|Client | | | | | : Internet |
+-------+ +------+ +-------+ \ |
\ ;
`------. ,-'
`-----'
This model requires a PCP proxy function [I-D.ietf-pcp-proxy] be
deployed in intermediate PCP-controlled devices:
o The PCP client is not aware of the presence of more than one level
of PCP servers.
o Each intermediate PCP proxy must contact the appropriate next hop
PCP server.
Boucadair Expires June 5, 2014 [Page 7]
Internet-Draft PCP Deployment Cases December 2013
o Because of the statefull nature of PCP, the use of PCP anaycast
address may not be appropriate when the PCP server is co-located
with the PCP-controlled device.
7.1. Single Homed CPE Model: PCP Proxy Model
This model assumes no PCP-controlled function is located in the CPE
(e.g., DS-Lite case). The ultimate PCP server is located in ISP
side. The PCP server can be deduced from other provisioning
parameters (e.g., use the IP address of the AFTR as PCP server);
otherwise the IP address (s) must be discovered by other means.
The use of an anycast-based model may not be convenient in some cases
(e.g., multiple PCP-controlled devices are deployed; each of them
manage a subset of services and state).
+-------------+
| Host |
| |----+ ,-----------.
+-------------+ | +------------+ ,' `--.
+---| CPE | / ISP :
| PCP proxy |_____; PCP server 1 |
+---| PCP client | : PCP server i |
+-------------+ | +------------+ \ |
| PCP |----+ -------------------.
| Client |
+-------------+
7.2. UPnP IGD-PCP Interworking Model
This model is specified in [RFC6970]. The interworking function must
be provisioned with the IP address(es) of remote PCP server(s).
(a)
+-------------+
| IGD Control |
| Point |----+
+-------------+ | +-----+ +--------+ +------+
+---| IGD-| |Provider| |Remote|
| PCP |--| NAT |--<Internet>---| Host |
+---| IWF | | | | |
+-------------+ | +-----+ +--------+ +------+
| Local Host |----+
+-------------+
LAN Side External Side
<======UPnP IGD==============><=====PCP=====>
Boucadair Expires June 5, 2014 [Page 8]
Internet-Draft PCP Deployment Cases December 2013
(b)
+-------------+
| IGD Control |
| Point |----+
+-------------+ | +-----+ +--------+ +------+
+---| IGD-| |Provider| |Remote|
| PCP |--| NAT |--<Internet>---| Host |
+---| IWF | | | | |
+-------------+ | +-----+ +--------+ +------+
| Local Host |----+ NAT1 NAT2
+-------------+
8. Multi-Homed CPE Model: One Single PCP Server
A typical example of this model is shown in the following figure:
====================
| Internet |
=====================
| |
| |
+----+--------+ +-+------------+
| ISP1 | | ISP2 |
| | | |
+----+--------+ +-+------------+
| |
| |
..............................................................
| |
| Port1 | Port2 Subscriber Network
| |
+----------------------+
| NAT & PCP servers |
| GW Router |
+----+-----------------+
|
|
|
-----+--------------
|
+-+-----+
| Hosts | (private address space)
+-------+
Internal PCP clients can interact with one single PCP server.
Boucadair Expires June 5, 2014 [Page 9]
Internet-Draft PCP Deployment Cases December 2013
9. Multi-Homed CPE Model: Multiple PCP Servers
A typical example of this model is shown in the following figure:
==================
| Internet |
==================
| |
| |
+----+-+ +-+----+
| ISP1 | | ISP2 |
+----+-+ +-+----+
| |
.........................................................
| |
| | Subscriber Network
+-------+---+ +----+------+
| rtr1 with | | rtr2 with |
| FW1 | | FW2 |
+-------+---+ +----+------+
| |
| |
| |
-------+----------+------
|
+-+-----+
| Hosts |
+-------+
The PCP client must interact with all PCP servers; otherwise
complications arise to communicate with remote peers. The procedure
defined in [I-D.ietf-pcp-server-selection] is used to contact those
servers.
The use of anycast-based model ([I-D.ietf-pcp-anycast]) will induce
failures in communicating with external peers (e.g., incoming packets
will be dropped by one of the firewalls).
10. Security Considerations
PCP-related security considerations are discussed in [RFC6887].
11. IANA Considerations
This document does not require any action from IANA.
12. Acknowledgements
Boucadair Expires June 5, 2014 [Page 10]
Internet-Draft PCP Deployment Cases December 2013
TBC.
13. References
13.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC6887] Wing, D., Cheshire, S., Boucadair, M., Penno, R., and P.
Selkirk, "Port Control Protocol (PCP)", RFC 6887, April
2013.
13.2. Informative References
[I-D.ietf-pcp-anycast]
Kiesel, S., Penno, R., and S. Cheshire, "PCP Anycast
Address", draft-ietf-pcp-anycast-00 (work in progress),
October 2013.
[I-D.ietf-pcp-dhcp]
Boucadair, M., Penno, R., and D. Wing, "DHCP Options for
the Port Control Protocol (PCP)", draft-ietf-pcp-dhcp-09
(work in progress), November 2013.
[I-D.ietf-pcp-proxy]
Boucadair, M., Penno, R., and D. Wing, "Port Control
Protocol (PCP) Proxy Function", draft-ietf-pcp-proxy-04
(work in progress), July 2013.
[I-D.ietf-pcp-server-selection]
Boucadair, M., Penno, R., Wing, D., Patil, P., and T.
Reddy, "PCP Server Selection", draft-ietf-pcp-server-
selection-01 (work in progress), May 2013.
[RFC6970] Boucadair, M., Penno, R., and D. Wing, "Universal Plug and
Play (UPnP) Internet Gateway Device - Port Control
Protocol Interworking Function (IGD-PCP IWF)", RFC 6970,
July 2013.
Author's Address
Mohamed Boucadair
France Telecom
Rennes 35000
France
Email: mohamed.boucadair@orange.com
Boucadair Expires June 5, 2014 [Page 11]