< draft-bernardos-sfc-distributed-control-operation-03.txt   draft-bernardos-sfc-distributed-control-operation-04.txt >
SFC WG CJ. Bernardos SFC WG CJ. Bernardos
Internet-Draft UC3M Internet-Draft UC3M
Intended status: Experimental A. Mourad Intended status: Experimental A. Mourad
Expires: March 14, 2022 InterDigital Expires: 22 September 2022 InterDigital
September 10, 2021 21 March 2022
Distributed SFC control operation Distributed SFC control operation
draft-bernardos-sfc-distributed-control-operation-03 draft-bernardos-sfc-distributed-control-operation-04
Abstract Abstract
Service function chaining (SFC) allows the instantiation of an Service function chaining (SFC) allows the instantiation of an
ordered set of service functions and subsequent "steering" of traffic ordered set of service functions and subsequent "steering" of traffic
through them. In order to set up and maintain SFC instances, a through them. In order to set up and maintain SFC instances, a
control plane is required, which typically is centralized. In control plane is required, which typically is centralized. In
certain environments, such as fog computing ones, such centralized certain environments, such as fog computing ones, such centralized
control might not be feasible, calling for distributed SFC control control might not be feasible, calling for distributed SFC control
solutions. This document describes a general framework for solutions. This document describes a general framework for
skipping to change at page 1, line 38 skipping to change at page 1, line 38
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 14, 2022. This Internet-Draft will expire on 22 September 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents (https://trustee.ietf.org/
(https://trustee.ietf.org/license-info) in effect on the date of license-info) in effect on the date of publication of this document.
publication of this document. Please review these documents Please review these documents carefully, as they describe your rights
carefully, as they describe your rights and restrictions with respect and restrictions with respect to this document. Code Components
to this document. Code Components extracted from this document must extracted from this document must include Revised BSD License text as
include Simplified BSD License text as described in Section 4.e of described in Section 4.e of the Trust Legal Provisions and are
the Trust Legal Provisions and are provided without warranty as provided without warranty as described in the Revised BSD License.
described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Problem statement . . . . . . . . . . . . . . . . . . . . . . 5 3. Problem statement . . . . . . . . . . . . . . . . . . . . . . 5
4. Distributed SFC control operation . . . . . . . . . . . . . . 7 4. Distributed SFC control operation . . . . . . . . . . . . . . 7
4.1. P-CTRL taking over C-CTRL . . . . . . . . . . . . . . . . 8 4.1. P-CTRL taking over C-CTRL . . . . . . . . . . . . . . . . 8
4.1.1. P-CTRL taking over C-CTRL due to a local monitoring 4.1.1. P-CTRL taking over C-CTRL due to a local monitoring
event . . . . . . . . . . . . . . . . . . . . . . . . 8 event . . . . . . . . . . . . . . . . . . . . . . . . 8
skipping to change at page 6, line 7 skipping to change at page 6, line 7
disconnected. Since gNB node D is also providing the UEs with disconnected. Since gNB node D is also providing the UEs with
connectivity to the network infrastructure where the SFC central connectivity to the network infrastructure where the SFC central
controller is hosted, this type of event cannot be resolved by the controller is hosted, this type of event cannot be resolved by the
SFC controller, as the nodes hosting the functions would be SFC controller, as the nodes hosting the functions would be
disconnected from the central controller. Similar problems arise in disconnected from the central controller. Similar problems arise in
highly mobile/volatile and/or latency-demanding scenarios, where highly mobile/volatile and/or latency-demanding scenarios, where
centralized lifecycle management becomes unsuitable. centralized lifecycle management becomes unsuitable.
o o
node B | node B |
+--------|-+ F1+-.-.-+F2+-.-.-+F3 SFC +--------|-+ F1+-·-·-+F2+-·-·-+F3 SFC
| ........ | | ········ |
<==== | |P-CTRL| | <==== | |P-CTRL| |
| ........ | | ········ |
+-.-.-+F2 | +-·-·-+F2 |
o / +---+------+ ________ o / +---+------+ ________
| . . _( )_ | · · _( )_
+--------|-+ / / _( +--------+ )_ +--------|-+ / / _( +--------+ )_
| | . . (_ | C-CTRL | _) | | · · (_ | C-CTRL | _)
| | / / (_+--------+_) | | / / (_+--------+_)
| |. | (________) | | (________)
| +-.-./ . | +-·-·/ ·
| F1 | | ( (oo) ) | F1 | | ( (oo) )
+----------+ . o /\ ........ +----------+ · o /\ ········
node A | | /\/\ |P-CTRL| node A | | /\/\ |P-CTRL|
+-----.--|-+ /\/\/\........ +-----·--|-+ /\/\/\········
| | | /\/ \/\ (F3) | | | /\/ \/\ (F3)
| . | node D | · | node D
<==== | | | <==== | | |
| + | | + |
| F3 | | F3 |
+----------+ +----------+
node C node C
Figure 1: Example scenario: disrupted SFC due to mobility Figure 1: Example scenario: disrupted SFC due to mobility
In these scenarios, an SFC pseudo controller can substitute (at least In these scenarios, an SFC pseudo controller can substitute (at least
temporarily and partially) the centralized SFC controller when the temporarily and partially) the centralized SFC controller when the
latter is not available or able to perform a given task. This latter is not available or able to perform a given task. This
document proposes solutions addressing the following problem: How to document proposes solutions addressing the following problem: How to
enable SFC pseudo controllers to perform NS lifecycle management enable SFC pseudo controllers to perform NS lifecycle management
operations, such as migration of functions, service chains or parts operations, such as migration of functions, service chains or parts
of a chain? This requires solving the sub-problems listed below. of a chain? This requires solving the sub-problems listed below.
o When a SFC centralized controller (C-CTRL) is in charge, what * When a SFC centralized controller (C-CTRL) is in charge, what
mechanisms and exchanges are needed between the C-CTRL and a SFC mechanisms and exchanges are needed between the C-CTRL and a SFC
pseudo-controller (P-CTRL), and the nodes, so as to facilitate a pseudo-controller (P-CTRL), and the nodes, so as to facilitate a
seamless transition from C-CTRL to P-CTRL (due to an event, e.g. seamless transition from C-CTRL to P-CTRL (due to an event, e.g.
failure, of the C-CTRL)? failure, of the C-CTRL)?
o When P-CTRL takes over from the C-CTRL, what actions shall it take * When P-CTRL takes over from the C-CTRL, what actions shall it take
towards other P-CTRLs, so as to sustain seamless transition if a towards other P-CTRLs, so as to sustain seamless transition if a
first P-CTRL fails (e.g., moving from P-CTRL A to P-CTRL B)? first P-CTRL fails (e.g., moving from P-CTRL A to P-CTRL B)?
o When C-CTRL is back into the picture, how shall the control * When C-CTRL is back into the picture, how shall the control
transfer seamlessly back from P-CTRL to C-CTRL? transfer seamlessly back from P-CTRL to C-CTRL?
4. Distributed SFC control operation 4. Distributed SFC control operation
A key concept is to allow a P-CTRL to take over temporarily and A key concept is to allow a P-CTRL to take over temporarily and
partially from the C-CTRL to perform NS lifecycle management partially from the C-CTRL to perform NS lifecycle management
decisions. The definition, selection and initialization of a P-CTRL decisions. The definition, selection and initialization of a P-CTRL
is covered in [I-D.bernardos-sfc-distributed-control]. is covered in [I-D.bernardos-sfc-distributed-control].
Using Figure 1, we can think of an example where a function (F3) is Using Figure 1, we can think of an example where a function (F3) is
skipping to change at page 7, line 47 skipping to change at page 7, line 47
reacting fast enough to the local changing conditions). For example, reacting fast enough to the local changing conditions). For example,
P-CTRL can send a scaling command to a given node, in order to adapt P-CTRL can send a scaling command to a given node, in order to adapt
the resources to the current NS demands. P-CTRL would also notify the resources to the current NS demands. P-CTRL would also notify
this to C-CTRL, as soon as the connection to C-CTRL is recovered so this to C-CTRL, as soon as the connection to C-CTRL is recovered so
that both are synchronized. that both are synchronized.
In order to support the operation of P-CTRLs complementing or In order to support the operation of P-CTRLs complementing or
replacing the operation of the C-CTRL, the following operations are replacing the operation of the C-CTRL, the following operations are
needed: needed:
o When an NS is onboarded, the C-CTRL receives an NS descriptor * When an NS is onboarded, the C-CTRL receives an NS descriptor
(NSD), together with the VNF descriptors (VNFDs) of the functions (NSD), together with the VNF descriptors (VNFDs) of the functions
composing the service, and the Operations, Administration and composing the service, and the Operations, Administration and
Maintenance Descriptor (OAMD), which includes the information of Maintenance Descriptor (OAMD), which includes the information of
what needs to be monitored to ensure a given SLA. what needs to be monitored to ensure a given SLA.
o When the NS is instantiated, in addition to the regular * When the NS is instantiated, in addition to the regular
orchestration decisions (e.g., placement of functions on available orchestration decisions (e.g., placement of functions on available
resources, etc.), the C-CTRL, based on its knowledge of existing resources, etc.), the C-CTRL, based on its knowledge of existing
P-CTRLs, decides how monitoring is going to be performed. This P-CTRLs, decides how monitoring is going to be performed. This
includes: (i) What is monitored by each P-CTRL node (e.g., vCPU includes: (i) What is monitored by each P-CTRL node (e.g., vCPU
load, bandwidth of a certain link, etc.) and how (e.g., active, load, bandwidth of a certain link, etc.) and how (e.g., active,
passive or hybrid monitoring); (ii) Which orchestrators are in passive or hybrid monitoring); (ii) Which orchestrators are in
charge of collecting and processing the measurements. charge of collecting and processing the measurements.
Currently defined mechanisms assume a semi-static environment and the Currently defined mechanisms assume a semi-static environment and the
standardized message flows do not support dynamic migration of the standardized message flows do not support dynamic migration of the
skipping to change at page 9, line 11 skipping to change at page 9, line 11
In this case, the C-CTRL has delegated some monitoring actions to the In this case, the C-CTRL has delegated some monitoring actions to the
P-CTRL, as indicated in the OAMD sent by the C-CTRL to the P-CTRL. P-CTRL, as indicated in the OAMD sent by the C-CTRL to the P-CTRL.
+---------+ +----+ +---------+ +---------+ +----------+ +------+ +---------+ +----+ +---------+ +---------+ +----------+ +------+
| node A | | C | | node B | | node D | | 3GPP | | SFC | | node A | | C | | node B | | node D | | 3GPP | | SFC |
|P-CTRL F1| | F3 | |P-CTRL F2| |P-CTRL F3| |ctrl plane| |C-CTRL| |P-CTRL F1| | F3 | |P-CTRL F2| |P-CTRL F3| |ctrl plane| |C-CTRL|
+--+----+-+ +----+ +--+----+-+ +--+----+-+ +----------+ +------+ +--+----+-+ +----+ +--+----+-+ +--+----+-+ +----------+ +------+
| | | | | | | | | | | | | | | | | |
| F1@A<->F2@B<->F3@D SFC network service | | | F1@A<->F2@B<->F3@D SFC network service | |
| |<-.-.-.-.-.-.-.-.-.>|<-.-.-.-.->| |A.Serv. OAM | | |<-·-·-·-·-·-·-·-·-·>|<-·-·-·-·->| |A.Serv. OAM |
| | | | | | | |<-.-.-.-.-.>| | | | | | | | |<-·-·-·-·-·>|
| | | | |B.Serv. OAM monitor. | | | | | | |B.Serv. OAM monitor. | |
| | | | |-.-.-.-.-.-.-.-.-.-.>| | | | | | |-·-·-·-·-·-·-·-·-·-·>| |
| | | | |<-.-.-.-.-.-.-.-.-.-.| | | | | | |<-·-·-·-·-·-·-·-·-·-·| |
| | | | | | | | | | | | | | | | | |
| | | | |C.Serv. OAM monitor. | | | | | | |C.Serv. OAM monitor. | |
| | | | |<-.-.-| | | | | | | | |<-·-·-| | | |
| | | | |-.-.-.-.-.-.-.-.-.-.>| | | | | | |-·-·-·-·-·-·-·-·-·-·>| |
| | | | |<-.-.-.-.-.-.-.-.-.-.| | | | | | |<-·-·-·-·-·-·-·-·-·-·| |
| | | | |-.-.->| | | | | | | | |-·-·->| | | |
| | D.Serv. OAM monitor. | | | | | | D.Serv. OAM monitor. | | | |
| | |<-.-.->| | | | | | | | |<-·-·->| | | | | |
| | | |<-.-.-.-.->| | | | | | | |<-·-·-·-·->| | | |
|<-.>|<-.-.-.-.-.-.->| | | | | | |<-·>|<-·-·-·-·-·-·->| | | | | |
|<-.-.-.-.-.-.-.-.-.>| | | | | | |<-·-·-·-·-·-·-·-·-·>| | | | | |
| | | | | | | | | | | | | | | | | |
| | P-CTRL@B detects that it's | | | | | P-CTRL@B detects that it's | | |
| | loosing connectivity with D | | | | | loosing connectivity with D | | |
| | | | | | | | | | | | | | | | | |
| | Orch. signal. | | | | | | | | Orch. signal. | | | | | |
| | |<-.-.->| | | | | | | | |<-·-·->| | | | | |
| |<-.-.-.-.-.-.->| | | | | | | |<-·-·-·-·-·-·->| | | | | |
| | | | | Sync. with C-CTRL | | | | | | | Sync. with C-CTRL | |
| | | | |<.-.-.-.-.-.-.-.-.-.>| | | | | | |<·-·-·-·-·-·-·-·-·-·>| |
| | | | | | | | | | | | | | | | | |
Figure 2: P-CTRL taking over C-CTRL due to a local monitoring event Figure 2: P-CTRL taking over C-CTRL due to a local monitoring event
A detailed message sequence chart is shown in Figure 2. The A detailed message sequence chart is shown in Figure 2. The
different steps are described next: different steps are described next:
o (We assume that the network service has been instantiated and * (We assume that the network service has been instantiated and
there is traffic: F1@A--F2@B--F3@D). there is traffic: F1@A--F2@B--F3@D).
o C-CTRL runs overall OAM monitoring of the network services. This * C-CTRL runs overall OAM monitoring of the network services. This
can be done for example by contacting the 3GPP network to obtain can be done for example by contacting the 3GPP network to obtain
different network analytics via NEF. This is shown in the figure different network analytics via NEF. This is shown in the figure
as A. as A.
o P-CTRLs are running service specific OAM monitoring actions, as * P-CTRLs are running service specific OAM monitoring actions, as
indicated in the OAMD sent by the C-CTRL in the network service indicated in the OAMD sent by the C-CTRL in the network service
instantiation procedure. This requires signaling procedures. instantiation procedure. This requires signaling procedures.
Various non-limiting example options are possible: Various non-limiting example options are possible:
* The P-CTRL may directly obtain information metrics from - The P-CTRL may directly obtain information metrics from
different network functions through the network exposure different network functions through the network exposure
function (NEF). This is shown in the figure as B. function (NEF). This is shown in the figure as B.
* The P-CTRL may indirectly obtain the information metrics - The P-CTRL may indirectly obtain the information metrics
through the local AF or NF hosted on the UE, which interacts through the local AF or NF hosted on the UE, which interacts
with any other entity inside or outside 3GPP (e.g., AF to AF, with any other entity inside or outside 3GPP (e.g., AF to AF,
NF to AF, or NF to NF) and then parse these on the interface to NF to AF, or NF to NF) and then parse these on the interface to
the P-CTRL. If the function hosted on the UE is an NF, and the the P-CTRL. If the function hosted on the UE is an NF, and the
info is about 3GPP network data analytics, then the NF will go info is about 3GPP network data analytics, then the NF will go
get some data from NWDAF and locally at the UE, expose these to get some data from NWDAF and locally at the UE, expose these to
the P-CTRL. This is shown in the figure as C. the P-CTRL. This is shown in the figure as C.
* In addition to the former (mutually exclusive approaches), it - In addition to the former (mutually exclusive approaches), it
is also possible to perform local OAM monitoring via standalone is also possible to perform local OAM monitoring via standalone
procedures, such as local OAM monitoring and the use of SFC procedures, such as local OAM monitoring and the use of SFC
OAM. This is shown in the figure as D. OAM. This is shown in the figure as D.
The interface between the P-CTRL and the SFC functions running on The interface between the P-CTRL and the SFC functions running on
the UE to obtain OAM metrics may be a local API, or standard the UE to obtain OAM metrics may be a local API, or standard
interface like IETF SFC OAM, or like the interface between 3GPP interface like IETF SFC OAM, or like the interface between 3GPP
NWDAF and an NWDAF service consumer. NWDAF and an NWDAF service consumer.
o At a certain point in time, a local monitoring event, which cannot * At a certain point in time, a local monitoring event, which cannot
be detected by the C-CTRL, triggers the whole process. In the be detected by the C-CTRL, triggers the whole process. In the
example of the figure P-CTRL@node B detects that B is losing example of the figure P-CTRL@node B detects that B is losing
connectivity with node D. connectivity with node D.
o The P-CTRL takes an orchestration decision based on its local * The P-CTRL takes an orchestration decision based on its local
knowledge and signals it to the involved nodes. The decision knowledge and signals it to the involved nodes. The decision
consists in migrating/moving F3 from node D to C. New extensions consists in migrating/moving F3 from node D to C. New extensions
to MIPv6 are used, as described in TBD. Alternatively, extensions to MIPv6 are used, as described in TBD. Alternatively, extensions
to IETF SFC NSH can also be used, as described in TBD. to IETF SFC NSH can also be used, as described in TBD.
o The P-CTRL also informs the C-CTRL to keep it synchronized. * The P-CTRL also informs the C-CTRL to keep it synchronized.
Similarly, the C-CTRL can then update other P-CTRLs if needed. Similarly, the C-CTRL can then update other P-CTRLs if needed.
New extensions to NSH are used (NS lifecycle management), as New extensions to NSH are used (NS lifecycle management), as
described in TBD. described in TBD.
4.1.2. P-CTRL taking over C-CTRL due to a C-CTRL failure 4.1.2. P-CTRL taking over C-CTRL due to a C-CTRL failure
In this case, the P-CTRL detects/predicts a C-CTRL failure (e.g., it In this case, the P-CTRL detects/predicts a C-CTRL failure (e.g., it
becomes unreachable). becomes unreachable).
+---------+ +----+ +---------+ +---------+ +----------+ +------+ +---------+ +----+ +---------+ +---------+ +----------+ +------+
| node A | | C | | node B | | node D | | 3GPP | | SFC | | node A | | C | | node B | | node D | | 3GPP | | SFC |
|P-CTRL F1| | F3 | |P-CTRL F2| |P-CTRL F3| |ctrl plane| |C-CTRL| |P-CTRL F1| | F3 | |P-CTRL F2| |P-CTRL F3| |ctrl plane| |C-CTRL|
+--+----+-+ +----+ +--+----+-+ +--+----+-+ +----------+ +------+ +--+----+-+ +----+ +--+----+-+ +--+----+-+ +----------+ +------+
| | | | | | | | | | | | | | | | | |
| F1@A<->F2@B<->F3@D SFC network service | | | F1@A<->F2@B<->F3@D SFC network service | |
| |<-.-.-.-.-.-.-.-.-.>|<-.-.-.-.->| | | | |<-·-·-·-·-·-·-·-·-·>|<-·-·-·-·->| | |
| | | | | | | | | | | | | | | | | |
| | | | | C-CTRL connectivity failure | | | | | | C-CTRL connectivity failure |
| | | | |<.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->| | | | | |<·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·->|
| P-CTRL@B detects that connectivity | | | P-CTRL@B detects that connectivity | |
| with C-CTRL is lost (or about to be) | | | with C-CTRL is lost (or about to be) | |
| | | | | | | | | | | | | | | | | |
| | | | | Sync with C-CTRL (if | | | | | | Sync with C-CTRL (if |
| | | | | failure is predicted) | | | | | | failure is predicted) |
| | | | |<.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->| | | | | |<·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·->|
| | P-CTRL@B becomes the | | | | | | P-CTRL@B becomes the | | | |
| | CTRL for the service | | | | | | CTRL for the service | | | |
| | | | | | | | | | | | | | | | | |
| P-CTRL activation | | | | | | | P-CTRL activation | | | | | |
|<-.-.-.-.-.-.-.-.-.>| | | | | | |<-·-·-·-·-·-·-·-·-·>| | | | | |
| | | | | | | | | | | | | | | | | |
| | Orch. signal. | | | | | | | | Orch. signal. | | | | | |
| | |<-.-.->| | | | | | | | |<-·-·->| | | | | |
| |<-.-.-.-.-.-.->| | | | | | | |<-·-·-·-·-·-·->| | | | | |
| | | | | | | | | | | | | | | | | |
Figure 3: P-CTRL taking over C-CTRL due to a C-CTRL failure Figure 3: P-CTRL taking over C-CTRL due to a C-CTRL failure
A detailed message sequence chart is shown in Figure 3. The A detailed message sequence chart is shown in Figure 3. The
different steps are described next: different steps are described next:
o (We assume that the network service has been instantiated and * (We assume that the network service has been instantiated and
there is traffic: F1@A--F2@B--F3@D). there is traffic: F1@A--F2@B--F3@D).
o A failure can be detected by a P-CTRL via multiple mechanisms, * A failure can be detected by a P-CTRL via multiple mechanisms,
such as: (i) Sending periodic keep-alive messages to the C-CTRL; such as: (i) Sending periodic keep-alive messages to the C-CTRL;
(ii) Transport-layer mechanisms that allow detecting connectivity (ii) Transport-layer mechanisms that allow detecting connectivity
failures; (iii) Observing a lack of action from the C-CTRL upon an failures; (iii) Observing a lack of action from the C-CTRL upon an
event that requires an orchestration action. event that requires an orchestration action.
o A failure can also be predicted by a P-CTRL, by using local * A failure can also be predicted by a P-CTRL, by using local
monitoring information. monitoring information.
o When a C-CTRL failure is detected, the designated backup P-CTRL * When a C-CTRL failure is detected, the designated backup P-CTRL
takes over the orchestration of the network service, by: takes over the orchestration of the network service, by:
* Notifying other P-CTRLs, as well as selecting a new designated - Notifying other P-CTRLs, as well as selecting a new designated
backup P-CTRL. This involves the synchronization of relevant backup P-CTRL. This involves the synchronization of relevant
information (orchestration DBs, descriptors, etc.) with C-CTRL information (orchestration DBs, descriptors, etc.) with C-CTRL
(if the failure is predicted). This is done through new IETF (if the failure is predicted). This is done through new IETF
SFC NSH extensions (NS lifecycle management), as described in SFC NSH extensions (NS lifecycle management), as described in
TBD. TBD.
* The P-CTRL becoming the SFC controller/orchestrator. From this - The P-CTRL becoming the SFC controller/orchestrator. From this
point of time on, the P-CTRL can send orchestration signaling. point of time on, the P-CTRL can send orchestration signaling.
Extensions to IETF NSH or MIPv6 can be used, as described in Extensions to IETF NSH or MIPv6 can be used, as described in
TBD and TBD. TBD and TBD.
4.1.3. C-CTRL gaining back control 4.1.3. C-CTRL gaining back control
We describe next, using an example, how a C-CTRL may get back the We describe next, using an example, how a C-CTRL may get back the
orchestration control, temporarily delegated to a P-CTRL. orchestration control, temporarily delegated to a P-CTRL.
+---------+ +----+ +---------+ +---------+ +----------+ +------+ +---------+ +----+ +---------+ +---------+ +----------+ +------+
| node A | | C | | node B | | node D | | 3GPP | | SFC | | node A | | C | | node B | | node D | | 3GPP | | SFC |
|P-CTRL F1| | F3 | |P-CTRL F2| |P-CTRL F3| |ctrl plane| |C-CTRL| |P-CTRL F1| | F3 | |P-CTRL F2| |P-CTRL F3| |ctrl plane| |C-CTRL|
+--+----+-+ +----+ +--+----+-+ +--+----+-+ +----------+ +------+ +--+----+-+ +----+ +--+----+-+ +--+----+-+ +----------+ +------+
| | | | | | | | | | | | | | | | | |
| | | | | Connectivity OK notification | | | | | | Connectivity OK notification |
| | | | | | | |-.-.-.-.-.->| | | | | | | | |-·-·-·-·-·->|
| | | |-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.>| | | | |-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·>|
| | | | | | | | | | | | | | | | | |
| | | | Request to take over SFC control | | | | | Request to take over SFC control |
| | | |<.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-| | | | |<·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-|
| | | | Orchestration state sync. | | | | | Orchestration state sync. |
| | | |-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.>| | | | |-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·>|
| | | | | | | | | | | | | | | | | |
| | | | | | | | C-CTRL | | | | | | | | C-CTRL
| | | | | | | | regains | | | | | | | | regains
| | | | | | | | control | | | | | | | | control
| | | | Notification C-CTRL back in control | | | | | Notification C-CTRL back in control |
|<-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-| |<-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-|
| | | | | | | | | | | | | | | | | |
Figure 4: C-CTRL gaining back control Figure 4: C-CTRL gaining back control
A detailed message sequence chart is shown in Figure 4. The A detailed message sequence chart is shown in Figure 4. The
different steps are described next: different steps are described next:
o When a C-CTRL loses connectivity with the nodes involved in a * When a C-CTRL loses connectivity with the nodes involved in a
service, it enters into recovery mode, waiting for the service, it enters into recovery mode, waiting for the
connectivity to be recovered. C-CTRL can learn that connectivity connectivity to be recovered. C-CTRL can learn that connectivity
has been regained using NSH OAM signaling or 3GPP signaling from has been regained using NSH OAM signaling or 3GPP signaling from
the NEF or the P-CTRL itself. the NEF or the P-CTRL itself.
o When connectivity is gained back to a P-CTRL, the C-CTRL signals * When connectivity is gained back to a P-CTRL, the C-CTRL signals
its availability so the P-CTRL can give back the control of the its availability so the P-CTRL can give back the control of the
service. To do so, IETF SFC NSH extensions (NS lifecycle service. To do so, IETF SFC NSH extensions (NS lifecycle
management) can be used, as described in TBD. management) can be used, as described in TBD.
o The C-CTRL becomes now the active SFC controller/orchestrator for * The C-CTRL becomes now the active SFC controller/orchestrator for
the service. the service.
o The C-CTRL notifies to other P-CTRLs that it is back in control of * The C-CTRL notifies to other P-CTRLs that it is back in control of
the service, using IETF SFC NSH extensions (NS lifecycle the service, using IETF SFC NSH extensions (NS lifecycle
management), as described in TBD. management), as described in TBD.
4.2. Inter P-CTRL seamless handover 4.2. Inter P-CTRL seamless handover
In scenarios with no C-CTRL reachability, it might be needed to In scenarios with no C-CTRL reachability, it might be needed to
transition from one P-CTRL to another one (e.g., because of mobility transition from one P-CTRL to another one (e.g., because of mobility
of the nodes while the C-CTRL is not reachable). of the nodes while the C-CTRL is not reachable).
Reactive transition is supported as for the case of C-CTRL failure. Reactive transition is supported as for the case of C-CTRL failure.
Proactive/seamless transition is addressed as follows. Proactive/seamless transition is addressed as follows.
+---------+ +----+ +----+ +---------+ +----------+ +------+ +---------+ +----+ +----+ +---------+ +----------+ +------+
| node A | | C | | B | | node D | | 3GPP | | SFC | | node A | | C | | B | | node D | | 3GPP | | SFC |
|P-CTRL F1| | F3 | | F2 | |P-CTRL F3| |ctrl plane| |C-CTRL| |P-CTRL F1| | F3 | | F2 | |P-CTRL F3| |ctrl plane| |C-CTRL|
+--+----+-+ +----+ +----+ +--+----+-+ +----------+ +------+ +--+----+-+ +----+ +----+ +--+----+-+ +----------+ +------+
| | | | | | | | | | | | | | | |
| F1@A<->F2@B<->F3@D SFC network service | | | F1@A<->F2@B<->F3@D SFC network service | |
| |<-.-.-.-.-.-.->|<-.-.-.-.->| | | | |<-·-·-·-·-·-·->|<-·-·-·-·->| | |
| | | | | | | | | | | | | | | |
| | | | P-CTRL@D can no | | | | | | P-CTRL@D can no | |
| | | | longer act as CTRL | | | | | | longer act as CTRL | |
| | | | | | | | | | | | | | | |
Notification to other P-CTRLs| | | | Notification to other P-CTRLs| | | |
|<-.-.-.-.-.-.-.-.-.-.-.-.-.| | | | |<-·-·-·-·-·-·-·-·-·-·-·-·-·| | | |
Request to take over control | | | | Request to take over control | | | |
|-.-.-.-.-.-.-.-.-.-.-.-.-.>| | | | |-·-·-·-·-·-·-·-·-·-·-·-·-·>| | | |
Orchestration state sync | | | | Orchestration state sync | | | |
|<-.-.-.-.-.-.-.-.-.-.-.-.-.| | | | |<-·-·-·-·-·-·-·-·-·-·-·-·-·| | | |
| | | | | | | | | | | | | | | |
P-CTRL@A becomes| | | | | | P-CTRL@A becomes| | | | | |
the CTRL for | | | | | | the CTRL for | | | | | |
the service | | | | | | the service | | | | | |
| | | | | | | | | | | | | | | |
Figure 5: Inter P-CTRL seamless handover Figure 5: Inter P-CTRL seamless handover
A detailed message sequence chart is shown in Figure 5. The A detailed message sequence chart is shown in Figure 5. The
different steps are described next: different steps are described next:
o (We assume that the network service has been instantiated and * (We assume that the network service has been instantiated and
there is traffic: F1@A--F2@B--F3@D). there is traffic: F1@A--F2@B--F3@D).
o When the active (designated) P-CTRL detects that it might not be * When the active (designated) P-CTRL detects that it might not be
able to operate in the near future (lack of resources, battery, able to operate in the near future (lack of resources, battery,
moving away, etc.), a notification is sent to other P-CTRLs using moving away, etc.), a notification is sent to other P-CTRLs using
new IETF SFC NSH extensions (NS lifecycle management), as new IETF SFC NSH extensions (NS lifecycle management), as
described in TBD. described in TBD.
o Each P-CTRL receiving the notification message that is ready to * Each P-CTRL receiving the notification message that is ready to
take over the role of active P-CTRL sends a message to the current take over the role of active P-CTRL sends a message to the current
P-CTRL, which selects one. New IETF SFC NSH extensions are used P-CTRL, which selects one. New IETF SFC NSH extensions are used
to convey this signaling. to convey this signaling.
o At this point, the new P-CTRL becomes the SFC controller/ * At this point, the new P-CTRL becomes the SFC controller/
orchestrator of the service. orchestrator of the service.
5. IANA Considerations 5. IANA Considerations
N/A. N/A.
6. Security Considerations 6. Security Considerations
TBD. TBD.
skipping to change at page 14, line 41 skipping to change at page 14, line 41
The work in this draft has been partially supported by the H2020 The work in this draft has been partially supported by the H2020
5Growth (Grant 856709) and 5G-DIVE projects (Grant 859881). 5Growth (Grant 856709) and 5G-DIVE projects (Grant 859881).
8. References 8. References
8.1. Normative References 8.1. Normative References
[I-D.bernardos-sfc-distributed-control] [I-D.bernardos-sfc-distributed-control]
Bernardos, C. J. and A. Mourad, "Distributed SFC control Bernardos, C. J. and A. Mourad, "Distributed SFC control
for fog environments", draft-bernardos-sfc-distributed- for fog environments", Work in Progress, Internet-Draft,
control-04 (work in progress), July 2021. draft-bernardos-sfc-distributed-control-05, 27 January
2022, <https://www.ietf.org/archive/id/draft-bernardos-
sfc-distributed-control-05.txt>.
8.2. Informative References 8.2. Informative References
[I-D.bernardos-sfc-fog-ran] [I-D.bernardos-sfc-fog-ran]
Bernardos, C. J., Rahman, A., and A. Mourad, "Service Bernardos, C. J. and A. Mourad, "Service Function Chaining
Function Chaining Use Cases in Fog RAN", draft-bernardos- Use Cases in Fog RAN", Work in Progress, Internet-Draft,
sfc-fog-ran-09 (work in progress), March 2021. draft-bernardos-sfc-fog-ran-10, 22 October 2021,
<https://www.ietf.org/archive/id/draft-bernardos-sfc-fog-
ran-10.txt>.
[RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
Chaining (SFC) Architecture", RFC 7665, Chaining (SFC) Architecture", RFC 7665,
DOI 10.17487/RFC7665, October 2015, DOI 10.17487/RFC7665, October 2015,
<https://www.rfc-editor.org/info/rfc7665>. <https://www.rfc-editor.org/info/rfc7665>.
Authors' Addresses Authors' Addresses
Carlos J. Bernardos Carlos J. Bernardos
Universidad Carlos III de Madrid Universidad Carlos III de Madrid
Av. Universidad, 30 Av. Universidad, 30
Leganes, Madrid 28911 28911 Leganes, Madrid
Spain Spain
Phone: +34 91624 6236 Phone: +34 91624 6236
Email: cjbc@it.uc3m.es Email: cjbc@it.uc3m.es
URI: http://www.it.uc3m.es/cjbc/ URI: http://www.it.uc3m.es/cjbc/
Alain Mourad Alain Mourad
InterDigital Europe InterDigital Europe
Email: Alain.Mourad@InterDigital.com Email: Alain.Mourad@InterDigital.com
URI: http://www.InterDigital.com/ URI: http://www.InterDigital.com/
 End of changes. 66 change blocks. 
91 lines changed or deleted 92 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/