Internet DRAFT - draft-kang-sfc-failover
draft-kang-sfc-failover
SFC T. Kang
Internet-Draft S. Kim
Expires: April 30, 2015 E. Paik
KT
October 27, 2014
Failover for Service Function Chaining
draft-kang-sfc-failover-01.txt
Abstract
In SFC-enabled domain, failures can occur at Service Function(SF).
If the failed node is on the path where a packet is delivered, packet
cannot be sent to destination and such situation should be avoided.
Currently, there are many ways to provide redundancy of SFs, such as
VRRP. However, legacy redundancy method may not be used in SFC as
Service Function Forwarders(SFFs) do not use IP or MAC address in
their FIBs. In SFC, traffic is steered based on Service Function
Path ID and Service Index. Therefore controller, which is
responsible for a control plane function in SFC, can manage path of
SFC. In this document, we illustrate failover method specifically
for SFC which uses SFC encapsulation. We describe bypass mechanism
to avoid failures in SFs and redirect traffic to backup SFs. For
bypass mechanism, we propose SF classification of 1)mandatory SFs
that function indispensible for packet delivery, such as NAT and
2)optional SFs that a packet can be delivered without them, such as
Firewall and IDS.
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 April 30, 2015.
Kang, et al. Expires April 30, 2015 [Page 1]
Internet-Draft SFC Failover October 2014
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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Failover considerations . . . . . . . . . . . . . . . . . . . 3
4. SFC Failover . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1. Failover by SFF(local) . . . . . . . . . . . . . . . . . 6
4.2. Failover by controller(global) . . . . . . . . . . . . . 6
5. Security Considerations . . . . . . . . . . . . . . . . . . . 6
6. Normative References . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
SFC(Service Function Chaining) can be explained as packets pass
through only network services selected by network users' needs.
These services can operate on physical servers as well as on virtual
machines. Service classifier node at first classifies each traffic
into customer unit or service unit, refering to corresponding
policies. According to customer's profile, path is created passing
SF instances in the SFC-enabled domain after finding out which
customer uses which SF. Then encapsulation is done with Path ID,
metadata, and service index are added to the created path. Packet
forwarding is launched by observing SFC header information received
by SFF in service function path.
2. Terminology
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 [RFC2119].
The following terms are defined:
Kang, et al. Expires April 30, 2015 [Page 2]
Internet-Draft SFC Failover October 2014
Service Function: A function that is responsible for specific
treatment of received packets. As a logical component, a Service
Function can be realized as a virtual element or be embedded in a
physical network element.
Service Function Chaining: Abstract set of service functions and
ordering constraints that must be applied to packets selected as a
result of classification.
Service Function Forwarder: A service function forwarder is
responsible for delivering traffic received from the network to
one or more connected service functions according to information
carried in the SFC encapsulation.
SFC encapsulation: The SFC encapsulation is used by the SFC-aware
functions, such as the SFF and SFC-aware SFs.
Classification: Instantiated policy and customer/network/service
profile matching of traffic flows for identification of
appropriate outbound forwarding actions.
Service Classifier Node: An element doing the role of classification
3. Failover considerations
SFC classifier node as a Service Classification Function treats the
packet entering SFC-enabled domain below process: 1) According to
customer's profile distinguished in traffic classification procedure,
SFP ID is created to provide the series of service used by individual
customer. Furthermore, forwarding rules are added to entry of every
SFF in SFP for packet forwarding. 2) SFP ID created in 1) is added
to SFC header, and the packet is forwarded to subsequent SFF. 3) SFP
ID and index are checked within SFF, then forwarded to next SF or
SFF. 4) In case the SFF is the last node of SFC-enabled domain, SFC
header should be removed before forwarded outside of SFC-enabled
domain.
If one SF in SFP fails, the whole traffic forwarding passing the
failed SF is stopped only because of the SF itself. Currently
failover method like VRRP can recover the failure using High
Availability techniques. However, packet routing in SFC-enable
domain is done only with SFC header information including SFP ID and
index, so it is hard to apply existing L2, L3 failover techniques.
Kang, et al. Expires April 30, 2015 [Page 3]
Internet-Draft SFC Failover October 2014
4. SFC Failover
To prevent such a situation of which whole traffic forwarding stops
because of single SF failure, packets are treated in two ways of
failover: 1) in case corresponding backup SF is ready, packets are
forwarded to the backup SF to go through the path as designated in
SFC. 2) In case corresponding backup SF doesn't exist, whether the
failed SF is mandatory or optional is checked. Specifically in case
of 2), packet forwarding should be stopped and an alarm message
should be notified to controller if the SF is mandatory(e.g., NAT).
If optional(e.g., FW, IPS, LB, DPI, Cache, CPE, VPN, Optimizer)
packets should be forwarded to subsequent SF bypassing the failed SF.
Kang, et al. Expires April 30, 2015 [Page 4]
Internet-Draft SFC Failover October 2014
+----------------------------------------------------+
|Controller |
| +---------------+ +--------------+ +-----------+ |
| |Chain Selection| |Chain Mapping | |External SF| |
| |Policy Control | |and Forwarding| |Management | |
| | | |Control | | | |
| +---------------+ +--------------+ +-----------+ |
| |
| +----------------+ +-------------------+ |
| |Chain Management| |Service Overlay | |
| |Policy Control | |Topology Management| |
| +----------------+ +-------------------+ |
+----------------------------------------------------+
+--------------------------------------------------+
|SFC-enabled Domain |
| +---+ |
| |SF | |
| +---+ |
| | |
| | |
| | |
| +----------+ +-----+ +-----+ +-----+ |
| |SFC | | | | | | | |
-------|Classifier|---| SFF |---| SFF |---| SFF |---------
| |Node | | | | | | | |
| +----------+ +-----+ +-----+ +-----+ |
| | | |
| ------- | |
| | | | |
| +---+ +---+ +---+ |
| |SF | |SF | |SF | |
| +---+ +---+ +---+ |
+--------------------------------------------------+
Figure 1: Service Chaining Architecture
SFC failover consists of two steps: step1. In initial SFP setup,
backup path for failover is configured in SFF forwarding rule in
advance. step2. When failure occurs, 1) SFF connected to the failed
SF senses the failure, recovers it by itself using backup path
configured in step1. 2) And the situation is notified to controller
to let controller revise global path of SFC-enabled domain.
Kang, et al. Expires April 30, 2015 [Page 5]
Internet-Draft SFC Failover October 2014
4.1. Failover by SFF(local)
Controller produces classification rules and installs them to
classifier. Classifier adds SFC header to packets and sends to SFF.
Figure1 illustrates how SFF forwards packets. SFF can receives
packets from classifier node, adjacent SFF, or SF. Then it checks
SFP ID, index of packets whether there exists matched rule in the
forwarding rule entry and the output port thereof. If output port is
in normal operation, packets can pass through the SFC-enabled domain
along with predetermined SFP. Otherwise, two criteria should be
considered; backup path existence and whether mandatory or not.
Firstly, after backup path existence is confirmed, packets can be
forwarded to that backup path without further consideration. However
in case backup path doesn't exist, secondly output port is to be
checked.
When a failure occurs, index of SFC packet header should be revised
accordingly. For instance, if the index of current failed SF is 5
and that of subsequent SF is 4, current index should be revised to 4
before being forwarded to next SF along with forwarding rules.
4.2. Failover by controller(global)
As classifier node senses the failure during communication process,
firstly it finds out whether the failed SF is mandatory or optional
and whether backup path exists or not. If mandatory and no backup
path, controller should be notified that packets cannot be forwarded.
If not the case, controller extracts the path list including the
failed SF and recalculates backup path based on this information.
Then new forwarding rules are applied to each SFF.
5. Security Considerations
TBD.
6. Normative References
[I.D-ww-sfc-control-plane]
Li, H., Wu, Q., Huang, O., Boucadair, M., Jacquenet, C.,
and W. Haeffner, "Service Function Chaining (SFC) Control
Plane Architecture", September 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Kang, et al. Expires April 30, 2015 [Page 6]
Internet-Draft SFC Failover October 2014
Authors' Addresses
Taeho Kang
KT
Infra R&D Lab. KT
17 Woomyeon-dong, Seocho-gu
Seoul 137-792
Korea
Phone: +82-2-526-6688
Fax: +82-2-526-5200
Email: th.kang@kt.com
Sungsu Kim
KT
Infra R&D Lab. KT
17 Woomyeon-dong, Seocho-gu
Seoul 137-792
Korea
Phone: +82-2-526-6688
Fax: +82-2-526-5200
Email: sngsu.kim@kt.com
EunKyoung Paik
KT
Infra R&D Lab. KT
17 Woomyeon-dong, Seocho-gu
Seoul 137-792
Korea
Phone: +82-2-526-5233
Fax: +82-2-526-5200
Email: eun.paik@kt.com
URI: http://mmlab.snu.ac.kr/~eun/
Kang, et al. Expires April 30, 2015 [Page 7]