Visual Network Simulator To Teach Basic Networking?
unteer writes "I am a US Peace Corps volunteer currently teaching a computer technician course at a technical college in Kenya. My students have all completed the Kenyan equivalent of high school and have been accepted into a program where they give a year of nation-building non-military service in return for a technical education. My students' course load includes an introduction to computer networking, and this is where my problem lies. Do any of you know of a visual network simulator that can create an interactive network map that allows me, the instructor, to manipulate various components of a network, including the physical media, routing configuration, and which applications are being used to submit data? An example would be to have a visual of the differences between mail traffic and web traffic, and be able to show how the configuration of a wireless network might be different from a wired network. I know this may seem silly, but visuals of all this are critical to getting ideas across. It doesn't even have to be technically accurate, but rather just pictorially accurate, possibly just labeling the various components correctly. Also, it would be highly preferable if it ran on Linux, as I teach using FOSS only."
The idea is not silly at all. When I did a Networking Fundamentals subject, we used Cisco Packet Tracer to do most of what you mentioned above. Unfortunately, it isn't exactly FOSS.
There's a program from Boson(I think, not sure if the spelling is correct) that does this sort of thing. You drag and drop icons of computers, switches, routers, etc, and draw lines between them. It then simulates this network. You can see the various packets, such as ARP packets, routing protocol packets, etc, and can examine the various header bits and bytes. We used it in the network lab at the school I attended. I'm pretty sure it wasn't open source, though.
When our name is on the back of your car, we're behind you all the way!
The Visual Netkit project may interest you.
http://code.google.com/p/visual-netkit/
Hi, I would advise to try OMNeT++ it is widely used at various universities. The source code is open, and you can use it for free for non-profit and academic purposes. You can make it as simple, or as complicated as you like. Simulations can be explored live, and there is a useful animation and sequence chart feature that will make complex processes easier to communicate and understand. some links to look at: www.omnetpp.org main community page. This walkthrough of the INET Framework might actually be useful: http://www.omnetpp.org/doc/INET/walkthrough/tutorial.html To get a feel for the whole thing, I suggest you check out some of the videos (for example, the one titled "Using the IDE" from here: http://www.omnest.com/web-demos.php Or get some working demos (still the old version, but the idea is the same) from here: http://www.omnest.com/download-demosim.php I hope that helps.
Few years back, someone found out that a certain plant grows branches and leaves identical to network simulation maps. Go organic. Walk outside and study ivy.
http://en.wikipedia.org/wiki/Life
http://www.cisco.com/web/learning/netacad/course_catalog/PacketTracer.html
We used this for largely what you describe during a training course.
I use GNS3 located at http://www.gns3.net/ and it works very well and is very easy to learn and teach others to ues
The academic version is free. Unfortunately OPNET is Windows only.
OPNET and Wireshark make for some very informative lab work.
URL to some labwork used by various universities:
http://faculty.kfupm.edu.sa/coe/ashraf/RichFilesTeaching/COE081_540/BPG_OPNET/BrownLabManauls
(I'm not sure where these labs came from, I think from a book. My networks lecturer used them as lab work for a 2nd/3rd year network course)
Also, it would be highly preferable if it ran on Linux, as I teach using FOSS only."
You are sacrificing your effectiveness as a teacher, and potentially failing to help your students learn, in the name of supporting FOSS?
Look.. I like FOSS, when available and when the most suited to the task, it's great.
I believe in the classroom, you should be using the most effective instructional tools available, not ones whose licensing model you personally prefer
Of course if the Non-FOSS options' license model is so restrictive, a restriction will prevent you using it in the classroomas an instructional tool (highly doubtful), then that could be a reason to reject it.
But based on your requirements, all the decent simulation options other than you having to write some code, or put together images/mock-ups manually, are not only non-FOSS, but also not free of cost.
Perhaps you should just embrace the 'free' option, and draw up your own sketches and diagrams?
If you don't like closed solutions, that's (more or less) what you are left with. Which is not horrible, but I assume you would not have asked the question if it was the best for your students.
Sorry, but if we need proprietary tech to have access to knowledge, he doesn't. WE HAVE THE PROBLEM, specially in educational environment like this.
GINI (GINI is not Internet) http://cgi.cs.mcgill.ca/~anrl/projects/gini/ is a toolkit for creating virtual micro Internets for teaching and learning computer networks. It will run on both Linux and Windows.
Not sure if it's exactly what you want but check out ns2 / nam. It's a pretty good network simulator. It's open source and runs on linux.
I assume you have some lab computers that are already part of a network, can't you just install wireshark on them and use the existing network? You won't be able to teach everything, but you can probably cover a lot of it that way. Learning tends to be easier for me when I'm looking at the actual thing anyway. If you trust them with root access (or have automatic restores) they can experiment with different configurations too.
Take a look at CORE (http://cs.itd.nrl.navy.mil/work/core/) its open source and works on Linux/BSD
Is there one that I can load Windows, Linux, BSD, and any other system on? That can also emulate other CPUs?
I would like to be able to do something similar to this XKCD, but with random software and routers.
Visuals are fine, and certainly useful for teaching generally, and illustrating broad concepts specifically.
I'll go out on a limb here and suggest that you don't underestimate the value of physical objects. There's something to be said for physical wires and connections. It's a truism to say that "hands on experience" is often the best method for learning: a user plugging in a network cable and configuring things by typing in a terminal before using it to view or analyse network traffic is about as hands-on as you can get. Bonus points for plugging the cable into the wrong jack or accidentally disconnecting it.
If it were me, I'd use old PCs with multiple NICs, install one of the BSDs, and devote your visuals to network diagrams and the explanation of higher level concepts. That's not to say that setting up a "virtual lab" won't work; just that most would prefer a "real" one (with similarly "real" blinky lights). Seems to me a certain amount of hands-on experience in a real world environment is almost a prerequisite to dealing with or making productive use of abstractions like virtualisation software.
You're in Kenya, so the idea of acquiring used Cisco gear, for example, off eBay probably probably isn't feasible. But if some extra PCs are available and can be put to use, I'd go that route.
I agree with happylight . network simulator is i think what you want . It includes utility where you can visualise the data packets sent from computer nodes . You can also write simple scripts to adjust network settings such as capacity of link etc . It also demonstrates the protocols . we have used it in our computer network course at college . Find more at this link : http://www.isi.edu/nsnam/ns/edu/index.html .
Youtube has some useful videos to simulate networking
http://www.youtube.com/watch?v=RbY8Hb6abbg&feature=related
i got from the summary that the simulation would be of a fictional network, allowing the instructor to change parameters and view the effects... not sure how any government agency would care about that.
It's "were", not "where".
I have to ask - what's up with the increase in word misuse on Slashdot? I've noticed an enormous change, and not just of the "lose/loose" variety. "Where/were" is increasingly misused here, and number (single/plural) mismatches have increased noticeably as well, as has improper verb conjugation. It's not just with the higher UID posters, whose spelling and grammar is generally execrable anyway, but with people that have been posting on Slashdot "forever" - five, four, occasionally three-digit UID posters are affected as well.
Observation bias. You just didn't notice it before (you noticed it).
* ns2: http://nsnam.isi.edu/nsnam/index.php/Main_Page (GPL)
* Wide Area Network Emulator http://wanem.sf.net/|WANem (GPL)
I've used something called Imunes in the past with great success. It runs on FreeBSD as I recall, and is the output from an academic project somewhere. It will run happily in vmware, interacting perfectly with vmware virtual switches and physical NICs in your machine. You can create hubs, switches, routers and hosts inside the environment, hook them up with point to point links, set bandwitdth and loss parameters on those links, etc. Routers can do bgp and ospf via OSS implementations (zebra/quagga). The genius of the whole thing is that the network stack is magically instantiated per-process: thus, when you have a simulated host in your setup, it actually just manifests itself as a shell window. You can use ping, traceroute, run apache, or firefox, and it will be bound to the exact bit of the virtual network you expect it to be. With imunes, I've simulated a complete wide area network, complete with simple bgp, checkpoint secureplatform firewalls (in vmware on the same box), and an imunes host at each site. I was able to run traffic end to end over encrypted vpn tunnels from one secureplatform protected imunes host to another. One of my firewalls was a physical box, hooked in via a crossover cable. Warning: it *will* warp your mind doing this stuff in vmware... E.g. Em0 in Imunes is eth0 as presented to the vmware guest which is vmnet1 which is eth2 on my host OS. I recommend a multiple-interfaced physical machine for sanity's sake.
Spooked by analytical text search efforts, best to mix it up a bit?
Domestic spying is now "Benign Information Gathering"
GNS3 is OSS. It runs best on a system with lots of RAM and a multi-core processor.
All you need beyond the initial download is a router image file (Cisco 7200, etc).
Enjoy!
GNS3 is OSS. It runs best on a system with lots of RAM and a multi-core processor.
All you need beyond the initial download is a router image file (Cisco 7200, etc).
Enjoy!
What about cloonix?
Take a quick look at the screenshots: http://clownix.net/
It's the cellphones, y'see. /..
First it was the bees; now the collective grasp of the English language on
I fear by this time tomorrow, we'll all be posting in idle. And liking it.
More in reply to the AC's 'Teach 'em to hack into the government computers"
Domestic spying is now "Benign Information Gathering"
I had a similar problem finding ways to teach basic networking such as addresses and masks and routing to non-computing students. Having looked into NS2 and similar things and finding them powerful but way too complicated (for the student's level), I settled on Clack:
Clack Graphical Router Project
It's written in Java, graphical and easy to use and does quite well at showing many of the important things. You can also extend it yourself if necessary (open source).
As someone working as a Network Engineer I would recommend you look at GNS3 since you can install it via sources or via a deb package, you already have the address in other post in this thread. The nice thing about GNS is that if you build the network and installe the images (that is the trouble part) you need actual cisco images, you might be able to obtain them for educational purposes, and why not approach Cisco to ask. The worst thing you could get is a no on the other hand you might end up with a system that acts as the devices do in real life, an ideal playground in which to learn about networking, but to properly learn get hold of a package generator to stream your simulated environment. http://sourceforge.net/projects/packeth/ http://sourceforge.net/projects/pacgen/ http://bittwist.sourceforge.net/ http://sourceforge.net/projects/traffic/ http://gull.sourceforge.net/ http://mc-mint.sourceforge.net/ Are just some of the available package generators. Also someone else mentioned wireshark http://www.wireshark.org/ - That tool is a must for anyone serious about learning about networking and someone teaching about it. NMAP is another must as well http://nmap.org/ Good luck with your efforts
MS, ALS, Aphasia ? http://globability.org - Me http://einarpetersen.com
Go with Cicso Packet Tracer. As someone pointed out It isn't open source, but there is a linux version. Its most recent version is high quality and extremely functional. When I studied for my CCNA, I used this software alot because in certain cases it provided the same learning without the hassle of physical equipment. oh yea, the most important thing is that it is free.
version is free. Unfortunately OPNET is Windows only http://www.privateairporttransfer.com/
... but I just love "Warriors of the Net".
It gives a pretty good idea on how networking works, and some of the visual metaphors are quite awesome.
"A sysadmin is a cross between a detective, a police officer, a gardener, a doctor and a fireman"
http://www.privateairporttransfer.com/
The commenter posted, in bold, "...not ones whose licensing model you personally prefer" ...as I teach using FOSS only." but that is different from stating a PREFERENCE.
I don't think the original poster said that he personally PREFERS any particular model. He states what he DOES "
It is possible that he uses only FOSS because that is what his students in Kenya can afford.
It is possible that as a volunteer teacher for the Peace Corps that is what he can afford.
It could be that he really does have the preference the commenter ascribes to him, but without more knowledge, I am not sure we can make that claim (in bold none-the-less).
As I read this comment, I felt as though the poster was being attacked for stating what he does AND wrongfully having reasons ascribed to those actions without full understanding of WHY he does it.
Just sayin's all.
Why not http://clownix.net/ ? you can build a full network graphicaly and log on each machine to configure them
http://grammar.about.com/od/ab/g/analogy.htm
Some ten ( 10 ) years ago, I collaborated in the development of Visualis, a network topology manager written in Java. It has since been acquired by BMC, and now does a lot more. It should be possible to feed it with a simulated network, rather than having it discover an actual one. Have a look here: http://www.tideway.com/confluence//display/Configipedia/BMC+PATROL+Visualis+Fault+Manager There is a free community download that may suit your needs. Contact me if you need more info. Note: this is not an ad. I am not in any way involved with this corporation.
Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
I believe Cisco has a number of interactive games (google Cisco games) which provides networking simulations.
We used a Stanford project called Clack in my Networking and Internet Protocols class. We could setup virtual networks and visualize traffic. The meat was implementing a virtual router in software and using that to route traffic in the virtual network.
Clack Homepage:
http://yuba.stanford.edu/vns/clack/
Part of the Virtual Network System
http://yuba.stanford.edu/vns/
You can get digital artwork of many network hardware components in Visio or Omnigraffle format then extract the artwork files Then print them out and attach then to magnetic vinyl at a large size. Now you can illustrate whatever you need on a magnetized whiteboard. Or you could use corkboard and string.
Not sure about the licenses but they are free to download. Search online for .gstencil files (or go to http://www.omnigraffle.com./
A fool throws a stone into a well and a thousand sages can not remove it.
Between VirtualBox (www.virtualbox.org) and Vyatta (www.vyatta.com) you can pretty much (si/e)mulate anything networking. VirtualBox is of course virtualization software and Vyatta is an x86 open routing platform. Vyatta's command syntax is very similar to CISCO and anything you can do with a CISCO router (and to some extent, CISCO's security devices...) you can do with Vyatta. Vyatta is a custom linux distro with full blown routing capabilities. It can also serve as a client if needed. I often have to simulate networks in my line of work and Vyatta + any virtualization platform is pretty awesome at making things work. Vyatta's memory and disk requirements are pretty low and for what it's worth, you could likely even run a few Vyatta virtuals on an x86 based netbook without being too incredibly slow. About being able to tweak things on the fly, I would create an additional interface on each Vyatta box and set up a host based management network and then SSH configs with the different settings I felt necessary to explain what I was teaching. Script it, then you look like the master of your domain =) Good luck!
-g
Chalk. Chalkboard. 'nuf Said.
Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
If you have a machine which acts as a router to the desktops in the lab (or just a machine or 2) and you have Etherape running it will shop them what is happing. I did notice it doesn't show IPv6 yet, but it could just be a setting.
As the "warriors of the net" these aren't to bad either:
http://www.youtube.com/watch?v=RbY8Hb6abbg
http://www.youtube.com/watch?v=_XH0VgoD5lQ
New things are always on the horizon
Citation(s) needed or piss off. Assertions such as those could get Peace Corps volunteers snuffed, kidnapped, etc.
_Prove them_ or DIAF.
"This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
Just use PacketTracer by Cisco, it runs on Linux
If you need pretty pictures for the students to learn networking, I think you have some more basic problems (English, math, logic) to worry about.
I want to delete my account but Slashdot doesn't allow it.
http://www.wireshark.org/
with the right filters can be very illustrative. bonus, it's a useful tool they'll learn how to use on the way
http://www.vmware.com/appliances/directory/354 "Hownetworks" is pretty cool, but you will still be left with the problem of creating a very sterile environment. If you try teaching somebody by watching live traffic in an office or school network there will be so much noise that it will probably confuse the students. I tried looking for an updated version of the app, but could not find one...
Unteer,
As a Cisco instructor for the past 10 years, I can tell you that there is no equal to Cisco Packet Tracer. While Packet Tracer is proprietary, it is also free of charge to Cisco Academies and their students. My lab in Battle Creek, MI runs 100% Linux, and Cisco has a 32 bit version which works flawlessly.
Cisco does not charge you any fees to be an academy, but there are expenses in purchasing equipment, and they will hold you to training requirements under the Quality Assurance Plan. The effort is worth it though.
Look up the nearest regional academy near you at this link: http://cisco.netacad.net/cnams/locators/LocatorMain.jsp
Write webmaster@cisco.netacad.net or call 1-888-327-1116 (US) for more information.
Sincerely,
Paul
Knetwalk
The FILIUS network simulator sounds like it could be helpful. The homepage (and last time I checked, the program itself!) is unfortunately in German.
sorry... the parent was hidden.
Sounds like this might qualify: http://en.wikipedia.org/wiki/Ns_(simulator)
In zenmap, nmap's gui, theres a small application that displays scanned hosts rather neatly.
I believe it is possible to educate folks about networking by showing them how to use nmap, since that's probably what they'll be using when they're doing net-work themselves.
It does not have a pretty GUI but it does have pretty much everything else. Snip from this page http://www.opensolaris.com/learn/features/networking/networkcrossbow/ :
"OpenSolaris 2009.06 delivers network virtualization enabling server consolidation projects involving entire network topologies at vastly superior economics when compared to building out physical networks. Using the basic Virtual Wire building blocks of Virtual Network Interface Controllers (VNICs), virtual switches and interconnects, Virtual LANs (VLANs), and OpenSolaris open source routing and firewall features, allows consolidating an entire distributed application environment onto a single system for prototyping, testing and deployment purposes."
Your requirements are simple enough that I wonder why you don't just use a whiteboard (or chalkboard or whatever). Unless you want all kind of fancy graphics/point 'n' click manipulation, you could probably sketch a network in seconds, and add traffic, etc. in just a few more. Use colors.
If you really need the pretty graphics, you could get by with just something like the GIMP or Inkscape, manipulating representations of your hardware.
http://www.whale.to/b/england.html
You do know that some noobs buy accounts with low UIDs, right?
Whether that's a disgusting attempt at buying prestige, or a clever way of bypassing the "6-digit UID, you obviously don't know what you're talking about" reactions, I can't say -- but after following /. for a while, thinking about an account, but not having gotten one yet, I realized that anything I need to say can be said as AC, a much smoother (and cheaper!) way than buying someone's old UID.
It's worked for me for the past 4 years, anyway.
Not Linux I know, but FOSS.
It uses the new virtualized network stacks on FreeBSD 8 or 9 to create a bunch of virtual hosts and assigns a separate network stack to each.
you can then assigne virtual interfaces to teh various stacks and hook them together in any way you want.
You can then put bandwidth constraints on the various links between virtual nodes.
Each virtual machine is a complete freebsd jail instance so you can run name servers, filters, mail serves web servers etc. on each one.
If you want to go really crazy and add windows machines you can then run virtualBox under freeBSD, or do the reverse and run the freeBSD instance under vmware or similar
and hook the virtual machines into the mix as well. It ha s a nice Tcl/tk UI that allows you to drag and drop the virtual machines.
the following email should help you find it..
http://www.mail-archive.com/freebsd-virtualization@freebsd.org/msg00156.html
The imunes.net site is down at the moment but should be up again in a day or so.
I just wanted to thank all of you for your help. This was my first Ask Slashdot, and though I have been a reader for many years, I have never contributed. The trolling in the responses was very minimal (and only offensive in one post, which others didn't even reply to!), and for that I am appreciative, but better yet, there have been some excellent responses and points of discussion made. I tried to respond and help clarify my own position where appropriate, and I wish I could attach a screenshot of all the tabs I opened to pursue your suggestions. I am not sure which one I will settle on as of yet, and this may take a few months of trial and error before I get a sim that I am happy with (or end up hacking my own), but your support has been much valued, thank you! Also, as one last shameless plug, if you are interested in following up on my work in the lab, feel free to head over to my blog at http://jonmcleanpcv.wordpress.com/ where I blog about everything from life in Kenya, to Ubuntu problems in the lab, to some Kiswahili lessons. Thank you again everyone!
might be interesting for you as you can run a functioning virtual ethernet network, "plugging" things together etc. the rest of the virtualsquare project is also worth a look.
http://vde.sourceforge.net/
its not exactly colorful, but it really helps learning about network configurations that you don't have the resources to setup a testbed for.
If you think you can go with virtualization in place of simulation, take a look at Virtual NetManager. It is a visual tool to build virtual networks on a single box using VDE and Qemu/KVM. Every single device (switches, cables, routers and boxes) can be virtualized and controlled from the interface. Get documentation and screenshots here.
My Networking teachers' jobs! haha just kidding thanks Mr Straccione.