- Author and member of the year 2019 – Why DevOps still doesn't rule the IT world - Wed, Jan 1 2020
- Results of the 4sysops member and author competition in 2018 - Tue, Jan 8 2019
- Why Microsoft is using Windows customers as guinea pigs - Reply to Tim Warner - Tue, Dec 18 2018
Analysts keep preaching the cloud gospel, and it appears that quite a few CIOs have become believers. What many underestimate is that the connection between earth and heaven, respectively the cloud, can sometimes get clogged when too many believers knock on heaven's door because they all want "to be in" (as Steve Ballmer would express it).
So, before you leave the solid ground of your LAN to find blissfulness in higher spheres, you might want to simulate what happens when the network connection between your clients and the almighty cloud servers becomes slow. The free portable tool TMnetSim Network Simulator enables you to simulate a poor or slow network connection in your lab.
TMnetSim sits between the client and the server and allows only as much network quality as you admit. You can launch the tool either on the client or on the server. It is also possible to run the client and server on the same computer. The configuration for these scenarios is a bit different. The example below explains how you have to set up TMnetSim on the server if you want to test a slow RDP connection.
First, you have to tell TMnetSim to listen to a free TCP port on the server. I used 3390 for this example. Then, you have to configure the destination to which TMnetSim will forward the packets. Since the Remote Desktop Session Host is on the same machine as TMnetSim in this configuration, you can use 127.0.0.1 as the outbound IP address. The RDP port is 3389 by default, which is why you have to use this as the outbound port (see screenshot above).
To connect the RDP client to the RDS host, you can use the IP address of the server. But instead of connecting to the default RDP port 3389, you have to tell your RDP client to connect to port 3390 (see screenshot below) because this is the port where TMnetSim is waiting for packets to be forwarded to the RDS host.
TMnetSim supports two ways to simulate a bad network connection: You can configure the network latency (packet delay), or you can configure packet loss. For packet delays, you can choose between Fixed, Normal, Gaussian, and Markovian. A fixed packet delay gives you a general idea of how a slow network connection affects the performance of the application. But for a more realistic test, you should use one of the three other methods that work with a random network latency that is common in WANs.
The Markovian packet delay is the most realistic method. If you choose this method, you have to configure the Delay Base and the Jitter in milliseconds. The Jitter determines the maximum range the packet delay can vary. For instance, if you use a Delay Base of 1000ms and a Jitter of 200ms, TMnetSim will randomly choose a delay for each packet in the range from 900ms to 1100ms. More information about the different packet delay methods can be found in TMnetSim's manual.
TMnetSim allows you to configure the network latency for the inbound and the outbound connection, but, to keep things simple, it is enough to use just one method. The configuration example above will let you experience a very jerky RDP connection. With a packet delay of 300ms, I could already feel the difference from a solid LAN connection.
Packet loss is quite common in WANs. TCP can compensate packet losses by retransmitting lost packets. However, this reduces the network's throughput. Some higher protocols such as RDP have a low tolerance for packet loss. A loss rate of 3% in each direction can break an RDP connection.
After configuring the IP address, the ports, the network latency, and the packet loss, you have to click "Start" to make TMnetSim listen on the Inbound Connection port. As soon as the connection is established, the tool will display some useful data in the lower pane, such as the current packet delay, the bandwidth, or the lost packets. TMnetSim Network Simulator can also capture the packets and copy them to text files.
I tested TMnetSim Network Simulator 126.96.36.199 on Windows 7 and Windows Server 2008 R2.
Do you know of another good network simulator tool?
Update: Nov 24, 2012. It appears the tool is no longer available from the publisher's site: Please let me know if you know where it can be downloaded.
(Search for TMnetSim on the page.)