As a personal project, for my own edification, I will research and implement systems that will allow me and anyone who follows this blog to experiment with networking technology and learn new concepts. I will not have to invent anything new. I will use the resources already created by other people who have generously made their projects available as open-source software. I expect I will learn a lot about the Linux operating system and will continue to learn new things about networking technology and applications.
Open-source switch and router software, combined with open-source server software and other open-source tools provides a set of resources that will allow a learner to simulate the functionality of complex enterprise or service-provider networks on a single personal computer.
Some academic institutions are already using virtual networking tools and open-source software to teach networking concepts to undergraduate students. The software used or developed by these institutions is usually based on open-source operating systems such as GNU/Linux or BSD, virtualization technology such as Xen, Vserver, or User-Mode Linux (UML), and switch or router software packages such as brctl, Open vSwitch, XORP, or Quagga/Zebra.
Open-source router software, such as XORP or Quagga/Zebra, has a command-line-interface that is fairly similar to the command-line-interface used on routing equipment sold by large equipment manufacturers such as Alcatel-Lucent or Cisco so it may be useful for practicing the basic functions provided by commercial Internet routers or enterprise routers. This software can be used to allow learners to practice examples of IPv4, IPv6, OSPF, BGP and Multicast routing configuration and troubleshooting in medium-sized simulated networks on their own PC. Other software can be used to demonstrate Internet applications such as DNS, DHCP, SMTP, HTTP, RADIUS, IPSec, SIP, VoIP, and more. A virtual network can also be used to demonstrate the use of sniffers and to practice protocol analysis.