Network Services on Service Extensible Routers Lukas Ruf Computer - - PowerPoint PPT Presentation

network services on
SMART_READER_LITE
LIVE PREVIEW

Network Services on Service Extensible Routers Lukas Ruf Computer - - PowerPoint PPT Presentation

Network Services on Service Extensible Routers Lukas Ruf Computer Engineering and Networks Laboratory (TIK) Swiss Federal Institute of Technology (ETH) Z urich IWAN 2005, Sophia-Antipolis. 22. November 2005 Generously supported by IBM


slide-1
SLIDE 1

Network Services on Service Extensible Routers ∗

Lukas Ruf

Computer Engineering and Networks Laboratory (TIK) Swiss Federal Institute of Technology (ETH) Z¨ urich IWAN 2005, Sophia-Antipolis. 22. November 2005

∗Generously supported by IBM Z¨

urich R¨ uschlikon, Intel Corp. Grant 22919

slide-2
SLIDE 2

Motivation

⊲ Motivation

Service Model Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 2

Two major trends in networking:

  • Function shift

concentration of functions on routers instead of end systems

platform for new emerging services

slide-3
SLIDE 3

Motivation

⊲ Motivation

Service Model Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 2

Two major trends in networking:

  • Function shift

concentration of functions on routers instead of end systems

platform for new emerging services

  • Network simplification

router consolidation

less but larger router devices Today Tomorrow

slide-4
SLIDE 4

Motivation

⊲ Motivation

Service Model Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 2

Two major trends in networking:

  • Function shift

concentration of functions on routers instead of end systems

platform for new emerging services

  • Network simplification

router consolidation

less but larger router devices Today Tomorrow Required: Flexible service infrastructure for future high-performance routers supporting service creation on demand.

slide-5
SLIDE 5

Network Services on Service Extensible Routers

⊲ Motivation

Service Model Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 3

The Big Picture

Service Components

  • Service Processing

Service Specification * * Map Specification Deployment Mapping Heterogeneous ProcessingElements

Key Parts

  • Service model
  • Service programming interface
  • Service mapping algorithm
  • Non-disruptive service creation
  • Service processing infrastructure
  • Router management and control
slide-6
SLIDE 6

Network Services on Service Extensible Routers

⊲ Motivation

Service Model Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 4

Focus of this presentation

Service Components

  • Service Processing

Service Specification * * Map Specification Deployment Mapping Heterogeneous ProcessingElements

Key Parts

  • Service model
  • Service programming interface
  • Service mapping algorithm
  • Non-disruptive service creation
  • Service processing infrastructure
  • Router management and control
slide-7
SLIDE 7

Network Services on Service Extensible Routers

⊲ Motivation

Service Model Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 4

Focus of this presentation

Service Components

  • Service Processing

Service Specification * * Map Specification Deployment Mapping Heterogeneous ProcessingElements

Key Parts

  • Service model
  • Service programming interface
  • Service mapping algorithm
  • Non-disruptive service creation
  • Service processing infrastructure
  • Router management and control
Plugin Plugin Stack IP Stack IP PromethOS NP Communication Layer 1 PE Manager Packet Processors Resource Controller Component Loader uModule Reposi− tory Resource Information Database Component Loader Unmanaged Service Modules Module Service Modules PE Manager Controller Cache Service Mapper Manager Node PromethOS NP Communication Layer 2 Resource Controller PE Mgmr.
slide-8
SLIDE 8

Goals and Requirements

Motivation

⊲ Service Model

Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 5

Service Model G: Describe component-based network services G: Define a service infrastructure R: Programmability of data and control plane R: Service internal control mechanisms R: Programmable classification mechanisms R: Flexible extensibility R: Slim, efficient

slide-9
SLIDE 9

Goals and Requirements

Motivation

⊲ Service Model

Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 5

Service Model G: Describe component-based network services G: Define a service infrastructure R: Programmability of data and control plane R: Service internal control mechanisms R: Programmable classification mechanisms R: Flexible extensibility R: Slim, efficient Service Programming Interface G: Specification of network services R: Coping with flexibility of our service model R: Definition of resource constraints R: Efficiently processable

slide-10
SLIDE 10

Service Model

Motivation

⊲ Service Model

Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 6

Graph of Service Components

F1

  • F3

F2 G Guard Fc service hook1 hook2 name space hook0 Service Control Bus

  • hook3

data_in Control data_out

Constituent Elements

  • Data path service components
  • Control service components
  • Service chains: staged, pipelined data path processing
  • Guards: packet classification
  • Hooks: dynamically created extension places
  • Name spaces: service encapsulation
  • Service control bus: signalling between components
slide-11
SLIDE 11

Data Path Service Component

Motivation

⊲ Service Model

Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 7

Network Traffic Processing Functions

  • CCI_in

CCI_out

  • data_in

data_out SCB_out SCB_in function

  • Function: according to the plugin model
  • Data Path I/O: data in and data out
  • Service Control Bus: SCB in and SCB out
  • Component Control Interface: CCI in and CCI out (optional)
slide-12
SLIDE 12

Control Service Component

Motivation

⊲ Service Model

Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 8

Service Internal Control Functions

  • CCI_in

CCI_out Ctrl_out Ctrl_in

  • data_in

data_out SCB_out SCB_in function

  • Function: according to the plugin model
  • Data Path I/O: data in and data out
  • Service Control Bus: SCB in and SCB out
  • Component Control Interface: CCI in and CCI out (optional)
  • Controller Interface: Ctrl in and Ctrl out
slide-13
SLIDE 13

Extension and Dispatching

Motivation

⊲ Service Model

Language Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 9

Data Path Service Extension and Packet Dispatching

3 2 4 5 1

Service Chains Guards hook_in hook_out

  • Hooks

Created on demand

Dispatching per service processing environment

  • Guards

Classification

  • Service Chains

Pipelined data path service components

Embedded between pairs of hooks

  • Packet dispatching

First-match-first-consume and copy semantics

slide-14
SLIDE 14

Service Programming Interface

Motivation Service Model

⊲ Language

Examples Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 10

The Service Programming Language

ID = "#" VALID NAME . TIMED = "timed="DELAY. BW RES = "bwmin="BW "bwmax="BW [ "pps="NUMBER ] . CPU RES = "cpumin="CPU "cpumax="CPU. RAM RES = "type="ID "rammin="RAM "rammax="RAM. PROC TYPE = ( "ia32" | "ia64" | "np4" | "np4_pp" | "ixp2400" | "ixp2400_pp" | . . . . ) . CTRL INFO = (STRING | "file=" VALID NAME ) . COMP SPEC = ( "src" [ ID ] | "bin" ( PROC TYPE | ID ) ) [ "|" CPU RES ] [ { "|" RAM RES } ] . COMP IDENT = ( [ "(" COMP SPEC ")" ] VALID NAME ID | ID ) . SERV COMP = COMP IDENT [ ":" ID ] "(" [ CTRL INFO ] ")" . CTRL COMP = [ TIMED ] SERV COMP { "!" ID "@"NUMBER }. CTRL CHAIN = "{" { CTRL COMP } "}" . COMP STRING= "{" { SERV COMP } "}" . GUARD = "[" [ "|" BW RES ] [ SERV COMP ] "]" . HOOK IN = ( ID | ">" ID [ "copy" ] "?" INTF ) . HOOK OUT = ( ID | ">" ID [ "copy" ] [ "?" INTF ] ) . SERV CHAIN = HOOK IN "@" [ TIMED ] [ GUARD ] COMP STRING "@" HOOK OUT. SERVICE = "{" ID [ "!" CTRL CHAIN ] { SERV CHAIN } "}" .

  • Formal language to specify network services
  • Defined by an extended EBNF
  • Linear, concise specification of service graphs
  • Definition of important constraints
slide-15
SLIDE 15

Exemplary Service: Three Parallel Service Chains

Motivation Service Model Language

⊲ Examples

Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 11

Visualization Chain 1 Chain 2 Chain 3

hook2 hook1 NIF2 NIF1 demux1 demux3 demux2

component component component

1 2 3

{ #t h r e e p a r a l l e l > #hook1 ? NIF1 @/∗ HOOK ∗/ [ /∗DEMUX1∗/ ] { /∗COMP STRING∗/ ( bin ia32 ) component1 #i n s t a n c e 1 I D ( /∗CTRL INFO∗/ ) } @/∗ HOOK ∗/ > #hook2 ? NIF2 /∗ extend hook1∗/ #hook1 @/∗ HOOK ∗/ [ /∗DEMUX2∗/ ] {/∗COMP STRING∗/ ( bin ia32 ) component2 #i n s t a n c e 2 I D ( /∗CTRL INFO∗/ ) } @/∗ HOOK ∗/ #hook2 /∗ extend hook1∗/ #hook1 @/∗ HOOK ∗/ [ /∗DEMUX3∗/ ] { /∗COMP STRING∗/ ( bin ia32 ) component3 #i n s t a n c e 3 I D ( /∗CTRL INFO∗/ ) } @/∗ HOOK ∗/ #hook2 }/∗ S e r v i c e End∗/

  • Creation of hooks
  • Component instance identification
  • Service chain embedding
  • Resource specification
  • Binding to network interfaces
slide-16
SLIDE 16

Exemplary Service: Packet Counting

Motivation Service Model Language

⊲ Examples

Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 12 Counting with Control Service Program

Extra Intra Counter−1 Counter−2 H3 H2 H1 H4 Control NIF1 NIF

2

  • Component control interface
  • Control interface multiplexing
  • 1:N control relation

{#c o u n t e r s e r v i c e /∗ s e r v i c e ID∗/ !{ /∗ Con trol Chain ∗/ =1s /∗ I n t e r v a l ∗/ ( b in ia32 ) /∗ S p e c i f i c a t i o n ∗/ Con trol . ko /∗ Binary Code ∗/ #ControlID /∗ I n s t a n c e I D ∗/ ( "reset " ) /∗ C t r l I n f o ∗/ : #C o n t r o l I n t e r f a c e /∗ CCI ∗/ ! #Counter1Ctrl@1 /∗ CCI ∗/ ! #Counter2Ctrl@2 /∗ CCI ∗/ } /∗ end

  • f

Con trol Chain ∗/ /∗ Counter−1 S e r v i c e Chain ∗/ > #H1 /∗ c r e a t e hook ∗/ copy /∗ copy method ∗/ ? NIF1 /∗ from NIF1 ∗/ @ { /∗ Component S t r i n g ∗/ ( s r c ) /∗ S p e c i f i c a t i o n ∗/ Counter . c /∗ Source Code ∗/ #Counter1ID /∗ I n s t a n c e I D ∗/ : #Cou n ter1Ctrl /∗ CCI ∗/ ( "reset " ) /∗ C t r l I n f o ∗/ } /∗ end

  • f

Component S t r i n g ∗/ @ > #H2 /∗ c r e a t e hook ∗/ copy /∗ copy method ∗/ ? NIF2 /∗ NIF2 ∗/ /∗ Counter−2 S e r v i c e Chain ∗/ > #H3 /∗ c r e a t e hook ∗/ copy /∗ copy method ∗/ ? NIF2 /∗ from NIF2 ∗/ @ { /∗ Component S t r i n g ∗/ ( s r c ) /∗ S p e c i f i c a t i o n ∗/ Counter . c /∗ Source Code ∗/ #Counter2ID /∗ I n s t a n c e ID ∗/ : #Cou n ter2Ctrl /∗ CCI ∗/ ( "reset " ) /∗ C t r l I n f o ∗/ } /∗ end

  • f

Component S t r i n g ∗/ @ > #H4 /∗ c r e a t e hook ∗/ copy /∗ copy method ∗/ ? NIF1 /∗ to NIF1 ∗/ }

slide-17
SLIDE 17

Summary And Conclusion

Motivation Service Model Language Examples

⊲ Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 13

Service Model

  • Graph of service components
  • Data path and control service components
  • Service internal control
  • Hooks: created on demand
  • Service chains: efficient, staged data plane processing
  • Service control bus: Powerful signalling method
  • Guards: programmable classification mechanisms
slide-18
SLIDE 18

Summary And Conclusion

Motivation Service Model Language Examples

⊲ Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 13

Service Model

  • Graph of service components
  • Data path and control service components
  • Service internal control
  • Hooks: created on demand
  • Service chains: efficient, staged data plane processing
  • Service control bus: Powerful signalling method
  • Guards: programmable classification mechanisms

Defines the service infrastructure of PromethOS NP

slide-19
SLIDE 19

Summary And Conclusion

Motivation Service Model Language Examples

⊲ Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 13

Service Model

  • Graph of service components
  • Data path and control service components
  • Service internal control
  • Hooks: created on demand
  • Service chains: efficient, staged data plane processing
  • Service control bus: Powerful signalling method
  • Guards: programmable classification mechanisms

Defines the service infrastructure of PromethOS NP Service Programming Language

  • Copes with the flexibility of our service model
  • Syntax defined by a modified EBNF
  • Fast processable
slide-20
SLIDE 20

Summary And Conclusion

Motivation Service Model Language Examples

⊲ Summary/Conclusion

Lukas Ruf, ETH Z¨ urich 13

Service Model

  • Graph of service components
  • Data path and control service components
  • Service internal control
  • Hooks: created on demand
  • Service chains: efficient, staged data plane processing
  • Service control bus: Powerful signalling method
  • Guards: programmable classification mechanisms

Defines the service infrastructure of PromethOS NP Service Programming Language

  • Copes with the flexibility of our service model
  • Syntax defined by a modified EBNF
  • Fast processable

Provides the service programming interface of PromethOS NP

slide-21
SLIDE 21

Thanks

Thanks

Questions?

Lukas Ruf, <[lukas.]ruf@([[tik.]ee.]ethz|lpr).ch> :−)