Stateful Chained Network Functions Junaid Khalid W,G and Aditya - - PowerPoint PPT Presentation

stateful chained network functions
SMART_READER_LITE
LIVE PREVIEW

Stateful Chained Network Functions Junaid Khalid W,G and Aditya - - PowerPoint PPT Presentation

Correctness and Performance for Stateful Chained Network Functions Junaid Khalid W,G and Aditya Akella W 1 *This work does not have any affiliation with Google Network Function Virtualization (NFV) Hardware NF software NF over commodity


slide-1
SLIDE 1

Correctness and Performance for Stateful Chained Network Functions

Junaid KhalidW,G and Aditya AkellaW

1

*This work does not have any affiliation with Google

slide-2
SLIDE 2

Network Function Virtualization (NFV)

Hardware NF → software NF over commodity server

2

slide-3
SLIDE 3

Network Function Virtualization (NFV)

Intrusion detection system (IDS)

Hardware NF → software NF over commodity server

2

slide-4
SLIDE 4

Network Function Virtualization (NFV)

Caching proxy Intrusion detection system (IDS)

Hardware NF → software NF over commodity server

2

slide-5
SLIDE 5

Network Function Virtualization (NFV)

Firewall Caching proxy Intrusion detection system (IDS)

Hardware NF → software NF over commodity server

2

slide-6
SLIDE 6

Network Function Virtualization (NFV)

Firewall Caching proxy Intrusion detection system (IDS) WAN

  • ptimizer

Hardware NF → software NF over commodity server

2

slide-7
SLIDE 7

Network Function Virtualization (NFV)

Firewall Caching proxy Intrusion detection system (IDS) WAN

  • ptimizer

Hardware NF → software NF over commodity server

  • Enables resource consolidation
  • Dynamic allocation of packet processing
  • Adding new functionality

2

slide-8
SLIDE 8

Network Function Virtualization (NFV)

Firewall Caching proxy Intrusion detection system (IDS) WAN

  • ptimizer

Hardware NF → software NF over commodity server

  • Enables resource consolidation
  • Dynamic allocation of packet processing
  • Adding new functionality
  • Simplifies service chaining

2

slide-9
SLIDE 9

Service Chaining

3

slide-10
SLIDE 10

Service Chaining

3

slide-11
SLIDE 11

Service Chaining

3

Intrusion detection system (IDS) WAN

  • ptimizer
slide-12
SLIDE 12

Service Chaining

4

slide-13
SLIDE 13

Service Chaining

5

slide-14
SLIDE 14

Service Chaining

5

slide-15
SLIDE 15

Service Chaining

Chain output equivalence (COE): for any input the aggregate output of a dynamic set of instances should be equivalent to the output produced by a single instance

5

slide-16
SLIDE 16

Service Chaining

Chain output equivalence (COE): for any input the aggregate output of a dynamic set of instances should be equivalent to the output produced by a single instance.

6

Our goal is to provide COE in service chaining without compromising performance or correctness

slide-17
SLIDE 17

Service Chaining

Chain output equivalence (COE): for any input the aggregate output of a dynamic set of instances should be equivalent to the output produced by a single instance.

6

Our goal is to provide COE in service chaining without compromising performance or correctness Ensuring COE is challenging: NF chain attributes & Dynamic Actions

slide-18
SLIDE 18

NF Chain Attributes

7

slide-19
SLIDE 19

NF Chain Attributes

  • Perform sophisticated stateful actions on

packets/flows

7

1. NF statefulness

slide-20
SLIDE 20

NF Chain Attributes

IDS maintains cross-flows state (e.g., per host active conn. count) and per-flow state (e.g., TCP conn. state)

  • Perform sophisticated stateful actions on

packets/flows

7

1. NF statefulness

slide-21
SLIDE 21

NF Chain Attributes

IDS maintains cross-flows state (e.g., per host active conn. count) and per-flow state (e.g., TCP conn. state)

  • Perform sophisticated stateful actions on

packets/flows

7

1. NF statefulness

slide-22
SLIDE 22

NF Chain Attributes

  • Perform sophisticated stateful actions on

packets/flows

8

1. NF statefulness

slide-23
SLIDE 23

NF Chain Attributes

  • Perform sophisticated stateful actions on

packets/flows

  • Action taken by an NF instance depends on the

state updates from other NF instances

8

1. NF statefulness 2. Consistent state updates

updating shared state

slide-24
SLIDE 24

NF Chain Attributes

  • Perform sophisticated stateful actions on

packets/flows

  • Action taken by an NF instance depends on the

state updates from other NF instances

9

1. NF statefulness 2. Consistent state updates

  • ff-path
slide-25
SLIDE 25

NF Chain Attributes

  • Perform sophisticated stateful actions on

packets/flows

  • Action taken by an NF instance depends on the

state updates from other NF instances

  • Action at the downstream NF may depend on

the upstream NFs

9

1. NF statefulness 2. Consistent state updates 3. Dependency between different NF instances

FTP SSH

  • ff-path
slide-26
SLIDE 26

NF Chain Attributes

  • Perform sophisticated stateful actions on

packets/flows

  • Action taken by an NF instance depends on the

state updates from other NF instances

  • Action at the downstream NF may depend on

the upstream NFs

9

1. NF statefulness 2. Consistent state updates 3. Dependency between different NF instances

SSH

  • ff-path
slide-27
SLIDE 27

Dynamic Actions

Key requirements

10

slide-28
SLIDE 28

Dynamic Actions

Key requirements Load balancing/elastic scaling

  • Flows are moved from one instance to another to

balance load or handle traffic spikes

10

slide-29
SLIDE 29

Dynamic Actions

Key requirements

  • Safe cross-instance

state transfer

Load balancing/elastic scaling

  • Flows are moved from one instance to another to

balance load or handle traffic spikes

10

slide-30
SLIDE 30

Dynamic Actions

Key requirements

  • Safe cross-instance

state transfer

Load balancing/elastic scaling

  • Flows are moved from one instance to another to

balance load or handle traffic spikes

10

slide-31
SLIDE 31

Dynamic Actions

Key requirements

  • Safe cross-instance

state transfer

  • Consistent shared state

Load balancing/elastic scaling

  • Flows are moved from one instance to another to

balance load or handle traffic spikes

10

slide-32
SLIDE 32

Dynamic Actions

Key requirements

  • Safe cross-instance

state transfer

  • Consistent shared state

11

slide-33
SLIDE 33

Dynamic Actions

Key requirements

  • Safe cross-instance

state transfer

  • Consistent shared state
  • State availability

Failure recovery

  • When NF fails, all its state disappears. For fault

tolerance, that state needs to be recovered

11

slide-34
SLIDE 34

Dynamic Actions

Key requirements

  • Safe cross-instance

state transfer

  • Consistent shared state
  • State availability

12

slide-35
SLIDE 35

Dynamic Actions

Key requirements

  • Safe cross-instance

state transfer

  • Consistent shared state
  • State availability
  • Duplicate suppression

Instance slowdown

  • Clones may be launched to handle a straggler NF (a

slow NF)

12

slide-36
SLIDE 36

Dynamic Actions

Key requirements

  • Safe cross-instance

state transfer

  • Consistent shared state
  • State availability
  • Duplicate suppression
  • Chain-wide ordering

Instance slowdown

  • Clones may be launched to handle a straggler NF (a

slow NF)

  • Downstream NFs rely on the order at upstream NFs

12

slide-37
SLIDE 37

Key Requirements for COE

slide-38
SLIDE 38
  • NF statefulness
  • Consistent state updates
  • Dependency between

different NF instances

NF chain attributes

Key Requirements for COE

slide-39
SLIDE 39

x

  • NF statefulness
  • Consistent state updates
  • Dependency between

different NF instances

NF chain attributes

Key Requirements for COE

Dynamic actions

  • Elastic scaling
  • Failure recovery
  • Instance slowdown
slide-40
SLIDE 40

13

x =

  • NF statefulness
  • Consistent state updates
  • Dependency between

different NF instances

NF chain attributes Key requirements

  • Safe cross-instance

state transfer

  • Consistent shared state
  • State availability
  • Duplicate suppression
  • Chain-wide ordering

Key Requirements for COE

Dynamic actions

  • Elastic scaling
  • Failure recovery
  • Instance slowdown
slide-41
SLIDE 41

Existing Solutions

Framework State availability State transfer Consistent shared state Duplicate suppression Chain-wide

  • rdering

Split/Merge[NSDI’13] OpenNF[SIGCOMM’14] FTMB [SIGCOMM’ 15] S6 [NSDI’18] Pico Rep.[SOCC’13] StatelessNF[NSDI’17]

14

slide-42
SLIDE 42

Existing Solutions

Framework State availability State transfer Consistent shared state Duplicate suppression Chain-wide

  • rdering

Split/Merge[NSDI’13] OpenNF[SIGCOMM’14] FTMB [SIGCOMM’ 15] S6 [NSDI’18] Pico Rep.[SOCC’13] StatelessNF[NSDI’17]

14

Incomplete support → restricted functionality

slide-43
SLIDE 43

CHC

CHC is a generic NFV framework to support all of these requirements without trading off correctness for performance or functionality

15

slide-44
SLIDE 44

CHC

CHC is a generic NFV framework to support all of these requirements without trading off correctness for performance or functionality

16

slide-45
SLIDE 45

CHC

CHC is a generic NFV framework to support all of these requirements without trading off correctness for performance or functionality CHC consist of three main building blocks

16

slide-46
SLIDE 46

CHC

CHC is a generic NFV framework to support all of these requirements without trading off correctness for performance or functionality CHC consist of three main building blocks

  • 1. State store external to NF

16

Datastore

slide-47
SLIDE 47

CHC

CHC is a generic NFV framework to support all of these requirements without trading off correctness for performance or functionality CHC consist of three main building blocks

  • 1. State store external to NF
  • 2. NF state-aware state management algorithms

16

Datastore

slide-48
SLIDE 48

CHC

CHC is a generic NFV framework to support all of these requirements without trading off correctness for performance or functionality CHC consist of three main building blocks

  • 1. State store external to NF
  • 2. NF state-aware state management algorithms
  • 3. Metadata – logical clock and logs

16

Root splitter Datastore

slide-49
SLIDE 49

CHC

CHC is a generic NFV framework to support all of these requirements without trading off correctness for performance or functionality CHC consist of three main building blocks

  • 1. State store external to NF
  • 2. NF state-aware state management algorithms
  • 3. Metadata – logical clock and logs

17

slide-50
SLIDE 50

CHC – State Externalization

NF state is stored in an in-memory external state store (similar to statelessNF)

18

slide-51
SLIDE 51

CHC – State Externalization

NF state is stored in an in-memory external state store (similar to statelessNF)

  • This ensures state availability and simplifies reasoning about state ownership

and concurrency control across instances

18

External store

slide-52
SLIDE 52

CHC – State Externalization

NF state is stored in an in-memory external state store (similar to statelessNF)

  • This ensures state availability and simplifies reasoning about state ownership

and concurrency control across instances Naively externalizing the state can degrade NF performance

18

External store

slide-53
SLIDE 53

CHC

CHC is a generic NFV framework to support all of these requirements without trading off correctness for performance or functionality CHC consist of three main building blocks

  • 1. State store external to NF
  • 2. NF state-aware state management algorithms
  • 3. Metadata – logical clock and logs

19

slide-54
SLIDE 54

State Management Strategies

State

20

slide-55
SLIDE 55

State Management Strategies

State per-flow cross-flow

20

slide-56
SLIDE 56

State Management Strategies

State per-flow cross-flow Any Instance-local caching w/ periodic nonblocking flush

20

slide-57
SLIDE 57

State Management Strategies

State per-flow cross-flow Any Write rarely (read heavy) Instance-local caching w/ periodic nonblocking flush Instance-local caching w/ callbacks

20

slide-58
SLIDE 58

State Management Strategies

State per-flow cross-flow Any Write rarely (read heavy) Write mostly Read rarely Instance-local caching w/ periodic nonblocking flush Instance-local caching w/ callbacks

20

slide-59
SLIDE 59

State Management Strategies

State per-flow cross-flow Any Write rarely (read heavy) Write mostly Read rarely Write/read

  • ften

Instance-local caching w/ periodic nonblocking flush Instance-local caching w/ callbacks

20

slide-60
SLIDE 60

State Management Strategies

State per-flow cross-flow Any Write rarely (read heavy) Write mostly Read rarely Write/read

  • ften

Instance-local caching w/ periodic nonblocking flush Instance-local caching w/ callbacks

20

Operation offloading

slide-61
SLIDE 61

State Maintenance - Offloading Operation

21

An NF instance can offload operations and instruct the datastore to perform them on its behalf

slide-62
SLIDE 62

State Maintenance - Offloading Operation

Operation Description Increment/Decrement a value Increment or decrement the value stored at key by the given value Push/pop a value to/from list Push or pop the value in/from the list stored at the given key Compare and update Update the value, if the condition is true

21

An NF instance can offload operations and instruct the datastore to perform them on its behalf

slide-63
SLIDE 63

State Maintenance - Offloading Operation

Operation Description Increment/Decrement a value Increment or decrement the value stored at key by the given value Push/pop a value to/from list Push or pop the value in/from the list stored at the given key Compare and update Update the value, if the condition is true

21

An NF instance can offload operations and instruct the datastore to perform them on its behalf

The datastore serializes operations issued by different instances for the same shared state object and applies them in the background

slide-64
SLIDE 64

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

slide-65
SLIDE 65

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=0 Without operation offload

slide-66
SLIDE 66

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=0 Without operation offload

slide-67
SLIDE 67

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=0 Without operation offload

slide-68
SLIDE 68

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=0 X++ Without operation offload

slide-69
SLIDE 69

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=0 X++ Without operation offload

slide-70
SLIDE 70

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=0 X++ X++ Without operation offload

slide-71
SLIDE 71

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=2 X=0 X++ X++ Without operation offload

slide-72
SLIDE 72

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=2 X=0 X++ X++

NF2 NF1

Datastore X=0 Without operation offload With operation offload

slide-73
SLIDE 73

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=2 X=0 X++ X++

NF2 NF1

Datastore X=0 Without operation offload With operation offload

slide-74
SLIDE 74

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=2 X=0 X++ X++

NF2 NF1

Datastore X=0 Without operation offload With operation offload

slide-75
SLIDE 75

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=2 X=0 X++ X++

NF2 NF1

Datastore X=0 Without operation offload With operation offload

slide-76
SLIDE 76

NF1

An NF instance can offload operations and instruct the datastore to perform them on its behalf

State Maintenance - Offloading Operation

22

NF2 NF1

Datastore X=2 X=0 X++ X++

NF2 NF1

Datastore X=0 X=2 Without operation offload With operation offload

slide-77
SLIDE 77

State Management Strategies

State per-flow cross-flow Any Write rarely (read heavy) Write mostly Read rarely

23

Instance-local caching w/ periodic nonblocking flush Instance-local caching w/ callbacks

slide-78
SLIDE 78

State Management Strategies

State per-flow cross-flow Any Write rarely (read heavy) Write mostly Read rarely Non-blocking

  • peration without

caching

23

Instance-local caching w/ periodic nonblocking flush Instance-local caching w/ callbacks

slide-79
SLIDE 79

State Management Strategies

State per-flow cross-flow Any Write rarely (read heavy) Write mostly Read rarely Write/read

  • ften

Non-blocking

  • peration without

caching Depends upon traffic

  • split. Cache, if split

allows; flush periodically

23

Instance-local caching w/ periodic nonblocking flush Instance-local caching w/ callbacks

slide-80
SLIDE 80

CHC

CHC is a generic NFV framework to support all of these requirements without trading off correctness for performance or functionality CHC consist of three main building blocks

  • 1. State store external to NF
  • 2. NF state-aware state management algorithms
  • 3. Metadata – logical clock and logs

24

slide-81
SLIDE 81

Metadata

CHC adds a “root splitter” at the entry of a chain that:

Root splitter

25

slide-82
SLIDE 82

Metadata

CHC adds a “root splitter” at the entry of a chain that:

  • Root splitter attaches a unique logical clock with each packet. Logical

clock is used for duplication suppression, ordering, and traffic replay

Root splitter

25

Adding logical clock

slide-83
SLIDE 83

Metadata

CHC adds a “root splitter” at the entry of a chain that:

  • Root splitter attaches a unique logical clock with each packet. Logical

clock is used for duplication suppression, ordering, and traffic replay

  • It also logs all the in-transit packets

Root splitter

25

Packet logging Adding logical clock

slide-84
SLIDE 84

Metadata

CHC adds a “root splitter” at the entry of a chain that:

  • Root splitter attaches a unique logical clock with each packet. Logical

clock is used for duplication suppression, ordering, and traffic replay

  • It also logs all the in-transit packets

CHC encodes state object’s ownership information and logical clock associated with state operations as metadata

Root splitter

25

Packet logging Adding logical clock State

  • wnership info
slide-85
SLIDE 85

CHC – Elastic Scaling

Root splitter

26

Old instance

slide-86
SLIDE 86

CHC – Elastic Scaling

Root splitter

  • CHC marks the last packet going to the old instance and first packet going to

the new instance

26

Old instance Last pkt First pkt

slide-87
SLIDE 87

CHC – Elastic Scaling

Root splitter

  • CHC marks the last packet going to the old instance and first packet going to

the new instance

  • Ownership information encoded as metadata of state objects is used to ensure

consistent handover of per-flow state

26

Old instance Last pkt First pkt

slide-88
SLIDE 88

CHC – Elastic Scaling

Root splitter

  • CHC marks the last packet going to the old instance and first packet going to

the new instance

  • Ownership information encoded as metadata of state objects is used to ensure

consistent handover of per-flow state

  • Cross-flow state does not require any special handling as operation offloading

is used to update it

26

Old instance Last pkt First pkt

slide-89
SLIDE 89

CHC provides fault tolerance for:

  • NF instance
  • Root splitter
  • Datastore

CHC – Fault Tolerance

27

slide-90
SLIDE 90

CHC provides fault tolerance for:

  • NF instance
  • Root splitter
  • Datastore

CHC – Fault Tolerance

27

slide-91
SLIDE 91

NF instance failure recovery:

CHC – Fault Tolerance

28

slide-92
SLIDE 92

NF instance failure recovery:

  • Failover instance takes over

CHC – Fault Tolerance

28

slide-93
SLIDE 93

NF instance failure recovery:

  • Failover instance takes over
  • Datastore associates the failover instance ID with the relevant state

CHC – Fault Tolerance

28

slide-94
SLIDE 94

NF instance failure recovery:

  • Failover instance takes over
  • Datastore associates the failover instance ID with the relevant state
  • Root replays the packet

CHC – Fault Tolerance

28

slide-95
SLIDE 95

NF instance failure recovery:

  • Failover instance takes over
  • Datastore associates the failover instance ID with the relevant state
  • Root replays the packet

CHC – Fault Tolerance

28

slide-96
SLIDE 96

NF instance failure recovery:

  • Failover instance takes over
  • Datastore associates the failover instance ID with the relevant state
  • Root replays the packet
  • Metadata is used to suppress duplicate state-update and processing

CHC – Fault Tolerance

28

slide-97
SLIDE 97

CHC – Straggler Mitigation

29

slide-98
SLIDE 98
  • Metadata (logical clocks) is used to suppress duplicate state updates at the

datastore and duplicate packets at downstream NFs

CHC – Straggler Mitigation

29

slide-99
SLIDE 99
  • Metadata (logical clocks) is used to suppress duplicate state updates at the

datastore and duplicate packets at downstream NFs

CHC – Straggler Mitigation

29

slide-100
SLIDE 100
  • Metadata (logical clocks) is used to suppress duplicate state updates at the

datastore and duplicate packets at downstream NFs

CHC – Straggler Mitigation

29

suppressed state updates are suppressed

slide-101
SLIDE 101

30

Implementation of CHC

slide-102
SLIDE 102
  • Prototype is implemented in C++
  • Leverages Mellanox messaging accelerator for low latency

communication

30

Implementation of CHC

slide-103
SLIDE 103
  • Prototype is implemented in C++
  • Leverages Mellanox messaging accelerator for low latency

communication

  • We implemented four NFs on top of CHC
  • NAT
  • Trojan detector
  • Portscan detector
  • Load balancer

30

Implementation of CHC

slide-104
SLIDE 104

Traditional NF with infinite capacity

31

Evaluation – Performance

State variable Scope State Externalization Caching

  • Asynch. + op
  • ffload

Port mapping per-flow Total TCP pkt count cross flow Total IP pkt count cross low

slide-105
SLIDE 105

Traditional NF with infinite capacity Externalized state operations

31

Evaluation – Performance

State variable Scope State Externalization Caching

  • Asynch. + op
  • ffload

Port mapping per-flow Total TCP pkt count cross flow Total IP pkt count cross low

slide-106
SLIDE 106

Traditional NF with infinite capacity Externalized state operations State externalization with caching

31

Evaluation – Performance

State variable Scope State Externalization Caching

  • Asynch. + op
  • ffload

Port mapping per-flow Total TCP pkt count cross flow Total IP pkt count cross low

slide-107
SLIDE 107

Traditional NF with infinite capacity Externalized state operations State externalization with caching State externalization with caching and asynchronous + offloaded updates

31

Evaluation – Performance

State variable Scope State Externalization Caching

  • Asynch. + op
  • ffload

Port mapping per-flow Total TCP pkt count cross flow Total IP pkt count cross low

slide-108
SLIDE 108

Traditional NF with infinite capacity Externalized state operations State externalization with caching State externalization with caching and asynchronous + offloaded updates

31

Less than 0.6µs increase in the median per-NF packet processing latency

Evaluation – Performance

slide-109
SLIDE 109

Evaluation – Dynamic Actions

32

slide-110
SLIDE 110

Evaluation – Dynamic Actions

32

slide-111
SLIDE 111

Evaluation – Dynamic Actions

32

slide-112
SLIDE 112

Evaluation – Dynamic Actions

During cross instance state sharing

32

slide-113
SLIDE 113

Evaluation – Dynamic Actions

During cross instance state sharing

75th%-ile latency of CHC is 20 times lower than OpenNF

32

slide-114
SLIDE 114

Evaluation – Dynamic Actions

33

CHC

  • peration offloading
slide-115
SLIDE 115

Evaluation – Dynamic Actions

33

checkpointing every 200ms CHC FTMB

  • peration offloading
slide-116
SLIDE 116

Evaluation – Dynamic Actions

Ensuing Fault tolerance

33

checkpointing every 200ms CHC FTMB

  • peration offloading
slide-117
SLIDE 117

Evaluation – Dynamic Actions

Ensuing Fault tolerance

75th%-ile latency of CHC is 6 times lower than FTMB

33

checkpointing every 200ms CHC FTMB

  • peration offloading
slide-118
SLIDE 118

Evaluation

Portscan detector Load Balancer NAT

CHC operates at line rate with an end-to-end median per packet processing overhead of 11.3us

Trojan detector

slide-119
SLIDE 119

Evaluation

  • State management performance
  • Metadata overhead
  • Correctness requirements:
  • State availability
  • Cross instance state transfer
  • Cross instance state sharing
  • Chain wide ordering
  • Duplication suppression
  • Fault tolerance
slide-120
SLIDE 120

36

  • CHC supports output equivalence and high performance state

management for NFV chains

  • It hides the complexity of handling states during dynamic actions

(elastic scaling and failure recovery)

  • It relies on managing state external to NFs, but couples it with several

caching and state update algorithms to ensure low latency

Summary