About the Author

author photo

Joe Harris, CCIE No. 6200 (R&S, Security & SP) is a Systems Engineer with Cisco Systems® specializing in Security. In addition to authoring Cisco Network Security Little Black Book, Joe has also been a technical reviewer for several Cisco Press publications and written articles, white papers, and presentations on various security technologies. He also assists various Certification Partners by beta testing their newest CCIE certification workbooks and has been recognized by Cisco as an SE Wall of Fame award winner.

See All Posts by This Author

WAN Emulation Toolkit

When I give WAAS demo’s to customers and partners alike, I typically use a standard network topology to keep my demo kit easy to administer but also the demo kit topology mimics most enterprises branch design connectivity options where there is a branch office connected back to the head end/data center. One of the major things that needs’ to be duplicated especially in a WAAS demo is the WAN connectivity. I could have simply connected the branch router and the head end/ data center router back to back via a WIC-1DSU-T1-V2 interface but what would that really have accomplished? Not much so I need a way to emulate a true “full pipe dirty WAN” connection & for this I use a very nice little tool called NIST Net.

WAN

NIST Net is a network emulation package that runs on Linux. The NIST Net network emulator is a general-purpose tool for emulating performance dynamics in IP networks. The tool is designed to allow controlled, reproducible experiments with network performance-sensitive/adaptive applications and control protocols in a simple laboratory setting. By operating at the IP level, NIST Net can emulate the critical end-to-end performance characteristics imposed by various wide area network situations (e.g., congestion loss) or by various underlying subnet technologies (e.g., asymmetric bandwidth situations of xDSL and cable modems).

NIST Net by default is used to add latency, bandwidth limitations, packet loss or duplication, and other WAN characteristics on all IP traffic moving between the Ethernet ports of the system, while exclusions to this directive can be added on a per system basis. For more information about NIST Net, visit the NIST Net website at:

http://w3.antd.nist.gov/tools/nistnet/index.html

Let’s look @ how you can get NIST Net up and running in your lab. We will not cover how to download it and install it as those directions are covered in pretty good detail on the NIST Net homepage (http://w3.antd.nist.gov/tools/nistnet/install.html). We will examine how to use it in your network. Once the system has reboot, log on using the root user and configure the system’s hostname, default gateway, and network interface cards. You do this by editing the files using vi, and then restarting the system as described in the following steps: Configure the hostname and default gateway. Enter the command:

vi /etc/sysconfig/network

Set these values:

NETWORKING=yes
HOSTNAME=emulator
GATEWAY=

Save the file and exit by pressing ESC, Shift-;, typing wq at the colon prompt(:), and pressing the Enter key. Next configure the properties of the ETH0 and ETH1 interfaces of the server using the following command: (set your values to reflect your lab setup)

vi /etc/sysconfig/network-scripts/ifcfg-eth0 

Set these values:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.1
NETMASK=255.255.255.0
BROADCAST=192.168.1.255 

Save the file and exit by pressing ESC, Shift-;, typing wq at the colon prompt(:), and pressing the Enter key. Next edit the other interface:

vi /etc/sysconfig/network-scripts/ifcfg-eth1 

Set these values:

DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.2.1
NETMASK=255.255.255.0
BROADCAST=192.168.2.255 

Save the file and exit by pressing ESC, Shift-;, typing wq at the colon prompt(:), and pressing the Enter key. Now restart network services using the following command:

service network restart  

After you download, install & configure the basic properties of the software you can launch NIST Net, From the /root directory by entering the following command:

./nistnet 

If this is the first time you launch NIST Net, the package will build itself based on the hardware configuration. Once NIST Net has completed starting up, you see a menu from which you can launch the emulation tool with different network settings: 

Please select a preset from the following options:
————————————————–
1: 40ms round-trip delay, T1 bandwidth, 0.5% packet loss
2: 60ms round-trip delay, T1 bandwidth, 0.5% packet loss
3: 80ms round-trip delay, T1 bandwidth, 0.5% packet loss
4: 100ms round-trip delay, T1 bandwidth, 0.5% packet loss
5: 120ms round-trip delay, T1 bandwidth, 0.5% packet loss
6: 160ms round-trip delay, T1 bandwidth, 0.5% packet loss 

7: Custom Settings
8: Stop WAN Emulation
9: Exit 

Using the menu, you can set up the network environment with preconfigured values (1-6) or your own custom settings (7). To stop emulation altogether, use menu option 8. To set the network for 80ms round trip latency, with a T1 (1,544 Kbps) and 1/2%packet loss - select option 3 from the NIST Net menu. If the activation is successful, you see this screen.

3
********************************
* NISTnet Activation Script *
********************************
Clearing WAN table and loading NISTnet…
Configuring NISTnet…
Reading WAN table:
cnistnet -a 0.0.0.0 0.0.0.0 –delay 40.000 –drop 0.5005 –bandwidth 197632 –drd 79 80
Done.
******************************** 

Activation of the script clears the current WAN table, configures NIST Net to the desired settings, and lastly displays the current WAN table. The current table consists of one entry – any IP to any IP going through NIST Net will be subjected to a 40 ms latency (a total of 80 ms round trip), % packet loss and limited to a T1 bandwidth. In this example, the bandwidth value of 197632 bytes is derived from the following formula: T1 = (1,544 Kbits/sec) * 1024 = (1581056 bits/sec)/8 = 197632 bytes/sec.

If you want setup custom settings, select option 7 on the NIST Net menu. You are prompted to enter your settings, as shown in the example below.

7
Custom WAN Settings:
——————–
Enter bandwidth [bytes]:98816
Enter one-way delay [millisec]:25
Enter packet-loss [percent]:.25
*********************************
NISTnet Activation Script
*
********************************
Clearing WAN table and loading NISTnet…
Configuring NISTnet…
Reading WAN table:
cnistnet -a 0.0.0.0 0.0.0.0 –delay 25.000 –drop 0.2502 –bandwidth 98816 –drd 79 80 0
Done.
******************************** 

You are prompted to specify the bandwidth in bytes, a one-way latency in milliseconds and the percent packet loss. Remember to press the Enter key after entering each value. In this example, NIST Net is set up to provide a 768 Kbps ( T1)line with a total of 50 ms round trip latency and % packet loss. In this example, the bandwidth value of 98816 bytes is derived from the following formula: T1 = (1,544 Kbits/sec) * 1024 = (1581056 bits/sec)/8 = (197632 bytes/sec)/2.

There Are 5 Responses So Far. »

  1. Gravatar

    Joe
    I can’t seem to find a best practices implementation guide (or a good diagram for that matter) for wiring up and ASA, used as a VPN, inline with a WAAS enterprise class box. Can you assist?
    Thanks in advance,
    Matt

  2. Gravatar

    Matt,

    I did some digging and come up empty myself :-( … I could create a few for you and post them later this week if I got the time?

    -Joe

  3. Gravatar

    BTW…if your wanting the NistNET .iso you can download it and other industry tools from CCO (login required) @ the following location:

    http://www.cisco.com/cgi-bin/tablebuild.pl/fe_util

  4. Gravatar

    Joe, one question about http://www.cisco.com/cgi-bin/tablebuild.pl/fe_util
    contents:

    I see Cisco-NISTnet3-disc1-v4.iso there,
    but what for are the other files ???

  5. Gravatar

    Hi Mike, they are mainly just other tools which you can use to generate traffic in the NistNET demo like the TCP Replay tool which gives you the ability to use previously captured traffic to test a variety of network devices/services. There’s also a benchmark tool and a new BIOS for the WAE Appliances (don’t need unless you are using the appliance) and lastly there should be a WAN bridge image there for setting you brdging across the WAN.