Satellite users know better than anyone that latency and packet loss can have as big, if not bigger, impact on application performance than link bandwidth. Applications that aren’t specifically tested and optimized to run over a satellite network aren’t likely to work well.
Testing and validation of application performance is critical, but satellite users still face unique challenges in this area. Satellite time is expensive, conditions can vary dramatically from moment to moment, and what-if scenarios like adding bandwidth are often impossible to validate beforehand.
Fortunately, there is a convenient and easy solution: applications can be tested using a WAN emulator to replicate the satellite-based IP network. Unlike satellite simulators, which are used to test the satellite communications hardware itself, WAN emulators are designed for the specific purpose of testing application performance.
Since most modern applications run exclusively on standard IP-based clients and servers, a WAN emulator simply provides Ethernet ports to connect between client and server networks, much like a simple router, but makes all the traffic passing through appear as if it had traveled over a satellite link. These same emulators are widely used to simulate terrestrial, Internet, wireless, line-of-site, and other types of IP networks. The costs are reasonable and start around $2,000 for a device that can simulate a variety of link speeds.
The most basic WAN emulators can simulate the bandwidth, latency, jitter, and bit errors of any satellite link. More advanced models offer the ability to add background traffic to create realistic congestion, model complex loss conditions, take QoS into account on the network, simulate multiple links simultaneously, cause packets to be fragmented, duplicated, or reordered, and replicate a variety of additional network impairments. Some emulators can even record the dynamic conditions of a live network as they change second-by-second and reproduce those changing conditions in the emulator.
Testing Application Performance
Configuring a test can be as simple as attaching a client device to one port of a WAN emulator and the server to a second port. Of course, instead of a single client and server, entire networks can be connected on either side. Once the link conditions are specified, it’s as if the two devices are connected over a satellite. Simply run the application and observe or measure the results.
Figure 1 shows the user interface of a Netropy WAN emulator from Apposite Technologies. The throughput graph on the bottom half displays the results of a series of tests. Figure 2 zooms in on the graphs.
This test displays the effects of latency on application throughput. A 100MB file was transferred between the two Linux machines over different types of links with varying latencies from LAN to satellite. The bandwidth in these tests was set at 100Mbps. The table below summarizes the results.
As expected, the transfer completed quickly over low latency links and took almost ten times longer over satellite link. If you’ve been involved with satellite communications, you’ve certainly seen a graph like this before.
What has changed is that you can now run your own tests within minutes and specify the conditions and impairments under which you’d like to observe your applications perform. While general graphs published by vendors and academics are instructive, they don’t tell you how your applications will perform over your network. Now it’s easy to find out.
For example, if you want to examine the effect of the bit error rate on performance, simply enter the values of interest to you and run the test again. The figure below shows a series of tests with bit error rates of 1x10-9, 1x10-8, 1x10-7, and 1x10-6. The results are summarized in the table and show that the same file transfer takes 25x longer to transfer over a link with an error rate of 1x10-6 compared to a nearly error-free link.
Of course, this tested only application, FTP, running between two Linux machines. Run the same test yourself between two different devices, or transfer the file using a different application such as Windows file sharing or HTTP, and you’ll likely get very different results.
That is why it’s critical to test applications yourself. A report, or an article like this, can only show a few applications and the results are specific to particular devices and network conditions. While that can provide instructive background information, you need to know how your applications – everything from Windows file sharing to databases to VoIP and video – will work for your users over your network. And the best way to find out is to run your actual devices and applications over an emulated network configured to match your exact conditions.
Best of all, once you’re able to measure the performance of your applications, you can understand where the issues lie and examine solutions to optimize and improve specific problem areas.
Since the performance issues are caused by the application design and protocol choice, rather than the bandwidth, latency and loss conditions themselves, well-designed applications may work surprisingly well over satellite while others may be nearly useless. Even similar applications, such as video conferencing from different vendors with realistic network conditions needs to be an integral part of any product evaluation and procurement process.
Imagine an oil company with users in remote locations like Angola and Kazakhstan or stationed on offshore oil rigs. The telecoms team is responsible for installing a satellite network to connect these locations back to headquarters, but the IT team must make the applications work. To set up their office applications, they have a variety of architectures they can choose: client-side native applications with or without an accelerator or VDI connected to application infrastructure hosted at a datacenter. Which architecture will work best?
The answer depends on the application in question, the specific acceleration system, and the individual VDI software, as well as the satellite network itself and the amount of bandwidth available per user. One option would be to send all of the different systems out to multiple remote facilities and see what user’s prefer, but that’s expensive, time consuming, and subjective. A WAN emulator makes it somple to compare the alternatives side-by-side, test optimize each one, then make an informed decision.
Fortunately, today’s WAN emulators make that both easy and affordable, and every satellite user should have an emulator at hand as a part of their tool chest.