<?xml version="1.0" encoding="UTF-8"?>
<!-- This is built from a template for a generic Internet Draft. Suggestions for
     improvement welcome - write to Brian Carpenter, brian.e.carpenter @ gmail.com -->
<!-- This can be converted using the Web service at http://xml.resource.org/experimental.html
     (which supports the latest, sometimes undocumented and under-tested, features.) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">[
<!ENTITY I-D.ietf-i2rs-yang-network-topo SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-i2rs-yang-network-topo.xml">
<!ENTITY I-D.zhuang-i2rs-yang-dc-fabric-network-topology "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.zhuang-i2rs-yang-dc-fabric-network-topology.xml">
 <!ENTITY I-D.ietf-i2rs-usecase-reqs-summary SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-i2rs-usecase-reqs-summary.xml">
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
]>     
<?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-cuspdt-rtgwg-cu-separation-infor-model-01" ipr="trust200902">

 <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="Infor Model for CU separation">
Information Model of Control-Plane and User-Plane separation BNG
  </title>
  <author fullname="Shujun Hu" initials="S." surname="Hu">
      <organization>China Mobile</organization>
	  <address>
        <postal>
          <street>32 Xuanwumen West Ave, Xicheng District</street>

          <city>Beijing</city>

          <region>Beijing</region>

          <code>100053</code>

          <country>China</country>
        </postal>

        <email>hushujun@chinamobile.com</email>
      </address>
  </author>

  <author initials="M" role="editor" surname="Wang" fullname="Michael Wang">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>

          <city>Nanjing</city>

          <region>Jiangsu</region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <email>wangzitao@huawei.com</email>
      </address>
  </author>
	
  <author fullname="Victor Lopez" initials="Victor." surname="Lopez">
      <organization>Telefonica</organization>
      <address>
        <postal>
          <street>Sur 3 building, 3rd floor, 
		  Ronda de la Comunicación s/n</street>

          <city>Madrid</city>

          <code>28050</code>

          <country>Spain</country>
        </postal>	  
        <email>victor.lopezalvarez@telefonica.com</email>
      </address>
  </author>
  
  <author fullname="Fengwei Qin" initials="F." surname="Qin">
      <organization>China Mobile</organization>
	  <address>
        <postal>
          <street>32 Xuanwumen West Ave, Xicheng District</street>

          <city>Beijing</city>

          <region>Beijing</region>

          <code>100053</code>

          <country>China</country>
        </postal>

        <email>qinfengwei@chinamobile.com</email>
      </address>
  </author>  
  <author fullname="Zhenqiang Li" initials="Z." surname="Li">
      <organization>China Mobile</organization>
	  <address>
        <postal>
          <street>32 Xuanwumen West Ave, Xicheng District</street>

          <city>Beijing</city>

          <region>Beijing</region>

          <code>100053</code>

          <country>China</country>
        </postal>

        <email>lizhenqiang@chinamobile.com</email>
      </address>
  </author>  
  
  
  <date month="June" year="2018"></date>
  <!-- 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>RTG Area</area>
  <workgroup>rtgwg</workgroup>

  <abstract>
    <t>To improve network resource utilization and reduce the operation expense, 
    	the Control-Plane and User-Plane separation conception is raised [TR-384]. 
    	This document describes the information model for the interface between Control-Plane and User-Plane 
    	separation BNG.  This information model may involve both control channel interface and configuration 
    	channel interface.  The interface for control channel allows the Control-Plane to send several flow tables 
    	to the User-Plane, such as user’s information table, user’s interface table, and user’s QoS table, etc. 
    	And it also allows the User-Plane to report the resources and statistics information to the Control-Plane. 
    	The interface for configuration channel is in charge of the version negotiation of protocols between 
    	the Control-Plane and User-Plane, the configuration for devices of Control-Plane and User-Plane, 
    	and the reports of User-Plane's capabilities, etc. The information model defined in this document 
    	enables defining a standardized data model. Such a data model can be used to define an interface to 
    	the CU separation BNG. </t>
  </abstract>

 </front>

 <middle>

  <!-- BEGIN 1. Introduction -->
  <section title="Introduction">
<t>The rapid development of new services, such as 4K, IoT, etc, 
and increasing numbers of home broadband service users
present some new challenges for BNGs such as: 
   <list style="none">
	<t>Low resource utilization: The traditional BNG acts
as both a gateway for user access authentication and
accounting and an IP network's Layer 3 edge. The
mutually affecting nature of the tightly coupled control plane
and forwarding plane makes it difficult to achieve the
maximum performance of either plane.</t> 
	<t>Complex management and maintenance: Due to the
large numbers of traditional BNGs, a network must have
each device configured one at a time when deploying
global service policies. As the network expands and
new services are introduced, this deployment mode
will cease to be feasible as it is unable to manage
services effectively and rectify faults rapidly.</t>
	<t>Slow service provisioning: The coupling of control plane
and forwarding plane, in addition to a distributed network
control mechanism, means that any new technology
has to rely heavily on the existing network devices.
</t>
   </list>
</t>
<t>To address these challenges, cloud-based BNG with CU separation conception is 
	raised [TR-384], <xref target="I-D.cuspdt-rtgwg-cu-separation-bng-deployment"/>. The main idea of Control-Plane 
	and User-Plane separation method is to extract and centralize the user management 
	functions of multiple BNG devices, forming an unified and centralized control plane (CP). 
	And the traditional router’s Control Plane and Forwarding Plane are both preserved 
	on BNG devices in the form of a user plane (UP). </t>
<t>This document describes an information model for the interface between Control-Plane and 
	User-Plane separation BNG.  This information model may involve both control channel interface 
	and configuration channel interface.  The interface for control channel allows the Control-Plane 
	to send several flow tables to the User-Plane, such as user’s information table, user’s interface 
	table, and user’s QoS table, etc. And it also allows User-Plane to report the resources and 
	statistics information to the Control-Plane. The interface for configuration channel is in charge 
	of the version negotiation of protocols between the Control-Plane and User-Plane, the configuration 
	for the devices of Control-Plane and User-Plane, and the report of User-Plane's capabilities, etc. 
	The information model defined in this document enables defining a standardized data model. Such a 
	data model can be used to define an interface to the CU separation BNG.</t>
  </section>
  <!-- END 1. Introduction -->

<!-- BEGIN 2. Terminology -->
  <section title="Concept and 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 title="Terminology">
        <t>BNG: Broadband Network Gateway. A broadband remote access server (BRAS, B-RAS or BBRAS) routes traffic to 
		and from broadband remote access devices such as digital subscriber line access multiplexers (DSLAM) on an Internet service provider's (ISP) network. 
		BRAS can also be referred to as a Broadband Network Gateway (BNG).</t>
		<t>CP: Control Plane. CP is a user control management component which supports the management of UP’s resources 
			such as the user entry and forwarding policy</t>
		<t>UP: User Plane. UP is a network edge and user policy implementation component. The traditional router's 
			Control Plane and Forwarding Plane are both preserved on BNG devices in the form of a user plane.</t>		
      </section>
   </section>
  <!-- END 2. Terminology -->  

  
  <section title="Control Plane and User Plane separation BNG Information Model Overview">
<t>Briefly, a CU separation BNG is made up of a centralized CP and a set of UPs. 
The CP is a user control management component which supports to manage UP’s resources 
such as the user entry and forwarding policy, for example, 
the access bandwidth and priority management. 
And the UP is a network edge and user policy implementation component. 
It can support the forwarding plane functions on traditional BNG devices, 
such as traffic forwarding, QoS, and traffic statistics collection, 
and it can also support the control plane functions on traditional BNG devices, 
such as routing, multicast, etc.</t>
<t>The following figure describes the architecture of CU separation BNG</t>
<t><figure>
<artwork>
          +-----+    +-----+    +-----+   +-----+
          |EMS  |    |DHCP |    |AAA  |   |policy
          |     |    |server    |server   |server
          +----|+    +---|-+    +--|--+   +--|--+
               |         |         |         |
               |         |         |         |
               |         |         |         |
               |         |         |         |
          +----|---------|---------|---------|----+
          | +--|----+ +--|--+  +---|--+ +----|--+ |
          | |address| | sub |  |  AAA | |service| |
          | |mgt    | | Mgt |  |      | |control| |
          | +-------+ +-----+  +------+ +-------+ |
          |                                       | Control Plane
          |   +--------------------------------+  |
          |   |     User plane management      |  |
          |   |                                |  |
          |   +-------------|------------------+  |
          +-----------------|---------------------+
                            |
                            |
                            |
           |----------------|-----------------|
           |                |                 |
           |                |                 |
  +--------|-----+   +------|-------+  +------|------+
  | +---------+  |   | +---------+  |  |+-----|----+ |
  | | routing |  |   | | routing |  |  || routing  | |
  | | control |  |   | | control |  |  || control  | |
  | +---------+  |   | +---------+  |  |+----------+ |
  | +----------+ |   | +----------+ |  |+----------+ |  User Plane
  | |forwarding| |   | |forwarding| |  ||forwarding| |
  | |plane     | |   | |plane     | |  ||plane     | |
  | +----------+ |   | +----------+ |  |+----------+ |
  +--------------+   +--------------+  +-------------+

</artwork>
</figure>
</t>


<t>The CU separated BNG is shown in above figure. The BNG Control Plane could be 
	virtualized and centralized, which provides significant benefits such as centralized 
	session management, flexible address allocation, high scalability for subscriber 
	management capacity, and cost-efficient redundancy, etc. The functional components 
	inside the BNG Service Control Plane can be implemented as VNFs and hosted in a NFVI. </t>
<t> The User Plane Management module in the BNG control plane centrally manages the distributed 
	BNG User Planes (e.g. load balancing), as well as the setup, deletion, maintenance of channels 
	between Control Planes and User Planes. Other modules in the BNG control plane, such as address management, 
	AAA, and etc., are responsible for the connection with outside subsystems in order to fulfill the service. The routing 
	control and forwarding Plane in the BNG User Plane (local) could be distributed across the infrastructure. </t>

<section title="Service Data Model Usage">
 <t>The idea of the information model is to propose a set of generic and abstract information models. 
 	The models are intended to be used in both Control Plane and User Planes. A typical scenario would be that 
 	this model can be used as a compendium for the interface between Control Plane and User Planes of CU 
 	separation BNG, that corresponding data model or TLVs can be defined to realize the communication 
 	between the Control Plane and User Planes.</t>
<t><figure>
<artwork>
                    -----------------
                ////                 \\\\
            ////                         \\\\
          //              Cloud              \\
         |                                     |
        |                                       |
       |                                         |
       |                                         |
        |          +-----------------+          |
         |         |  Control Plane  |         |
          \\       |                 |       //
            \\\\   +---------+-------+   ////
                \\\\         |         ////
                    ------------------
                             |
         +------------------+-----------+-----+
         |                  |           |     |
   User's information    IP address    QoS:  .......
   May Including:         ......       CIR;   |
   User ID;                 |          PIR;   |
   User MAC;                |          CBS;   |
   Access method(PPPoE,     |          PBS;   |
   IPoE, etc) ......        |         ......  |
         |                  |           |     |
         +------------------V-----------+-----+
                            |
                       +----+
                       |                                    -------
                       |                                 ///       \\\
+------+       +-------v---------+       +--------+     |             |
| OTL  |       |    User Plane   |       |  Core  |    |    Internet   |
|      +-------+                 +-------+ Routing|-----|             |
+------+       +-----------------+       +--------+      \\\       ///
                                                            -------
                        CU Separation BNG

</artwork>
</figure>
</t>
<t>As shown in above figure, when users access to the BNG network, the control plane solicits these users’ information (such as user’s ID, user’s MAC, user’s access methods, for example via PPPoE/IPoE), associates them with available bandwidth which are reported by User planes, and based on the service’s requirement to generate a set of tables, which may include user’s information, user’s IP address, and QoS, etc. Then the control plane can transmit these tables to the User planes. User planes receive these tables, parses it, matches these rules, and then performs corresponding actions. </t>
 </section>

</section>

<section title="Information Model">
 <t>This section specifies the information model in Routing Backus-Naur Form <xref target="RFC5511"/>.  
 	This grammar intends to help readers better understand the English text description 
 	in order to derive a data model. However it may not provide all the details provided 
 	by the English text. When there is a lack of clarity in grammar the English text will 
 	take precedence.</t>
 <t>This section describes information model that represents the concept of the interface 
 	of CU separation BNG which is languages and protocols neutral.</t>
 <t>The following figure describes the Overview of Information Model for CU separation BNG.</t>
         <t><figure>
          <artwork><![CDATA[
 <cu-separation-bng-infor-model>::=<control-plane-information-model>
                                   <user-plane-information-model>

 <control-plane-information-model>::=<user-related-infor-model>
                                     <interface-related-infor-model>
                                     <device-related-infor-model>

 <user-related-infor-model>::= <user-basic-information>
                               [<ipv4-informatiom>]|[<ipv6-information>]
                               [<qos-information>]

 <user-basic-information> :: = <USER_ID> <MAC_ADDRESS>
                               [<ACCESS_TYPE>][<SESSION_ID>]
                               [<INNER_VLAN-ID>][<OUTER_VLAN_ID>]
                               <USER_INTERFACE>

 <ipv4-informatiom>::=<USER_ID><USER_IPV4>
                      <MASK_LENGTH><GATEWAY>
                      <VRF>

 <ipv6-information>::=<USER_ID>(<USER_IPV6>
                      <PREFIX_LEN>)|(<PD_ADDRESS><PD_PREFIX_LEN>)
                      <VRF>

 <qos-information>::=<USER_ID>
                     (<CIR><PIR><CBS><PBS>)
                     [<QOS_PROFILE>]

 <interface-related-infor-model>::=<interface-information>

 <interface-information>::=<IFINDEX><BAS_ENABLE>
                           <service-type>

 <service-type>::=<PPP_Only><IPV4_TRIG>
                  <IPV6_TRIG><ND-TRIG>
                  <ARP_PROXY>

 <device-related-infor-model>::=<address-field-distribute>

 <address-field-distribute>::=<ADDRESS_SEGMENT><ADDRESS_SEGMENT_MASK>
                              <ADDRESS_SEGMENT_VRF><NEXT_HOP>
                              <IF_INDEX><MASK_LENGTH>

 <user-plane-information-model>::=<port-resources-infor-model>
                                  <traffic-statistics>

 <port-resource-information>::=<IF_INDEX><IF_NAME>
                               <IF_TYPE><LINK_TYPE>
                               <MAC_ADDRESS><IF_PHY_STATE>
                               <MTU>
 <traffic-statistics-information>::=<USER_ID><STATISTICS_TYPE>
                                    <INGRESS_STATIISTICS_PACKETS>
                                    <INGRESS STATISTICS_BYTES>
                                    <EGRESS_STATISTICS_PACKETS>
                                    <EGRESS_STATISTICS_BYTES>
]]>	  
		  	  
		  </artwork>
          </figure>
		 </t>
 <section title="Information Model for Control-Plane">
 <t>This section describes information model for the Control-Plane (CP). 
 As mentioned in section 3, the Control Plane is a user control management component 
 which manages the user’s information, User-Plane's resources and forwarding policy, etc. 
 The control plane can generate several tables which contain a set of rules based on the resources 
 and specific requirements of user's service. After that, the control plane sends the tables to User Planes, 
 and User planes receive the tables, parse them, match the rules, and then perform corresponding actions.</t>
 
 <t>The Routing Backus-Naur Form grammar below illustrates the Information model for Control-Plane:</t>
         <t><figure>
          <artwork><![CDATA[
 <control-plane-information-model>::=<user-related-infor-model>
                                     <interface-related-infor-model>
                                     <device-related-infor-model>

 <user-related-infor-model>::= <user-basic-information>
                               [<ipv4-informatiom>]|[<ipv6-information>]
                               [<qos-information>]

 <user-basic-information> :: = <USER_ID> <MAC_ADDRESS>
                               [<ACCESS_TYPE>][<SESSION_ID>]
                               [<INNER_VLAN-ID>][<OUTER_VLAN_ID>]
                               <USER_INTERFACE>

 <ipv4-informatiom>::=<USER_ID><USER_IPV4>
                      <MASK_LENGTH><GATEWAY>
                      <VRF>

 <ipv6-information>::=<USER_ID>(<USER_IPV6>
                      <PREFIX_LEN>)|(<PD_ADDRESS><PD_PREFIX_LEN>)
                      <VRF>

 <qos-information>::=<USER_ID>
                     (<CIR><PIR><CBS><PBS>)
                     [<QOS_PROFILE>]

 <interface-related-infor-model>::=<interface-information>

 <interface-information>::=<IFINDEX><BAS_ENABLE>
                           <service-type>

 <service-type>::=<PPP_Only><IPV4_TRIG>
                  <IPV6_TRIG><ND-TRIG>
                  <ARP_PROXY>

 <device-related-infor-model>::=<address-field-distribute>

 <address-field-distribute>::=<ADDRESS_SEGMENT><ADDRESS_SEGMENT_MASK>
                              <ADDRESS_SEGMENT_VRF><NEXT_HOP>
                              <IF_INDEX><MASK_LENGTH>
]]>	  
		  </artwork>
          </figure>
		 </t>

<t>		 
user-related-infor-model: present the attributes which can describe the user’s profile, such as user’s 
basic information, qos, and IP address, etc.
</t>
<t> 
interface-related-infor-model: present the attributes which relate to some physical/virtual interface. 
This model can be used to indicate which kinds of service can be supported by interfaces.
</t>
<t>
device-related-infor-model: present the attributes which relate to specific device. For example the control 
plane can manage and distribute the users, which belong to same subnet, to some specific devices. And the user 
plane’s devices provide corresponding service for these users. 
</t>

  <section title="User-Related Information">
  <t>The user related information are a bunch of attributes which may bind to specific users. For example, 
  	the control plane can use a unified ID to distinguish different users and distribute the IP address and 
  	QoS rules to a specific user. In this section, the user related information models are presented. The user related 
  	information models include the user information model, IPv4/IPv6 information model, QoS information model, etc.  </t>
  <t>The Routing Backus-Naur Form grammar below illustrates the user related information model:</t>
          <t><figure>
          <artwork><![CDATA[
 <user-related-infor-model>::= <user-basic-information>
                               [<ipv4-informatiom>]|[<ipv6-information>]
                               [<qos-information>]

 <user-basic-information> :: = <USER_ID> <MAC_ADDRESS>
                               [<ACCESS_TYPE>][<SESSION_ID>]
                               [<INNER_VLAN-ID>][<OUTER_VLAN_ID>]
                               <USER_INTERFACE>

 <ipv4-informatiom>::=<USER_ID><USER_IPV4>
                      <MASK_LENGTH><GATEWAY>
                      <VRF>

 <ipv6-information>::=<USER_ID>(<USER_IPV6>
                      <PREFIX_LEN>)|(<PD_ADDRESS><PD_PREFIX_LEN>)
                      <VRF>

 <qos-information>::=<USER_ID>
                     (<CIR><PIR><CBS><PBS>)
                     [<QOS_PROFILE>]
]]>	  
		  </artwork>
          </figure>
		 </t> 
		 
  <section title="User Basic Information Model">
 <t>The User Basic Information model contains a set of attributes to describe the basic information of a 
 	specific user, such as user’s mac address, access type (via PPPoE, IPoE, etc), inner vlan ID, outer vlan ID, 
 	etc.</t>  
 <t>The Routing Backus-Naur Form grammar below illustrates the user basic information model:</t>
              <figure>
              <artwork><![CDATA[
 <user-basic-information> :: = <USER_ID> <MAC_ADDRESS>
                               [<ACCESS_TYPE>][<SESSION_ID>]
                               [<INNER_VLAN-ID>][<OUTER_VLAN_ID>]
                               <USER_INTERFACE>
]]></artwork> 
</figure>
<t>USER_ID (4 bytes): is the identifier of user. This parameter is a unique and mandatory, it can be used to distinguish different users.</t>

<t>MAC_ADDRESS (6 bytes): is the MAC address of the user.</t>

<t>ACCESS_TYPE (2 bytes): This attribute is an optional parameter. It can be used to indicate the protocol be used for user’s 
	accessing, such as PPPoE, IPoE, etc.
</t>
<t>SESSION_ID (4 bytes): This attribute is an optional parameter. It can be used as the identifier of PPPoE session.</t> 

<t>INNER_VLAN-ID (2 bytes): The identifier of user’s inner VLAN. </t>

<t>OUTER_VLAN_ID (2 bytes): The identifier of user’s outer VLAN.</t>

<t>USER_INTERFACE (4 bytes): This attribute specifies the binding interface of a specific user. The ifIndex of the interface MAY 
	be included. This is the 32-bit ifIndex assigned to the interface by the device as specified by the Interfaces Group 
	MIB <xref target="RFC2863"/>. The ifIndex can be utilized within a management domain to map to an actual interface, but it is also 
	valuable in public applications <xref target="RFC5837"/>. The ifIndex can be used as an opaque token to discern which interface of User-Plane 
	is providing corresponding service for specific user.
</t>

  </section>
   <section title="IPv4 Information Model">
 <t>The IPv4 information model presents the user’s IPv4 parameters. 
 It is an optional constructs. The Routing Backus-Naur Form grammar below illustrates the user’s IPv4 information model:
 </t>  
              <figure>
              <artwork><![CDATA[
<ipv4-informatiom>::=<USER_ID><USER_IPV4>       
                     <MASK_LENGTH><GATEWAY>
                     <VRF>
]]></artwork> 
</figure>

<t>USER_ID (4 bytes): is the identifier of user. This parameter is unique and mandatory. This attribute is used to distinguish 
	different users. And it collaborates with other IPv4 parameters to present the user’s IPv4 information.
 </t> 
<t>USER_IPV4 (4 bytes): This attribute specifies the user’s IPv4 address, and it's usually used in user plane discovery 
	and ARP reply message.
 </t>
<t>MASK_LENGTH (4 bytes): This attribute specifies the user’s subnet masks lengths which can identify a range of IP addresses 
	that are on the same network. 
 </t>
<t>GATEWAY (4 bytes): This attribute specifies the user’s gateway, and it's usually used in User Plane discovery and ARP reply 
	message.
 </t>
<t>VRF (4 bytes): is the identifier of VRF instance.
 </t>
  </section>
    <section title="IPv6 Information Model">
 <t>The IPv6 information model presents the user’s IPv6 parameters. It is an optional constructs. 
 	The Routing Backus-Naur Form grammar below illustrates the user’s IPv6 information model:  
 </t>  
              <figure>
              <artwork><![CDATA[

<ipv6-information>::=<USER_ID>(<USER_IPV6>
                     <PREFIX_LEN>)|(<PD_ADDRESS><PD_PREFIX_LEN>)
                     <VRF>
]]></artwork> 
</figure>

<t>USER_ID (4 bytes): is the identifier of user. This parameter is unique and mandatory. This attribute is used to distinguish 
	different users. And it collaborates with other IPv6 parameters to present the user’s IPv4 information.
 </t>
<t>USER_IPV6 (2 bytes): This attribute specifies the user’s IPv6 address, and it usually be used in neighbor discovery (ND discovery).
</t>
<t>PREFIX_LEN (4 bytes): This attribute specifies the user’s subnet prefix lengths which can identify a range of IP addresses 
	that are on the same network. 
</t>
<t>PD_ADDRESS (4 bytes): In IPv6 networking, DHCPv6 prefix delegation is used to assign a network address prefix and 
	automate configuration and provisioning of the public routable addresses for the network. This attribute specifies 
	the user’s DHCPv6 prefix delegation address, and it's usually used in neighbor discovery (ND discovery). 
</t>
<t>PD_PREFIX_LEN (4 bytes): This attribute specifies the user’s DHCPv6 delegation prefix length, and it's usually used in 
	neighbor discovery (ND discovery).
</t>
<t>VRF (4 bytes): is the identifier of VRF instance
</t>

  </section> 
  
  <section title="QoS Information Model">
   <t>In CU separation BNG, the Control-Plane (CP) generates the QoS table base on UP's bandwidth resources and 
   	specific QoS requirements of user's services. This table contains a set of QoS matching rules such as user’s 
   	committed information rate, peak information rate, committed burst size, etc. And it is an optional constructs. 
   	The Routing Backus-Naur Form grammar below illustrates the user’s qos information model:
</t>

              <figure>
              <artwork><![CDATA[
<qos-information>::=<USER_ID>
                    (<CIR><PIR><CBS><PBS>)
                    [<QOS_PROFILE>]

]]></artwork> 
</figure> 
<t>
USER_ID (4 bytes): is the identifier of user. This parameter is unique and mandatory. This attribute is used to distinguish different 
users. And it collaborates with other qos parameters to present the user’s qos information.
</t>
<t>CIR (4 bytes): In BNG network, the Committed Information Rate (CIR) is the bandwidth for a user guaranteed by an internet 
	service provider to work under normal conditions. This attribute is used to indicate the user’s committed information 
	rate, and it usually collaborates with other qos attributes (such as PIR, CBS, PBS, etc) to present the user’s QoS 
	profile.
</t>
<t>PIR (4 bytes): Peak Information Rate (PIR) is a burstable rate set on routers and/or switches that allows throughput overhead. 
	This attribute is used to indicate the user’s peak information rate, and it usually collaborate with other QoS attributes
	 (such as CIR, CBS, PBS, etc) to present the user’s QoS profile.
</t>
<t>CBS (4 bytes): The Committed Burst Size (CBS) specifies the relative amount of reserved buffers for a specific ingress network's 
	forwarding class queue or egress network's forwarding class queue. This attribute is used to indicate the user’s 
	committed burst size, and it usually collaborates with other qos attributes (such as CIR, PIR, PBS, etc) to present 
	the user’s QoS profile.
</t>
<t>PBS (4 bytes): The Peak Burst Size (PBS) sepcifies the maximum size of the first token bucket. This attribute is used to indicate 
	the user’s peak burst size, and it usually collaborate with other qos attributes (such as CIR, PIR, CBS, etc) to present 
	the user’s QoS profile.
</t>
<t>QOS_PROFILE (4 bytes): This attribute specifies the standard profile provided by the operator. It can be used as a QoS template 
	which is defined as a list of classes of services and associated properties. The properties may include:
<list style="none"> 
<t>o Rate-limit: used to rate-limit the class of service. The value is expressed as a percentage of the global service bandwidth.
</t>

<t>o latency: used to define the latency constraint of the class. The latency constraint can be expressed as the lowest possible latency or a latency boundary expressed in milliseconds.
</t>
<t>o jitter: used to define the jitter constraint of the class. The jitter constraint can be expressed as the lowest possible jitter or a jitter boundary expressed in microseconds.
</t>
<t>o bandwidth: used to define a guaranteed amount of bandwidth for the class of service.  It is expressed as a percentage. </t>
   </list>
</t>

 
 </section>
  
 </section>
  <section title="Interface Related Information">
  <t>
  This model contains the necessary information for the interface. It is used to indicate which kind of service can be supported by this interface. The Routing Backus-Naur Form grammar below illustrates the interface related information model:
  </t>
              <figure>
              <artwork><![CDATA[
 <interface-related-infor-model>::=<interface-information>

 <interface-information>::=<IFINDEX><BAS_ENABLE>
                           <service-type>

 <service-type>::=<PPP_Only><IPV4_TRIG>
                  <IPV6_TRIG><ND-TRIG>
                  <ARP_PROXY>

]]></artwork> 
</figure> 
  
  <section title="Interface Information Model">
   <t>The interface model mentioned here is a logical construct that identifies a specific process or a 
   	type of network service. In CU separation BNG network, the Control-Plane (CP) generates the Interface-Infor 
   	table based on the available resources, which are received from the User-Plane (UP), and the specific 
   	requirements of user's services.  
</t>
  <t>The Routing Backus-Naur Form grammar below illustrates the interface information model:</t>
             <figure>
              <artwork><![CDATA[
 <interface-information>::=<IFINDEX><BAS_ENABLE>
                           <service-type>

 <service-type>::=<PPP_Only><IPV4_TRIG>
                  <IPV6_TRIG><ND-TRIG>
                  <ARP_PROXY>

]]></artwork> 
</figure>
<t>IFINDEX (4 bytes): The IfIndex is the 32-bit index assigned to the interface by the device as specified by the Interfaces Group MIB <xref target="RFC2863"/>. The ifIndex can be utilized within a management domain to map to an actual interface, but it is also valuable in public applications. The ifIndex can be used as an opaque token to discern which interface of User-Plane is providing corresponding service for specific user.
</t>
<t>BAS_ENABLE (2 bytes): This is a flag, and if it is TRUE, the BRAS is enabled on this interface.
</t>
<t>PPP_Only (2 bytes): This is a flag, and if it is TRUE, the interface only supports PPP user.
</t>
<t>IPV4_TRIG (2 bytes): This is a flag, and if it is TRUE, the interface supports that the user can be triggered to connect the internet by using IPv4 message.
</t>
<t>IPV6_TRIG (2 bytes): This is a flag, and if it is TRUE, the interface supports that the user can be triggered to connect the internet by using IPv6 message.
</t>
<t>ND-TRIG (2 bytes): This is a flag, and if it is TRUE, the interface supports that the user can be triggered to connect the internet by using neighbor discovery message.
</t>
<t>ARP_PROXY (2 bytes): This is a flag, and if it is TRUE, the ARP PROXY is enabled on this interface.
</t>
</section>
 
 </section>
<section title="Device Related Information">
<t>The device related information model presents the attributes which related to specific device. 
	For example the control plane can manage and distribute the users, who belong to same subnet, 
	to some specific devices. And then the user plane’s devices can provide corresponding service 
	for these users. The Routing Backus-Naur Form grammar below illustrates the device related information model:</t>
             <figure>
              <artwork><![CDATA[

<device-related-infor-model>::=<address-field-distribute>

<address-field-distribute>::=<ADDRESS_SEGMENT><ADDRESS_SEGMENT_MASK>
                             <ADDRESS_SEGMENT_VRF><NEXT_HOP>
                             <IF_INDEX><MASK_LENGTH>

]]></artwork> 
</figure>  
 <section title="Address field distribute Table">
  <t>In CU separation BNG information model, the Control-Plane (CP) generates and sends this Address 
  	field distribute table to UP. Based on this table, the user-plane’s devices can be divided into several blocks, 
  	and each block is in charge of working for users with the same subnet. The Routing Backus-Naur Form grammar 
  	below illustrates the address field distribute information model:
</t>

             <figure>
              <artwork><![CDATA[
<address-field-distribute>::=<ADDRESS_SEGMENT><ADDRESS_SEGMENT_MASK>
                             <ADDRESS_SEGMENT_VRF><NEXT_HOP>
                             <IF_INDEX><MASK_LENGTH>

]]></artwork> 
</figure>  

 </section>
</section> 
</section>

<section title="Information Model for User Plane">
<t>This section describes information model for the interface of User Plane (UP). As mentioned in section 3, 
	the UP is a network edge and user policy implementation component.  It supports: Forwarding plane functions 
	on traditional BNG devices, including traffic forwarding, QoS, and traffic statistics collection and Control 
	plane functions on traditional BNG devices, including routing, multicast, and MPLS.
</t>
<t>
In CU separation BNG information model, the CP generates tables and provides the rules. 
The UP plays two roles:   <list style="numbers">  
<t>It receives these tables, parses it, and matches these rules, then performs corresponding actions.</t> 
<t>It also generates several tables to report the available resources (such as usable interfaces, etc) and statistical information to CP.</t>
</list>
</t>
<t>The Routing Backus-Naur Form grammar below illustrates the User Plane information model:</t>
             <figure>
              <artwork><![CDATA[
<user-plane-information-model>::=<port-resources-infor-model>
                                 <traffic-statistics>

port-resource-information>::=<IF_INDEX><IF_NAME>
                             <IF_TYPE><LINK_TYPE>
                             <MAC_ADDRESS><IF_PHY_STATE>
                             <MTU>
<traffic-statistics-information>::=<USER_ID><STATISTICS_TYPE>
                                   <INGRESS_STATIISTICS_PACKETS>
                                   <INGRESS STATISTICS_BYTES>
                                   <EGRESS_STATISTICS_PACKETS>
                                   <EGRESS_STATISTICS_BYTES>
]]></artwork> 
</figure>

<section title="Port Resources of UP">
 <t>The User Plane can generate the network resource table, which contains a bunch of attributes 
 	to present the available network resources, for example the usable interfaces. 
</t>
  <t>The Figure below illustrates the Port Resources Information Table of User-Plane:</t>
             <figure>
              <artwork><![CDATA[
<port-resource-information>::<IF_INDEX><IF_NAME>
                             <IF_TYPE><LINK_TYPE>
                             <MAC_ADDRESS><IF_PHY_STATE>
                             <MTU>

]]></artwork> 
</figure>
<t>IFINDEX (4 bytes): IfIndex is the 32-bit index assigned to the interface by the device as specified by the Interfaces Group MIB <xref target="RFC2863"/>. The ifIndex can be utilized within a management domain to map to an actual interface, but it is also valuable in public applications. The ifIndex can be used as an opaque token to discern which interface of User-Plane is available.
</t>
<t>IF_NAME (64 bytes): the textual name of the interface. The value of this object should be the name of the interface as assigned by the local device and should be suitable for use in commands entered at the device's `console'.  This might be a text name, such as `le0' or a simple port number, such as `1', depending on the interface naming syntax of the device.  If several entries in the ifTable together represent a single interface as named by the device, then each will have the same value of ifName.
</t>
<t>IF_TYPE (4 bytes): the type of interface, such as Ethernet, GE, Eth-Trunk, etc.
</t>
<t>LINK_TYPE (4 bytes): This attribute specifies the type of link, such as point-to-point, broadcast, multipoint, point-to-multipoint, private and public (accessibility and ownership), etc.
</t>
<t>MAC_ADDRESS (6 bytes): This attribute specifies the available interface’s MAC address.
</t>
<t>IF_PHY_STATE (1 bytes): The current operational state of the interface. This is an enumeration type node: 
<list style="none"> 
<t>1-	Up: ready to pass packets;</t>
<t>2-	Down</t>
<t>3-	Testing: in some test mode;</t>
<t>4-	Unknow: status cannot be determined for some reason;</t>
<t>5-	Dormant;</t>
<t>6-	Not present: some component is missing. </t></list>
</t>
<t>MTU: This attribute specifies the available interface’s MTU (Maximum Transmission Unit).
</t>
 </section>
 
 <section title="Traffic Statistics Infor">
 <t>The user-plane also generates the traffic statistics table to report the current traffic statistics. </t>
 <t>The Figure below illustrates the Traffic Statistics Infor model of User-Plane:</t>

              <figure>
              <artwork><![CDATA[
<traffic-statistics-information>::=<USER_ID><STATISTICS_TYPE>
                                   <INGRESS_STATIISTICS_PACKETS>
                                   <INGRESS STATISTICS_BYTES>
                                   <EGRESS_STATISTICS_PACKETS>
                                   <EGRESS_STATISTICS_BYTES>

]]></artwork> 
</figure> 

<t>USER_ID (4 bytes): is the identifier of user. This parameter is unique and mandatory. This attribute is used to 
	distinguish different users. And it collaborates with other statistics parameters such as ingress packets, egress packets, etc, to report the user’s status profile.
</t>
<t>STATISTICS_TYPE (4 bytes): This attributes specifies the traffic type such as IPv4, IPv6, etc.
</t>
<t>INGRESS_STATIISTICS_PACKETS (8 bytes): This attribute specifies the Ingress Statistics Packets of specific user.
</t>
<t>INGRESS STATISTICS_BYTES (8 bytes): This attribute specifies the Ingress Statistics Bytes of specific user.
</t>
<t>EGRESS_STATISTICS_PACKETS (8 bytes): This attribute specifies the Egress Statistics Packets of specific user.
</t>
<t>EGRESS_STATISTICS_BYTES (8 bytes): This attribute specifies the Egress Statistics Bytes of specific user.</t>

 </section>
 
 
</section>

 
 
 



</section>

	
	 

    
  

  <section title="Security Considerations">
    <t>
      None.
    </t>
  </section>



  <section title="IANA Considerations">
    <t>
      None.
    </t>
  </section>


 </middle>

 <back>

  <references title="Normative References">

   <?rfc include="reference.RFC.2119.xml"?>
   <?rfc include="reference.RFC.2863.xml"?>
   <?rfc include="reference.RFC.5837.xml"?>
   <?rfc include="reference.RFC.5511.xml"?>
   <?rfc include="reference.I-D.draft-cuspdt-rtgwg-cu-separation-bng-deployment-00"?>
  </references>


 </back>

</rfc>
