nacarino / RINA

RINA Simulator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RINA Simulator

###Version changelog

  • 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

###Resources

###Papers

###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
	fingerprints.sh			... batch for checking/updating fingerprints
	slocstats.sh			... 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

About

RINA Simulator

License:Other


Languages

Language:C++ 99.1%Language:C 0.4%Language:Shell 0.3%Language:Makefile 0.1%