Internet DRAFT - draft-hares-dunbar-i2rs-sfc-policy-im

draft-hares-dunbar-i2rs-sfc-policy-im







I2RS Working Group                                              S. Hares
Internet-Draft                                                 L. Dunbar
Intended status: Informational                                    Huawei
Expires: January 5, 2015                                    July 4, 2014


            An Information Model for Service Chaining Policy
                draft-hares-dunbar-i2rs-sfc-policy-im-01

Abstract

   This draft describes an I2RS information model for managing the
   service chain steering policy rules to a router via the I2RS
   interface (SFC-Policy IM).

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 January 5, 2015.

Copyright Notice

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

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.





Hares & Dunbar           Expires January 5, 2015                [Page 1]

Internet-Draft                SFC Policy IM                    July 2014


   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Definition of terms . . . . . . . . . . . . . . . . . . . . .   2
   3.  Service Chaining Background . . . . . . . . . . . . . . . . .   4
   4.  Overview of information model for Service Chain . . . . . . .   4
   5.  Requirements for Service Function Forwarder Node (SFFN)
       Resources SFC Flow Filtering  . . . . . . . . . . . . . . . .   5
   6.  Service Forwarder Node RBNF . . . . . . . . . . . . . . . . .   7
   7.  Information Model for Service Chain Function Instance
       Discovery . . . . . . . . . . . . . . . . . . . . . . . . . .   8
   8.  Information Model for Interested Service Function Instances .   9
   9.  SFFN Instances Addresses  . . . . . . . . . . . . . . . . . .  10
   10. Information Model for Reporting Directly Attached Instances .  10
   11. RBNF for Reporting Directly Attached Instances  . . . . . . .  10
   12. Information Model for Traffic steering rules  . . . . . . . .  11
   13. Traffic Steering Rules RBNF . . . . . . . . . . . . . . . . .  11
   14. Security Considerations . . . . . . . . . . . . . . . . . . .  12
   15. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
   16. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  12
   17. References  . . . . . . . . . . . . . . . . . . . . . . . . .  12
     17.1.  Normative References . . . . . . . . . . . . . . . . . .  13
     17.2.  Informative References . . . . . . . . . . . . . . . . .  13
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  14

1.  Introduction

   This draft describes an I2RS information model for managing the
   Service Chain via the I2RS interface.

2.  Definition of terms

   NFV: Network Function Virtualization

      [NFV-Terminology].




Hares & Dunbar           Expires January 5, 2015                [Page 2]

Internet-Draft                SFC Policy IM                    July 2014


   SF: Service Function

      [I-D.ietf-sfc-problem-statement].

   SFF: Service Function Forwarder

   Service Chain

      [I-D.bitar-i2rs-service-chaining] defines a service chain as an
      ordered set of services applied to a packet of flow.  An example
      of this is a sequence of service function such as Chain#1 {s1, s4,
      s6} or Chain#2{s4, s7} at functional level.  Also see the
      definition of Service Function Chain in
      [I-D.bitar-i2rs-service-chaining]

   Service Chain Instance Path

      The actual Service Function Instance Components selected for a
      service chain.

   SFFN: Service Function Forwarder Node

      [I-D.bitar-i2rs-service-chaining]states service function can run:
      a) natively within a router (or routing system), b) on a virtual
      machine on a server or service engine, or in a dedicated
      standalone hardware appliance.

   VNF: Virtualized Network Function

      [NFV-Terminology]

   STOPO

      Service topology is a topology of Service nodes (SFF).

   SFFaddr: Service Node Address

      [I-D.ietf-sfc-problem-statement] states this address should be IP
      Address, or tuple of (SFFaddr, host system IP address) or tuple of
      (host system IP address, system internal ID for service engine).

   Service Type

      [I-D.ietf-sfc-problem-statement].







Hares & Dunbar           Expires January 5, 2015                [Page 3]

Internet-Draft                SFC Policy IM                    July 2014


3.  Service Chaining Background

                                  |1  -----   |n        |21   ---- |2m
                    +---+---+   +---+---+   +-+---+   +--+-----+
                    | SF#1  |   |SF#n   |   |SF#i1|   |SF#im   |
                    |       |   |       |   |     |   |        |
                    +---+---+   +---+---+   +--+--+   +--+--+--+
                        :           :          :         :  :
                        :           :          :         :  :
                         \         /            \       /
       +--------------+   +--------+             +---------+
   -- >| Chain        |   | SFF    |   ------    | SFF     | ---->
       |classifier    |   |Node-1  |             | Node-i  |
       +--------------+   +----+---+             +----+--+-+
                     \         |                     /
                      \        | SFC Encapsulation  /
                       \       |                   /
   ,. ......................................._
   ,-'                                        `-.
   /                                              `.
   |                      Network                   |
   `.                                             /
   `.__.................................. _,-'

   Figure 1    Framework of Service Chain


4.  Overview of information model for Service Chain

   There are three major categories of information models for Service
   Chain management:

      1) Service function instances discovery;

      2) Traffic flow steering rules on a router for specific service
      chain.

      3) Service Chain path computatino

   This document focuses on the first (service function instance
   discovery), and the second (the traffic flow steering rules) as
   expressed in I2RS policies.  The third category, the Service Chain
   path computation, is out of scope for this document.  An I2RS
   information model for Service Topology with its Traffic Engineering
   Databased (TED) and associated inventory can be found in
   [I-D.hares-i2rs-info-model-service-topo].  Additional I2RS modes on
   basic network policy (BNP IM) and Policy based Routing (PBR IM) is
   contained in [I-D.hares-i2rs-info-model-policy].



Hares & Dunbar           Expires January 5, 2015                [Page 4]

Internet-Draft                SFC Policy IM                    July 2014


5.  Requirements for Service Function Forwarder Node (SFFN) Resources
    SFC Flow Filtering

   This section reviews the requirements for SFC Flow Filtering Policies
   for an existing service for SFFNs within the SFC domain.

   Inherent in the [I-D.ietf-sfc-problem-statement] is the need for
   policies that establish and filter data flow on the Service chain
   pathways.  This document defines an I2RS model to interface to the
   SFC's Service Function Forwarder (SFF) to install or change the the
   Policy controlling data flow to their designated and service
   functions and subsequent SFFN.

   The SFC use case [I-D.bitar-i2rs-service-chaining] suggests SFF
   resources that must be on each SFF Node (SFFN).  The SFFN resources
   include the following elements that the I2RS Client-I2RS Agent
   protocol can utilize:

   SFC-Use-REQ01:Address (R)

      has the following address requirements:

      *  IP address

      *  service-node tuple (service node IP address, Host system
         address)

      *  host-node tuple (hosting system IP-address, system internal
         identifier)

   SFC-Use-REQ02:Supported Service Types (R/W) SHOULD include:

      NAT, IP Firewall, Load balancer, DPI, and others.  Note that the
      current SFC WG suggest that the SFF does not need to know the SFFN
      type to steer the data to their designated service function.
      Therefore, this parameter has been given "a forwarding" function
      value.

   SFC-Use-REQ03:Virtual contexts (R/W)SHOULD include:



      *  Maximum Number of virtual contexts supported

      *  Current number of virtual contexts in use

      *  Number of virtual contexts available




Hares & Dunbar           Expires January 5, 2015                [Page 5]

Internet-Draft                SFC Policy IM                    July 2014


      *  Supported Context (VRF)

   SFC-Use-REQ04: Customers currently on node (R)


   SFC-Use-REQ05: Customer Support Table (per customer ID) (R)

      with the following contents per entry:

      *  Customer-id

      *  List of supported Virtual Contexts

   SFC-Use-REQ06: Service Resource Table (R/W)

      which includes:

      *  index: Comprised of service node, virtual context, service type

      *  service bandwidth capacity

      *  supported packet rate (packets/second)

      *  supported bandwidth (kps)

      *  IP Forwarding support: specified as routing-instance(s), RIBs,
         Address-families supported

      *  Maximum RIB-size

      *  Maximum Forward Data Base size

      *  Maximum Number of 64 bit statistics counters for policy
         accounting

      *  Maximum number of supported flows for services

   SFC-Use-REQ07: Virtual Network Topology (VNT) (R)

      which includes:

      *  number of access points to which service topology applies

      *  topology of access points







Hares & Dunbar           Expires January 5, 2015                [Page 6]

Internet-Draft                SFC Policy IM                    July 2014


6.  Service Forwarder Node RBNF

         <SFF_node> ::= <SFFN_address>   /*SFC-Use-REQ01 */
                 [<Attached_Service_node>]   /*SFC-Use-REQ02 */
                 [<SFFN_virtual_contexts>]   /*SFC-Use-REQ03 */
                 [<SFFN_customer_cnt>]    /*SFC-Use-REQ04 */
                 [<SFFN_Customer_support_table>] /*SFC-Use-REQ05 */
                 [<SFFN_Service_Resource_table>] /*SFC-Use-REQ06 */
                 [<SFFN_VNTopo>]         /*SFC-Use-07*/

         <SFFN_address> ::== <ip_address>

         <Attached_Service_node> ::=
                 | [ (<service-node-ip_address>
                      <host-system-ip_address>)]
                 | [ (<hosting-system-ip_address>
                      <system-internal_ID>)]

             <service-node-ip_address> ::= <ip_address>
             <host-system-ip_address> ::= <ip_address>
             <hosting-system-ip_address> ::= <ip_address>
             <system-internal_ID> ::= INTEGER-64;

         /* SFC-Use-02 */
         <SFFN_supported_types> ::= <Attached_Service_node_types>



         /* These are the types specified by the SFC-REQ-02]
             <SF_Types> ::= [<SF_TYPE_FW>]
                                    [<SF_TYPE_LB>]
                                    [<SF_TYPE_DPI>]
                                    [<SF_TYPE_NAT>]
         /* SFC-Use-03 */                    ...
         <SFFN_virtual_contexts> ::== <VContext_max>
                         <VContext_current_inuse>
                         <VContext_current_avail>
                         <SFFN_Types>

         /*SFC-Use-04 */
         <SFFN_customer_cur_cnt> ::= INTEGER;

         /* SFC-Use-05: Customer Support Table per Customer ID */
         <SFFN_customer_table> ::= [<SFFN_customer< ...]

         <SFFN_customer> ::= <SFFN_customer_Name>
                           <SFFN_customer_ID>
                           <SFFN_customers_contexts>



Hares & Dunbar           Expires January 5, 2015                [Page 7]

Internet-Draft                SFC Policy IM                    July 2014


         <SFFN_customers_contexts> ::= <SFFN_Types>

         /*SFC-Use-REQ06 */
         <SFFN_Service_Resource_table> ::=  <SFF_Service_resource_index>
                     <SFFN-SR_service_BW_capacity>
                     <SFFN-SR_packet_rate_max>
                     <SFFN-SR_BW>
                     <SFFN-SR_IP_fwd_instance_list>
                     <SFFN-SR_MAX_RIB>
                     <SFFN-SR_MAX_FIB>
                     <SFFN-SR_MAX_COUNTER64>
                     <SFFN-SR_MAX_Flows>

             <SFF_Service_resource_index> := <SFFN_Address>
                     <VContext_ID>
                     <Service_types>

         /*SFC-Use-REQ07
          * SFC_topology is defined by
          * ietf-hares-i2rs-service-topology
          * which includes node code
          */
         <SFF_VNT> ::= <SFC_Topology>


7.  Information Model for Service Chain Function Instance Discovery

   A Service function instance can be either attached to a router via a
   physical interface or instantiated on a virtual machine that is
   attached to a router.  Following are our assumptions:

      1) The Service Chain Manager can get all the IP addresses or IP
      prefix of the service function instances needed from a database or
      provisioning system, and passed to the relevant routers.  The
      Routers can send ARP/ND broadcast/multicast messages to all the
      attached nodes.

      2) Service function instances will respond to ARP (IPv4)/ND (IPv6)
      requests from its L2/L3 boundary router.












Hares & Dunbar           Expires January 5, 2015                [Page 8]

Internet-Draft                SFC Policy IM                    July 2014


                       Service Chain Manager/Controller
                               ^   |
                               |   | A: Set filter for
            B:                 |   |    the interested service
            Router reports the |   |    function instances
         Directly attached     |   |
         Service Function      |   |
         Instances             |   V
                        +------+---+-------------+
                        |     Router             |
                        ++-----+----------+------+
                        /      |          |       \
                       /       |          |        \
                    +-+-+    +-+-+      +-+-+     +-+-+
                    |   |... |   |      |   | ... |   |
                    +---+    +---+      +---+     +---+ Server racks
                    |   |... |   |      |   | ... |   | for hosting
                    +---+    +---+      +---+     +---+ Service
                    |   |... |   |      |   | ... |   | Function
                    +---+    +---+      +---+     +---+ Instances

                       Figure 1: Service Function Instances

8.  Information Model for Interested Service Function Instances

   Service Function Instances placement can be managed by entities that
   are not integrated with Service Chain Manager.  Therefore, it is
   necessary for the Service Chain Manager to discover all the Service
   Function Instances that might be needed for a specific service chain.
   Service Chain Manager can send down the filter periodically or on-
   demand (i.e. when there is a request for building a specific service
   chain for a client).

   Some service function instances are attached to router via tunnels,
   e.g.  VxLAN.  Service Function Instances might be partitioned by
   clients, which are differentiated by different network ID (e.g.
   VNID, VPN ID, etc).  Some filter will carry the network ID (tenant
   ID, or VPN ID) to get specific service functions.

   The I2RS Client can operate as the service chain manager/controller
   communicating with the I2RS Agents operating in the router or I2RS
   Agents operating on the service function instances in the server
   racks to discover and control specific service function instances.

   The I2RS Client-Agent must be able to discover the I2RS Agent
   associated with a specific Service Function instance by querying for:
   SFFN Address,SFFN type, or SFFN virtual context or SFFN Customer;




Hares & Dunbar           Expires January 5, 2015                [Page 9]

Internet-Draft                SFC Policy IM                    July 2014


9.  SFFN Instances Addresses


       <interested-SF-filter> ::= <SF-FILTER-NAME>
                            [<ipv4-address-list>|<ipv6-address-list>]
                            [<client-identifier>]

       <ipv4-address-list> ::= ((<ipv4-address>
                               |<ipv4-prefix>) ...)
       <ipv4-prefix> ::= <IPV4_ADDRESS><IPV4_PREFIX_LENGTH>
       <ipv6-address-list> = ((<ipv6-address>
                               |<ipv6-prefix>) ...)
       <ipv6-prefix> ::= <IPV6_ADDRESS><IPV6_PREFIX_LENGTH>

       <client-identifier> ::= <client-identifier-type>
                           <client-identifier >
       <client-identifier-type> ::= <GRE>
                               | <VxLAN>
                               | <NVGRE>

       <client-identifier > ::= (<VXLAN> <VXLAN_IDENTIFIER>)
                           | (<NVGRE> <VIRTUAL_SUBNET_ID>)
                           | (<GRE> <GRE_KEY>)

10.  Information Model for Reporting Directly Attached Instances

   When a router receives the filter of the interested Service Function
   Instances, it can scan through all its interfaces to check if any of
   the addresses in the filter list are attached to the interfaces.  For
   the Service Function Instances attached via Layer 2, the router can
   send ARP/ND to get the matching instances to respond.  For the
   Service Function Instances attached via Layer 3, the router can use
   Ping to check if the addresses in the filter are attached.

   The response should be grouped by <SF-FILTER-NAME >

11.  RBNF for Reporting Directly Attached Instances

       <sf-instance-list> ::= <INSTANCE-LIST-NAME>
                   < SF-FILTER-NAME>
                   [<INTERFACE_IDENTIFIER>
                   |<ipv4-address-list>
                   |<ipv6-address-list>]]








Hares & Dunbar           Expires January 5, 2015               [Page 10]

Internet-Draft                SFC Policy IM                    July 2014


12.  Information Model for Traffic steering rules

   The semantics of traffic steering rules is "Match" and "Action",
   similar to the "route" described in [I-D.ietf-i2rs-rib-info-model].
   However, there are more matching criteria for traffic steering rules.

                         match
                            |
                            |
       +-------+-------+-------+--------+-------+-----------+-----
       |       |       |       |        |       |           |
       |       |       |       |        |       |           |
      IPv4    IPv6   tunnel    MAC     VLAN   VxLAN ID Interface
        (Unicast/Multicast SAFI)


   The steering rules include matches on combinations of:

   o  Addresses: IP addresses (IPv4/IPv6), Multicast IP addresses, MAC
      Addresses;

   o  Label fields: MPLS labels, VLAN-IDs, GRE-Keys

   o  interfaces

   o  Layer 4 fields

   o  packet sizes

13.  Traffic Steering Rules RBNF





















Hares & Dunbar           Expires January 5, 2015               [Page 11]

Internet-Draft                SFC Policy IM                    July 2014


     <SFC-Policy> ::= <steering-rules>

     <steering-rules> ::= <match> <action>
        <match> ::= <address>
                    |<label>
                    |<interface>
                    |<l4-field>
                    |<packet-size>
        <address> ::= <ip-address>
                    |<multicast-address>
                    |<mac-address>]
        <ip-address> ::= <IPV4_ADDRESS>
                    |<ipv4-prefix >
                    |<IPV6_ADDRESS>
                    |<ipv6-prefix >]
        <label> ::= [MPLS_LABEL] | <VXLAN-ID> | <GRE-KEY>
        <l4-field>::= <TCP_PORT> | <UDP-PORT>

        <action> ::= <nexthop-list>
                    |<drop-policy>
                    |<metadata>
        <drop-policy> ::= <PASS>|<DROP>
        <metadata> ::= [<ATTACH> <object>] | <detach>

        The I2RS interface of a router should allow "write" and "read" of above objects.

14.  Security Considerations

   The SC use cases described in this document assumes use of I2RS
   programmatic interfaces described in the I2RS framework mentioned in
   [I-D.ietf-i2rs-architecture].  This document does not change the
   underlying security issues inherent in the existing in
   [I-D.ietf-i2rs-architecture].

15.  IANA Considerations

   This draft includes no request to IANA.

16.  Acknowledgements

   We'd like to thank Qin Wu for his comments on this document relating
   to the service topologies.

17.  References







Hares & Dunbar           Expires January 5, 2015               [Page 12]

Internet-Draft                SFC Policy IM                    July 2014


17.1.  Normative References

   [I-D.ietf-i2rs-architecture]
              Atlas, A., Halpern, J., Hares, S., Ward, D., and T.
              Nadeau, "An Architecture for the Interface to the Routing
              System", draft-ietf-i2rs-architecture-04 (work in
              progress), June 2014.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

17.2.  Informative References

   [I-D.bitar-i2rs-service-chaining]
              Bitar, N., Heron, G., Fang, L., ramki, r., Leymann, N.,
              Shah, H., and W. Haddad, "Interface to the Routing System
              (I2RS) for Service Chaining: Use Cases and Requirements",
              draft-bitar-i2rs-service-chaining-01 (work in progress),
              February 2014.

   [I-D.hares-i2rs-info-model-policy]
              Hares, S. and W. Wu, "An Information Model for Network
              policy", draft-hares-i2rs-info-model-policy-02 (work in
              progress), March 2014.

   [I-D.hares-i2rs-info-model-service-topo]
              Hares, S., Wu, W., and X. Guan, "An Information model for
              service topology", draft-hares-i2rs-info-model-service-
              topo-00 (work in progress), February 2014.

   [I-D.ietf-i2rs-rib-info-model]
              Bahadur, N., Folkes, R., Kini, S., and J. Medved, "Routing
              Information Base Info Model", draft-ietf-i2rs-rib-info-
              model-03 (work in progress), May 2014.

   [I-D.ietf-sfc-problem-statement]
              Quinn, P. and T. Nadeau, "Service Function Chaining
              Problem Statement", draft-ietf-sfc-problem-statement-07
              (work in progress), June 2014.

   [I-D.medved-i2rs-topology-requirements]
              Medved, J., Previdi, S., Gredler, H., Nadeau, T., and S.
              Amante, "Topology API Requirements", draft-medved-i2rs-
              topology-requirements-00 (work in progress), February
              2013.






Hares & Dunbar           Expires January 5, 2015               [Page 13]

Internet-Draft                SFC Policy IM                    July 2014


   [I-D.white-i2rs-use-case]
              White, R., Hares, S., and A. Retana, "Protocol Independent
              Use Cases for an Interface to the Routing System", draft-
              white-i2rs-use-case-05 (work in progress), June 2014.

   [NFV-Terminology]
              "Network Functions Virtualization (NFV); Terminology for
              Main Concepts in NFV",
              <http://www.etsi.org/deliver/etsi_gs/
              NFV/001_099/003/01.01.01_60/gs_NFV003v010101p.pdf>.

Authors' Addresses

   Susan Hares
   Huawei
   7453 Hickory Hill
   Saline, MI  48176
   USA

   Email: shares@ndzh.com


   Linda Dunbar
   Huawei
   6340 Legacy Drive, Suite 175
   Plano, TX  75024
   USA

   Phone: +1-469-277-5840
   Email: ldunbar@huawei.com





















Hares & Dunbar           Expires January 5, 2015               [Page 14]