MDI_Logo
      About Us   |   Contact Us   |   Evaluation
MDI_Topstrip
Mirabilis Design Navigation
MDI - About Us MDI - Technology MDI - Presentations MDI - Products MDI - Demonstrations

      TCP/IP Modeling


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:

  • 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
Go To Top

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.

Go To Top

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.

Go To Top

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.
    Go To Top


  Copyright 2008© Mirabilis Design Inc. All Rights Reserved. Best Viewed in 800x600 resolution. | Site Map | Technical Support