MAC/IP
Performance at varying Retransmission
rates
Click
here to view and execute the VisualSim
model
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:
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 assemble
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 probability 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 unique 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 evaluation of this layer
are also described in the Layer_Table
block. The Layer_Table block 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.