NSIS based NetServ Signalling Protocol Design and Implementation Roberto Francescangeli Visiting PhD student
NetServ Signaling Protocol 0 On-Path NSIS based protocol 0 NetServ protocol runs on top of GIST in C-mode 0 NetServ protocol will provide 0 Request validation and authentication 0 Installation and removal of service modules on path 0 NetServ network probing features such as 0 State of on-path nodes (Topology Discovery) 0 State of services (Service Discovery) 0 Logs and errors collection for service/node management system or debug
Design of NetServ Protocol Request messages 0 SETUP 0 REMOVE 0 PROBE 0 3 Response messages, one for each request 0 Messages carry TLV encoded data (GIST-like format) 0 Probe Response contains a stack of responses 0 Each node traversed by the probe adds its own data 0 Initiating node will get the stack and process it 0 Data can be used by other nodes on the path as well 0 Authorization for Probe Requests (TBD)
Design of NetServ Protocol 2 0 Only NSIS nodes with a running NetServ NSLP will process the protocol messages 0 Other nodes forward the packets transparently
Message and TLV Objects 1 0 SETUP Request 0 Data ID 0 URLs 0 Lifetime 0 [Security, NodeIDs, Conditional Install, Additional Info] 0 REMOVE Request 0 Data ID 0 [Security, NodeIDs, Conditional Install, Additional Info] 0 PROBE Request 0 Data ID 0 Probe Ids 0 Security
Message and TLV Objects 2 0 SETUP and REMOVE Response 0 Response (class, code, object of interest) 0 [Additional Information] 0 PROBE Response 0 Node ID 0 Data ID 0 Probe Data Each NODE add its own response to the message creating a stack
GIST and NetServ Protocol 0 NetServ Protocol runs on top of GIST 0 GIST provides hop by hop node discovery, peer association and message transport
Protocol Implementation 0 Based completely on Open Source technologies 0 2 free GIST layer implemetations available: 0 FreeNSIS by University of Göttingen 0 NSIS-KA by University of Karlsruhe 0 C++ based 0 Multi-process or Multi-thread 0 Timer and Hashtables libraries 0 Common API between GIST and NSLP makes the two GIST implementations swappable
Current Architecture
Implementation Details 0 Services can trigger NetServ signaling using a command line tool or a C++ Shared Library (.so) that will connect directly to the NSLP daemon 0 GIST daemon always connected to NSLP daemon 0 NSLP daemon always connected to NetServ controller 0 NetServ controller will validate and execute requests 0 Download, verification, installation of services 0 Service Container management 0 NetServ Kernel management 0 Virtualization of different Service Containers management