What is network stress testing?
Stress testing of a network is the practice of deliberately and intensely testing it by overloading it with all – or as many as possible – protocols (TCP, IP, UDP, and ICMP, etc.) and data types (audio, video, image, etc.).
This kind of testing, which is also known as “torture testing” involves pushing networks beyond their normal operating capacities, to find their breaking points. It is meant to find their limits and also to observe their performance (or deterioration) as they approach these extremes.
Based on these observations, the network’s designers or administrators can strengthen the weak points, clear bottlenecks, or replicate optimal strengths.
Why would you want to stress test your network?
Modern networks are usually efficient digital structures – built with the help of software and hardware – that securely connect electronic devices. We say “usually” because, depending on the number of devices that need to be connected, and the amount of data that is transported across it, a network could reach its limits and even end up being overwhelmed. If this data overload, or “stress,” continues to grow it could bring the whole network to a grinding halt.
That is why we need network stress testing – both to prevent crashes as well as discover any weak points before they cause them.
There are many reasons why a business or an administrator would want to perform stress tests on a network. Some of these reasons are:
- Better uptimes – businesses in today’s competitive market can’t afford any downtime. They may, therefore, use stress tests as a prevention method.
- Pre-analysis and standardization – a business that has just had a new network setup would want to know if the installation is indeed as resolute as they intended it to be. This is especially important in scenarios where the new LAN or WAN is expected to bear a large amount of data and traffic. The analysis can also be used to check if the network complies with industry standards before it goes live.
- Disaster prevention mechanism – it isn’t unheard of that a business, with the intention of driving sales up, makes an offer to the public (freebies, discounts, prizes, etc.) that are too good to pass on. But, when their visitors arrive to take them up on their offer, their networks and/or servers crash due to overloads.
The businesses, therefore, pre-stress test their networks to see if they can prevent possible disasters.
In fact, there are real-life examples of networks being brought down because of the sheer amount of traffic surges that had not been planned for:
- The retail company that saw a flood of orders during the holiday season and then had its network come crashing down.
- An airline company that had to handle – rather unsuccessfully – the sudden influx of clients who tried to log in because they had heard about their festival discount offers.
- There have been numerous examples over the years of networks being hit by hackers or malicious software and being overwhelmed and causing millions of dollars’ worth of damage.
With stress testing, these companies would have had at least had an idea of what their networks were capable of and perhaps been proactive enough to either improve their capacities or used other preventive measures.
What causes stress on a network in a business environment?
As we have just seen, external traffic can wreak havoc on a business’ network. But then again, the same businesses, especially big ones or those that primarily deal with data transfer and storage, usually see a major part of their network resources put under stress due to their internal business processes.
Apart from these data transfers, which are expected, there are certain data types that could cause even more stress on their network. These data types include media files and performance- or time-sensitive online transactions which are treated as “VIP” priority packets that need to be handled with more care – at the cost of other “lesser” data types. Without Quality of Services (QoS) implemented on the network, it is an invitation for disaster.
The picture becomes complete when you throw in security devices and software solutions like Intrusion Prevention Systems (IPS) and Intrusion Detection Systems (IDS), routers, and firewalls – all of which need a fair share of a network’s limited resources. It becomes quite evident that the network will soon become too crowded and result in it being stressed.
How is network stress testing done?
There are two ways to do network testing:
Manual networks stress testing
You can stress-test your network by issuing commands using a command prompt. For, example, on a Windows machine you would test it using the following steps:
- Open your command console and type in ping –t XXX.XXX.XXX.XXX with the X’s representing the IP V4 address of a target host on the network that will be used for the test.
Image – Screenshot was taken on 19/06/2019
In the example above, the target device’s address is 10.0.111.144 and the ping command is executed continuously (because of the “-t” option) until it is stopped using the CTRL+C command.
The response tells us: the target host is online (because it is replying), the size of the packet that was sent to it (32 bytes), the response time (1ms), and the time to live or TTL after which a timeout would occur (128ms).
- This command is to be repeated on all the devices that are on the network which will simulate a busy network. As the number of packets and their sizes increase, there will be an eventual increase in delayed response times as the network’s capacity to transport the data deteriorates.
- The network will be considered to be fully overwhelmed when all (or a majority) of the devices display a “Request timed out” message.
Digital networks stress testing
The manual method we have just seen will be able to give a general idea of what the limits of a network are and which devices on it are on- or offline. However, the information would be very vague and incomprehensible to non-experts.
The solution would be to go full-digital and use special applications that were specifically created to give more accurate information. One such software is SolarWinds WAN Killer Traffic Generator.
Here are some details about this comprehensive suite of network diagnosis, monitoring, discovery, and administration tools which is considered to be one of the best ones on the market today and is available for evaluation on a 14-day free trial.
What can it be used for?
The Engineer’s Toolset is a suite of desktop applications that is used for tasks like managing configurations, bandwidth, and network performance. It can also be used to scan networks and discover connected assets and the occurrence of failures or bottlenecks in the data flow.
How does it work?
Once you have the suite set up (PDF), all you need to do is:
- Set the IP address or hostname of the target of random traffic
- Assign port numbers, size of packets and percentage of bandwidth to be used
- Observe and analyze the data that is returned and come up with conclusions and action plans
That is all there is to it; the network (both WAN and LAN) can be a hybrid of cables, routers, and firewalls, as well as any gadgets that are connected to it – WAN Killer, will soon have a complete picture of it.
The tool tests the network by sending out random traffic that can be aimed at a specific target host or a number of hosts. Further configuration can be done to define sizes of packets to be sent out, the port numbers to be used, and the percentage of bandwidth to be used.
Final notes and precautions
Although stress testing of networks can give useful feedback that can be used to improve their performances, there are a couple of precautions to consider beforehand:
- Always use an isolated network – when testing your network, make sure you create a dedicated test environment for load-testing. At the very least, only take part of your network down for the testing if you can’t afford to have your entire network shut down for the duration of the test.
- Never try stress testing on a corporate network – this is especially true if you are not part of an IT team tasked with the job of caring for your network. You could get fired if you are caught illegally flooding your employer’s networks.
The whole purpose of network stress testing with a traffic generator is to see how well your network will hold up against any unforeseen surge of traffic. It is therefore important that at least one person be knowledgeable about these tools and make use of them routinely – it will always be worth the effort.