SlideShare a Scribd company logo
#ict-pristine
IRATI: An open source RINA
implementation for Linux/OS
Eduard Grasa on behalf of
The PRISTINE consortium
OVERVIEW: GOALS AND
HIGH LEVEL DESIGN
2
1
#ict-pristine
• … but can also be the basis of RINA-based products
– Tightly integrated with the Operating System
– Capable of being optimized for high performance
– Enables future hardware offload of some functions
– Capable of seamlessly supporting existing applications
– IP over RINA
RINA implementation goals
• Build a platform that enables RINA experimentation …
– Flexible, adaptable (host, interior router, border router)
– Modular design
– Programmable
– RINA over X (Ethernet, TCP, UDP, USB, shared memory, etc.)
– Support for native RINA applications
3
1
2
3
4
5
1
2
3
4
5
#ict-pristine
Some decisions and tradeoffs
4
Decision Pros Cons
Linux/OS vs other
Operating systems
Adoption, Community, Stability,
Documentation, Support
Monolithic kernel (RINA/
IPC Model may be better
suited to micro-kernels)
User/kernel split
vs user-space only
IPC as a fundamental OS service,
access device drivers, hardware
offload, IP over RINA, performance
More complex
implementation and
debugging
C/C++
vs Java, Python, …
Native implementation
Portability, Skills to master
language (users)
Multiple user-space
daemons vs single one
Reliability, Isolation between IPCPs
and IPC Manager
Communication overhead,
more complex impl.
Soft-irqs/tasklets vs.
workqueues (kernel)
Minimize latency and context
switches of data going through the
“stack”
More complex kernel
locking and debugging
High-level software arch.
5
PRISTINE contributions: SDK, policies, NMS
6
Normal IPC Process
(Layer Management)
User space
IRATI stack
Kernel
Kernel IPC Manager
Normal IPC Process
(Data Transfer/Control)
Shim IPCP
over 802.1Q
Shim IPCP
for HV
Shim IPCP
TCP/UDP
IPC Process Daemon
(Layer Management)
IPC Manager Daemon
Normal IPC Process
(Data Transfer/Control)
Shim IPCP
TCP/UDP
Shim IPCP
for HV
Shim IPCP
over 802.1Q
Application
zoom in
zoom in
zoom in
Normal IPC Process
(Data Transfer/Control) Error and Flow Control Protocol
Relaying and Multiplexing Task
SDU Protection
SDK support
RTT
policy
Txctrl
policy
ECN
policy
. . .
SDK support
Forwar
policy
Schedu
policy
MaxQ
policy
Monit
policy
SDK support
TTL
policy
CRC
policy
Encryp
policy
Normal IPC Process
(Layer Management)
RIB & RIB
Daemon
librina
Resource
allocation
Flow allocation
Enrollment
Namespace
Management
Security
Management
Routing
SDK support
Auth.
policy
Acc.ctrl
policy
Coord
policy
SDK support
Address
assign
Directory
replica
Address
validat
SDK support
New flow
policy
SDK support
PFTgen
policy
Pushbak
notify
SDK support
Enroll.
sequenc
e
SDK support
Routing
policyIPC Manager
RIB & RIB
Daemon
librina
Manageme
nt agent
(NMS DAF)
IPCM logic
Network Manager
(NMS DAF)
Implementation status (I)
General
IRATI objectives, outcomes and lessons learned 7
Component Summary of status
Management Agent
Initial implementation ready: IPCP creation, destruction;
assignment to a DIF; triggering of enrollment operation; query RIB
Manager Initial PoC ready, working on integration with Management Agent.
Shim IPCP over
802.1q
Wrap a VLAN interface or a full Ethernet interface with the DIF API.
Uses own implementation of ARP internally. Single QoS cube.
Shim IPCP over
TCP/UDP
Wrap a TCP/UDP-IP layer with the DIF API. Two QoS cubes: reliable
(“implemented” with a TCP connection) and unreliable (UDP)
Shim IPCP for HV
Allow VM-to-host communications over shared memory wrapping
it with the DIF API.
Normal IPC Process See next slides
SDK (kernel RPI)
Support for RMT and EFCP. Need to improve granularity of policy-
sets and add support for SDU Protection.
SDK (user-space RPI)
Support for enrollment, auth, flow allocation, namespace mgr,
resource allocator, routing. Need CDAP, RIB Daemon support.
Implementation status (I)
IPCP components
IRATI objectives, outcomes and lessons learned 8
IPCP component SDK Available policies / comments
CACEP Y No authentication, password-based, cryptographic (RSA keys)
SDU Protection N
On/off hardcoded default policies, no SDK support yet: CRC32
(Error Check), hopcount (TTL enforcement), AES encryption
CDAP N Google Protocol Buffers (GPB) encoding, no support for filter op
Enrollment Y Default enrollment policy based on enrollment spec
Flow Allocation Y Simple QoS-cube selection policy (just reliable or unreliable)
Namespace Mgr. Y Static addressing, fully replicated Directory Forwarding Table
Routing Y Link-state routing policy based on IS-IS
Res. Allocator Y PDU Fwding table generator policy with input from routing
EFCP Y Retx. Control policies, window-based flow control, ECN receiver
RMT Y
Multiplexing: simple FIFO, cherish/urgency. Forwarding: longest
match on dest. address, multi-path forwarding, LFA. ECN marking
QUICK DEMO
9
2
Overlay2
2
Quick demo scenario
10
VLAN 110 VLAN 100
Shim DIF over
802.1Q, “100”
Shim DIF over
802.1Q “110”
test1.IRATI
16
test2.IRATI
17
test3.IRATI
18
“Normal.DIF”
Server
app
Client
app
System 1 System 2 System 3
eth1eth2eth1eth1
• Nothing too fancy, just show how IPCPs are created and configured currently,
2 levels of DIFs and the “rina-echo-time” application on top
Overlay1
1“vpn.DIF”
EXPERIMENTAL ACTIVITIES
11
3
• Decide the number and scope of the layers (DIFs) in the network, .
Example:
– Three ISPs that use multiple DIFs internally for traffic aggregation
purposes
– ISP alliance DIF: the three ISPs get together to support a number of
specialized DIFs
• Public Internet DIF (General purpose), Corporate VPN DIF, Interactive Video
DIF
Designing RINA networks (I)
Number, scope of layers and goal of each one
12
ISP 2 Metro DIF
ISP 2 Regional DIF
ISP 2 Backbone DIF
ISP 3 Metro DIF
ISP 3 Backbone DIF
ISP 1 Metro DIF
ISP 1 Backbone DIF
ISP Alliance DIF
Public Internet DIF
Corporate VPN DIFInteractive Video
DIF
Designing RINA networks (II)
QoS cubes to be supported by each layer
• Identify the types of traffic that should be served by each layer and
dimension it. Ideally, for each type of traffic, we would like to know:
– Characterization in terms of burstiness, offered load, etc
– Required statistical bounds on loss and delay (e.g. 99% of time
loss should be less than 5%) -> can be derived from required QoE
– Reliable and/or in order delivery of data required?
• From that information the number and characteristics of QoS cubes
required can be derived.
13
Designing RINA networks (III)
Policy sets of each layer
• Design new (or use existing) policy sets that allow each layer to reach
its design goals taking into account its operational environment
(offered traffic, QoS cubes supported, N-1 DIFs).
– Connectivity graph, addressing, routing, data transfer, delimiting, resource
allocation, relaying and multiplexing, authentication, authorization, SDU protection,
etc
14
IPC API
Data Transfer Data Transfer Control Layer Management
SDU Delimiting
Data Transfer
Relaying and
Multiplexing
SDU Protection
Retransmission
Control
Flow Control
RIB
Daemon
RIB
CDAP
Parser/Generator
CACEP
Enrollment
Flow Allocation
Resource Allocation
Routing
Authentication
StateVector
StateVectorStateVector
Data TransferData Transfer
Retransmission
Control
Retransmission
Control
Flow Control
Flow Control
Increasing timescale (functions performed less often) and complexity
Namespace
Management
Security
Management
Designing RINA networks (IV)
Network Management System
• Analyze the role of the Network Management System (“monitor and
repair”), a number of configurations are possible – from fairly
centralized to autonomic.
• Understand the different operating ranges of the network, decide
monitors/triggers to sense them and design strategies to
automatically transition between different policy sets associated to
the operating ranges.
15
Mgr
MA MA MA
MA
MA
MA
MA
MA
Designing RINA networks (V)
Interoperating with legacy technology
• If it has to interoperate with existing technology or support legacy apps,
understand the required tooling for interoperation: shim DIFs,
gateways, legacy application support.
16
GatewayVIFIB Node
TCP or UDP
Public Internet
(IPv6)
Ethernet
Gateway
VIFIB Node VIFIB Node
Ethernet (VLAN)
Shim IPC
Process
Shim IPC
Process Public Internet (IPv4)
Ethernet Ethernet. . . Ethernet Ethernet. . .
Shim IPC
Process
Shim IPC
Process
Shim IPC
Process
IPC
Process
IPC
Process
IPC
Process
IPC
Process
SlapOS base
DIF
Shim DIF over UDP
Shim DIF
over 802.1Q
Shim DIFs
Gateway
Legacy
app
faux
Faux Sockets
Performance experiments (I) goodput
17
• Note: The prototype is not performance-optimized yet
• An extra layer doesn’t add too much overhead
Performance experiments (II) delay
18
RTT directly over the shim DIF
RTT directly over normal
IPCP over shim
• Adding an extra DIF doesn’t
incur a significant penalty on
processing delay
Experiments we are currently setting up
Distributed cloud scenario
19
• Authentication, encryption
• Multi-layer congestion control/avoidance
• Delay/loss multiplexing (multiple QoS classes)
Experiments we are currently setting up
Datacentre networking scenario
20
• Multi-layer congestion
control/avoidance
• QoS-aware multipath routing
• Routing in multiple layers
OPEN SOURCE INITIATIVE
21
4
Open source IRATI
22
• IRATI github side
• http://irati.github.io/stack
• Hosts code, docs, issues
• Installation guide
• Experimenters (tutorials)
• Developers (software arch)
• Mailing list for users and
developers
• irati@freelists.org
• Procedures to contribute under
discussion, doc ongoing
Planned contributions to (open) IRATI
23
Open IRATI
FP7 PRISTINE project
• Software Development Kit (RPI)
• Simple configuration tools
• Management Agent
• Enhanced CDAP and RIB libraries
• Several IPCP Policies
• Bug fixes
• Faux sockets? Network Manager?
Contribs during 2015 and 1H 2016
G3+ OC winner IRINA project
• Traffic generation modules for test apps,
bug fixes
April/May 2015
You
• Lots to do!
Let’s talk!
Further information can be found here.
Twitter @ictpristine
www www.ict-pristine.eu
<Thank you!>

More Related Content

What's hot (20)

PDF
RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7
Eleni Trouva
 
PPTX
3. RINA use cases, results, benefits
ARCFIRE ICT
 
PPTX
IRATI @ RINA Workshop 2014, Dublin
Eleni Trouva
 
PDF
Rina acc-icc16-stein
ICT PRISTINE
 
PPTX
Update on IRATI technical work after month 6
Eleni Trouva
 
PPTX
The hageu rina-workshop-security-peter
ICT PRISTINE
 
PPTX
Pristine glif 2015
ICT PRISTINE
 
PPTX
IRATI Experimentation, US-EU FIRE Workshop
Eleni Trouva
 
PDF
IRATI project presentation
Eleni Trouva
 
PPTX
1. RINA motivation - TF Workshop
ARCFIRE ICT
 
PPTX
RINA detailed components overview and implementation discussion
Eleni Trouva
 
PPT
Rina IRATI GLIF Singapore 2013
Eleni Trouva
 
PDF
Eucnc rina-tutorial
ICT PRISTINE
 
PPT
RINA IRATI Korea-EU Workshop 2013
Eleni Trouva
 
PDF
Congestion Control in Recursive Network Architectures
ICT PRISTINE
 
PPT
RINA: Update on research and prototyping activities. Global Future Internet W...
Eleni Trouva
 
PDF
Irati fire-engineering-workshop-nov2012
Eleni Trouva
 
PPTX
The hague rina-workshop-intro-eduard
ICT PRISTINE
 
PPTX
Reconstructing computer networking with RINA: how solid scientific foundation...
ICT PRISTINE
 
PPT
Unreliable inter process communication in Ethernet: Migrating to RINA with th...
Eleni Trouva
 
RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7
Eleni Trouva
 
3. RINA use cases, results, benefits
ARCFIRE ICT
 
IRATI @ RINA Workshop 2014, Dublin
Eleni Trouva
 
Rina acc-icc16-stein
ICT PRISTINE
 
Update on IRATI technical work after month 6
Eleni Trouva
 
The hageu rina-workshop-security-peter
ICT PRISTINE
 
Pristine glif 2015
ICT PRISTINE
 
IRATI Experimentation, US-EU FIRE Workshop
Eleni Trouva
 
IRATI project presentation
Eleni Trouva
 
1. RINA motivation - TF Workshop
ARCFIRE ICT
 
RINA detailed components overview and implementation discussion
Eleni Trouva
 
Rina IRATI GLIF Singapore 2013
Eleni Trouva
 
Eucnc rina-tutorial
ICT PRISTINE
 
RINA IRATI Korea-EU Workshop 2013
Eleni Trouva
 
Congestion Control in Recursive Network Architectures
ICT PRISTINE
 
RINA: Update on research and prototyping activities. Global Future Internet W...
Eleni Trouva
 
Irati fire-engineering-workshop-nov2012
Eleni Trouva
 
The hague rina-workshop-intro-eduard
ICT PRISTINE
 
Reconstructing computer networking with RINA: how solid scientific foundation...
ICT PRISTINE
 
Unreliable inter process communication in Ethernet: Migrating to RINA with th...
Eleni Trouva
 

Viewers also liked (15)

PPTX
10 myths about cloud computing
Ahmed Banafa
 
PDF
Assuring QoS Guarantees for Heterogeneous Services in RINA Networks with ΔQ
ICT PRISTINE
 
PDF
3 addressingthe problem130123
Eleni Trouva
 
PPTX
A Wake-Up Call for IoT
Ahmed Banafa
 
PPTX
Th hauge rina-workshop-sdn-virtualisation_neil
ICT PRISTINE
 
PPTX
The hague rina-workshop-nfv-diego
ICT PRISTINE
 
PPTX
The hague rina-workshop-congestioncontrol-peyman
ICT PRISTINE
 
PPTX
The hague rina-workshop-interop-deployment_vincenzo
ICT PRISTINE
 
PPTX
The hague rina-workshop-welcome-miguel
ICT PRISTINE
 
PPTX
Pristine rina-security-icc-2016
ICT PRISTINE
 
PPTX
Irati goals and achievements - 3rd RINA Workshop
Eleni Trouva
 
PDF
Anomaly detection and root cause analysis in distributed application transact...
Yuchen Zhao
 
PDF
Data Science in Industry - Applying Machine Learning to Real-world Challenges
Yuchen Zhao
 
PDF
Dublin addressingtheproblem131224
ICT PRISTINE
 
PPTX
How Artificial Intelligence Will Kickstart the Internet of Thnigs
Ahmed Banafa
 
10 myths about cloud computing
Ahmed Banafa
 
Assuring QoS Guarantees for Heterogeneous Services in RINA Networks with ΔQ
ICT PRISTINE
 
3 addressingthe problem130123
Eleni Trouva
 
A Wake-Up Call for IoT
Ahmed Banafa
 
Th hauge rina-workshop-sdn-virtualisation_neil
ICT PRISTINE
 
The hague rina-workshop-nfv-diego
ICT PRISTINE
 
The hague rina-workshop-congestioncontrol-peyman
ICT PRISTINE
 
The hague rina-workshop-interop-deployment_vincenzo
ICT PRISTINE
 
The hague rina-workshop-welcome-miguel
ICT PRISTINE
 
Pristine rina-security-icc-2016
ICT PRISTINE
 
Irati goals and achievements - 3rd RINA Workshop
Eleni Trouva
 
Anomaly detection and root cause analysis in distributed application transact...
Yuchen Zhao
 
Data Science in Industry - Applying Machine Learning to Real-world Challenges
Yuchen Zhao
 
Dublin addressingtheproblem131224
ICT PRISTINE
 
How Artificial Intelligence Will Kickstart the Internet of Thnigs
Ahmed Banafa
 
Ad

Similar to IRATI: an open source RINA implementation for Linux/OS (20)

PDF
Rina korea-eu-ws-2013-sergi figuerola-last version_upload
i2CAT Foundation
 
PPTX
Rina converged network operator - etsi workshop
ARCFIRE ICT
 
PPTX
RINA essentials, PISA Internet Festival 2015
ICT PRISTINE
 
PPTX
2. RINA overview - TF workshop
ARCFIRE ICT
 
PPT
EU-Taiwan Workshop on 5G Research, PRISTINE introduction
ICT PRISTINE
 
PDF
1st RINASim Webinar
Vladimír Veselý
 
PDF
1st RINASim webinar
Vladimír Veselý
 
PPTX
Pristine rina-tnc-2016
ARCFIRE ICT
 
PPTX
RINA as a Clean-Slate Approach to Software Networks
ICT PRISTINE
 
PPTX
PRISTINE presentation at the Net-Tech Future Coordination meeting
ICT PRISTINE
 
PPTX
RINA research results - NGP forum - SDN World Congress 2017
ARCFIRE ICT
 
PPT
EC Net Tech FI Cluster meeting October 23 2014 PRISTINE
ICT PRISTINE
 
PPTX
Exp3mq
ARCFIRE ICT
 
PDF
Rina IRATI @ GLIF Singapoure -2013
i2CAT Foundation
 
PPTX
PRISTINE @ FIA Athens 2014
ICT PRISTINE
 
PDF
Engineering Internet QoS 1st Edition Sanjay Jha
vaxxugry2278
 
PPTX
Mobility mangement rina iwcnc
ARCFIRE ICT
 
PDF
Engineering Internet QoS 1st Edition Sanjay Jha
ragktylar
 
PPT
PRISTINE - Laying the groundwork for field trials of RINA in the EU
Tssg Wit
 
PPT
Laying the groundwork for field trials of RINA in the EU
Tssg Wit
 
Rina korea-eu-ws-2013-sergi figuerola-last version_upload
i2CAT Foundation
 
Rina converged network operator - etsi workshop
ARCFIRE ICT
 
RINA essentials, PISA Internet Festival 2015
ICT PRISTINE
 
2. RINA overview - TF workshop
ARCFIRE ICT
 
EU-Taiwan Workshop on 5G Research, PRISTINE introduction
ICT PRISTINE
 
1st RINASim Webinar
Vladimír Veselý
 
1st RINASim webinar
Vladimír Veselý
 
Pristine rina-tnc-2016
ARCFIRE ICT
 
RINA as a Clean-Slate Approach to Software Networks
ICT PRISTINE
 
PRISTINE presentation at the Net-Tech Future Coordination meeting
ICT PRISTINE
 
RINA research results - NGP forum - SDN World Congress 2017
ARCFIRE ICT
 
EC Net Tech FI Cluster meeting October 23 2014 PRISTINE
ICT PRISTINE
 
Exp3mq
ARCFIRE ICT
 
Rina IRATI @ GLIF Singapoure -2013
i2CAT Foundation
 
PRISTINE @ FIA Athens 2014
ICT PRISTINE
 
Engineering Internet QoS 1st Edition Sanjay Jha
vaxxugry2278
 
Mobility mangement rina iwcnc
ARCFIRE ICT
 
Engineering Internet QoS 1st Edition Sanjay Jha
ragktylar
 
PRISTINE - Laying the groundwork for field trials of RINA in the EU
Tssg Wit
 
Laying the groundwork for field trials of RINA in the EU
Tssg Wit
 
Ad

More from ICT PRISTINE (7)

PDF
Benefits of programmable topological routing policies in RINA-enabled large s...
ICT PRISTINE
 
PDF
2016 06-10-ieee-sdn (1)
ICT PRISTINE
 
PDF
Lost layer talk 2014
ICT PRISTINE
 
PDF
RINA Introduction, part II
ICT PRISTINE
 
PDF
6 security130123
ICT PRISTINE
 
PDF
Dublin mngmt140120
ICT PRISTINE
 
PDF
SFR: Scalable Forwarding with RINA for Distributed Clouds
ICT PRISTINE
 
Benefits of programmable topological routing policies in RINA-enabled large s...
ICT PRISTINE
 
2016 06-10-ieee-sdn (1)
ICT PRISTINE
 
Lost layer talk 2014
ICT PRISTINE
 
RINA Introduction, part II
ICT PRISTINE
 
6 security130123
ICT PRISTINE
 
Dublin mngmt140120
ICT PRISTINE
 
SFR: Scalable Forwarding with RINA for Distributed Clouds
ICT PRISTINE
 

Recently uploaded (20)

PPTX
Softuni - Psychology of entrepreneurship
Kalin Karakehayov
 
PPTX
Networking_Essentials_version_3.0_-_Module_5.pptx
ryan622010
 
PPTX
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
PPTX
Metaphysics_Presentation_With_Visuals.pptx
erikjohnsales1
 
DOCX
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
PDF
Enhancing Parental Roles in Protecting Children from Online Sexual Exploitati...
ICT Frame Magazine Pvt. Ltd.
 
PDF
Digital burnout toolkit for youth workers and teachers
asociatiastart123
 
PPTX
原版一样(LHU毕业证书)英国利物浦希望大学毕业证办理方法
Taqyea
 
PDF
FutureCon Seattle 2025 Presentation Slides - You Had One Job
Suzanne Aldrich
 
PPTX
Academic Debate: Creation vs Evolution.pptx
JOHNPATRICKMARTINEZ5
 
PDF
BRKAPP-1102 - Proactive Network and Application Monitoring.pdf
fcesargonca
 
PPTX
西班牙巴利阿里群岛大学电子版毕业证{UIBLetterUIB文凭证书}文凭复刻
Taqyea
 
PDF
Cleaning up your RPKI invalids, presented at PacNOG 35
APNIC
 
PPTX
法国巴黎第二大学本科毕业证{Paris 2学费发票Paris 2成绩单}办理方法
Taqyea
 
PDF
The Hidden Benefits of Outsourcing IT Hardware Procurement for Small Businesses
Carley Cramer
 
PPTX
美国电子毕业证帕克大学电子版成绩单UMCP学费发票办理学历认证
Taqyea
 
PDF
Boardroom AI: The Next 10 Moves | Cerebraix Talent Tech
ssuser73bdb11
 
PPTX
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
PPTX
PHIPA-Compliant Web Hosting in Toronto: What Healthcare Providers Must Know
steve198109
 
PDF
google promotion services in Delhi, India
Digital Web Future
 
Softuni - Psychology of entrepreneurship
Kalin Karakehayov
 
Networking_Essentials_version_3.0_-_Module_5.pptx
ryan622010
 
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
Metaphysics_Presentation_With_Visuals.pptx
erikjohnsales1
 
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
Enhancing Parental Roles in Protecting Children from Online Sexual Exploitati...
ICT Frame Magazine Pvt. Ltd.
 
Digital burnout toolkit for youth workers and teachers
asociatiastart123
 
原版一样(LHU毕业证书)英国利物浦希望大学毕业证办理方法
Taqyea
 
FutureCon Seattle 2025 Presentation Slides - You Had One Job
Suzanne Aldrich
 
Academic Debate: Creation vs Evolution.pptx
JOHNPATRICKMARTINEZ5
 
BRKAPP-1102 - Proactive Network and Application Monitoring.pdf
fcesargonca
 
西班牙巴利阿里群岛大学电子版毕业证{UIBLetterUIB文凭证书}文凭复刻
Taqyea
 
Cleaning up your RPKI invalids, presented at PacNOG 35
APNIC
 
法国巴黎第二大学本科毕业证{Paris 2学费发票Paris 2成绩单}办理方法
Taqyea
 
The Hidden Benefits of Outsourcing IT Hardware Procurement for Small Businesses
Carley Cramer
 
美国电子毕业证帕克大学电子版成绩单UMCP学费发票办理学历认证
Taqyea
 
Boardroom AI: The Next 10 Moves | Cerebraix Talent Tech
ssuser73bdb11
 
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
PHIPA-Compliant Web Hosting in Toronto: What Healthcare Providers Must Know
steve198109
 
google promotion services in Delhi, India
Digital Web Future
 

IRATI: an open source RINA implementation for Linux/OS

  • 1. #ict-pristine IRATI: An open source RINA implementation for Linux/OS Eduard Grasa on behalf of The PRISTINE consortium
  • 2. OVERVIEW: GOALS AND HIGH LEVEL DESIGN 2 1 #ict-pristine
  • 3. • … but can also be the basis of RINA-based products – Tightly integrated with the Operating System – Capable of being optimized for high performance – Enables future hardware offload of some functions – Capable of seamlessly supporting existing applications – IP over RINA RINA implementation goals • Build a platform that enables RINA experimentation … – Flexible, adaptable (host, interior router, border router) – Modular design – Programmable – RINA over X (Ethernet, TCP, UDP, USB, shared memory, etc.) – Support for native RINA applications 3 1 2 3 4 5 1 2 3 4 5 #ict-pristine
  • 4. Some decisions and tradeoffs 4 Decision Pros Cons Linux/OS vs other Operating systems Adoption, Community, Stability, Documentation, Support Monolithic kernel (RINA/ IPC Model may be better suited to micro-kernels) User/kernel split vs user-space only IPC as a fundamental OS service, access device drivers, hardware offload, IP over RINA, performance More complex implementation and debugging C/C++ vs Java, Python, … Native implementation Portability, Skills to master language (users) Multiple user-space daemons vs single one Reliability, Isolation between IPCPs and IPC Manager Communication overhead, more complex impl. Soft-irqs/tasklets vs. workqueues (kernel) Minimize latency and context switches of data going through the “stack” More complex kernel locking and debugging
  • 6. PRISTINE contributions: SDK, policies, NMS 6 Normal IPC Process (Layer Management) User space IRATI stack Kernel Kernel IPC Manager Normal IPC Process (Data Transfer/Control) Shim IPCP over 802.1Q Shim IPCP for HV Shim IPCP TCP/UDP IPC Process Daemon (Layer Management) IPC Manager Daemon Normal IPC Process (Data Transfer/Control) Shim IPCP TCP/UDP Shim IPCP for HV Shim IPCP over 802.1Q Application zoom in zoom in zoom in Normal IPC Process (Data Transfer/Control) Error and Flow Control Protocol Relaying and Multiplexing Task SDU Protection SDK support RTT policy Txctrl policy ECN policy . . . SDK support Forwar policy Schedu policy MaxQ policy Monit policy SDK support TTL policy CRC policy Encryp policy Normal IPC Process (Layer Management) RIB & RIB Daemon librina Resource allocation Flow allocation Enrollment Namespace Management Security Management Routing SDK support Auth. policy Acc.ctrl policy Coord policy SDK support Address assign Directory replica Address validat SDK support New flow policy SDK support PFTgen policy Pushbak notify SDK support Enroll. sequenc e SDK support Routing policyIPC Manager RIB & RIB Daemon librina Manageme nt agent (NMS DAF) IPCM logic Network Manager (NMS DAF)
  • 7. Implementation status (I) General IRATI objectives, outcomes and lessons learned 7 Component Summary of status Management Agent Initial implementation ready: IPCP creation, destruction; assignment to a DIF; triggering of enrollment operation; query RIB Manager Initial PoC ready, working on integration with Management Agent. Shim IPCP over 802.1q Wrap a VLAN interface or a full Ethernet interface with the DIF API. Uses own implementation of ARP internally. Single QoS cube. Shim IPCP over TCP/UDP Wrap a TCP/UDP-IP layer with the DIF API. Two QoS cubes: reliable (“implemented” with a TCP connection) and unreliable (UDP) Shim IPCP for HV Allow VM-to-host communications over shared memory wrapping it with the DIF API. Normal IPC Process See next slides SDK (kernel RPI) Support for RMT and EFCP. Need to improve granularity of policy- sets and add support for SDU Protection. SDK (user-space RPI) Support for enrollment, auth, flow allocation, namespace mgr, resource allocator, routing. Need CDAP, RIB Daemon support.
  • 8. Implementation status (I) IPCP components IRATI objectives, outcomes and lessons learned 8 IPCP component SDK Available policies / comments CACEP Y No authentication, password-based, cryptographic (RSA keys) SDU Protection N On/off hardcoded default policies, no SDK support yet: CRC32 (Error Check), hopcount (TTL enforcement), AES encryption CDAP N Google Protocol Buffers (GPB) encoding, no support for filter op Enrollment Y Default enrollment policy based on enrollment spec Flow Allocation Y Simple QoS-cube selection policy (just reliable or unreliable) Namespace Mgr. Y Static addressing, fully replicated Directory Forwarding Table Routing Y Link-state routing policy based on IS-IS Res. Allocator Y PDU Fwding table generator policy with input from routing EFCP Y Retx. Control policies, window-based flow control, ECN receiver RMT Y Multiplexing: simple FIFO, cherish/urgency. Forwarding: longest match on dest. address, multi-path forwarding, LFA. ECN marking
  • 10. Overlay2 2 Quick demo scenario 10 VLAN 110 VLAN 100 Shim DIF over 802.1Q, “100” Shim DIF over 802.1Q “110” test1.IRATI 16 test2.IRATI 17 test3.IRATI 18 “Normal.DIF” Server app Client app System 1 System 2 System 3 eth1eth2eth1eth1 • Nothing too fancy, just show how IPCPs are created and configured currently, 2 levels of DIFs and the “rina-echo-time” application on top Overlay1 1“vpn.DIF”
  • 12. • Decide the number and scope of the layers (DIFs) in the network, . Example: – Three ISPs that use multiple DIFs internally for traffic aggregation purposes – ISP alliance DIF: the three ISPs get together to support a number of specialized DIFs • Public Internet DIF (General purpose), Corporate VPN DIF, Interactive Video DIF Designing RINA networks (I) Number, scope of layers and goal of each one 12 ISP 2 Metro DIF ISP 2 Regional DIF ISP 2 Backbone DIF ISP 3 Metro DIF ISP 3 Backbone DIF ISP 1 Metro DIF ISP 1 Backbone DIF ISP Alliance DIF Public Internet DIF Corporate VPN DIFInteractive Video DIF
  • 13. Designing RINA networks (II) QoS cubes to be supported by each layer • Identify the types of traffic that should be served by each layer and dimension it. Ideally, for each type of traffic, we would like to know: – Characterization in terms of burstiness, offered load, etc – Required statistical bounds on loss and delay (e.g. 99% of time loss should be less than 5%) -> can be derived from required QoE – Reliable and/or in order delivery of data required? • From that information the number and characteristics of QoS cubes required can be derived. 13
  • 14. Designing RINA networks (III) Policy sets of each layer • Design new (or use existing) policy sets that allow each layer to reach its design goals taking into account its operational environment (offered traffic, QoS cubes supported, N-1 DIFs). – Connectivity graph, addressing, routing, data transfer, delimiting, resource allocation, relaying and multiplexing, authentication, authorization, SDU protection, etc 14 IPC API Data Transfer Data Transfer Control Layer Management SDU Delimiting Data Transfer Relaying and Multiplexing SDU Protection Retransmission Control Flow Control RIB Daemon RIB CDAP Parser/Generator CACEP Enrollment Flow Allocation Resource Allocation Routing Authentication StateVector StateVectorStateVector Data TransferData Transfer Retransmission Control Retransmission Control Flow Control Flow Control Increasing timescale (functions performed less often) and complexity Namespace Management Security Management
  • 15. Designing RINA networks (IV) Network Management System • Analyze the role of the Network Management System (“monitor and repair”), a number of configurations are possible – from fairly centralized to autonomic. • Understand the different operating ranges of the network, decide monitors/triggers to sense them and design strategies to automatically transition between different policy sets associated to the operating ranges. 15 Mgr MA MA MA MA MA MA MA MA
  • 16. Designing RINA networks (V) Interoperating with legacy technology • If it has to interoperate with existing technology or support legacy apps, understand the required tooling for interoperation: shim DIFs, gateways, legacy application support. 16 GatewayVIFIB Node TCP or UDP Public Internet (IPv6) Ethernet Gateway VIFIB Node VIFIB Node Ethernet (VLAN) Shim IPC Process Shim IPC Process Public Internet (IPv4) Ethernet Ethernet. . . Ethernet Ethernet. . . Shim IPC Process Shim IPC Process Shim IPC Process IPC Process IPC Process IPC Process IPC Process SlapOS base DIF Shim DIF over UDP Shim DIF over 802.1Q Shim DIFs Gateway Legacy app faux Faux Sockets
  • 17. Performance experiments (I) goodput 17 • Note: The prototype is not performance-optimized yet • An extra layer doesn’t add too much overhead
  • 18. Performance experiments (II) delay 18 RTT directly over the shim DIF RTT directly over normal IPCP over shim • Adding an extra DIF doesn’t incur a significant penalty on processing delay
  • 19. Experiments we are currently setting up Distributed cloud scenario 19 • Authentication, encryption • Multi-layer congestion control/avoidance • Delay/loss multiplexing (multiple QoS classes)
  • 20. Experiments we are currently setting up Datacentre networking scenario 20 • Multi-layer congestion control/avoidance • QoS-aware multipath routing • Routing in multiple layers
  • 22. Open source IRATI 22 • IRATI github side • http://irati.github.io/stack • Hosts code, docs, issues • Installation guide • Experimenters (tutorials) • Developers (software arch) • Mailing list for users and developers • [email protected] • Procedures to contribute under discussion, doc ongoing
  • 23. Planned contributions to (open) IRATI 23 Open IRATI FP7 PRISTINE project • Software Development Kit (RPI) • Simple configuration tools • Management Agent • Enhanced CDAP and RIB libraries • Several IPCP Policies • Bug fixes • Faux sockets? Network Manager? Contribs during 2015 and 1H 2016 G3+ OC winner IRINA project • Traffic generation modules for test apps, bug fixes April/May 2015 You • Lots to do! Let’s talk!
  • 24. Further information can be found here. Twitter @ictpristine www www.ict-pristine.eu <Thank you!>