How to Install NISTnet Software and Configure TDMoP Products to Run with It

Dec 12 2006
Add to myAnalog

Add article to the Resources section of myAnalog, to an existing project or to a new project.

Create New Project

Abstract

This application explains NISTnet software and how to install it. Users are instructed how to configure network interface cards to operate as a router, and to configure TDMoP products for NISTnet. The note also demonstrates how to use NISTnet with several TDMoP chips with and without integrated SCTs.

Introduction

NISTnet is network emulation software for Linux® that allows a Linux server running as a router to emulate a variety of network conditions, such as congestion loss, packet reordering, or asymmetric bandwidth conditions. NISTnet is also a kernel module extension for Linux and has an X-based user interface. As a tool, NISTnet allows controlled, reproducible experiments with network performance-sensitive/adaptive applications and control protocols in a simple laboratory setting. By operating at the IP level, NISTnet can emulate the critical end-to-end performance characteristics imposed by various wide-area-network situations. NISTnet also supports the addition of user-defined packet handlers to the system. Figure 1 illustrates the typical NISTnet setup.

Figure 1. A typical NISTnet typical.

Figure 1. A typical NISTnet typical.

This application note provides instructions for:

  1. Installing the NISTnet software
  2. Configuring Network Interface Cards to operate as a router
  3. Configuring the TDMoP products
  4. Using NISTnet

The information applies to the TDM-over-Packet transport devices shown in Table 1.

Table 1. TDMoP Devices for Use with NISTnet
TDMoP Chips with Integrated SCTs TDMoP Chips without Integrated SCTs
DS34T108 DS34S108
DS34T104 DS34S104
DS34T102 DS34S102
DS34T101 DS34S101

Hardware Requirements

The distribution of NISTnet is based on Red Hat® Linux. The hardware used for this installation must be compatible with Red Hat Enterprise Linux 3.0 or higher. To have a successful installation, configuration, and execution of NISTnet, the hardware must meet the following minimum requirements.

  • 10GB hard drive
  • 256MB RAM
  • Two network interface cards (NICs)

NISTnet Installation

The Linux kernel sources must be installed, as well as the software development packages. To install NISTnet, the user must have "root" access and installation will require patching the Linux kernel.

First, download the zipped file to a directory (e.g., /usr/local/src/). Then unpack the file with the following command:

tar –zxvf nistnet-2.4.1.rad_patches.tar.gz

The sources are unpacked into a NISTnet directory under the zip file's directory (e.g., /usr/local/src/nistnet).

Execute the following commands in the Linux source directory:

  1. Go to the directory usr/src/linux-2.4.20-8, then enter:
    make mrproper
  2. Then copy the kernel configuration file by this command:
    cp <your config file> ./.config
  3. Return to directory /usr/src and enter:
    make oldconfig
    make dep
  4. Change the NISTnet directory to:
    cd /usr/local/src/nistnet
  5. Execute the following commands:
    make clean
    ./configure
    make
    make install

During the configure phase, remember to answer "NO" to all questions. NISTnet is now installed.

Configuring the Network Interface Cards

To configure the two NIC cards as a router, the following steps must be performed.

  1. Go to Main Menu > System Settings > Network. Figure 2 shows the screen of the Network Configuration.

    Figure 2. This network configuration screen will appear when you begin to configure the NIC cards as a router.

    Figure 2. This network configuration screen will appear when you begin to configure the NIC cards as a router.

  2. Select either NIC eth1 or eth2. Configure the NIC cards as shown in Figures 3 and 4 respectively. Add the indicated values at the Address, Subnet Mask, and Gateway prompts.

    Figure 3. Configuring the eth1 NIC.

    Figure 3. Configuring the eth1 NIC.

    Figure 4. Configuring the eth2 NIC.

    Figure 4. Configuring the eth2 NIC.

Configuration of TDMoP

Figure 5 shows a typical example of an adaptive clock-recovery circuit. The circuit uses NISTnet as the WAN emulator when the 10.10.10.1/24 device is recovering the TDM Service Clock from the Source TDM Device.

Figure 5. A typical clock-recovery setup that uses NISTnet as a WAN emulator.

Figure 5. A typical clock-recovery setup that uses NISTnet as a WAN emulator.

Below is the typical configuration of a TDMoP master device in T1 framed using CESoP emulation. This TDMoP master device is working in loopback mode.


                                   TOP (T1)
Main Menu>General Configuration


 1. Source Mac address                 ... (0020D224D33C)
 2. Source IP 1                        ... (10.10.10.1)
 3. Source IP 2                        ... (10.10.10.1)
 4. IP Mask                            ... (255.255.255.0)
 5. Default Gateway                    ... (10.10.10.99)
 6. Max HDLC Frame Size[1 - 1800]      ... (1800)
 7. ARP wrong IP                           (CPU)
 8. Wrong IP                               (Discard)
 9. Not Eth Type                           (CPU)
10. ARP my IP                              (CPU)
11. Not UDP type                           (CPU)
12. Not TDMoIP type                        (CPU)
13. Bundle number does not exist           (Discard)
14. OAM packet                             (CPU)
15. Auto Negotiation                      (YES)
16. Rate & Duplex                      >   (100M_FDX)
17. Default
 

-------------------------------------------------------------
Main Menu>Interface Configuration>T1 Screen Configuration

    Link Number[1 - 8]                 ... (1)
 1. Frame Type                         >   (SF)
 2. RX Config Gain Limit                   (SHORT Haul)
 3. OOS Code type                          (OOS Code)
 4. Data TX/RX OOS[0 - ff]             ... (7E)
 5. Idle Code[0 - ff]                  ... (7E)
 6. TX/RX Signal Mark code[0 - 3]      ... (F)
 7. TX/RX Signal Space code[0 - 3]     ... (1)
 8. TX/RX OOS Signal MASK              >   (Space)
 9. Clock Source                       >   (LoopBack)
10. DSU / CSU                              (DSU)
11. DSU Mask                           >   (0-133 feet)
12. Link Sync                              (62411)
13. Connect/Disconnect                     (Connect)
14. Recovery Clk Mode                  >   (Auto)
15. Master's Side Clock Source         >   (Stratum 1)
16. Network type                       >   (Router based)

-------------------------------------------------------------
Main Menu>Bundle Configuration>CES Bundle Configuration

    Bundle ID[0 - 4095]                    ... (1)
 1. Tx Bundle Destination                  >   (Ethernet)
 2. Rx Bundle Destination                  >   (PCM)
 3. Tx UDP Bundle[0 - 8191]                ... (2)
 4. Rx UDP Bundle[0 - 8191]                ... (2)
 5. Source IP addr                         >   (IP  1)
 6. Destination Main Mac addr              ... (000000000000)
 7. Destination IP address                 ... (10.10.11.1)
 8. Next Hop                               ... (0.0.0.0)
 9. Number Of VLAN Tags[0 - 2]             ... (0)
10. IP Tos[0 - 255]                        ... (0)
11. IP TTL[0 - 255]                        ... (128)
12. PSN Type                               >   (IP)
13. Far End Interface Type                 >   (T1 D4)
14. Payload Type                           >   (Data)
15. Switches Sanity check                      (Discard)
16. Clock Recovery                             (Disable)
17. Differential Time [Usec][1 - 512000]   ... (5000)
18. Max Buffer Size [Usec][0 - 512000]     ... (0)
19. Number Of Frames[1 - 1500]             ... (80)
20. Reordering                                 (YES)
21. L Bit & OOS                            >   (OOS Mode Conditioning)
22. Redundant                                  (Disable)
23. RTP Mode                                   (Disable)
24. Connect/Disconnect                         (Connect)
25. Next Hop Type                              (IP)
26. Enable JB Reset                        >   (On N Times)
27. Window Size[2 - 127]                   ... (10)

-------------------------------------------------------------
Main Menu>Bundle Assignment

 1. Link Number [1 - 8]        ... (1)
 2. Bundle ID[0 - 4095]        ... (1)
 3. TS Route Type              >   (Coupled)
 4. Timeslot Assignment [1-24] ... (1)
 5. TS width                   >   (8 Bits)

Below is the typical configuration of a TDMoP slave device in T1 framed using CESoP emulation. Clock recovery is performed by this TDMoP slave device.


                                   TOP (T1)
Main Menu>General Configuration


 1. Source Mac address                 ... (0020D224A346)
 2. Source IP 1                        ... (10.10.11.1)
 3. Source IP 2                        ... (10.10.11.1)
 4. IP Mask                            ... (255.255.255.0)
 5. Default Gateway                    ... (10.10.11.99)
 6. Max HDLC Frame Size[1 - 1800]      ... (1800)
 7. ARP wrong IP                           (CPU)
 8. Wrong IP                               (Discard)
 9. Not Eth Type                           (CPU)
10. ARP my IP                              (CPU)
11. Not UDP type                           (CPU)
12. Not TDMoIP type                        (CPU)
13. Bundle number does not exist           (Discard)
14. OAM packet                             (CPU)
15. Auto Negotiation                      (YES)
16. Rate & Duplex                      >   (100M_FDX)
17. Default

-------------------------------------------------------------
Main Menu>Interface Configuration>T1 Screen Configuration

    Link Number[1 - 8]                 ... (1)
 1. Frame Type                         >   (SF)
 2. RX Config Gain Limit                   (SHORT Haul)
 3. OOS Code type                          (OOS Code)
 4. Data TX/RX OOS[0 - ff]             ... (7E)
 5. Idle Code[0 - ff]                  ... (7E)
 6. TX/RX Signal Mark code[0 - 3]      ... (F)
 7. TX/RX Signal Space code[0 - 3]     ... (1)
 8. TX/RX OOS Signal MASK              >   (Space)
 9. Clock Source                       >   (Recovery)
10. DSU / CSU                              (DSU)
11. DSU Mask                           >   (0-133 feet)
12. Link Sync                              (62411)
13. Connect/Disconnect                     (Connect)
14. Recovery Clk Mode                  >   (Auto)
15. Master's Side Clock Source         >   (Stratum 1)
16. Network type                       >   (Router based)

-------------------------------------------------------------
Main Menu>Bundle Configuration>CES Bundle Configuration


    Bundle ID[0 - 4095]                    ... (1)
 1. Tx Bundle Destination                  >   (Ethernet)
 2. Rx Bundle Destination                  >   (PCM)
 3. Tx UDP Bundle[0 - 8191]                ... (2)
 4. Rx UDP Bundle[0 - 8191]                ... (2)
 5. Source IP addr                         >   (IP  1)
 6. Destination Main Mac addr              ... (000000000000)
 7. Destination IP address                 ... (10.10.10.1)
 8. Next Hop                               ... (0.0.0.0)
 9. Number Of VLAN Tags[0 - 2]             ... (0)
10. IP Tos[0 - 255]                        ... (0)
11. IP TTL[0 - 255]                        ... (128)
12. PSN Type                               >   (IP)
13. Far End Interface Type                 >   (T1 D4)
14. Payload Type                           >   (Data)
15. Switches Sanity check                      (Discard)
16. Clock Recovery                             (Enable)
17. Differential Time [Usec][1 - 512000]   ... (5000)
18. Max Buffer Size [Usec][0 - 512000]     ... (0)
19. Number Of Frames[1 - 1500]             ... (80)
20. Reordering                                 (YES)
21. L Bit & OOS                            >   (OOS Mode Conditioning)
22. Redundant                                  (Disable)
23. RTP Mode                                   (Disable)
24. Connect/Disconnect                         (Connect)
25. Next Hop Type                              (IP)
26. Enable JB Reset                        >   (On N Times)
27. Window Size[2 - 127]                   ... (10)
-------------------------------------------------------------
Main Menu>Bundle Assignment

 1. Link Number [1 - 8]        ... (1)
 2. Bundle ID[0 - 4095]        ... (1)
 3. TS Route Type              >   (Coupled)
 4. Timeslot Assignment [1-24] ... (1)
 5. TS width                   >   (8 Bits)

Using NISTnet

Before running NISTnet, use the following command when the computer boots:
modprobe nistnet

This command can be part of the login script or the user can create an executable file. Figure 6 shows a sample script of an executable file named "startnist."

Figure 6. Sample script for an executable file named startnist.

Figure 6. Sample script for an executable file named "startnist".

If the user creates an executable file named "startnist," then the NISTnet command line for the GUI is:
startnist

The NISTnet command line for GUI is:
xnistnet

The NISTnet command line without GUI is:
cnistnet

The GUI screen image of NISTnet is shown in Figure 7.

Figure 7. The GUI screen image of NISTnet.

Figure 7. The GUI screen image of NISTnet.

The user inserts the source addresses, destination address, and network impairments like average Delay in ms, Delsigma in ms, packet Drop in percentage, and Packet Duplication in percentage in the GUI interface. Once the values are inserted, the user then updates the contents. Once updated, click on the "Emulator is Off" button to turn on the Emulator and change the button to "Emulator is On." Figure 8 shows the GUI image after the emulator is turned on.

Figure 8. The GUI screen image of NISTnet after the emulator is turned on.

Figure 8. The GUI screen image of NISTnet after the emulator is turned on.

Conclusion

Using NISTnet allows a single Linux PC to set up as a router to emulate a wide variety of network conditions. For more information about NISTnet, please visit the NISTnet website.

Questions about NISTnet should be directed to This software is provided "as-is" for use at the user's own risk. Analog makes no warranty of any kind, either expressed or implied, as to the results that may be obtained from the use of NISTnet, or as to the accuracy, reliability, or content of any information or service contained in or provided through the software.

If you have further questions on TDMoP products or any other aspects of Analog telecom products, please contact the Analog Tech Support Team.



Latest Media 21

Subtitle
Learn More
Add to myAnalog

Add article to the Resources section of myAnalog, to an existing project or to a new project.

Create New Project