PRISTINE Project 
Exploring Programmability in RINA (Recursive 
Internet Architectures) 
EU-Taiwan Workshop 
October 24th, Bruxelles 
@ictpristine 
Tinku Rasheed 
Future Networks Area Head 
Create-Net Research Center, Italy 
Slides courtesy @ PRISTINE Consortium
Softwarized Networks: Key Goals 
Commoditization of network equipments 
Programmability 
What for? 
• Flexibility, agility, reuse, automation 
• Seamless integration with infrastructure 
management solutions 
• Lowering CAPEX and OPEX 
• .. And (last but most important) allow rapid network 
innovation
Inconveniences 
Commoditization: Who decides the limit? What is 
the minimum? 
Programmability: only for forwarding tables? 
• What about data transfer, resource allocation, flow 
control, access control, authentication… 
Complexity: still build on TCP/IP? 
• Security, Multi-homing, Mobility… 
• Huge pile of protocols/RFCs
RINA is an.. 
Innovative approach to computer networking 
using inter-process communications (IPC), a set 
of techniques for the exchange of data among 
multiple threads in processes running on one or 
more computers connected to a network. 
The RINA principle: 
Networking is not a layered set of 
different functions but rather a single 
layer (DIF) of distributed IPC’s that 
repeats over different scopes. 
Ref. : J. Day: “Patterns in Network Architecture: A Return to Fundamentals, Prentice Hall, 2008.
RINA Architecture 
• A structure of recursive layers 
that provide IPC (Inter Process 
Communication) services to 
applications on top 
• There’s a single type of layer 
that repeats as many times as 
required by the network 
designer 
• Separation of mechanism from 
policy 
• All layers have the same functions, with different scope and range. 
– Not all instances of layers may need all functions, but don’t need more. 
• A Layer is a Distributed Application that performs and manages IPC (a Distributed 
IPC Facility –DIF-) 
• This yields a theory and an architecture that scales indefinitely, 
– i.e. any bounds imposed are not a property of the architecture itself.
Why RINA 
now?
RINA and SDN Goals, how? 
Commoditization 
• RINA defines the common elements in computer 
networking 
Programmability 
• RINA defines the variable behaviour for common 
elements, and hence the common APIs to program 
them 
Complexity 
• RINA maximize the invariants, hence require far 
less protocols to enable networking
PRISTINE: At a Glance 
• Design and implement the innovative internals of the RINA 
architecture (a RINA SDK) that include the programmable 
functions for: 
• security of content and application processes, 
• supporting QoS and congestion control in aggregated levels, 
providing protection and resilience, facilitating more efficient 
topological routing 
• multi-layer management for handling configuration, performance 
and security. 
• Demonstrate the applicability and benefits of this approach 
and its built-in functions in three use-cases 
• datacenter, distributed cloud, carrier network 
• Develop an open-source RINA simulator
PRISTINE: At a Glance 
External Advisory Board 
Cisco Systems, Telecom Italia, Deutsche Telekom, Colt 
Telecom, Boston Univesity, Interoute
PRISTINE Use Cases 
Distributed cloud 
Decentralized cloud technology; customer’s applications run in 
datacenters but also in servers from offices and home users. 
Infrastructure interconnected through multiple ISPs, overall 
connectivity provided through overlay on top -> Use RINA to 
provide this overlay 
Datacenter networking 
Evaluate RINA as a technology that allows more dynamicity 
and tighter integration with applications (dynamic 
instantiation of application-optimized VPNs) 
Network Service Provider 
Investigate benefits of RINA for NSP: better network design, 
simpler management, DIFs that support different levels of 
QoS with stronger flow isolation, better security, 
programmability, etc.
Usecase: Distributed Cloud
Use Case: Network Service 
Provider
Take Away 
PRISTINE offers a new playground for SDN 
PRISTINE is building the RINA SDK for you to 
experiment SDN, in a refreshing way 
First RINA simulator is available. Try it!
<Thank You!> 
For further information: 
Twitter @ictpristine 
Web www.ict-pristine.eu
Backup 
@ictpristine
Architectural model 
DIF 
System (Host) 
IPC Process 
Shim IPC 
Process 
Mgmt 
Agemt 
System 
(Router) 
IPC Process 
Shim IPC 
Process 
Mgmt 
Agemt 
Shim IPC 
Process 
System 
(Host) 
IPC Process 
Shim IPC 
Process 
Mgmt 
Agemt 
Appl. 
Process 
Shim DIF 
over TCP/UDP 
Shim DIF 
over Ethernet 
Appl. 
Process 
IPC API 
Data Transfer Data Transfer Control Layer Management 
SDU Delimiting 
Data Transfer 
Relaying and 
Multiplexing 
SDU Protection 
Transmission 
Transmission 
Control 
Retransmission 
Control 
Flow Control 
RIB 
Daemon 
CACEP Enrollment 
RRIBIB CDAP 
Parser/Generator 
Flow Allocation 
Resource 
Allocation 
Forwarding Table 
Generator 
Authentication 
State Vector State Vector State Vector 
DDaatata T Trarannssfefer r 
Transmission 
Control 
Control 
Retransmission 
RetraCnsomntirsoslion 
Control 
FFloloww C Coonntrtorol l 
Increasing timescale (functions performed less often) and complexity
Naming and addressing in RINA 
All application processes 
(including IPC processes) have 
a name that uniquely identifies 
them within the application 
process namespace. 
In order to facilitate its operation 
within a DIF, each IPC process 
within a DIF gets a synonym 
that may be structured to 
facilitate its use within the DIF 
(i.e. an address). 
1 2 DIF A 
3 4 
1 2 1 2 DIF C 
3 1 2 
1 2 1 2 
DIF B 
DIF D 
DIF E DIF F 
 The scope of an address is the DIF, addresses are not visible outside of the DIF. 
 The Flow Allocator function of the DIF finds the DIF IPC Process through which a 
destination Application process can be accessed. 
 Because the architecture is recursive, applications, nodes and PoAs are relative 
 For a given DIF of rank N, the IPC Process is a node, the process at the layer N+1 is an 
application and the process at the layer N-1 is a Point of Attachment.

EU-Taiwan Workshop on 5G Research, PRISTINE introduction

  • 1.
    PRISTINE Project ExploringProgrammability in RINA (Recursive Internet Architectures) EU-Taiwan Workshop October 24th, Bruxelles @ictpristine Tinku Rasheed Future Networks Area Head Create-Net Research Center, Italy Slides courtesy @ PRISTINE Consortium
  • 2.
    Softwarized Networks: KeyGoals Commoditization of network equipments Programmability What for? • Flexibility, agility, reuse, automation • Seamless integration with infrastructure management solutions • Lowering CAPEX and OPEX • .. And (last but most important) allow rapid network innovation
  • 3.
    Inconveniences Commoditization: Whodecides the limit? What is the minimum? Programmability: only for forwarding tables? • What about data transfer, resource allocation, flow control, access control, authentication… Complexity: still build on TCP/IP? • Security, Multi-homing, Mobility… • Huge pile of protocols/RFCs
  • 4.
    RINA is an.. Innovative approach to computer networking using inter-process communications (IPC), a set of techniques for the exchange of data among multiple threads in processes running on one or more computers connected to a network. The RINA principle: Networking is not a layered set of different functions but rather a single layer (DIF) of distributed IPC’s that repeats over different scopes. Ref. : J. Day: “Patterns in Network Architecture: A Return to Fundamentals, Prentice Hall, 2008.
  • 5.
    RINA Architecture •A structure of recursive layers that provide IPC (Inter Process Communication) services to applications on top • There’s a single type of layer that repeats as many times as required by the network designer • Separation of mechanism from policy • All layers have the same functions, with different scope and range. – Not all instances of layers may need all functions, but don’t need more. • A Layer is a Distributed Application that performs and manages IPC (a Distributed IPC Facility –DIF-) • This yields a theory and an architecture that scales indefinitely, – i.e. any bounds imposed are not a property of the architecture itself.
  • 6.
  • 7.
    RINA and SDNGoals, how? Commoditization • RINA defines the common elements in computer networking Programmability • RINA defines the variable behaviour for common elements, and hence the common APIs to program them Complexity • RINA maximize the invariants, hence require far less protocols to enable networking
  • 8.
    PRISTINE: At aGlance • Design and implement the innovative internals of the RINA architecture (a RINA SDK) that include the programmable functions for: • security of content and application processes, • supporting QoS and congestion control in aggregated levels, providing protection and resilience, facilitating more efficient topological routing • multi-layer management for handling configuration, performance and security. • Demonstrate the applicability and benefits of this approach and its built-in functions in three use-cases • datacenter, distributed cloud, carrier network • Develop an open-source RINA simulator
  • 9.
    PRISTINE: At aGlance External Advisory Board Cisco Systems, Telecom Italia, Deutsche Telekom, Colt Telecom, Boston Univesity, Interoute
  • 10.
    PRISTINE Use Cases Distributed cloud Decentralized cloud technology; customer’s applications run in datacenters but also in servers from offices and home users. Infrastructure interconnected through multiple ISPs, overall connectivity provided through overlay on top -> Use RINA to provide this overlay Datacenter networking Evaluate RINA as a technology that allows more dynamicity and tighter integration with applications (dynamic instantiation of application-optimized VPNs) Network Service Provider Investigate benefits of RINA for NSP: better network design, simpler management, DIFs that support different levels of QoS with stronger flow isolation, better security, programmability, etc.
  • 11.
  • 12.
    Use Case: NetworkService Provider
  • 13.
    Take Away PRISTINEoffers a new playground for SDN PRISTINE is building the RINA SDK for you to experiment SDN, in a refreshing way First RINA simulator is available. Try it!
  • 14.
    <Thank You!> Forfurther information: Twitter @ictpristine Web www.ict-pristine.eu
  • 15.
  • 16.
    Architectural model DIF System (Host) IPC Process Shim IPC Process Mgmt Agemt System (Router) IPC Process Shim IPC Process Mgmt Agemt Shim IPC Process System (Host) IPC Process Shim IPC Process Mgmt Agemt Appl. Process Shim DIF over TCP/UDP Shim DIF over Ethernet Appl. Process IPC API Data Transfer Data Transfer Control Layer Management SDU Delimiting Data Transfer Relaying and Multiplexing SDU Protection Transmission Transmission Control Retransmission Control Flow Control RIB Daemon CACEP Enrollment RRIBIB CDAP Parser/Generator Flow Allocation Resource Allocation Forwarding Table Generator Authentication State Vector State Vector State Vector DDaatata T Trarannssfefer r Transmission Control Control Retransmission RetraCnsomntirsoslion Control FFloloww C Coonntrtorol l Increasing timescale (functions performed less often) and complexity
  • 17.
    Naming and addressingin RINA All application processes (including IPC processes) have a name that uniquely identifies them within the application process namespace. In order to facilitate its operation within a DIF, each IPC process within a DIF gets a synonym that may be structured to facilitate its use within the DIF (i.e. an address). 1 2 DIF A 3 4 1 2 1 2 DIF C 3 1 2 1 2 1 2 DIF B DIF D DIF E DIF F  The scope of an address is the DIF, addresses are not visible outside of the DIF.  The Flow Allocator function of the DIF finds the DIF IPC Process through which a destination Application process can be accessed.  Because the architecture is recursive, applications, nodes and PoAs are relative  For a given DIF of rank N, the IPC Process is a node, the process at the layer N+1 is an application and the process at the layer N-1 is a Point of Attachment.