Exploring Standard Exploring different TCP compression algorithms such as basic, degermark and Jacob in a lossy channel
VLAN Creating virtual lans across nodes and routers
Retry_Layer1
Browsable image of the model.
To download OpenWebStart
click on the links - Windows- Compatibility:Windows 10 or higher (*) macOS - Compatibility:macOS 10.15 (Catalina) or higher (*) Linux - Compatibility:Ubuntu 18.04 LTS or higher (*)
For an executable version,
Mouse over the icons to view parameters. Click on hierarchy and plotters to reveal content (if provided).
To simulate, click on Launch button, open downloaded file and click Run on the Java Security Page.
MAC/IP Performance at varying Retransmission rates
For a basic understanding of the Network SmartBlocks, view the Route
Optimization Demonstration Systems. This model is an enhancement of
the Route Optimization system. A key element of systems engineering
is to provide boundaries or constraints for the protocols and algorithm developers
to design and implement their functional characteristics. In the Route
Optimization System, the analysis did not consider the effects of the layers
of the protocol. Here the effects of the upper layers and the routing
algorithms are evaluated. Here the details of the MAC and IP layer
are specified. In this model, the latency, overhead, fragmentation,
assembly and buffering required to implement the MAC and IP layers are considered.
Project Objectives
The model evaluates the utilization of the protocol layers for various retransmission
rates. The following analysis are performed:
Effectiveness of the routing algorithm to enable quick retransmission
Processing and buffering requirements for the MAC layer as the
retransmission probability is increased
Impact on the network by increasing the workload and maintaining
the retry probability.
The analysis reports generated are:
Wrapup Statistics for the MAC and IP layers for Node 3
Timeline of successful arrivals of the packets identified by
their packet ID
Capabilities Demonstrated
This Model demonstrates the flexible Layer_Protocol block coupled
with the NODE routing blocks to implement a simple three node network.
The intent of the model is to show that a single Layer_Protocol block
can be used to implement different layers in a network, using the seven
layer OSI concept. Packets entering a node at the IP layer, add header
and trailer overhead bytes, process packets based on the processor
speed setting of the layer (one processor for both up and down), and
assmeble and disassemble packets according to settings of the Layer_Table
block.
The Layer_Table block consolidates the settings for
multiple layers in a network model, to save user input time, and maintain
a single reference for the MAC layer. If a slightly different definition
is required for a particular layer, to model a different equipment, then
just that layer can reference a different Layer_Table.
The Layer_Protocol blocks are 'connectionless' between layers
and NODE blocks to save user entry of all the repetitive connections.
If 'connected' style was adopted, then each layer block would need four
additional ports, for example.
The model sends packets from the upper left to the lower right
node, with the probablility of retransmission set above zero for the
"IP3" layer. It retransmits a small packet to the source, in this case
the originating Node_1. The user can set the source node to the last
node, simply by changing the Source field in the data structure to
the name of the last node.
In the output one will see how several packet IDs have been delayed,
due to retransmission.
Model Statistics
Number of uniques blocks required to create the model = 10 (2
are incremental to the Route Optimization System)
Time to do the initial model construction = 6 hours
Model analysis and refinement = 1 days
Documentation = 1 day
Model Construction
This model contains three (3) Nodes connected together on a network in the
form of a loop. Each Node contains the definition for a protocol layers of
MAC and IP. The definition of the MAC and IP layers are provided using
the Layer Block. The Workload is maintained same as that of the Route
Optimization System.
The Workload_Gen is same one from the Route Optimization
example. The Task_Rate attribute in this block determines the interarrival
time between packets., This can be reduced to increase the number of
packets per second on the network.
The connections between the Nodes are defined in each Node
block as described in the Route Optimization example. They are connected
in a circular loop: Node1->Node2->Node3->Node1.
For more details on the Node block, please view the Route
Optimization System.
All the Nodes reference the same Routing_Table "RT". All
of the parameters of the Routing Table are maintained similar to the Route
Optimization System. If a certain node requires a different routing
description, another Routing_Table can be instantiating and this Node
can reference this new Routing_Table.
Each Node(1,2,3) has 3 layers of the Protocol Stack
defined-Node(PHY), MAC and IP.
The Layer Block is used the MAC and IP layers. THese layers
are connected to the layer below them using a "Virtual Connection". The
Parent and Child parameters of the Layer block define what it is connected
to above (Parent) and what it is connected to below (Child). For example,
MAC layer is connected to the Parent (IP Layer) and Child (Node/PHY). The
description of each Layer is specified using the Layer_Table block. In
this example, the IP and MAC layer of each Node are referencing the same
Layer_Table.
Layer_Table: The Layer_Table block describes the detail operation
of the layer and the buffering and processing requirements. Processing delays
for the evalkuation of this layer are also described in the Layer_Table block.
The Layer_Table blocks enables the user to separately describe the
details for the movement of the packet up (Layer 7) and down (Layer 1) the
protocol stack. This includes
Frame size
Header and trailer overhead at that layer
Overhead delay at that layer
Processing rate to compute latency based on the packet size
Maximum number of retransmissions
Retry probablity
Buffer size.
Note: Signal details of the PHY can be added by introducing
a channel model. As this model considers only the latency impact,
the BER, effects of noise on transmission and signal intensity levels are
ignored. An example of a channel model is provided in the Signal Processing
Section of the demonstration page.
Results
The key attribute that is studied is the retransmission probability. This
is a parameter in the model and can be modified by double-clicking on
the background of the model. There are two results that are published-Layer
statistics for the MAC and IP layers of the Node 3 and
packet arrival time at Node 3.
The Layer statistics includes buffer occupancy, up and
down latency, number of frames processed, successful transmissions, statistics
on processing delays and processor utilization for this layer. In
this simulation, the results are provided as consolidated values at the
end of the simulation. This can be easily modified by changing the
value of the DLY block that is connected virtually to IN8 that triggers the
statistics at a specified time. The results can be generated more frequently
by changing the rate of the trigger onto the third input port of the MAC3
and IP3 blocks using IN3 and IN8.
The second window plots the arrival of the packets at Node
3. The Timed_Plotter block performs the plotting function. The
DS_Sel block extracts the ID of the packet. This ID is plotted aganst
the simulation time. You will see that some packets arrival later
than the newer packets. This is the result of the retransmission.
Modify the LT3_Retry_Probability parameter in the model
by double-clicking on it. Increase the value from 0.2 to 0.4. Now
click on GO. You will see that the Utilization values for the layers
may changed. Also the arrivals have also changed. Increase the
probability to 0.7. Now you will see that very few packets have been
successfully transmitted and the utilization of the layers is significant.
Keeping the retry probability at 0.5, modify the interarrival
rate (Task_Rate) of the Workload_Gen to 0.4. You will notice that you
receive an Exception "Retry_Layer1.Layer_MAC2: Up Queue exceeds up_queue_size_frame".
VisualSim provides feedback about the system when there is an exception
in the operation. In this instance, the number of up packets exceeds
the up queue buffer. This indicates that the buffering on the MAC layer
in Node 2 has been exceeded and the system is dropping packets.
The large retry maybe a result of poor quality channel or a complex
error correction scheme that is consuming too much of processing. Hence
some additional compensation is required. If this is not an option
because of environmental conditions, then the processing latency can be reduced
by utilizing a faster processor or the up_queue_size can be increased.
You will notice that if you increase just the Up_queue of the Layer_Table2,
you require a very large queue size. But if all the Layer_Table queues
are increased to 128, this problem will be overcome. A simple model
can provide very good insight into the internal workings of the system.