5 ms·
Open-source network emulators and simulators
- gbajson 3y agoWould anyone of you know any tool that would simulate working on GSM connection (EDGE, 3G, LTE) on Linux box? I am looking for any reliable way of simulating user application working on mobile phone.
- remram 3y agoAlready answered in thread (built into Linux, use tc command)
- deleted 3y ago[deleted]
- Borg3 3y agoNice sum up of simulators and emulators. My personal favorite is IMUNES. Works very nicely as VM and its lightweight. You can run 100s of instances without problem.
- omnibrain 3y agoReally nice list. Back in the day when I started out and did a bit of CCNA material I used the proprietary Cisco Packet Tracer a lot. Ultimatively I did not follow the networking route for various reasons, but if I would have, then GNS3 would have been my simulator of choice. You can load the original Cisco firmware into it (if you can get hold of it) and really study in depth.
- aeonik 3y agoI used to use a network Emulator+Physics/Traffic Simulator called NCTUns to research vehicle networking back in 2010. I remember it was pretty cool. If I recall correctly, I could run several instances of all kinds of networking gear, configure wireless interfaces, place physical barriers, roads, etc... then I could see how packets and routing tables would behave while the emulated instances of routers/switches/APs moved around the physical world. Pausing the would, clicking on a little car, and serialing into a particular router that was running Cisco IOS was always pretty mind blowing to me though. They had all kinds of custom protocols that could route network traffic depending on which direction the traffic was flowing: you didn't want packets to get stuck in loops, hopping back and forth between oncoming traffic. Especially in sparse environments. I don't know what happened to it, it looks like it got spun off into a commercial company: http://nsl.cs.nctu.edu.tw/NSL/nctuns.html http://nsl.cs.nctu.edu.tw/NSL/nctuns.html
- softg 3y agoDumb question, has anyone tried LLMs for network design? I got a CCNA few years ago and I remember being surprised that most of that stuff wasn't automated already. I feel like most things that CCNA or even CCNP require can be done by a LLM if it's trained on enough examples.
- deleted 3y ago[deleted]
- jiggawatts 3y agoThe most important and most useful thing is the hardest to obtain: latency simulators. I just want an IPv4/IPv6 proxy that does nothing other than delay, rate-limit, and/or drop packets. This is a critical aspect of application performance that all developers just ignore because it's such a PITA to simulate. Your loopback adapter has a latency of 30 microseconds, but that same web-to-database connection might traverse multiple switches, routers, firewalls, and load balancers and have a latency of over 1,000 microseconds (1ms) in production. That's thirty times worse, and I'm not even talking about zone-redundant deployments, regional-to-region failover, or any such thing! Ditto with web apps, where every developer mistakenly believes that their Angular or React monstrosity is "performant"... because it is... on their own machine. With loopback networking. Try that over a 3G connection... in rural India. Not Indiana. India.
- circuit10 3y agoI’ve noticed that Hacker News is a lot faster than other sites and apps on a bad connection probably because it’s just basic HTML
- jesse_faden 3y agoBasic HTML isn’t static HTML. The comments and posts for Hacker News still needs to be stored and loaded from a database.
- diggan 3y agoWell, kind of, at least considering the last public version of Arc, that HN uses (found here: http://arclanguage.org/ http://arclanguage.org/) It seems to be storing stuff directly on disk, on the same host that the software itself runs on. So you're right if you consider the filesystem a sort of database, but otherwise no :)
- robertlagrant 3y agoIt was announced in 2008! 15% into the 100 year language.
- tyingq 3y agoIf you're using a tool that drives headless chrome, there's also programmatic access to Network.emulateNetworkConditions... the same knobs used for network throttling in the Chrome dev tools network tab. https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-emulateNetworkConditions https://chromedevtools.github.io/devtools-protocol/tot/Netwo...
- cebert 3y agoDoes anyone have recommendations if you want to simulate poor/unreliable/slow networks in order to ensure a client application handles these scenarios? Would a network emulator be the appropriate tool for this?
- Libcat99 3y agoYou can configure the Linux network stack to include packet loss and latency using tc. Not sure about other os. https://www.pico.net/kb/how-can-i-simulate-delayed-and-dropped-packets-in-linux/ https://www.pico.net/kb/how-can-i-simulate-delayed-and-dropp...
- c0nsumer 3y agoLook at using pf on OpenBSD. Specifically, look at the probability and set delay options: https://man.openbsd.org/pf.conf https://man.openbsd.org/pf.conf Couple this with inserting pf as a transparent firewall and you can make a good hop become all sorts of crappy. And you can do this on very low end hardware with just a pair of NICs.
- NexRebular 3y agoFreeBSD with dummynet. Has always worked great for testing different network conditions.
- racked 3y ago+1 for GNS3. I used it to mimic my home network (MikroTik gear) and test out VLAN configs. Great tool, quick to learn, easy to use, works flawlessly on Linux!
- dark-star 3y agoeve-NG is still the easiest to use IMHO, me and many of my coworkers used it to prepare for our CCNA/CCNP/CCIE certifications. I would swap it in an instant for an equally user-friendly open-source one though, if there was anything comparable, as some of the features lacking in eve-NG Community were really annoying to deal with (e.g. no connection to a real, physical network and/or the internet)
- runamuck 3y agoThank you for this list. I started my career with Opnet (Riverbed purchased them in 2013) and IIRC the license cost mid five figures per year. This list tipped me to OmNet++ which may provide a similar DES environment. I look forward to checking it out.
- mch82 3y agoCORE has been updated twice since the list was created. It’s actively maintained. CORE emulates mobile, changing networks like IoT devices, phones, or network-connected vehicles. GitHub - https://github.com/coreemu/core https://github.com/coreemu/core Community Discord - https://discord.gg/AKd7kmP https://discord.gg/AKd7kmP
- yjftsjthsd-h 3y agoDoes anyone know if any of these tools support emulating wifi radios such that a person could test, say, hostapd configurations, independently or in the context of a network to make sure all the pieces are working together? (That is, without ever connecting anything to a live wireless card)
- dtaht 3y agoI use sqm-scripts for a variety of purposes to insert delay or other variables like aqm and fq technologies. I also wrote a now somewhat out of date cautionary note about all the pitfalls you can land into here: https://www.bufferbloat.net/projects/codel/wiki/Best_practices_for_benchmarking_Codel_and_FQ_Codel/ https://www.bufferbloat.net/projects/codel/wiki/Best_practic... And over here, while we convinced systemd to adopt fq_codel by default, I cautioned against drawing conclusions from within the box simulations verses the general internet's behaviors: https://github.com/systemd/systemd/issues/9725#issuecomment-413303813 https://github.com/systemd/systemd/issues/9725#issuecomment-... I am perversely glad measuring this stuff irks so many other people besides me!
- teleforce 3y agoBrian Linkletter's website is one of the best portal if you want to learn network simulation and emulation. From the provided list, I think the most promising and realistic open source network simulator and emulator is Mininet due to its lightweight approach capable of running off-the-shelf Linux OS and software. In addition it has thriving eco-system that made it unique, accessible and prime for wide adoption for examples: a) It's currently actively being used to simulate and emulate smart city project by its original author to improve urban networking [1],[2]. b) It has open learning materials resources from open source book (Mininet-WiFi) and open lab instructions manual (Mininet-SDN) [3],[4]. c) Its lightweight feature enabling it to simulate very large number of nodes using the nested containers capability as demonstrated by extensions created by third party simulation tools namely NestedNet and ComNetsEmu [5],[6],[7],[8]. [1] SigComm 2022 Cosmos Testbed Tutorial: https://wiki.cosmos-lab.org/wiki/Workshops/SigComm2022 https://wiki.cosmos-lab.org/wiki/Workshops/SigComm2022 [2] Reconfigurable topology testbeds: A new approach to optical system experiments: https://www.sciencedirect.com/science/article/pii/S1068520023000226 https://www.sciencedirect.com/science/article/pii/S106852002... [3] Mininet Wi-Fi book: https://github.com/ramonfontes/mn-wifi-ebook https://github.com/ramonfontes/mn-wifi-ebook [4] SDN Labs using Mininet manual: http://ce.sc.edu/cyberinfra/workshops/Material/SDN/SDN_Labs.pdf http://ce.sc.edu/cyberinfra/workshops/Material/SDN/SDN_Labs.... [5] Network Virtualization and Emulation using Docker, OpenvSwitch and Mininet-based Link Emulation: https://scholarworks.umass.edu/masters_theses_2/985/ https://scholarworks.umass.edu/masters_theses_2/985/ [6] NestedNet: A Container-based Prototyping Tool for Hierarchical Software Defined Networks: https://ieeexplore.ieee.org/document/9244858 https://ieeexplore.ieee.org/document/9244858 [7] ComNetsEmu: A Lightweight Emulator: https://www.sciencedirect.com/science/article/abs/pii/B978012820488700027X https://www.sciencedirect.com/science/article/abs/pii/B97801... [8] A virtual emulator/testbed designed for the book: Computing in Communication Networks: From Theory to Practice (2020): https://git.comnets.net/public-repo/comnetsemu https://git.comnets.net/public-repo/comnetsemu