Application / Networking
Block Name: Multicast
Code File Location: VisualSim/actor/lib/networking/Multicast
This block is used with the Node blocks to simulate the Internet multicast protocol. The block works in conjunction with a Init_Memory block. The lower ports (fr_Node and to_Node) are connected to the Node ports (node_input and node_output) respectively. The top ports (fr_layer and to_layer) are connected to the Layer_Block ports () respectively. Each instance of the multicast block must have a unique multicast name.
The configuration of the multicasts are done in the Init_Memory. There are two parts to the definition. The first row must contain the following sequence
Multicast_List global {"Multicast_1","Multicast_2"}
where the Multicast_List is a keyword, type must always be global and the array must be the list of all the multicasts.
The Init_Memory must contain a separate line for each item in the array. The following example:
Multicast_1 global {"Node_6","Node_5","Node_7","Node_2","Node_3","Node_4"}
where the Multicast_1 is the string from the Multicast_List, type must always be global and the array must be the list of all the Nodes that must receive this multicast. For a Broadcast, this will contain the list of all the Nodes on this network excluding the Source node.
Any transaction that must be multicast or broadcast (as a multicast) must contain the name of the multicast item as a string in the Task_Message field of the incoming Data Structure at the source Multicast block or the Node block. The block manages the spanning tree algorithm for the routing of the multicast packets.
Task_Source- This field is not modified.
MC_Dest_Nodes- If this is the Source node, then this field is updated with the value in memory for the Task_Message Multicast name.
Task_Destination- This field computes the next node for this packet. This field is modified.
Task_Hop- This is the same as the Task_Destination. This field is modified.
Task_ID- This field is set to -1. This field is modified.
To illustrate the usage, look at the following Examples in the BDE.
Parameter |
Explanation |
Type |
Example |
Multicast_Layer_Name |
Unique name for this multicast block. Must be unique for all blocks in the model, not just other multicast. |
String |
"Multi_1" |
Connected_Node_Name |
This is the name of the Node that this Multicast block is connected directly too. |
String |
"Node_1" |
Routing_Table_Name |
This is the Routing_Table block name that is responsible for routing the packet within this network. |
String |
"RT" |
Port |
Explanation |
fr_layer |
From the Application layer. Can be a Traffic Generator or a Layer block. |
to_layer |
To the Application layer. Can be a Traffic Generator or a Layer block. |
fr_Node |
From the Node block |
to_Node |
To the Node block |
Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator