SlideShare a Scribd company logo
1 of 62
Download to read offline
@ictpristine Webinar, 26th October 2016 1
RINASim
● BASICS
● Vladimír Veselý
Brno University of Technology, Czech Republic
veselyv@fit.vutbr.cz
Agenda
1) Introduction
2) OMNeT++ Handbook
3) RINASim overview
4) Interactive Demo
5) Conclusion
@ictpristine Webinar, 26th October 2016 2
@ictpristine Webinar, 26th October 2016 3
1) Introduction
How to install?
Where to get it?
Documentation and useful links.
Requirements
 OMNeT++ discrete event simulator
 Windows, Linux, FreeBSD environment
 Free for non-commercial purposes
 Supported on version 5.0
 The last release compatible with OMNeT++ 4.6 is
https://github.com/kvetak/RINA/releases/tag/August2016-v4
 No other libraries or frameworks needed
 Potential cooperation with INET framework
@ictpristine Webinar, 26th October 2016 4
VM Install
 Out-of-the box virtual machine
 OMNeT++ 5.0 with the newest RINASim
 Generic OVA appliance
 MintLinux
 Created on VMWare Workstation
 …should work also on VirtualBox and Qemu
 Download from
http://nes.fit.vutbr.cz/ivesely/vm/RINASim.zip
@ictpristine Webinar, 26th October 2016 5
Windows Installation
 Uses MINGW32_NT-10.0-WOW
 Cookbook
1) Download OMNeT++
https://omnetpp.org/omnetpp/send/30-omnet-releases/2307-omnetpp-50-windows
2) ./configure && make
http://omnetpp.org/doc/omnetpp/InstallGuide.pdf
3) Download RINASim
https://github.com/kvetak/RINA/archive/master.zip
4) Import RINASim project
@ictpristine Webinar, 26th October 2016 6
Installation Linux
 gcc 4.9.2 with C++11 support
 Cookbook
1) Requirements
build-essential gcc g++ bison flex perl tcl-dev tk-dev libxml2-dev zlib1g-dev default-jre
doxygen graphviz libwebkitgtk-1.0-0
2) Download OMNeT++
https://omnetpp.org/omnetpp/send/30-omnet-releases/2305-omnetpp-50-linux
3) ./configure && make
http://omnetpp.org/doc/omnetpp/InstallGuide.pdf
4) Download RINASim
https://github.com/kvetak/RINA/archive/master.zip
5) Import RINASim project
@ictpristine Webinar, 26th October 2016 7
Importing RINASim Project
@ictpristine Webinar, 26th October 2016 8
Navigation
 /src
 /Common
 /CS
 /DAF
 /DIF
 /policies
 /examples
 /playground
 /out
 /doc
 /scripts
… RINASim core source codes
… common or shared ADTs
… high-level nodes
… DAF components
… DIF components
… programmable set of policies
… accompanied scenarios
… unmainted/experimental scenarios
… compiled project binaries
… Doxygen source code documentation
… devel batches for SLOC and fingerprinting
@ictpristine Webinar, 26th October 2016 9
Documentation
 Doxygen
 http://nes.fit.vutbr.cz/ivesely/doxy
 Important ADTs, ongoing work
 Build it in folder /doc
 PRISTINE D2.4 and D2.6
 http://ict-pristine.eu/?p=472
 http://ict-pristine.eu/?p=772
 Nasty details about RINASim are in my dissertation
 VESELÝ, Vladimír. A NEW DAWN OF NAMING, ADDRESSING AND ROUTING ON THE INTERNET.
Brno, 2016. Available from: http://www.fit.vutbr.cz/study/DP/PD.php?id=515. PhD. Thesis. Brno University
of Technology, Faculty of Information Technology. 2016-04-12. Supervisor Švéda Miroslav.
@ictpristine Webinar, 26th October 2016 10
@ictpristine Webinar, 26th October 2016 11
2) OMNeT++ Handbook
The fast and the furios introductory course for
OMNeT++ discrete event simulator
Simulation Module
 Modules
 Gates (input, output, inout), messages
@ictpristine Webinar, 26th October 2016 12
Languages
 NED
 to define models and interconnections
 *.ned
 C++
 to implement model behavior
 *.h and *.cc
 Message definition
 to deploy easily C++ message classes
 *.msg
@ictpristine Webinar, 26th October 2016 13
Module’s Hierarchy
 Simple
 Compound
 Network
@ictpristine Webinar, 26th October 2016 14
IDE
@ictpristine Webinar, 26th October 2016 15
Simulation
@ictpristine Webinar, 26th October 2016 16
Scheduled
messages
Component
parameters
Console log
Detached
graphical
component detail
Control buttons
@ictpristine Webinar, 26th October 2016 17
3) RINASim Overview
How are things stitched together?
Components and their purpose
TCP/IP vs RINA
 One generic layer for interprocess
communication called DIF that limits scope
1) Soft-state data transfer
2) Complete addressing and naming
3) Single generic application protocol
4) Split between fixed mechanism and programmable policy
@ictpristine Webinar, 26th October 2016 18
Application
Transport
Internet
Link
Physical
Layer
Layer0
Layer1
Layer2
RINA Network
@ictpristine Webinar, 26th October 2016 19
PicturesaretakenfromJohnDay’spresentationat
http://www.slideshare.net/ictpristine/rina-introduction-part-ii
Design
 Split between mechanism and policy
 Modules as interfaces
@ictpristine Webinar, 26th October 2016 20
NEDdefines
mechanism
interface
omnetpp.ini
binds
apolicy
Configuring Parameters 
 How to setup your simulation?
 Statically preconfigured
 NED parameters in omnetpp.ini
 More complex configuration (lists) in config.xml
 On-the-fly
 not supported everywhere
@ictpristine Webinar, 26th October 2016 21
Configuring Parameters 
@ictpristine Webinar, 26th October 2016 22
omnetpp.ini
config.xml
running simulation
Policy Implementations
@ictpristine Webinar, 26th October 2016 23
Computation Systems ①
@ictpristine Webinar, 26th October 2016 24
Computation Systems ②
 Hosts and Routers
@ictpristine Webinar, 26th October 2016 25
DAF Components
 Application Process (AP)
 Application Entity (AE)
 Common Distribute Apod. Prot.
 DIF Allocator (DA)
 DAF Enrollment
 IPC Resource Manager (IRM)
 DAF RIB Daemon
@ictpristine Webinar, 26th October 2016 26
Application Process
 Contains a single AP instance
 Application code is written using CDAP API
@ictpristine Webinar, 26th October 2016 27
Application Entity
 AP has AE instances
 suffix _instanceID
 AEManagementModule
instance for exchange
of management CDAP
messages
 Another AEs delivering
IPC for AP instance
@ictpristine Webinar, 26th October 2016 28
Common Distributed App Protocol
 Simulation module used by
AE and RIBd
 CDAP
 Sends/Receives CDAP
messages
 CDAPSplitter
 Delegates CDAP message to
appropriate module
 CDAPMsgLog
 Statistic collector
 CACE + AUTH
 Used by Enrollment or during
authentication phase
@ictpristine Webinar, 26th October 2016 29
DIF Allocator
 Knows how AP/IPCP is
reachable via which
IPCP
 Configured externally
 „Unique“ naming scheme
 whatever string allowing
different interpretations
 IPCP name is
concatenation of
unambiguous address
and DIF name
@ictpristine Webinar, 26th October 2016 30
DAF Enrollment
 Notified by Enrollment Notifier
within AE
 Maintains state about AE’s
enrollment
@ictpristine Webinar, 26th October 2016 31
IPC Resource Manager
 Interconnects APs with IPCs
 Passes messages from
applications to DIFs
@ictpristine Webinar, 26th October 2016 32
DAF RIB Daemon
 Shared database for AP
instance functionality
 Its functionality is not bound to
other concrete components
comparing to IPCP’s RIBd
@ictpristine Webinar, 26th October 2016 33
DIF Components
 Flow Allocator (FA)
 Error and Flow Control Prot.
 Delimiting
 Enrollment
 RIB Daemon
 SDU Protection
 Relaying and Multiplexing Task
 Resource Allocator (RA)
 Routing
@ictpristine Webinar, 26th October 2016 34
IPC Process
@ictpristine Webinar, 26th October 2016 35
RIB Daemon
 Generates / Processes IPCP
management messages
 The main IPCP’s AE
 RIBd
 Core functionality
 CDAP
 Socket-like message
sender/receiver
 Notifiers
 FA, Routing, Enrollment hooks
to RIBd
 RIBdSplitter
 Passes CDAP msgs to/from
appropriate EFCPI
 Placeholder for socket
behavior
@ictpristine Webinar, 26th October 2016 36
DIF Enrollment
 Maintains enrollment
status for a given DIF
 Used when allocating
connections between
IPCPs
@ictpristine Webinar, 26th October 2016 37
Flow Allocator
 Manages flow lifecycle
 FA
 Core functionality
 FAI_portId_cepId
 Instance
 NFlowTable
 Information about all (N)-DIF
connections
 NewFlowRequestPolicy
 Score or Min compare
 AllocateRetryPolicy
 Upon treshold reach
 QoSComparerPolicy
 For multi QoSCube routing
purposes
@ictpristine Webinar, 26th October 2016 38
Error and Flow Control Protocol
 EFCP
 Manages EFCP instances
 EFCPTable
 Table of known EFCPIs
 Delimiting_portId
 Creates SDUs from incoming PDUs
 EFCPI_cepId
 Provides DTP and DTCP services
 MockEFCPI
 Provides unreliable communication for
IPCP management messages
 Simple en/decapsulater between SDUs
and PDUs
@ictpristine Webinar, 26th October 2016 39
EFCP Instance
 DTP
 Actual Data Transfer
 DTCP
 Handles Flow Control
and ReXmission
@ictpristine Webinar, 26th October 2016 40
 DTPState
 Holds all DTP related variables
 DTCPState
 Holds all DTCP related variables
 EFCP policies
 Triggered during various DTP states
Resource Allocator
 Provides access to
(N-1)-DIFs and their resources
 RA
 Core functionality
 Manages IPCP’s QoSCubes
 NM1FlowTable
 Information about current (N-1)-flows
 PDUFwdGenerator
 Forwarding information management
 QueueAllocPolicy
 How and when should RMT queues
be allocated?
 QueueIdGenerator
 In which RMT queue should a PDU be
stored?
 AddressComparator
 Syntax and comparison of addresses
@ictpristine Webinar, 26th October 2016 41
Relaying and Multiplexing Task
 Relays incoming/outgoing
PDU to proper destination
(either an EFCP instance
or an (N-1)-flow)
 RMT
 The core PDU forwarder
 SchedulingPolicy
 When a PDU needs to be
sent/received, which
queue should it be taken
from?
 QueueMonitorPolicy
 Keeping information
about port/queue states
 MaxQueuePolicy
 What should happen to a
queue when it overflows?
 PDUForwardingPolicy
 Where should be PDU
relayed based on a given
header?
@ictpristine Webinar, 26th October 2016 42
Routing
 The policy computing
optimal paths to other
destinations by given
metrics
 Usually some sort of
routing algorithm
exchanging information
with other members of a
DIF
@ictpristine Webinar, 26th October 2016 43
@ictpristine Webinar, 26th October 2016 44
Interactive Demo
How IPC works between two hosts
interconnected to a common node?
HostA HostBSwitch
Topology
@ictpristine Webinar, 26th October 2016 45
Cookbook
 Topology
 2× host with single AP
 1× interior router
 2× datarate channel between
 Task
1) Setup network
2) Schedule simulation
3) Run
 Goal
 To observe IPC between two hosts interconnected by a
interior router
@ictpristine Webinar, 26th October 2016 46
HostA HostBSwitch
1) Setup network
 Create new simulation in folder
examples/Demos/Demo
@ictpristine Athens, 27th June 2016 47
1) Setup network
 Open Demo.ned and add two Host1AP onto
canvas and one InteriorRouter2Int
 Rename them with F6
 Connect them with DatarateChannel
@ictpristine Athens, 27th June 2016 48
1) Setup network
 Change DatarateChannel properties
 Setup delay, ber, datarate
@ictpristine Athens, 27th June 2016 49
2) Schedule simulation
 config.xml
 DIF Allocator settings
 Schedule enrollment events
 Available QoS Cubes
 omnetpp.ini
 Assign addresses
 Bind config.xml
 Schedule AEMyPing
@ictpristine Webinar, 26th October 2016 50
2) Schedule simulation: config.xml
 Copy config.xml
from examples/Demos/UseCase4/config.xml
@ictpristine Webinar, 26th October 2016 51
2) Schedule simulation: config.xml
@ictpristine Webinar, 26th October 2016 52
2) Schedule simulation: omnetpp.ini
@ictpristine Athens, 27th June 2016 53
3) Run
@ictpristine Webinar, 26th October 2016 54
Notable Events
 t=5
 hostB enrolls to Layer02 and Layer11
 t=10
 hostA creats flows for AP communication
 t=10.3
 SourceA and DestinationB apps exchange ping
messages
 t=20
 hostA deallocates Layer11 flow
@ictpristine Webinar, 26th October 2016 55
@ictpristine Webinar, 26th October 2016 56
5) Conclusion
Final remarks
Usual problems
Summary
 Educational tool
 A way how to visualize what is happening in the
native RINA network
 Helps to improve learning curve
 Research tool
 Check the growing list of citations
https://rinasim.omnetpp.org/#references
@ictpristine Webinar, 26th October 2016 57
Something Is Not Working
1) Simulation crashes before it starts
 Serious bug in your NED/C++ code
2) Simulation crashes after initialization
 Error in static preconfiguration
 check omnetpp.ini and config.xml
3) Simulation does not do what is supposed to
 Error in your code logic
 check the output of the Console
 try to debug using GDB
@ictpristine Webinar, 26th October 2016 58
Other Topics
 We did not cover
 How to play with policies? How to implement own
policy?
 How to collect and interpret results?
 Interested?
@ictpristine Webinar, 26th October 2016 59
You Want to Use RINASim
 Messages like:
 Currently, RINASim does not offer any real
data-link layer technology
In order to use RINASim, you need to be
programmer whether you like it or not 
@ictpristine Webinar, 26th October 2016 60
Need Help?
 Check the official webpage
 Visit https://rinasim.omnetpp.org
 Skype group chat
 skype:?chat&blob=-bdq6qH_uDXIlbRk_4_XwqZyplfXPl4IzCq4P-
S0BrsttjgPR8CNJKV9-Yyn1TYopaYZD2g3bIC_Yv0C
 https://join.skype.com/B9Tt5aTPd0nC
 Sign to mailing-list rinasim@fit.vutbr.cz
 Use http://www.fit.vutbr.cz/mailman/listinfo/rinasim
@ictpristine Webinar, 26th October 2016 61
RINASim
● Thank you for your attention!
@ictpristine Webinar, 26th October 2016 62

More Related Content

Similar to 1st RINASim webinar

Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink Forward
 

Similar to 1st RINASim webinar (20)

On Engineering Analytics of Elastic IoT Cloud Systems
On Engineering Analytics of Elastic IoT Cloud SystemsOn Engineering Analytics of Elastic IoT Cloud Systems
On Engineering Analytics of Elastic IoT Cloud Systems
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - Boston
 
Open stack nova reverse engineer
Open stack nova reverse engineerOpen stack nova reverse engineer
Open stack nova reverse engineer
 
pythonOCC PDE2009 presentation
pythonOCC PDE2009 presentationpythonOCC PDE2009 presentation
pythonOCC PDE2009 presentation
 
HINC – Harmonizing Diverse Resource Information Across IoT, Network Functions...
HINC – Harmonizing Diverse Resource Information Across IoT, Network Functions...HINC – Harmonizing Diverse Resource Information Across IoT, Network Functions...
HINC – Harmonizing Diverse Resource Information Across IoT, Network Functions...
 
Apache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes – Flexible Industrial IoT ManagementApache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes – Flexible Industrial IoT Management
 
SINC – An Information-Centric Approach for End-to-End IoT Cloud Resource Prov...
SINC – An Information-Centric Approach for End-to-End IoT Cloud Resource Prov...SINC – An Information-Centric Approach for End-to-End IoT Cloud Resource Prov...
SINC – An Information-Centric Approach for End-to-End IoT Cloud Resource Prov...
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
 
Always-On Web of Things Infrastructure Dynamic Software Updating
Always-On Web of Things Infrastructure Dynamic Software UpdatingAlways-On Web of Things Infrastructure Dynamic Software Updating
Always-On Web of Things Infrastructure Dynamic Software Updating
 
Implementation of a SaaS based simulation platform using open standards and o...
Implementation of a SaaS based simulation platform using open standards and o...Implementation of a SaaS based simulation platform using open standards and o...
Implementation of a SaaS based simulation platform using open standards and o...
 
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour Dallas
 
Programming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.ioProgramming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.io
 
LCCC Emerson Presentation - Final2.pptx
LCCC Emerson Presentation - Final2.pptxLCCC Emerson Presentation - Final2.pptx
LCCC Emerson Presentation - Final2.pptx
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
 
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0
 
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
 
Self-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT SystemsSelf-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT Systems
 
Presentation of OCCIware, a standard, extensible Cloud consumer platform at P...
Presentation of OCCIware, a standard, extensible Cloud consumer platform at P...Presentation of OCCIware, a standard, extensible Cloud consumer platform at P...
Presentation of OCCIware, a standard, extensible Cloud consumer platform at P...
 
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
 

Recently uploaded

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
nilamkumrai
 

Recently uploaded (20)

2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft DatingDubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 

1st RINASim webinar

  • 1. @ictpristine Webinar, 26th October 2016 1 RINASim ● BASICS ● Vladimír Veselý Brno University of Technology, Czech Republic veselyv@fit.vutbr.cz
  • 2. Agenda 1) Introduction 2) OMNeT++ Handbook 3) RINASim overview 4) Interactive Demo 5) Conclusion @ictpristine Webinar, 26th October 2016 2
  • 3. @ictpristine Webinar, 26th October 2016 3 1) Introduction How to install? Where to get it? Documentation and useful links.
  • 4. Requirements  OMNeT++ discrete event simulator  Windows, Linux, FreeBSD environment  Free for non-commercial purposes  Supported on version 5.0  The last release compatible with OMNeT++ 4.6 is https://github.com/kvetak/RINA/releases/tag/August2016-v4  No other libraries or frameworks needed  Potential cooperation with INET framework @ictpristine Webinar, 26th October 2016 4
  • 5. VM Install  Out-of-the box virtual machine  OMNeT++ 5.0 with the newest RINASim  Generic OVA appliance  MintLinux  Created on VMWare Workstation  …should work also on VirtualBox and Qemu  Download from http://nes.fit.vutbr.cz/ivesely/vm/RINASim.zip @ictpristine Webinar, 26th October 2016 5
  • 6. Windows Installation  Uses MINGW32_NT-10.0-WOW  Cookbook 1) Download OMNeT++ https://omnetpp.org/omnetpp/send/30-omnet-releases/2307-omnetpp-50-windows 2) ./configure && make http://omnetpp.org/doc/omnetpp/InstallGuide.pdf 3) Download RINASim https://github.com/kvetak/RINA/archive/master.zip 4) Import RINASim project @ictpristine Webinar, 26th October 2016 6
  • 7. Installation Linux  gcc 4.9.2 with C++11 support  Cookbook 1) Requirements build-essential gcc g++ bison flex perl tcl-dev tk-dev libxml2-dev zlib1g-dev default-jre doxygen graphviz libwebkitgtk-1.0-0 2) Download OMNeT++ https://omnetpp.org/omnetpp/send/30-omnet-releases/2305-omnetpp-50-linux 3) ./configure && make http://omnetpp.org/doc/omnetpp/InstallGuide.pdf 4) Download RINASim https://github.com/kvetak/RINA/archive/master.zip 5) Import RINASim project @ictpristine Webinar, 26th October 2016 7
  • 8. Importing RINASim Project @ictpristine Webinar, 26th October 2016 8
  • 9. Navigation  /src  /Common  /CS  /DAF  /DIF  /policies  /examples  /playground  /out  /doc  /scripts … RINASim core source codes … common or shared ADTs … high-level nodes … DAF components … DIF components … programmable set of policies … accompanied scenarios … unmainted/experimental scenarios … compiled project binaries … Doxygen source code documentation … devel batches for SLOC and fingerprinting @ictpristine Webinar, 26th October 2016 9
  • 10. Documentation  Doxygen  http://nes.fit.vutbr.cz/ivesely/doxy  Important ADTs, ongoing work  Build it in folder /doc  PRISTINE D2.4 and D2.6  http://ict-pristine.eu/?p=472  http://ict-pristine.eu/?p=772  Nasty details about RINASim are in my dissertation  VESELÝ, Vladimír. A NEW DAWN OF NAMING, ADDRESSING AND ROUTING ON THE INTERNET. Brno, 2016. Available from: http://www.fit.vutbr.cz/study/DP/PD.php?id=515. PhD. Thesis. Brno University of Technology, Faculty of Information Technology. 2016-04-12. Supervisor Švéda Miroslav. @ictpristine Webinar, 26th October 2016 10
  • 11. @ictpristine Webinar, 26th October 2016 11 2) OMNeT++ Handbook The fast and the furios introductory course for OMNeT++ discrete event simulator
  • 12. Simulation Module  Modules  Gates (input, output, inout), messages @ictpristine Webinar, 26th October 2016 12
  • 13. Languages  NED  to define models and interconnections  *.ned  C++  to implement model behavior  *.h and *.cc  Message definition  to deploy easily C++ message classes  *.msg @ictpristine Webinar, 26th October 2016 13
  • 14. Module’s Hierarchy  Simple  Compound  Network @ictpristine Webinar, 26th October 2016 14
  • 16. Simulation @ictpristine Webinar, 26th October 2016 16 Scheduled messages Component parameters Console log Detached graphical component detail Control buttons
  • 17. @ictpristine Webinar, 26th October 2016 17 3) RINASim Overview How are things stitched together? Components and their purpose
  • 18. TCP/IP vs RINA  One generic layer for interprocess communication called DIF that limits scope 1) Soft-state data transfer 2) Complete addressing and naming 3) Single generic application protocol 4) Split between fixed mechanism and programmable policy @ictpristine Webinar, 26th October 2016 18 Application Transport Internet Link Physical Layer Layer0 Layer1 Layer2
  • 19. RINA Network @ictpristine Webinar, 26th October 2016 19 PicturesaretakenfromJohnDay’spresentationat http://www.slideshare.net/ictpristine/rina-introduction-part-ii
  • 20. Design  Split between mechanism and policy  Modules as interfaces @ictpristine Webinar, 26th October 2016 20 NEDdefines mechanism interface omnetpp.ini binds apolicy
  • 21. Configuring Parameters   How to setup your simulation?  Statically preconfigured  NED parameters in omnetpp.ini  More complex configuration (lists) in config.xml  On-the-fly  not supported everywhere @ictpristine Webinar, 26th October 2016 21
  • 22. Configuring Parameters  @ictpristine Webinar, 26th October 2016 22 omnetpp.ini config.xml running simulation
  • 24. Computation Systems ① @ictpristine Webinar, 26th October 2016 24
  • 25. Computation Systems ②  Hosts and Routers @ictpristine Webinar, 26th October 2016 25
  • 26. DAF Components  Application Process (AP)  Application Entity (AE)  Common Distribute Apod. Prot.  DIF Allocator (DA)  DAF Enrollment  IPC Resource Manager (IRM)  DAF RIB Daemon @ictpristine Webinar, 26th October 2016 26
  • 27. Application Process  Contains a single AP instance  Application code is written using CDAP API @ictpristine Webinar, 26th October 2016 27
  • 28. Application Entity  AP has AE instances  suffix _instanceID  AEManagementModule instance for exchange of management CDAP messages  Another AEs delivering IPC for AP instance @ictpristine Webinar, 26th October 2016 28
  • 29. Common Distributed App Protocol  Simulation module used by AE and RIBd  CDAP  Sends/Receives CDAP messages  CDAPSplitter  Delegates CDAP message to appropriate module  CDAPMsgLog  Statistic collector  CACE + AUTH  Used by Enrollment or during authentication phase @ictpristine Webinar, 26th October 2016 29
  • 30. DIF Allocator  Knows how AP/IPCP is reachable via which IPCP  Configured externally  „Unique“ naming scheme  whatever string allowing different interpretations  IPCP name is concatenation of unambiguous address and DIF name @ictpristine Webinar, 26th October 2016 30
  • 31. DAF Enrollment  Notified by Enrollment Notifier within AE  Maintains state about AE’s enrollment @ictpristine Webinar, 26th October 2016 31
  • 32. IPC Resource Manager  Interconnects APs with IPCs  Passes messages from applications to DIFs @ictpristine Webinar, 26th October 2016 32
  • 33. DAF RIB Daemon  Shared database for AP instance functionality  Its functionality is not bound to other concrete components comparing to IPCP’s RIBd @ictpristine Webinar, 26th October 2016 33
  • 34. DIF Components  Flow Allocator (FA)  Error and Flow Control Prot.  Delimiting  Enrollment  RIB Daemon  SDU Protection  Relaying and Multiplexing Task  Resource Allocator (RA)  Routing @ictpristine Webinar, 26th October 2016 34
  • 35. IPC Process @ictpristine Webinar, 26th October 2016 35
  • 36. RIB Daemon  Generates / Processes IPCP management messages  The main IPCP’s AE  RIBd  Core functionality  CDAP  Socket-like message sender/receiver  Notifiers  FA, Routing, Enrollment hooks to RIBd  RIBdSplitter  Passes CDAP msgs to/from appropriate EFCPI  Placeholder for socket behavior @ictpristine Webinar, 26th October 2016 36
  • 37. DIF Enrollment  Maintains enrollment status for a given DIF  Used when allocating connections between IPCPs @ictpristine Webinar, 26th October 2016 37
  • 38. Flow Allocator  Manages flow lifecycle  FA  Core functionality  FAI_portId_cepId  Instance  NFlowTable  Information about all (N)-DIF connections  NewFlowRequestPolicy  Score or Min compare  AllocateRetryPolicy  Upon treshold reach  QoSComparerPolicy  For multi QoSCube routing purposes @ictpristine Webinar, 26th October 2016 38
  • 39. Error and Flow Control Protocol  EFCP  Manages EFCP instances  EFCPTable  Table of known EFCPIs  Delimiting_portId  Creates SDUs from incoming PDUs  EFCPI_cepId  Provides DTP and DTCP services  MockEFCPI  Provides unreliable communication for IPCP management messages  Simple en/decapsulater between SDUs and PDUs @ictpristine Webinar, 26th October 2016 39
  • 40. EFCP Instance  DTP  Actual Data Transfer  DTCP  Handles Flow Control and ReXmission @ictpristine Webinar, 26th October 2016 40  DTPState  Holds all DTP related variables  DTCPState  Holds all DTCP related variables  EFCP policies  Triggered during various DTP states
  • 41. Resource Allocator  Provides access to (N-1)-DIFs and their resources  RA  Core functionality  Manages IPCP’s QoSCubes  NM1FlowTable  Information about current (N-1)-flows  PDUFwdGenerator  Forwarding information management  QueueAllocPolicy  How and when should RMT queues be allocated?  QueueIdGenerator  In which RMT queue should a PDU be stored?  AddressComparator  Syntax and comparison of addresses @ictpristine Webinar, 26th October 2016 41
  • 42. Relaying and Multiplexing Task  Relays incoming/outgoing PDU to proper destination (either an EFCP instance or an (N-1)-flow)  RMT  The core PDU forwarder  SchedulingPolicy  When a PDU needs to be sent/received, which queue should it be taken from?  QueueMonitorPolicy  Keeping information about port/queue states  MaxQueuePolicy  What should happen to a queue when it overflows?  PDUForwardingPolicy  Where should be PDU relayed based on a given header? @ictpristine Webinar, 26th October 2016 42
  • 43. Routing  The policy computing optimal paths to other destinations by given metrics  Usually some sort of routing algorithm exchanging information with other members of a DIF @ictpristine Webinar, 26th October 2016 43
  • 44. @ictpristine Webinar, 26th October 2016 44 Interactive Demo How IPC works between two hosts interconnected to a common node? HostA HostBSwitch
  • 46. Cookbook  Topology  2× host with single AP  1× interior router  2× datarate channel between  Task 1) Setup network 2) Schedule simulation 3) Run  Goal  To observe IPC between two hosts interconnected by a interior router @ictpristine Webinar, 26th October 2016 46 HostA HostBSwitch
  • 47. 1) Setup network  Create new simulation in folder examples/Demos/Demo @ictpristine Athens, 27th June 2016 47
  • 48. 1) Setup network  Open Demo.ned and add two Host1AP onto canvas and one InteriorRouter2Int  Rename them with F6  Connect them with DatarateChannel @ictpristine Athens, 27th June 2016 48
  • 49. 1) Setup network  Change DatarateChannel properties  Setup delay, ber, datarate @ictpristine Athens, 27th June 2016 49
  • 50. 2) Schedule simulation  config.xml  DIF Allocator settings  Schedule enrollment events  Available QoS Cubes  omnetpp.ini  Assign addresses  Bind config.xml  Schedule AEMyPing @ictpristine Webinar, 26th October 2016 50
  • 51. 2) Schedule simulation: config.xml  Copy config.xml from examples/Demos/UseCase4/config.xml @ictpristine Webinar, 26th October 2016 51
  • 52. 2) Schedule simulation: config.xml @ictpristine Webinar, 26th October 2016 52
  • 53. 2) Schedule simulation: omnetpp.ini @ictpristine Athens, 27th June 2016 53
  • 54. 3) Run @ictpristine Webinar, 26th October 2016 54
  • 55. Notable Events  t=5  hostB enrolls to Layer02 and Layer11  t=10  hostA creats flows for AP communication  t=10.3  SourceA and DestinationB apps exchange ping messages  t=20  hostA deallocates Layer11 flow @ictpristine Webinar, 26th October 2016 55
  • 56. @ictpristine Webinar, 26th October 2016 56 5) Conclusion Final remarks Usual problems
  • 57. Summary  Educational tool  A way how to visualize what is happening in the native RINA network  Helps to improve learning curve  Research tool  Check the growing list of citations https://rinasim.omnetpp.org/#references @ictpristine Webinar, 26th October 2016 57
  • 58. Something Is Not Working 1) Simulation crashes before it starts  Serious bug in your NED/C++ code 2) Simulation crashes after initialization  Error in static preconfiguration  check omnetpp.ini and config.xml 3) Simulation does not do what is supposed to  Error in your code logic  check the output of the Console  try to debug using GDB @ictpristine Webinar, 26th October 2016 58
  • 59. Other Topics  We did not cover  How to play with policies? How to implement own policy?  How to collect and interpret results?  Interested? @ictpristine Webinar, 26th October 2016 59
  • 60. You Want to Use RINASim  Messages like:  Currently, RINASim does not offer any real data-link layer technology In order to use RINASim, you need to be programmer whether you like it or not  @ictpristine Webinar, 26th October 2016 60
  • 61. Need Help?  Check the official webpage  Visit https://rinasim.omnetpp.org  Skype group chat  skype:?chat&blob=-bdq6qH_uDXIlbRk_4_XwqZyplfXPl4IzCq4P- S0BrsttjgPR8CNJKV9-Yyn1TYopaYZD2g3bIC_Yv0C  https://join.skype.com/B9Tt5aTPd0nC  Sign to mailing-list rinasim@fit.vutbr.cz  Use http://www.fit.vutbr.cz/mailman/listinfo/rinasim @ictpristine Webinar, 26th October 2016 61
  • 62. RINASim ● Thank you for your attention! @ictpristine Webinar, 26th October 2016 62