network services on
play

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


  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

  2. Motivation Two major trends in networking : ⊲ Motivation Service Model Function shift � Language concentration of functions on routers instead of end systems – Examples platform for new emerging services – Summary/Conclusion Lukas Ruf, ETH Z¨ urich 2

  3. Motivation Two major trends in networking : ⊲ Motivation Service Model Function shift � Language concentration of functions on routers instead of end systems – Examples platform for new emerging services – Summary/Conclusion Network simplification � router consolidation – less but larger router devices – Today Tomorrow Lukas Ruf, ETH Z¨ urich 2

  4. Motivation Two major trends in networking : ⊲ Motivation Service Model Function shift � Language concentration of functions on routers instead of end systems – Examples platform for new emerging services – Summary/Conclusion 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. Lukas Ruf, ETH Z¨ urich 2

  5. Network Services on Service Extensible Routers The Big Picture ⊲ Motivation Service Model Language Service Components Examples Summary/Conclusion Service Specification Mapping �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� Map Specification * * �� �� �� �� �� �� �� �� �� �� �� �� Deployment Service Processing Heterogeneous ProcessingElements Key Parts Service model � Service programming interface � Service mapping algorithm � Non-disruptive service creation � Service processing infrastructure � Router management and control � Lukas Ruf, ETH Z¨ urich 3

  6. Network Services on Service Extensible Routers Focus of this presentation ⊲ Motivation Service Model Language Service Components Examples Summary/Conclusion Service Specification Mapping �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� Map Specification * * �� �� �� �� �� �� �� �� �� �� �� �� Deployment Service Processing Heterogeneous ProcessingElements Key Parts Service model � Service programming interface � Service mapping algorithm � Non-disruptive service creation � Service processing infrastructure � Router management and control � Lukas Ruf, ETH Z¨ urich 4

  7. Network Services on Service Extensible Routers Focus of this presentation ⊲ Motivation Service Model Language Service Components Examples Summary/Conclusion Service Specification Mapping �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� Map Specification * * �� �� �� �� �� �� �� �� �� �� �� �� Deployment Service Processing Heterogeneous ProcessingElements Key Parts Service model � Service programming interface � Cache Node Service Controller Reposi− Manager Mapper tory Unmanaged Service Service mapping algorithm Modules Resource Information Database � Resource Controller Component Loader Service Module Non-disruptive service creation � PE Manager Plugin IP Modules Plugin Stack PromethOS NP Communication Service processing infrastructure � Resource Controller Component Loader PE Manager IP Stack Router management and control PromethOS NP Communication � uModule PE Mgmr. Layer 2 Packet Processors Layer 1 Lukas Ruf, ETH Z¨ urich 4

  8. Goals and Requirements Service Model Motivation ⊲ Service Model G: Describe component-based network services Language G: Define a service infrastructure Examples R: Programmability of data and control plane Summary/Conclusion R: Service internal control mechanisms R: Programmable classification mechanisms R: Flexible extensibility R: Slim, efficient Lukas Ruf, ETH Z¨ urich 5

  9. Goals and Requirements Service Model Motivation ⊲ Service Model G: Describe component-based network services Language G: Define a service infrastructure Examples R: Programmability of data and control plane Summary/Conclusion 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 Lukas Ruf, ETH Z¨ urich 5

  10. Service Model Graph of Service Components Motivation ⊲ Service Model Language service Guard name space Examples Fc G Summary/Conclusion data_in ��� ��� ��� ��� Control data_out hook3 hook1 ��� ��� ��� ��� � � F1 F3 F2 hook2 hook0 Service Control Bus 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 � Lukas Ruf, ETH Z¨ urich 6

  11. Data Path Service Component Network Traffic Processing Functions Motivation ⊲ Service Model Language Examples CCI_in CCI_out SCB_in SCB_out Summary/Conclusion � �� �� � � function data_in data_out 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) � Lukas Ruf, ETH Z¨ urich 7

  12. Control Service Component Service Internal Control Functions Motivation ⊲ Service Model Language CCI_in CCI_out Examples SCB_in SCB_out Summary/Conclusion � �� �� � � function data_in data_out Ctrl_out Ctrl_in 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 � Lukas Ruf, ETH Z¨ urich 8

  13. Extension and Dispatching Data Path Service Extension and Packet Dispatching Motivation ⊲ Service Model Language 1 2 Examples 3 Summary/Conclusion 4 hook_in hook_out 5 Service Guards Chains 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 – Lukas Ruf, ETH Z¨ urich 9

  14. Service Programming Interface The Service Programming Language Motivation Service Model ID = "#" VALID NAME . ⊲ Language TIMED = "timed=" DELAY. BW RES = "bwmin=" BW "bwmax=" BW [ "pps=" NUMBER ] . Examples CPU RES = "cpumin=" CPU "cpumax=" CPU. Summary/Conclusion 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 = ( [ ID ] | ( PROC TYPE | ID ) ) "src" "bin" [ "|" 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 [ ] "?" INTF ) . "copy" HOOK OUT = ( ID | ">" ID [ ] [ "?" INTF ] ) . "copy" 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 � Lukas Ruf, ETH Z¨ urich 10

Recommend


More recommend