Post on 15-Jan-2016
NSIS based NetServ Signalling ProtocolDesign and ImplementationRoberto FrancescangeliVisiting PhD student
NetServ Signaling Protocol
0On-Path NSIS based protocol0NetServ protocol runs on top of GIST in C-mode0NetServ protocol will provide
0 Request validation and authentication0 Installation and removal of service modules on path0 NetServ network probing features such as
0State of on-path nodes (Topology Discovery)0State of services (Service Discovery)0Logs and errors collection for service/node management
system or debug
Design of NetServ Protocol 1
0 3 Request messages0 SETUP0 REMOVE0 PROBE
0 3 Response messages, one for each request0 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 data0 Initiating node will get the stack and process it0 Data can be used by other nodes on the path as well0 Authorization for Probe Requests (TBD)
Design of NetServ Protocol 2
0Only NSIS nodes with a running NetServ NSLP will process the protocol messages
0Other nodes forward the packets transparently
Message and TLV Objects 1
0 SETUP Request0 Data ID0 URLs0 Lifetime0 [Security, NodeIDs, Conditional Install, Additional Info]
0 REMOVE Request0 Data ID0 [Security, NodeIDs, Conditional Install, Additional Info]
0 PROBE Request0 Data ID0 Probe Ids0 Security
Message and TLV Objects 2
0SETUP and REMOVE Response0 Response (class, code, object of interest)0 [Additional Information]
0PROBE Response0 Node ID0 Data ID0 Probe Data
Each NODE add its own responseto the message creating a stack
GIST and NetServ Protocol
0NetServ Protocol runs on top of GIST0GIST provides hop by hop node discovery, peer
association and message transport
Protocol Implementation
0Based completely on Open Source technologies02 free GIST layer implemetations available:
0 FreeNSIS by University of Göttingen0 NSIS-KA by University of Karlsruhe
0C++ based0Multi-process or Multi-thread0Timer and Hashtables libraries0Common 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 daemon0 NSLP daemon always connected to NetServ controller0 NetServ controller will validate and execute requests
0 Download, verification, installation of services0 Service Container management0 NetServ Kernel management0 Virtualization of different Service Containers management