Internet DRAFT - draft-vallamkonda-sfc-metadata-model
draft-vallamkonda-sfc-metadata-model
Internet Engineering Task Force S. Vallamkonda
Internet-Draft F5 Networks
Intended status: Informational D. Dolson
Expires: July 31, 2016 Sandvine
January 28, 2016
Information Model for SFC Metadata
draft-vallamkonda-sfc-metadata-model-00
Abstract
Various types of metadata are applicable to Service Function Chaining
(SFC). A Service Function (SF) needs information about all metadata
passing through it. The metadata could be used to convey
preprocessing information about the packet by other nodes and an SF
can attach post processing information as deemed necessary.
The purpose of this document is to rigorously define the classes of
metadata and provide a vocabulary and information model for metadata.
Each item of metadata refers to a subject, examples of which are IP
endpoint, flow or individual packet.
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 July 31, 2016.
Copyright Notice
Copyright (c) 2016 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
Vallamkonda & Dolson Expires July 31, 2016 [Page 1]
Internet-Draft Information Model for SFC Metadata January 2016
(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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. The Need for a Metadata Model . . . . . . . . . . . . . . . . 3
4. Groups of Metadata . . . . . . . . . . . . . . . . . . . . . 4
5. Classes of Metadata . . . . . . . . . . . . . . . . . . . . . 5
5.1. Routing Domain . . . . . . . . . . . . . . . . . . . . . 5
5.2. Traffic Policy Indication . . . . . . . . . . . . . . . . 6
5.3. IP Endpoint Property . . . . . . . . . . . . . . . . . . 6
5.4. Flow Classification . . . . . . . . . . . . . . . . . . . 6
6. Metadata Yang Model . . . . . . . . . . . . . . . . . . . . . 6
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
9. Security Considerations . . . . . . . . . . . . . . . . . . . 8
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
10.1. Normative References . . . . . . . . . . . . . . . . . . 8
10.2. Informative References . . . . . . . . . . . . . . . . . 8
10.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
Service Function Chaining (SFC) is a technology for directing network
traffic via specified network elements.
SFC is described in detail in the SFC architecture document SFC
architecture document [RFC7665], and is not repeated here. The
Network Service Header is described in document [sfc-nsh] [1]
The metadata as specified[sfc-nsh] provides a mechanism for
additional information exchange between nodes along the service path.
However, there is no framework for either metadata syntax or
semantics. The lack of metadata format standardization consequently
introduces interoperability concerns and ambiguity between Classifier
and SF nodes in Service Function Chains.
Vallamkonda & Dolson Expires July 31, 2016 [Page 2]
Internet-Draft Information Model for SFC Metadata January 2016
1.1. Scope
This document describes requirements and approaches for metadata in
SFC networks. The control plane can convey the information to SFFs
data plane elements. Also this documents identifies different
network elements in service network for metadata exchange, Service
Node Metadata Format [SNMF].
This document does not make any assumptions on specific
implementation and/or deployments. In particular this document
covers different types of network devices. The document does not
make any assumption on specific actions or protocols that SFFs and
SFs operate on. It also does not modify or create any protocol
header extensions to [sfc-nsh] [2]. This document just addresses the
void of metadata definitions and specifications for SFFs and SFs in a
Service Function Chain. It is out of scope of this document to
discuss policies or stateful enforcement schemes. The metadata is
only in context of SFC-aware elements is discussed.
2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
3. The Need for a Metadata Model
The SFC architecture calls for metadata to be included with packets
sent between elements of a service chain.
Several types of Service Functions inject packets into data streams.
Examples include routers creating ICMP messages, or firewalls
creating TCP reset packets. The question that naturally arises is
what metadata should be attached to such packets. This question
cannot be answered without knowing what each type of metadata means.
Further without this, there is ambiguity on limitations and
restrictions for services offered by the service nodes in the service
path.
Metadata could be self-describing or there could be control-plane
descriptions of metadata encoding in the form of a metadata
dictionary (or a combination thereof). In either case, there needs
to be a language for describing the meaning of metadata context
vocabulary.
This document provides the language for describing metadata, as
required by service functions using the metadata and also for service
functions forwarding the metadata.
Vallamkonda & Dolson Expires July 31, 2016 [Page 3]
Internet-Draft Information Model for SFC Metadata January 2016
4. Groups of Metadata
The Metadata definition can be defined as Attribute-Value pairs. The
AV pairs can be classified into generic classes as below.
Additionally, Vendor specific AV pairs can be defined in a vendor
dictionary which can be uploaded to controller as needed.
Vendor-specific attributes can be defined as:
VENDOR-DEF vendor_name vendor_id
VENDOR-ATTRIBUTE attribute-name attribute_ID syntax_type (DEFAULT, LENGTH, etc) flags
ATTRIBUTE-VALUE attribute-name value_name value_number_associated
Assumptions:
o IAB maintains registered vendors already.
o The upper case above are keywords.
o Other features as encrypt and other options can be enhanced as
needed.
o Types can leverage industry standard as INT32, UINT32, etc. or
vendor specific.
o Flags: can have attribute restrictions/hints as: return type only,
multivalued etc.
o The 'value_number_associated' can be obtained from relevant
documents for service.
Example:
VENDOR-DEF TEST-CORP (IANA assigned Vendor id)
VENDOR-ATTRIBUTE service-name 1 string
ATTRIBUTE-VALUE service-name "Hello"
Vallamkonda & Dolson Expires July 31, 2016 [Page 4]
Internet-Draft Information Model for SFC Metadata January 2016
The Packet on wire would look as:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| Type | Length | Vendor-Id |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| Vendor-Attribute-Type | Vendor-Attribute-Length | Vendor-Attribute-Value |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Type: Enumeration: 1 - Generic, 2 - Vendor attribute.
Length: total length of VSA.
Vendor-Id: IANA assigned number.
Vendor-Attribute-Type: Identifier (Unique as assigned by) Vendor space.
Vendor-Attribute-Length: Length of this Attribute.
Vendor-Attribute-Value: Value of this Attribute.
The dictionary files can be imported and/or exported by Controller as
needed. Further, the dictionary files can have versions, which can
be detected by service nodes. The service nodes compatibility matrix
is monitored and maintained by control plane on Controller. Thus the
Controller would have knowledge of service node capability and
limitations to update SFFs with dictionary attributes accordingly.
The Vendor-id would be used as 'TLV Class' as specified in [draft-
quinn-sfc-nsh] and Vendor-attribute would be 'Type'. The Attribute-
value would be 'Variable Metadata' and Attribute-length would be
'Len' of TLV in metadata.
5. Classes of Metadata
The above framework provides ability for service nodes to exchange
metadata in global language rather than a native local format.
5.1. Routing Domain
A Routing Domain metadata type indicates the specific private network
for the packet. Neither traffic nor information may cross between
domains. The domain must be used to discriminate between overlapping
private IPv4.
Metadata of this type is generally attached by the classifier. In
general this type of metadata must not be removed or modified by SFs
(except in the case when the intention is to route traffic between
domains).
Injected packets must include this type of metadata, to indicate the
routing domain the packet is being injected into.
Vallamkonda & Dolson Expires July 31, 2016 [Page 5]
Internet-Draft Information Model for SFC Metadata January 2016
5.2. Traffic Policy Indication
A metadata type indicates a class of treatment for a customer
traffic.
May be attached by the classifier or another SF in the chain.
Class values are assigned and administered by the operator.
Not required on every packet. If missing, a default policy can be
applied.
The most recent value can be cached for the customer IP address;
injected packets can use the cached value.
5.3. IP Endpoint Property
A metadata type indicates a property of an IP endpoint of either the
source or destination IP address in the encapsulated conversation.
As examples, the metadata could indicate a user's class of service,
that the endpoint is flagged as the subject of an attack or may
indicate the account number to charge the user's traffic.
Injected packets may clone this type of metadata from other packets
having the same IP endpoint, for packets in the same direction.
5.4. Flow Classification
A metadata type indicates a flow classification.
As examples, the metadata could indicate a DPI classification result
or whether the flow has been selected for differentiated service.
May be attached by the classifier or another SF in the chain. May be
overwritten by SFs along the chain.
This type of metadata is a property of the session 5-tuple. Injected
packets may clone this property from other packets of the flow, for
packets in the same direction.
6. Metadata Yang Model
The yang model for service path and node is defined as: Yang Model
for Service Chaining [3]
typedef sfc-metadata-vendor-name {
type string;
Vallamkonda & Dolson Expires July 31, 2016 [Page 6]
Internet-Draft Information Model for SFC Metadata January 2016
description "Name of the Vendor"
}
typedef sfc-metadata-vendor-number {
type integer;
description "IANA assigned number for the vendor"
}
typedef sfc-metadata-attribute-type {
type string;
description "Attribute Type for the attribute"
}
typedef sfc-metadata-attribute-name {
type attribute-name;
description "Attribute Names of the Attribute"
}
typedef sfc-metadata-attribute-number {
type integer;
description "Attribute Number for the attribute "
}
typedef sfc-metadata-attribute-flags {
type bits;
description "Attribute flags for the attribute"
}
leaf-list sfc-vendor-metadata-attribute {
leaf attribute {
type attribute-number;
type attribute-type;
type attribute-length;
bits attribute-flags;
description "
}
}
container service-vendor-metadata {
description
"Service node metadata associated for service node"
type sfc-metadata-vendor-name;
type sfc-metadata-vendor-number;
}
grouping vendor-attribute-info {
type service-vendor-metadata;
type sfc-vendor-metadata-attribute;
Vallamkonda & Dolson Expires July 31, 2016 [Page 7]
Internet-Draft Information Model for SFC Metadata January 2016
}
7. Acknowledgements
8. IANA Considerations
This memo includes no request to IANA.
9. Security Considerations
The metadata for [sfc-nsh] [4], same considerations are applicable.
10. References
10.1. Normative References
[I-D.quinn-sfc-nsh]
Quinn, P., Guichard, J., Surendra, S., Smith, M.,
Henderickx, W., Nadeau, T., Agarwal, P., Manur, R.,
Chauhan, A., Halpern, J., Majee, S., Elzur, U., Melman,
D., Garg, P., McConnell, B., Wright, C., and K. Kevin,
"Network Service Header", draft-quinn-sfc-nsh-07 (work in
progress), February 2015.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
10.2. Informative References
[RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
Chaining (SFC) Architecture", RFC 7665,
DOI 10.17487/RFC7665, October 2015,
<http://www.rfc-editor.org/info/rfc7665>.
10.3. URIs
[1] https://datatracker.ietf.org/doc/draft-ietf-sfc-nsh/
[2] https://datatracker.ietf.org/doc/draft-ietf-sfc-nsh/
[3] https://tools.ietf.org/html/draft-penno-sfc-yang-14
[4] https://datatracker.ietf.org/doc/draft-ietf-sfc-nsh/
Vallamkonda & Dolson Expires July 31, 2016 [Page 8]
Internet-Draft Information Model for SFC Metadata January 2016
Authors' Addresses
Sunil Vallamkonda
F5 Networks
3545 N. 1st Street
San Jose, CA 95134
USA
Phone: +1 408 274 4820
Email: sunilvk@f5.com
David Dolson
Sandvine
408 Albert Street
Waterloo, ON N2L 3V3
Canada
Phone: +1 519 880 2400
Email: ddolson@sandvine.com
Vallamkonda & Dolson Expires July 31, 2016 [Page 9]