Use Network Emulation to Create Real-World Conditions
Key takeaways:
- Network emulation helps replicate real-world conditions and impairments faced by networks.
- Emulators are physically inserted between two network segments or devices to create the network conditions required by test scenarios.
- Emulation usually involves real-world data and loads so that typical performance and end-user experiences can be characterized under a variety of network conditions.
We're seeing rapid advances in all areas of networking. Commercial wired networks are approaching terabit-per-second speeds. Mobile 5G networks are available in previously unreachable locations, thanks to non-terrestrial networks. 6G networks are expected to have very low latencies. Militaries around the world are aiming for highly connected soldiers and equipment. There's talk of software-defined vehicles and automotive networks.
As each of these technologies advances, engineers who are researching, developing, and testing them need to create all the real-world network conditions they may encounter. One of the most versatile approaches for creating real-world network conditions is network emulation.
This blog explores network emulation, its use cases in various industries, and Keysight's solutions for emulating all types of networks.
What is the purpose of network emulation in networking?
Emulation's goal is to create real-world network environments to help test network equipment, user devices, applications, functionalities, and overall end-user experiences. An emulator is inexpensively, and often temporarily, physically inserted between network segments or devices of a production or test network to create real-world network impairments related to bandwidths, throughputs, latencies, packet losses, and other core characteristics.
Through emulation, network engineers can study the emergent behavior, performance, and quality of end-user experience of the real-world network, its nodes, and the software on them while realistic data passes through the network under realistic loads.
The illustrations below show some concrete use cases of network emulation.
The first example is an emulated link to a remote office on another continent to check the network performance and video quality of a corporate video conferencing software.
Fig 1. Test video conferencing with emulated intercontinental network link
The second example below shows a carrier emulating a wireless link between a smartphone and a non-terrestrial 5G network to test mobility and call quality.
Fig 2. Emulated mobile network links
Emulation creates realistic network conditions in a physical network link. The nodes connected by these links are often part of some production or test network. Crucially, the nodes themselves are not emulated in any way. The focus of emulation is entirely on the links between them.
Examples of nodes include computers, routers, firewalls, mobile devices, mobile network base stations, applications, and internet of things (IoT) devices. Each node can either be a physical device (like a rack server or a smartphone) or a virtualized device (like a virtual machine from a public cloud provider).
How does network emulation differ from simulation and other testing methods?
We can understand network emulation even better by comparing it with other common approaches prevalent in test environments. However, it's crucial to remember that all these approaches are complementary and compatible rather than exclusionary. They can be, and often are, used simultaneously for testing different aspects of the same network.
Network emulation vs. simulation
A network simulator is useful for modeling a network without any need for physical devices or networks.
A network emulator helps test a physical network by inserting itself between two network segments or devices and introducing controlled network conditions like latency, faults, packet loss, and other impairments to emulate real-world scenarios.
Network emulation vs. traffic generation
Traffic generation complements emulation. While emulation mimics the connections between nodes, traffic generation mimics the real-world data and loads sent and received by the nodes.
Network emulation vs. latency testing
Latency testing is done by manipulating the packets on real network connections. In contrast, network emulation creates latency when it's physically inserted in a link between two network segments or devices.
Network emulation vs. fault injection
Like latency testing, fault injection manipulates the packets on real network connections. Network emulation creates faults when it's physically inserted in a link between two network segments or devices.
Network emulation vs. virtualization
Virtualization is a foundational technology on which emulation relies heavily. However, emulation is not the only use case enabled by virtualization. Other use cases of virtualization include:
- infrastructure and resource sharing between multiple customers
- public or private clouds
What types of networks and scenarios can be emulated using network emulation tools?
Although emulation is used for testing local area network (LAN) scenarios, they are far more valuable when testing wide area networks (WANs) because their network topologies can be complex and expensive to physically set up. In the following sections, we list some practical WAN network configurations where emulation can help.
Long-distance wired networks
Underground and submarinefiber optic cables are the backbone of the global internet. Almost all national, public, private, and corporate networks communicate with each other through this backbone. Some common scenarios that can be emulated include:
- Maintaining data integrity under all scenarios: In industries like high-frequency trading, data must be communicated with minimal latency but also with 100% accuracy. Through emulation, the resiliency of such systems can be tested under impaired network conditions, like packet losses due to network congestion and spikes in latency.
- Testing communications between offices in the same region: The end-user experiences and latencies of common corporate tools like high-volume information retrieval, messaging, video conferencing, and augmented reality must be tested.
- Testing global networking: Communication that must quickly and reliably cross continents can be tested by emulating undersea cable connections.
Data center networks
Emulation is useful for validating the reliability and performance of remote storage and disaster recovery use cases like:
- Streamlining disaster recovery and business continuity: Data backup setups, like direct access storage device mirroring configurations over long-distance optical networks, can be emulated. Emulation can create real-world network delays and impairments that affect storage performance and help ensure data integrity and optimal recovery times in the event of a disaster.
- Validating remote storage solutions: Emulation enables the testing and validation of remote storage solutions in a controlled lab environment before actual deployment.
- Testing scenarios: Emulation allows testing and optimization of remote storage performance under various network scenarios, including packet losses and transmission latencies. This preemptive testing enables streamlined rollout of new technologies and applications with higher productivity and reduced risk.
Defense networks
Real-time performance and reliability are crucial for defense and battlefield networks under conditions that may be far from ideal due to distance, weather, or subversive activities of enemy forces. Emulation allows the recreation of such conditions to test the resiliency of these networks.
Mobile networks
Emulation is a critical tool in mobile 4G/5G/6G network testing because of the large number of possible scenarios. Ensuring reliable application performance during voice and video calling, good end-user experiences, and high mobile data bandwidth are important.
Emulators can test scenarios like increased latency in non-terrestrial networks due to Doppler shifts of fast-moving satellites.
Emulation is also essential for validating the reliability of cellular IoT networks like 5G RedCap that are used in critical remote infrastructure like oil and gas rigs.
Other wireless networks
Emulation is useful for validating other wireless networks like vehicle-to-everything (V2X) networks and Wi-Fi networks that are difficult and expensive to physically set up.
What are the key features and capabilities of modern network emulation tools?
Some of the key impairment capabilities of tools like Keysight's Network Emulator 3 for Ethernet-based emulated networks include:
- Configurable packet delays: Emulators can introduce delays of up to a few seconds with nanosecond-level resolution.
- Delay jitter: These tools can replicate jitter, which is variation in the frame or packet delays.
- Dropped packets: Such tools can recreate the dropping of one or more packets and the conditions that lead to it, like network congestion, buffer overflows, or packet corruption in the physical (PHY) layers.
- Packet modifications: Emulators can replicate duplication, reordering, accumulation, fragmentation, and checksum correction on one or more packets.
- Rate limits: Emulators can manipulate traffic rate limits through delays and dropped packets.
- Traffic shaping: Emulators can also manipulate the throughput and quality of service (QoS) by changing their packet buffering strategies.
- Automation: Good emulators allow complex cascades of impairments to be programmed and scheduled via application programming interfaces (APIs) so that various scenarios and their impacts can be studied over the long term.
How are real-world conditions, such as latency and packet loss, simulated in network emulation?
Fig 3. Keysight Network Emulator 3 device in a test environment
Network emulators can create realistic network conditions using dedicated hardware.
When traffic flows through the emulator's input port, the following steps happen (at a minimum):
- It intercepts each packet. The packet is analyzed to record its layer two (data link layer) and layer three (network layer) endpoints (sources and destinations).
- If delays are configured for those endpoints, it runs empty processor cycles for the duration of the delay and jitter before forwarding the packet to the destination.
- The source and destination endpoints in the packets are unchanged because emulation should always be transparent.
- If packet losses are configured for a pair of endpoints, the packets matching them are removed randomly as per configured loss rates.
- Similarly, packet duplication, corruption, and reordering are implemented by suitably modifying the target packets. Among many other protocols, transmission control protocol (TCP) and user datagram protocol (UDP) packets can also be subjected to such modifications.
To emulate a wireless network (like the access network between a smartphone and a 5G base station), it must do three steps:
- Capture the transmitted radio frequency (RF) signals: Using over-the-air (OTA) test equipment like anechoic chambers, the emulator receives RF signals from the transmitting endpoints.
- Generate new RF signals: New RF signals are generated based on the emulator configuration.
- Retransmit the new RF signals: The emulator then transmits these generated RF signals to the destination device kept in an OTA chamber.
How does network emulation contribute to the development and testing of new network technologies?
Emulation is an important tool in developing new technologies for optical networks, telecommunications, automotive in-vehicle networks, defense and aerospace networks, and other networked domains. It contributes through benefits like:
- creating complex real-world network conditions that are difficult to test in real life
- reducing the cost and effort required to set up and test various network conditions
- awareness of packet structures, RF signals, and protocols for retransmission to save test engineers from having to create them from scratch
- reducing the time required for scenario testing by providing easy user interfaces and automation features
What challenges are associated with implementing effective network emulation in diverse environments?
Some of the challenges of realistic network emulation are outlined below:
- Real-time operations: For many scenarios, the emulation must run in hard real time to enable interacting with the emulated links exactly as with real links.
- Replicating various scenarios: Emulation makes creating different scenarios relatively easy and fast, but it's not without challenges. Recreating operational conditions — like different traffic types, terrains, and mobility patterns — can be challenging and time-consuming even when using emulators. A library of predefined and custom emulation profiles is a good solution for this.
- Technology advances: Accurately emulating the performance of state-of-the-art technologies like 800-gigabit and 1.6-terabitEthernet can be challenging and often requires advances in the emulator hardware too. RF technologies like 5G/6G and V2X are particularly challenging to emulate because of their complicated modulation strategies and possible interference between real and emulated transmissions.
How is network emulation used in the context of cybersecurity testing and training?
Fig 4. Keysight EXata network modeling and emulation software
Some specialized tools like Keysight's EXata Cyber Attack Emulator support advanced emulation capabilities required for cybersecurity testing. They include:
- Denial of service attacks: Emulators can recreate the kind of impairments and loads typical of denial of service attacks.
- Zero-risk testing: They provide zero-risk platforms where cyber-attack scenarios can be safely emulated without endangering operational networks. This allows thorough testing of defense mechanisms against advanced threats like zero-day attacks.
- Vulnerability assessments: Emulators can be loaded with detailed models that include known and potential vulnerabilities to help identify how a network would behave under different attack vectors.
- Defense-related cyber attacks: In defense environments, emulators can be integrated with wargaming platforms to realistically create communication disruptions, eavesdropping, jamming, and other network compromises.
Boost Your Systems With Keysight Network Emulation
Fig 5. Keysight Network Emulator 3
In this article, we explored various aspects and use cases of network emulation.
Keysight's network emulation hardware and wireless emulators enable you to accurately model a wide variety of wired and wireless network conditions in your design and verification labs. Software like EXata allows multidomain network modeling and emulation.
Contact us for insights on how you can integrate these solutions into your existing workflows for streamlining and troubleshooting your networks.