Skip to content
Go to file

#RINA Simulator

###Version changelog

  • February 2017 - Refactored examples, towards OMNeT++ 5.1 compatibility
  • October 2016 - Socket and CDAP API added, compilable on OMNeT++ 5.0
  • August 2016 - The last release compatible with OMNeT++ 4.6
  • October 2015-February 2016 - Trento meeting version, Fragmentation/Concatenation in Delimiting, DAF level Enrollment, scenario split
  • July-September 2015 - RIBd notifiers, pre-EFCPv6 updates, CDAPProcessingBase interface, merging partner's contribution (namely routing and congestion control), added Hop Count to PDU header
  • May/June 2015 - Enrollment, (N-1)-data/management separation, MIT relicensing, EFCPv4+ updates, separation of QoSCubes and QoS requirements, change of QoSCube-id datatype, source code split between policies and src, PDU headers for (N)-management frames, multiple AEs within single AP communication
  • April 2015 - Routing policies prototypes, traceback packet file, CDAP redesign
  • March 2015 - Slowdown/Pushupnotif congestion control, basic statistics, flow lifecycle, AEStream/ExtendedPing
  • February 2015 - After-Ghent release with FA policies
  • January 2015 - Ghent meeting with EFCP, RMT, RA, PDUFTG and policies
  • November 2014 - Brussels RV1 with AllNodes examples
  • October 2014 - Madrid F2F meeting with working SimpleRelay and TwoCSs scenarios



  • VESELY, Vladimir. A NEW DAWN OF NAMING, ADDRESSING AND ROUTING ON THE INTERNET. Brno, 2016. Available from: PhD. Thesis. Brno University of Technology, Faculty of Information Technology. 2016-04-12. Supervisor Sveda Miroslav.
  • S. L. Gaixas, J. Perello, D. Careglio, E. Grasa, N. Davies and P. Thompson. Assuring Absolute QoS Guarantees for Heterogeneous Services in RINA Networks with delta-Q. IEEE NetCloud 2016, December 2016.
  • E. Elahi, J. Barron, M. Crotty, M. Ponce de Leon, R. Mijumbi, S. Davy, D. Staessens and S. Vrijders. On Load Management in Service Oriented Networks. IEEE Cloudnet 2016, October 2016.
  • P. Teymoori et al., Congestion control in the recursive InterNetworking Architecture (RINA), 2016 IEEE International Conference on Communications (ICC), Kuala Lumpur, 2016, pp. 1-7. doi: 10.1109/ICC.2016.7510818. Available from:
  • F. Hrizi, A. Laouiti and H. Chaouchi, SFR: Scalable forwarding with RINA for distributed clouds, Network of the Future (NOF), 2015 6th International Conference on the, Montreal, QC, 2015, pp. 1-6. doi: 10.1109/NOF.2015.7333311. Available from:
  • VESELY Vladimir, MAREK Marcel, HYKEL TomaS, RYSAVY Ondrej, LICHTNER Ondrej and JERABEK Kamil. Deliverable 2.6: RINASim - advanced functionality. Brno, 2015. Available from:
  • VESELY Vladimir, MAREK Marcel, HYKEL Tomas and RYSAVY Ondrej. Skip This Paper - RINASim: Your Recursive InterNetwork Architecture Simulator. In: Proceedings of 2nd OMNeT++ Community Summit. Ithaca, NY: Cornell University Library, 2015, pp. 1-4. ISSN 2331-8422. Available from:
  • VESELY Vladimir, MAREK Marcel, HYKEL TomaS, RYSAVY Ondrej and LICHTNER Ondrej. Deliverable 2.4: RINASim - basic functionality. Brno, 2015. Available from:

###Directory structure

/examples					... scenarios testing RINA stack
	/Basics					... simple testing scenarios
	/Congestion				... congestion control
	/Demos					... use-cases for tutorials and demo sessions
	/LB						... load-balancing
	/Routing				... routing in topologies
/playground					... unsupported/obsolete scenarios
/src						... source codes' folder
	/Common					... shared basic classes
	/CS						... computing system simulation nodes
	/DAF					... DAF components
	/DIF 					... DIF component
	/Other					... non-essential user-requested core components

/policies				    ... all programable RINA policies

/scripts			... batch for checking/updating fingerprints			... counts source lines of code

###Available policies /DAF ... DAF policies /DIF ... DIF policies /FA ... policies related to FA modules /AllocateRetry ... what happen when M_CREATE is resend by Flow Allocator /LimitedRetries ... when retransmit treshold is met, allocation is discontinued /MultilevelQoS ... when a flow request a new n-1 flow, how its requirements are mapped to n-1 requirements not used yet /NewFlowRequest ... when new flow is being allocated, how are its requirements mapped to RA QoSCubes /ScoreComparer ... QoSCube with best score wins /MinComparer ... QoSCube with minimal feasibility wins /RA ... policies related to RA modules /AddressComparator ... policy used for determining whether a PDU address matches the IPCP's address
/ExactMatch ... exact matching /PrefixMatch ... matching based on address prefix /PDUFG ... PDU Forwarding Generator providing data used by the PDU Forwarding policy /BiDomainGenerator ... populates forwarding policy with entries on the form samePrefix.Id -> port and distinctPrefix.
-> port /LatGenerator ... inform of flow metrics to routing as latency (based on n-1 QoS cube) instead of hops /MSimpleGenerator ... inform of flow metrics to routing as hops, populates forwarding policy with all existing best next hops /QoSDomainGenerator ... populates forwarding policy with best next hop per dst + QoS /SimpleGenerator ... inform of flow metrics to routing as hops /SingleDomainGenerator ... inform of flow metrics to routing as hops, variation using Domain based routing /StaticGenerator ... load forwarding information from XML configuration /QueueAlloc ... (N-1)-port queue allocation strategy /QueuePerNCU ... one queue per (N)-Cherish/Urgency class /QueuePerNFlow ... one queue per (N)-flow /QueuePerNQoS ... one queue per (N)-QoS cube /SingleQueue ... one queue for all /QueueIDGen ... companion policy to QueueAlloc; returns queue ID for given PDU or Flow object /IDPerNCU ... used with QueueAlloc::QueuePerNCU /IDPerNFlow ... used with QueueAlloc::QueuePerNFlow /IDPerNQoS ... used with QueueAlloc::QueuePerNQoS /SingleID ... used with QueueAlloc::SingleQueue /RMT ... policies related to RMT modules /MaxQueue ... policy invoked when a queue size grows over its threshold /DumbMaxQ ... request drop probability to monitor, drop random on that. used with "SmartMonitor"s /ECNMarker ... if queue size >= threshold, apply ECN marking on new PDUs; if size >= max, drop /PortMaxQ ... to remove!! /ReadRateReducer ... if queue size >= allowed maximum, stop receiving data from input ports /REDDropper ... used with Monitor::REDMonitor; Random Early Detection implementation /TailDrop ... if queue size >= allowed maximum, drop new PDUs /UpstreamNotifier ... if queue size >= allowed maximum, send a notification to the PDU sender /Monitor ... state-keeping policy invoked on various queue events /BEMonitor ... Best-effort as SmartMonitor using multiple queues /DLMonitor ... Dela/Loss monitor implementation as SmartMonitor /eDLMonitor ... enhanced-Dela/Loss monitor implementation as SmartMonitor /REDMonitor ... used with MaxQueue::REDDropper; Random Early Detection implementation /DummyMonitor ... noop /SmartMonitor ... monitor interface for use with dumbMaxQ/dumbSch. can be queried for drop probability and next queue /PDUForwarding ... policy used to decide where to forward a PDU /DomainTabl ... a table with {domain:{prefix, QoS} -> { Table:{dstAddr -> port}, default:port } } /MiniTable ... a table with {dstAddr -> port} mappings /MultiMiniTable ... a table with {dstAddr -> vectior} mappings /QoSTable ... a table with {(dstAddr, QoS) -> port} mappings /SimpleTable ... a table with {(dstAddr, QoS) -> port} mappings /Scheduler ... policy deciding which (N-1)-port queue should be processed next /DumbSch ... query the monitor for the next queue to serve. used with "SmartMonitor"s /LongestQFirst ... pick the queue which contains the most PDUs /Routing ... routing policies /DomainRouting ... routing policy based on domains. A domain is defined as a sub-set of the DIF, with its own metrics and routing algorithm. /DV ... simple distance vector algorithm for DomainRouting /LS ... simple link-state algorithm for DomainRouting /DummyRouting ... noop /SimpleRouting /SimpleDV ... a simple distance vector-like protocol /SimpleLS ... a simple link-state-like protocol

You can’t perform that action at this time.