Routing_Table

Parent Previous Next

Interfaces and Buses / Networking / Routing_Table

Block Name: Routing_Table

Code File Location: VisualSim/actor/lib/Routing_Table

Block Overview

Description

This block is used to define the routing table for an entire network or a subnet.  The fileOrURL is the default file name +path and contains the connectivity information in a file. If a fileOrURL is not defined, then the connectivity information for the Routing Table is defined in a Database with the same name as this Routing Table. 

The routing algorithm is set to Dijkstra, by default.  The user can define their own algorithm and assign it to either User_Algorithm_1 or User_Algorithm_2. The definitions of these algorithms are located in the VS_AR/User_Library/algorithm directory of the VisualSim install.  Examples are provided in this directory.

The format of the Connectivity table in the Database or the file, is shown below: 

    ID Source_Node  Destination_Node  Distance  Speed_Mbps Duplex ;       
    0   Node_1           Node_2                  10.0         100.0             true   ;
    1   Node_2           Gateway_3             10.0         100.0             true   ;      
    2   Gateway_3      Node_2                  10.0         100.0             true   ;      
    3   Node_2           Node_1                  10.0         100.0             true   ;

Note:  There must be Tabs or spaces between each of the columns.  The first row must contain the names of the columns.  Each row corresponds to one Direct connection.  There must be a space before the ;.

Parameters

Parameter

Explanation

Type

Example

Routing_Table_Name

Routing_Table_Name must be unique to all the other blocks in the model.  This is referenced by the Node blocks. One Routing_Table can be referenced by multiple Node blocks.  If theRouting_File_Name is empty, then there must be a Database block with the matching Linking_Name that has the connectivity information

String

"LT_1"

Routing_File_Name

Path + File Name to the connectivity table.  If this value is not set, then the Database block will contain the information.

URI format

C:/VisualSim/Routing_Table.txt

Propagation_Constant_C

Propagation constant as a multiple of the speed of light. A fiber optic wire would be 1.0 while twisted-pair is 0.8 and a coaxial cable will be 0.5.

double

1.0

Message_Names

Array of Task_Message names that invoke a different message size during propagation.  "Retry" is a special internal message required if the probability of a retry is greater than 0.0.  Currently only Retry message is being used.  The user can also use this field for their purpose.  

array

{"Retry","Request","Acknowledge"}

Message_Bytes

Array of  bytes that match Message_Names array, see above.  These are the message sizes invoked for messages passed through a network and leave existing Task_Size information intact.

array

{16,16,16}

Nodes_in_Model

The Routing Table can be used to compute the routing paths and used in other types of models. When this is the case, the model will not contain any Node blocks.  This parameter will be unchecked for that scenario.

Checkbox or Boolean

true

Routing_Algorithm

Routing_Algorithm.  This can be set to Dijkstra (shortest path first), which is provided as the default algorithm in the Routing_Table.  The user can define their own algorithm and assign it to either User_Algorithm_1 or User_Algorithm_2. The definitions of these algorithms are located in the User_Library/algorithm directory of the VisualSim install.

pulldown

"Dijkstra"

Routing_Algorithm_Cost

Routing_Algorithm_Cost.  This can be Number_of_Hops, Distance, Bandwidth or Link Load.


Number_of_Hops- Selects the path with the least number of Nodes

Distance- Calculates the shortest distance between Source and Destination and provides that as the path

Bandwidth uses the bandwidth field to select the path with the maximum available bandwidth.  Used when the links have different bandwidth.  Good example is a wireless channel where has different speeds based on noise. 

Link Load- Initially this will default to the Bandwidth.  If the Node_Master forces a recompute, this algorithm uses the link statistics to find the  lower utilized path.  The default is "Number_of_Hops."

pulldown

"Number_of_Hops"

Routing_Latencies

Routing_Latencies.  This can be Length_is_zero, Length_in_feet, Length_in_miles, Length_in_meters or Length_in_kilometers. This is the unit for the 'Distance' in the Connectivity Table.  The latency to each packet or data structures or packet is determined using this unit. 'Length_is_zero' does not add any latency to outgoing packets. The default is "Length_is_zero."

pulldown

"Length_is_zero"



Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation