Emulation and Simulation for Testing Mobile Networks Interfaces and Protocols
On the Valid8 home page, users see information regarding our Simulation Toolkits and Emulators. We are often asked, “what’s the difference between emulators and simulators?” While the terms are often used interchangeably, there are differences. When discussing Valid8’s Simulation toolkits and Emulators, there are clear differences in capabilities and when they are used.
Simulation and Emulation can be confusing terms. The folks over at Perforce put together a blog that discusses the differences. According to their post, “An emulator duplicates the thing exactly as it exists in real life.” while “A simulator mimics the basic behavior of a device.” In general terms, simulation typically means to generate or to give the appearance of a device behavior or scenario that doesn’t necessarily actually exist. By contrast, emulation recreates or gives the appearance of something that does exist.
For example, a quick online search will show emulators for operating systems, old video games, and even phones that look and act just like the technology or device they are mimicking. Simulators, on the other hand, might mimic 100 phones, or a phone with all screens being used at the same time, or hundreds of bad packets for transmission. Those are behaviors that likely may not exist in the real world.
From a Valid8 testing perspective, both Emulators and Simulators have important roles. For example, you may want to test how a device that you’ve manufactured will behave when making voice calls to another such device in a real network. Valid8’s Emulator products mimic a real network, so that you can check for voice quality, latency and other KPI’s that are important for your testing, before you connect your device to a real network.
On the other hand, you may want to create an environment in which you want to examine the behavior of the device when it receives bad packets. For this testing, you can quickly set up a sandbox environment and send customized bad messages to the device and analyze the results. For this testing, you don’t need the entire network to be set up and configured, just specific interface(s) in the sandbox.
Both simulation and emulation are important parts of conformance, performance and load test of networks and devices. Simulation helps create the typical and worst case scenarios, while emulation helps understand how software and devices react. How does Valid8 take advantage of these two capabilities to help users perform testing?
As mentioned above, emulators are software or hardware-based solutions that enable operators to mimic specific components of the mobile network to test security, performance, and capacity. Valid8’s Emulators solution is capable of emulating a variety of network nodes including AMF, AUSF, BMSC, CBC, CDF, CSCF, DHCP Server, DRA, EIR, GGSN, gNodeB, HLR, HSS, MCX Server, MG, MGC, MMSC, N3IWF, NEF, NRF, NSSF, PCEF, PCF, PCRF, SCEF, SGSN, SMF, SMSC, SMSF, UDM, UDR, UE, and UPF.
Some examples of Valid8 emulator options include:
- Mobile Core Network Emulator -- The software-based Mobile Core Network emulator mimics 5G Core (5GC) SA and NSA, LTE 4G EPC, and UMTS 3G Core stand-alone to test the RAN, UE, or other Core Network nodes as a wrap-around test.
- HSS Emulator -- Emulates the HSS over Diameter S6a interface to the MME
- IMS Core Network Emulator -- Emulate IMS network nodes and generate realistic traffic between network devices, including VoLTE IMS, SMS.
- PCRF Emulator -- Emulates the PCRF over Diameter Gx interface to the PCEF/PGW
Valid8’s recently announced Simul8r product delivers a set of simulation toolkits that enables the user to create and run customizable message flows for many different protocols. Each toolkit in Simul8r focuses on a specific area (e.g. mobile security), interface (e.g. 5G N2) or protocol (e.g. SIP). These Toolkits are extensible by the end user or by Valid8's engineering services.
Simul8r helps simulate and test protocols, interfaces and areas including CAP, COAP, Diameter, HTTP2 REST, GTP, LCSAP, MAP, Megaco, NGAP, NAS, PFCP, Radius, RANAP, S1AP, SABP, SBCAP, SIGTRAN, and SIP with new protocols being continuously added.
Using Simulators and Emulators
When thinking about the use of simulators and emulations, The Perforce blog puts it best, “These tests should be spread across emulators, simulators, and real devices.” To get the most value of and results from testing, incorporating both emulation and simulation yields the best results. For example, when testing specific components of the mobile network for security, performance or capacity, use emulation and when testing areas, interfaces or protocols use simulation.