<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced.
     An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5693 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-pularikkal-virtual-cpe-01" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN"
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the
         full title is longer than 39 characters -->

    <title abbrev="Virtual CPE Deployment Considerations">Virtual CPE Deployment Considerations</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->
    <author fullname="Byju Pularikkal" initials="B.P" surname="Pularikkal">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>170 West Tasman Drive</street>

          <!-- Reorder these if your country does things differently -->

          <city>San Jose</city>

          <region/>

          <code/>

          <country>United States</country>
        </postal>

        <phone/>

        <email>byjupg@cisco.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
    <author fullname="Qiao Fu" initials="Q.F" surname="Fu">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street>Xuanwumenxi Ave. No.32</street>

          <!-- Reorder these if your country does things differently -->

          <city>Beijing</city>

          <region/>

          <code/>

          <country>China</country>
        </postal>

        <phone/>

        <email>fuqiao1@outlook.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>




        <author fullname="Hui Deng" initials="H.D" surname="Deng">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street>Xuanwumenxi Ave. No.32</street>

          <!-- Reorder these if your country does things differently -->

          <city>Beijing</city>

          <region/>

          <code/>

          <country>China</country>
        </postal>

        <phone/>

        <email>denghui@chinamobile.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>


    <author fullname="Ganesh Sundaram" initials="G.S" surname="Sundaram">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>170 West Tasman Drive</street>

          <!-- Reorder these if your country does things differently -->

          <city>San Jose</city>

          <region/>

          <code/>

          <country>United States</country>
        </postal>

        <phone/>

        <email>gsundara@cisco.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>



    <author fullname="Sri Gundavelli" initials="S.G" surname="Gundavelli">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>170 West Tasman Drive</street>

          <!-- Reorder these if your country does things differently -->

          <city>San Jose</city>

          <region/>

          <code/>

          <country>United States</country>
        </postal>

        <phone/>

        <email>sgundave@cisco.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>






    <date month="July" year="2016"/>

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill
         in the current day for you. If only the current year is specified, xml2rfc will fill
	 in the current day and month for you. If the year is not the current one, it is
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>APP</area>

    <workgroup>Internet Engineering Task Force</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <!---->

    <abstract>
      <t>Broadband Service Provider Industry has been gearing towards the adoption
      of Virtual CPE (vCPE) solutions. The concept of vCPE is build around the idea
      that the physical CPE device at the customer premises can be simplified by
      moving some of the key feature functionalities from the physical CPE device
      to the Service Provider Network. This document starts discussing the drivers
      behind vCPE adoption followed by Solution level requirements. Two key
      Architecture models for vCPE, which can address the service provider and
      subscriber requirements, are covered in this reference document. Document
      also touches up on some of the key deployment considerations, which can
      influence the adoption of the vCPE architecture models.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>Broadband Service Providers are constantly looking for opportunities to
      generate additional revenue streams from their existing broadband
      infrastructure.  In order to achieve this, new value added services need
      to be created for the end customers. Customer retention is another key focus
      area for broadband subscribers, where they have been facing competition from
      Internet content providers on home multi-media services such as broadcast
      video, video on demand and voice. There is a need to improve the overall end
      user experience on an ongoing basis to reduce the subscriber churn. In order
      to achieve these business goals, Broadband Service Providers are starting to
      consider the deployment of Virtual CPE based Architectures. There are several
      factors, which are driving the adoption of vCPE-based solutions. Also the
      recent technological advancements in cloud computing and software defined
      networking are expected to further accelerate the adoption vCPE based
      architectures.</t>

      <t>The key aspect of the vCPE solutions is the simplification of the physical
      CPE device. Such a simplification allows minimizing the feature dependency on
      CPE vendors for the roll out of new service offerings. Also it reduces the
      complexities around service provisioning, Service Upgrade Troubleshooting etc.
      There are multiple architecture options being considered by the industry for
      vCPE solutions.</t>

      <t>Objective of this draft is to serve as a reference material for Broadband
      Service Operators who are interested in migrating to vCPE based architectures.
      The document starts with going over some of the key drivers for vCPE solution
      adoption. Also it covers typical solution level requirements, which needs to
      be considered while selecting the right architecture models. Document also
      touches up on some of the key deployment considerations, which can influence
      the adoption of the vCPE architecture models.</t>


      </section>

    <section title="Terminology">
      <t>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 <xref
      target="RFC2119"/>.</t>
    </section>


    <section title="Solution Requirements for vCPE">

      <t>This section provides a high level summary of solution requirements, which
        needs to be addressed by Virtual Connected Home Architecture Models. The
        solution requirements can be broadly classified under the following
        categories:</t>

     	<t>(1) Subscriber side requirements: Subscriber in the context of this documentation
      refers to a homeowner with Broadband connection. These requirements primarily
      map to the end user experience for a home subscriber in terms of connectivity,
      quality of experience and value added services. </t>

     	<t>(2) Broadband Operator side requirements: Operator is the broadband service
      provider such as Cable MSOs, DSL providers etc. These requirements primarily
      maps to the business aspects which needs to be covered in the solution in terms
      of CAPEX, OPEX reduction, service velocity, new revenue generation opportunities
      etc.</t>

     	<t>High level requirements under the above two categories are summarised in
      the table below:</t>



   	  <figure anchor="fig5.arch" title="VCPE Requirements">
        <artwork align="center"><![CDATA[
          +---------------------------------------------------------+
          | Subscriber Side Requirements |Operator Side requirements|
          +---------------------------------------------------------+
          |1) Private Home Network       | 1) Service Velocity      |
          |2) Zero Touch Provisioning    | 2) Simplified CPE        |
          |3) Local Bridging             | 3) Per UE Visibility     |
          |4) Local Routing              | 4) Community Wi-Fi       |
          |5) NAT, FW, IDS, Parental     | 5) IP Address Persistence|
          |Control                       | 6) UE Attachment/        |
          |6) Home Network Analytics     | Detachment detction      |
          |7) Self Service Portal        | 7)Usage based billing    |
          |8) Dynamic IP address         | 8)Quality of Service     |
          |Assignment                    | 9) NAT Traversal         |
          |9) Home Network Remote Access |                          |
          |                              |                          |
          +------------------------------+--------------------------+


]]></artwork>
      </figure>


    </section>

   <section title="Architecture Models for vCPE">

      <t>In this document three different architecture models are covered for the Virtual
      CPE based solutions. This section starts with a definition of what represents a
      virtual CPE and then gets into the details of the Architecture options, which
      are available for the implementation of the same.</t>



      <section title="Virtual CPE Definition ">

      <t>A virtual CPE (vCPE) is a logical representation of classical CPE functions
      performed by a physical CPE device. In other words, business logic and feature
      functionalities which are traditionally embedded in a CPE device is separated
      from the hardware device and runs in the Service Providers cloud. Concepts of
      vCPE has basis on the Network Function Virtualization. The business logic and
      feature functionalities of a CPE device are virtualized and runs as NFV in the
      cloud. Each simplified physical CPE would have a corresponding virtual CPE
      function running in the cloud. There are several ways to realize this vCPE
      instance in the cloud. One approach is to have separate vCPE instance running
      as a Linux container or micro-VM corresponding to each physical CPE instance.
      The vCPE may also be implemented as a representational state on aggregation
      platforms such as broadband network gateways (BNGs). A third approach may rely
      on a combination of the BNG representational state and Service function chaining
      to represent the vCPE instance in the cloud.  These Architecture models are
      covered in the subsequent sub-sections. </t>
      </section>

      <section title="Virtual CPE Architecture Model-01">

      <t>This model is build around the concept of separate virtualized instance per
      physical CPE device. In this model Virtual CPE instance handles the control plane
      as well as the data plane. Each micro VM represents an NFV element of CPE with
      integrated control and data plane. All feature functionalities get implemented
      on the NFV element itself. This model does not leverage the dynamic service
      function chaining capabilities.</t>

   <t>A high level Architecture view of this model is provided in figure-below:</t>

   <figure anchor="fig1.arch" title="VCPE deployment model-01">
       <artwork align="left"><![CDATA[

                      +
                      |
                      |                       COMPUTE PLATFORM
                      |               +--------------------------------+
          +--------+  |               |         VXLAN 01     +-------+ |
          |PCPE 01 +-------+          |     +----------------+VCPE 01| |
          +--------+  |    | EoGRE /  |     |                +-------+ |
                      |    | PMIPV6   | +--------+                     |
                      |    +------------+VSWITCH |              +      |
                      |    +------------+        |              |      |
                      |    | EoGRE /  | +--------+              +      |
                      |    | PMIPV6   |   | |                          |
          +--------+  |    |          |   | |    VXLAN 0N    +-------+ |
          |PCPE 0N +-------+          |   | +----------------+VCPE 0N| |
          +--------+  |               |   |                  +-------+ |
                      |               +--------------------------------+
                      |                   |
                      |                   |
                      |                   |
                      |                  XXXX
                      +                XXX   XXX
                                      XX       XX
              Broadband Access       XX         XX
                  Network            X           X
                                     X Internet  X
                                     X           X
                                     XX         XX
                                      XXX     XXX
                                        XXXXXXX
                                          X




]]></artwork>
     </figure>


      <t>P-CPE device performs just the bridging function where the layer-2 traffic
      between directly connected devices will be simply bridged by the P-CPE. Any
      layer-3 traffic will be transparently forwarded to the cloud over the tunnel.</t>

      <t>In this model all the key cloud based components run on virtualized platforms.
      These virtual components are deployed on standalone virtual platforms rather
      than on large scale virtual DC of Service providers. Therefore, the tunnel
      will be terminated on the vSwitch rather than a tunnel termination GW located
      at the boarder of the DC. An implementation could leverage either a vendor
      specific vSwitch or an Open vSwitch. </t>

      <t>Tunnel end points are uniquely identified with the IP address of the P-CPE.
      The vSwitch maps the de-encapsulated traffic from the tunnels to unique VXLANs
      and will forward to the corresponding Micro VM instances. Micro VM instances
      will be responsible for supporting the key functions traditionally performed
      on physical CPE devices. After the feature processing, V-CPE instance will
      send the traffic back to the v-Switch over VXLAN tunnels and vSwitch will
      forward it to external network.  </t>


      </section>


      <section title="Virtual CPE Architecture Model-02">
      <t>In this model vCPE in the cloud is corresponding to each physical CPE is
      realized by a representational state on a tunnel aggregation platform such
      as BNG. A provisioned physical CPE in run state is expected to have at least
      one tunnel established between the physical CPE and the BNG. As long as the
      PCPE is in run state there will be a CPE session on the BNG which
      represents the CPE itself. Some of the key CPE features will be running on
      the BNG while supplementary features and services can be deployed using
      dynamic service function chaining functions. </t>

      <t>A high level Architecture view of this mode2 is provided in figure-below:</t>

      <figure anchor="fig6.arch" title="VCPE deployment model-02">
          <artwork align="left"><![CDATA[

            +-----------------------+
    +-------+                       +---------------------+
    |       |Policy Infrastructure  |                     |
    |       +----------------+------+                     |
    |                        |                            |
    |                        |                            |
    |                        |                    SFC Framework
    |                 +---------------+        +----------v-----------+
    |                 | +----------+  |        |                      |
    |        +        | | VCPE 01  |  |        | +-----+      +-----+ |
    |        |        | | Session  |  |        | |SF011| +--+ |SF01N| |
+---v----+   |        | |  State   |  | +---+  | +-----+      +-----+ |
|PCPE 01 +------------+ +----------+  |        |                      |
+--------+   |        |               |        |    +            +    |
             |        |      +        |        |    |            |    |
             |        |      |        |        |    |            |    |
             |        |      +        |        |    |            |    |
             |        |               |        |    |            |    |
+--------+   |        |  +---------+  |        |    +            +    |
|PCPE 0N +------------+  |VCPE 0N  |  |        |                      |
+--------+   |        |  |Session  |  | +---+  | +-----+      +-----+ |
             |        |  |State    |  |        | |SF0N1|      |SF0NN| |
             |        |  +---------+  |        | +-----+      +-----+ |
             +        +---------------+        +-----------+----------+
                                                           |
    Broadband Access                                      XXXX
        Network                                         XXX   XXX
                                                      XXX        XX
                                                     XX            X
                                                     X             XX
                                                    X   Internet    X
                                                    X              XX
                                                    XX             X
                                                     XX          XX
                                                      XX       XXX
                                                       XX     XX
                                                        XXXXXXX

         ]]></artwork>
              </figure>

      <t>In this model as well, P-CPE device performs just the bridging function
      where the layer-2 traffic between directly connected devices will be simply
      bridged by the P-CPE. Any layer-3 traffic will be transparently forwarded
      to the BNG over the tunnel. </t>

      <t>There is no need for pre-configuration of the tunnels on BNG. When a P-CPE
      device become active and gets provisioned it will try to establish an EoGRE
      tunnel session with V-CPE. Up on detecting a new P-CPE end point, the BNG
      would invoke an authorization process for the tunnel end point. It is up to
      the implementation to decide whether an out of band authentication mechanism
      is required before establishing v-CPE state on the BNG. If the access network
      is untrusted, the service provider may decide to overlay the EoGRE tunnel
      with IPSec encapsulation.  </t>

      <t>BNG will need to uniquely tag the subscriber flows before forwarding to
      the SFC framework. This can be accomplished by using some scalable tagging
      mechanisms such as VXLAN.</t>

      </section>


      <section title="Virtual CPE Architecture Model-03">
      <t>This is similar to model-02 but leverages split architecture for control plane
      and data plane for the BNG. This model introduces the concept of a BNG controller,
      which essentially carries out the control plane functions. Data plane component
      of the BNG can be a purpose built hardware optimized for scaleable tunnel
      termination, data encryption and data forwarding. Control plane intelligence
      of each vCPE resides as a session state on the BNG controller and the data
      plane intelligence including tunnel termination of each vCPE resides on the
      BNG-DP system. BNG-CP will leverage the FPC (Forwarding Policy Configuration)
      interface which is being defined in the DMM working group to instruct the
      BNG-DP system to establish V-CPE DP states with relevant configuration.Role
      of FPC interface in this solution is described in the sub-section below. In
      this model, all basic and supplementary subscriber features will be implemented
      using a dynamic service function-chaining framework. </t>

      <t>A high level Architecture view of this mode3 is provided in figure-below:</t>


      <figure anchor="fig7.arch" title="VCPE deployment model-03">
          <artwork align="left"><![CDATA[

            +----------------------+
            |Policy Infrastructure +--+---------------+
            +----------------------+  |               |
                            BNG CP    |               |
                           +-------------+            |
                           | +---------+ |            |         XXX
                           | | VCPE 01 | |            |        XX  XX
                           | |CP State | |            |       XX    XX
                           | +---------+ |            |      XX      X
                           |             |            |      X       XX
                           |      +      |            |      X        X
                           |      +      |            |      XInternetX
                           |             |            |      X        X
                           | +---------+ |            |      X       X
                           | | VCPE 0N | |            |      XX      X
                           | |CP State | |            |       XX    XX
                           | +---------+ |            |        XX  X
                  +        +-------------+            |         X+X
                  |               |  FPC              |          |
                  |               |  Interface        |          |
                  |               ^                   |          |
                  |        +-------------+        +--------------+-------+
                  |EOGRE/  | +---------+ |        | +----+        +----+ |
      +---------+ |PMIPV6  | |  VCPE 01| |   +-+  | |SF  |  +--+  |SF  | |
      | PCPE 01 +----------+ | DP State| |        | +----+        +----+ |
      +---------+ |        | +---------+ |        |                      |
                  |        |             |        |    +            +    |
           +      |        |      +      |        |    |            |    |
           +      |        |      +      |        |    |            |    |
                  |        |             |        |    +            +    |
      +---------+ |        | +---------+ |        |                      |
      | PCPE 0N +----------+ |VCPE 0N  | |        | +----+        +----+ |
      +---------+ |        | |DP State | |   +-+  | |SF  |  +--+  |SF  | |
                  |        | +---------+ |        | +----+        +----+ |
                  |        +-------------+        +----------------------+
                  |            BNG-DP                    SFC Framework
                  |
                  |
                  |
                  +
          Broadband Access
             Network



 ]]></artwork>
     </figure>

 <section title="Forwarding Policy Configuration (FPC)  Interface">

 <t>FPC Protocol interface defined in the DMM working group enables DMM use cases
 with Control Plane and data plane separation. In vCPE solution model-03, FPC
 protocol is applied to the interface between BNG-CP and BNG-DP. FPC interface consists
 of a client function which resides on the Control Plane System (BNG-CP in this
 case) and an agent function which resides on the Data Plane System (BNG-DP in this
 case). FPC defines a standard set of protocol semantics to exchange configuration
 information from the client to the agent. Agent processes the protocol semantics
 and translates them into configuration commands as per BNG-DP system technology.
 FPC client function residing on BNG-CP device will leverage FPC Protocol semantics
 to provision activate or  deactivate the V-CPE DP states on BNG-DP with desired
 features.</t>

 <t>Some of the FPC attributes needed for vCPE implementation are listed in the
 tables below:</t>

 <figure anchor="fig8.arch" title="FPC Attributes needed for vCPE Model-03">
     <artwork align="left"><![CDATA[
       +----------------------------------------------------------------+
       |  Attribute  |        Description            |   Availability   |
       +----------------------------------------------------------------+
       | PROP_TUN    | Tunnel Encapsulation Type     | Defined in FPC   |
       +----------------------------------------------------------------+
       | PROP_GW     | Default Gateway IP Address    | Defined in FPC   |
       |             | for client traffic            |                  |
       +----------------------------------------------------------------+
       | PROP_NSH    | Add NSH Header                | Defined in FPC   |
       +----------------------------------------------------------------+
       | PROP_PUNT   | Default next hop for unknown  | Not in FPC Draft |
       |             | traffic class                 |                  |
       +----------------------------------------------------------------+
       | PROP_L2PASS | Layer 2 passthrough for the   | Not in FPC Draft |
       |             | matching traffic              |                  |
       +----------------------------------------------------------------+
       | PROP_QOS_GBR| Guaranteed bit rate for a port| Defined in FPC   |
       |             | or port group                 |                  |
       +----------------------------------------------------------------+
       | PROP_QOS_MBR| Maximum bit rate for a port   | Defined in FPC   |
       |             | or port group                 |                  |
       +----------------------------------------------------------------+
       | PROP_DROP   | Drop the IP packet            | Defined in FPC   |
       +----------------------------------------------------------------+
       | PROP_DROP_L2| Drop the layer 2 packet       | Not in FPC Draft |
       +----------------------------------------------------------------+



 ]]></artwork>
     </figure>

     <t>Attributed listed in the table above just represents a sample list. The
     complete list of attributes will be defined in a companion draft. </t>

      </section>
      </section>
      </section>


 <section title="Deployment Considerations for vCPE">

 <t>This section at a high level touches up on some of the key deployment
 charecteristics which needs to be considered while selecting the right vCPE
 architecure</t>

 <section title="Multi-tenancy">
  <t>vCPE represents the abstraction of key functions and features typically
  performed by classical device into service provider cloud. In order for such a
  solution to be operationally feasible and profitable, it is important for vCPE
  architecture to support multi-tenancy. This multi tenancy support needs to
  scale of the order of hundreds of thousands. From the context of vCPE deployments,
  the multi-tenancy refers to the logical separation of vCPE instances, which are
  housed in a common backend infrastructure. This backend infrastructure could
  consist of virtual elements on a compute platform or physical networking
  components. It could very well be a combination of virtual and physical
  components in the service provider cloud. Few of the key areas where multi-tenancy
  model will have an implication on the operational efficiency of the solution are
  listed below: </t>

  <t>Overlapping IP addressing: Typically home networks are configured with RFC 1918
  private address space 192.168.0.0/24. A vCPE solution, which deals with IP address
  management of the private home network, must support address overlap for these
  private home subnets.   </t>

  <t>Tunnel scale: Tunnel termination points in the service provider must support
  tunnel scale of the order of hundreds of thousands. A vCPE implementation must
  implement some form of unique tunnel id per physical CPE to support saleable
  multi-tenancy for tunnel termination.  </t>

  <t>Overlapping SSID naming: vCPE framework must be flexible enough to allow home
  subscribers to configure private SSID names of their choice. Possibility of
  overlapping SSID names cannot be ruled out as subscribers randomly decide up on
  their private SSID names. Multi-tenancy solution for a vCPE framework must
  take into consideration this.  </t>

 </section>

<section title="Tunneling">
  <t>In a vCPE solution, the end subscriber data must be tunneled from the physical
  CPE towards the vCPE instance in the cloud. Typical home broadband deployments
  may have community Wi-Fi SSID enabled in addition to subscribers private home
  SSID. For such cases, the tunnel must be capable of carrying both private and
  community Wi-Fi SSID traffic in a secured manner. Today there are various tunneling
  methods being used for community Wi-Fi deployments. Two of the most common
  tunneling methods in use are EoGRE and PMIPv6. EoGRE is a layer-2 tunneling
  technology and it does not have a control plane of its own. PMIPv6 is a layer-3
  tunneling technology with a well-defined control plane for tunnel management and
  session management. Either of these tunneling options can be leveraged to carry
  the private SSID traffic from the home towards the cloud-based vCPE. And both
  are capable of carrying community Wi-Fi and private home SSID  traffic. The choice
  of the tunneling technology may be influenced by various factors such as
  simplicity, need for IP address persistence with client roaming, layer-2 forwarding
  in the data plane to the cloud as opposed to layer-3 forwarding etc.</t>

</section>

<section title="Security">
  <t>The classical home broadband deployments based up on intelligent physical CPE
  devices typically provide data privacy and security for the end subscriber content
  as it gets carried over the access network. A security framework for a vCPE
  network has to account for the following key aspects: </t>

  <t>Subscriber Authentication</t>
  <t>Protection against spoofing attacks</t>
  <t>Data privacy </t>
  <t>Prevention of eaves dropping between subscribers</t>

  <t>Security considerations go hand in hand with multi-tenancy requirements as data
  and meta data from multiple subscribers will be handled by the backend systems.</t>

  </section>

  <section title="Dynamic Service Chaining">
  <t>One of the key motivation behind a cloud based connected home solution is to
  find additional revenue generation opportunities through rapid deployment of new
  services. The implementation of these new services requires a combination of
  system and network level functions to be applied to the end user traffic flows.
  Some of these functions may be enabled, by leveraging system level features on
  the CPE Device Anchor. But in many cases, it makes more sense to offload the
  feature processing to network function elements, which are external to the CPE
  Device Anchor (CDA).</t>

  <t>Service function chaining (SFC) refers to a collection of network elements
  connected in a serialized fashion through which a traffic flow will be diverted
  prior to forwarding to the intended destination. Traditionally these service
  chains are hard connected there by causing challenges around flexibility and
  scale.</t>

  <t>With dynamic service function chaining approach, the network elements, which
  perform various service functions, are arranged in grid model. Logical
  connectivity is established on a per traffic flow basis between the network
  elements to establish SFC pipeline for a qualified traffic flow. Dynamic SFC
  addresses the scale and flexibility limitations of the traditional chaining model.
  A vCPE solution must support the deployment of dynamic service function chaining.</t>

  </section>

  <section title="NAT Traversal">
  <t>Some vCPE deployments may leverage third party access networks and offer the
  solution as an overlay. In such cases, there may be requirement to bring up P-CPE
  behind a NAT router. The vCPE service provider may not have direct control over
  the NAT router, which is managed by the access network provider. In such cases,
  a tunnel transport mode, which can traverse NAT, needs to be selected.</t>

  <t>EoGRE tunnels do not support NAT traversal, since there is no UDP layer in
  the encapsulation header. PMIPv6 can support NAT traversal if the right data
  encapsulation option is selected. If a layer tunneling technology is desired for
  the implementation where NAT traversal is a requirement, then tunnel transport
  mechanisms such as L2TPV3 may be explored. </t>
  </section>

 </section>


    <section title="Conclusion">
    	<t>In this document, the concept of VCPE is illustrated in detail. The basic
    	concept of VCPE is to shift the complicated functions from the pCPE at the
    	customer side to the VCPE at the service provider side. The motivation of
    	such shifting can be concluded as providing quick launched customer defined
    	services, reducing the Capex and Opex of the pCPE, and simlify the maintainance
    	of both pCPE and VCPE. A use cases of community Wi-Fi is proposed for VCPE,
    	which is a typical scenario for DMM. Three models are then discussed for the
    	field deployment of VCPE. And CP/DP interface is suggested to be utilized in
    	the deployment models.</t>

    		</section>


    <!-- This PI places the pagebreak correctly (before the section title) in the text output. -->

    <?rfc needLines="8" ?>

    <!-- Possibly a 'Contributors' section ... -->
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. -->

      <?rfc include='http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'?>







      <!-- A reference written by by an organization not a person. -->
    </references>

    <!-- -->
  </back>
</rfc>
