Error
  • JLIB_DATABASE_ERROR_FUNCTION_FAILED

LAN-T FAQ

Frequently Asked Question
1. How are the LAN-T and experiments structured for students to use?

The LAN Trainer kit is designed to study protocol performance, at various layers, and network behavior under various conditions such as network load, data rate, distance between nodes, bit error and frame error etc., along the medium. It is made up of three components – the Network Emulation Unit (NEU), the Network Interface Unit (NIU) and software.

2. What is the role of NEU in the LAN-T?

The Network Emulation Unit (NEU) emulates physical medium conditions and topologies such as BUS, RING, STAR etc., to set up a real LAN environment.

3. What is the role of NIU in the LAN-T?

The Network Interface Unit (NIU) is similar to network cards used in PCs to connect to the network but specifically designed for use with the NEU. This emulates various MAC layer protocols like ALOHA, CSMA, CSMA/CD (Ethernet), Ring etc., and it is next to the physical medium.

4. What is the role of the LAN-T software?

The LAN-T software emulates various top layers – starting from MAC – to enable implementation and study of various network protocols. The software comes with a set of experiments that the user can utilize as soon as installation is completed. It also comes with the source code of all experiments for students to follow the protocol algorithms and, also, gives an in-depth exposure to network protocol software writing. In addition, it also helps students to do supplementary exercises suggested in the user manual, by modifying them or writing new experiments – maybe as a student project. Each experiment, when run, shows the complete statistics of the NIU and, therefore, the MAC layer operation in the "Statistics Window". It also displays other relevant info, depending on the protocol layer under study, such as:

  • Successfully transmitted packet count (in Stop & Wait, Sliding Window at DLL layer)
  • Offered Load (in CSMA/CD)
  • Acknowledgement info and sequence number mismatch etc., in (stop and wait and sliding window) etc.,

Students can analyze the performance and understand the behavior of protocols with these readings.

5. How Bit Error Rate ( BER) is been generated in the NEU?

The BER is generated by using the PRBS technique which affects data packets based on the pseudo random sequence generated internally in the NEU.

6. Are there any options to analyze and simulate for errors at a specific node?

Error simulation is available between node 2 and node 3 in the NEU. This means that when data passes this section (from node 2 to node 3 or in the reverse) it will be subjected to errors as per the selection in the BER of the NEU. These errors follows a PRBS generated error and it is possible to emulate corruption from 1 in 100 bits to 1 in 1 million bits. The experiments that use this are Stop& Wait and Sliding Window, where the curve is obtained based on the various values of the BER selected and the minimum BER required for the protocol to operate without any timeout.

7. What is the significance of Bit delay in the NEU?

Bit delay is used to emulate the propagation delay in the physical medium.

8. How can a single PC emulate two nodes?

The Network Interface Unit (NIU) has a DSP 2181 processor and its two serial ports are used to emulate two nodes in a single PC.

9. What is the maximum data packet length?

The maximum data packet length is 1000bytes

10. What is the frame format of the MAC layer in the LAN-T?

DA
1 Byte
SA
1 Byte
DATA
0-998 Bytes
Checksum
2 Bytes
Delimiter
2 Bytes
  • DA : Destination Address
  • SA : Source Address
  • Data : Data Field
  • Checksum : Checksum field is generated internally by the NIU library
  • Delimiter : Used internally for detecting the end of frame
11. What is the significance of the "No. of nodes" field in the configuration view?

This parameter is used to specify the number of nodes participating in the "Token Bus" experiment. This field may also be used for other purposes while writing codes for suggested experiments in the exercises.

12. What is the significance of the "No. of packets" field in the configuration view?

This specifies the number of packets in a window for the "Sliding Window" experiment only. This field may also be used for other purposes while writing codes for suggested experiments in exercises. Eg., to specify the number of packets to be transmitted or received in a MAC experiment.

13. What is the significance of the "My address" field in the configuration view?

This parameter is used only for the "Token Bus" and "Packet Transmission" experiments. In "Token Bus" this field is used to set the priority in which the token has to be circulated and in "Packet Transmission" this field is used to set the source address and destination address.

14. What is the formula for calculating the "Inter Packet Delay"?

The IPD is calculated from the formula G=(N*P)/(C*ta) Where:
G =offered load
N = No of Nodes
P = Packet Length in bits
C = Data Rate in bits per seconds
ta = Inter Packet Delay in milliseconds.

For example, where,
N = 4nodes, P = 8000bits, C = 8000bps and G = 0.25,
the IPD will be 16000msec

15. Why do we set the protocol field to "ALOHA" while performing the "Token Bus" experiment?

ALOHA, CSMA, CSMACD & Token Ring protocols are implemented in the hardware (NIU), were as "Token Bus" is implemented in the software. Hence in the configuration menu the protocol field is set to "ALOHA" so that the NIU will act as simple I/O card.

16. In the "Token Bus" experiment, why do "TX Packets" count higher in the statistics window than "Successfully Transmitted Packets"?

ALOHA, CSMA, CSMACD & Token Ring protocols are implemented in the hardware (NIU), were as "Token Bus" is implemented in the software. Hence in the configuration menu the protocol field is set to "ALOHA" so that the NIU will act as simple I/O card.

17. What is the data that MAC experiments use to send as packets?

All MAC and DLL level experiments use whatever data is available in the PC’s memory (RAM). This data is packetized with CRC, sent through the network and is checked for frame errors and CRC errors at the receiving end.

18. How to demonstrate that data is sent as packets over the network?

To actually show students that data/token is being transmitted as packets, use Experiment 1 under the DLL Chapter. It prompts users to enter the data they want, through the keyboard, and transmits this data over the network to the other node(s). The experiment keeps on asking for data to transmit and terminates the program when the user presses just the 'Enter' key without entering any data.

This experiment is for students to get a feel of data being transmitted as packets over the network. Once they know what is happening the focus can be moved on to the performance analysis of various protocols.

In addition to the above, there is an FTP program (application layer) in the software that actually transfers a user identified file between 2 nodes (2 PCs). This is an actual file transfer of known data using the protocols at various layers.

19. Can we generate our own packets (known values) in MAC layer or DLL layer experiments?

All MAC and DLL level experiments use whatever data is available in the PC's memory (RAM). This data is packetized with CRC, sent through the network and is checked for frame errors and CRC errors at the receiving end. In addition, the "Token Bus" experiment generates token packets which are also sent through the network for the rest of the nodes to capture.

The LAN-T user manual comes with a complete introduction to the protocol under study and discusses its operation by the Finite State Machine (FSM) approach, wherever necessary, and moves on to pseudo code for implementation.

The software also comes with the source code so that students can understand, from the codes, how data/token packets are generated and put into the network medium or retrieved from it. By altering codes, wherever necessary, or writing new codes and running experiments, students can widen the scope of the projects based on some of the exercises suggested in the user manual. (This need MS VC++ to be installed.)

The main purpose of structuring the experiments this way is to focus on the performance analysis of various protocols. For instance, if someone wants to put in their own packets at the MAC level experiment, it raises the basic question of, "How will they send these packets?" This in turn raises several other questions, such as:

  • Do they want to send only one packet repeatedly by this protocol?
  • If they want to send different packets by this protocol, then how do they want to specify/give them to the protocol to handle? That is, without building the top layers and without increasing the software overheads, how to feed data to the MAC layer?
  • For a packet size of 1000 bytes, at 8Kbps of operation, a minimum of 100+ packets have to be kept in the pipeline (depending on the load condition) for a 100 sec experiment duration by each node. Consequently, several 1000s of packets have to be generated and their generation time also has to be noted for delay analysis. So how are they going to supply these packets to nodes and try to figure out which of them are missing?
  • How to vary and maintain the load on the network without any additional overheads in software, so as to analyze the performance of the protocols, which is the prime thing in understanding their behavior?

All MAC level protocols are supposed to transmit the packets that are given from the top layers. If one look at the packet structure explained in the manual, the data that user wants to send (say a file content) is only a part of the packet and the rest of them are for the protocol controls like destination address, source address, sequence number etc., So the software is written as that these protocols assumes that packets are available from the top layers and takes up random data that is already in the RAM of the PC. Therefore the focus to the students is at its performance in terms of throughput

  • At various loads
  • At various data rates,
  • Distance between nodes
  • Errors conditions etc.,

So they do not have to concentrate on supplying the user data at the lower layers.

20. Following error occurs what is solution?

Solution: Select "Start Menu" and proceed to "Programs" and browse for LAN – T, Select "Activate NIU" and follow the proceeding instructions.

21. LAN – T NIU card is not installed?

Solution:
1. Insert the card properly in the PCI Slot.
2. Try to insert the card in some other PCI Slot.
22. The following error occurs, what is the solution?
  • Check whether the patch cords have been properly connected as mentioned in the installation manual.
  • Check whether the NEU is powered ON
  • Change the interface cable which connects the NEU and the NIU
23. What is procedure to compile the given source codes in VC++ V6.0?

The LAN-T software is developed in VC++5.0 environment. To recompile all the projects or to develop new projects under VC

  • Set the "Shell" or "shellv10" project as active project. (ShellV10 should be used if available since this is the latest version)
  • Go to the project settings (under Project menu) and do the following:
    1. "Use MFC as Static Library" under General Tab
  • Under "Preprocessors" in Category combo box under C/C++ tab select automatic use of 'Precompiled Headers' and press OK to confirm the settings.
  • Go to Options Menu (available under Tools Menu) and select the "Directories" tab. Under the "Show Directories For" combo box, select 'Include directories' and enter "C:\Lantrain\include" in the white space. Again select "Include Lib" under the combo box and enter "C:\Lantrain\Lib". Come out of options and save the workspace. This sets the environment.
  • Use "Build All" command under the "Build" menu. This will generate the Shell.lib file under the debug directory in C:\Lantrain\Src\Shell. Copy this file to the Lib directory in Lantrain.
  • Set one of the experiments as "Active Project" and go to the "Options" settings. Set the following if not already set:
    1. "Use MFC Static Library" under General Tab.
    2. "Automatic use of precompiled headers" under Category combo box under C/C++ tab
    3. Add "Niu.Lib Shell.Lib" without quotes in the Object/Library Module field.
  • Save the settings the workspace.
  • Use "Build All" command to build the codes and the application would have been generated under the debug directory in the respective project.
24. The following error message occurs during compiling, what is the solution?

Error Message 1:

--------------------Configuration: MAC - Win32 Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
Compiling...
MAC.cpp
c:\lantrain\src\mac\mac\mac.cpp(18) : fatal error C1083: Cannot open include file: 'LTUILib.h': No such file or directory Error executing cl.exe.

MAC.exe - 1 error(s), 0 warning(s)

Reason & Solution: The directory containing the header files are not included in the VC++ environment. The solution is to include the same through the "Options" dialog. All '*.h' files is available under ...\lantrain\include directory, add this path in the Options-Include directories dialog.

25. The following error message occurs during compiling, what is the solution?

Error Message 2:

--------------------Configuration: MAC - Win32 Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
Compiling...
MAC.cpp
Linking...
LINK : fatal error LNK1104: cannot open file "niu.lib"
Error executing link.exe.

MAC.exe - 1 error(s), 0 warning(s)

Reason & Solution: The LAN – T lib directory is not included in the VC++ environment. All lib files are available under ...\lantrain\lib directory and include this under Options-Include Directories dialog.

26. The following error message occurs during compiling, what is the solution?

Error Message 4:

--------------------Configuration: MAC - Win32 Debug--------------------
Compiling...
MAC.cpp
Linking...
shellV10.lib(Lanshellview.obj) : error LNK2001: unresolved external symbol "protected: virtual int __thiscall CView::OnCmdMsg(unsigned int,int,void *,struct AFX_CMDHANDLERINFO *)" (?OnCmdMsg@CView@@MAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z) Debug/MAC.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.


MAC.exe - 2 error(s), 0 warning(s)

Reason & solution: This is because of version mismatch. Please refer the "VC++ Compiler Version migration" topic and the "Detailed procedure...." topic.