AC 2009-2223: A VIRTUALIZED NETWORK TEACHING LABORATORY



Similar documents
Virtualization For Network Testing & Staff Training

NETWORK EMULATION AND NETKIT

estadium Project Lab 8: Wireless Mesh Network Setup with DD WRT

Deploying Windows Streaming Media Servers NLB Cluster and metasan

How To Connect To Bloomerg.Com With A Network Card From A Powerline To A Powerpoint Terminal On A Microsoft Powerbook (Powerline) On A Blackberry Or Ipnet (Powerbook) On An Ipnet Box On

H0/H2/H4 -ECOM100 DHCP & HTML Configuration. H0/H2/H4--ECOM100 DHCP Disabling DHCP and Assigning a Static IP Address Using HTML Configuration

FROM A "WINDOWS" PERSPECTIVE

Knut Omang Ifi/Oracle 19 Oct, 2015

Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM

Remote PC Guide Series - Volume 1

Load Balancing ContentKeeper With RadWare

Chapter 2 Addendum (More on Virtualization)

Chapter 15: Advanced Networks

Remote PC Guide for Standalone PC Implementation

Migrating to ESXi: How To

VMware vsphere 5 Quick Start Guide

Automated Flashing and Testing for Continuous Integration

How To Pass The Information And Network Security Certificate

Building a Penetration Testing Virtual Computer Laboratory

Lab assignment #1 Firewall operation and Access Control Lists

DESIGN OF NETWORK SECURITY PROJECTS USING HONEYPOTS *

CS312 Solutions #6. March 13, 2015

Khóa học dành cho các kỹ sư hệ thống, quản trị hệ thống, kỹ sư vận hành cho các hệ thống ảo hóa ESXi, ESX và vcenter Server

A Comparison on Current Distributed File Systems for Beowulf Clusters

Basic Firewall Lab. Lab Objectives. Configuration

Note: This case study utilizes Packet Tracer. Please see the Chapter 5 Packet Tracer file located in Supplemental Materials.

CDH installation & Application Test Report

EXPLORING LINUX KERNEL: THE EASY WAY!

Enhance student s learning with an aid of simulation software to understand Computer Networking Undergraduate courses.

Management Software. Web Browser User s Guide AT-S106. For the AT-GS950/48 Gigabit Ethernet Smart Switch. Version Rev.

Virtualization Technologies (ENCS 691K Chapter 3)

ICS 351: Today's plan. IP addresses Network Address Translation Dynamic Host Configuration Protocol Small Office / Home Office configuration

by Kaleem Anwar, Muhammad Amir, Ahmad Saeed and Muhammad Imran

Wave Relay System and General Project Details

Configuring Cisco Nexus 5000 Switches Course DCNX5K v2.1; 5 Days, Instructor-led

Open-Source Software Toolkit for Network Simulation and Modeling

TimeIPS Server. IPS256T Virtual Machine. Installation Guide

Enabling Remote Access to Computer Networking Laboratories for Distance Education

VMware vsphere: Install, Configure, Manage [V5.0]

Virtualization. Types of Interfaces

Springpath Data Platform with Cisco UCS Servers

Savvius Insight Initial Configuration

Configuring a Multi-Course Lab for System-Level Projects

Skills Assessment Student Training Exam

Using PCoIP Zero Clients with PCoIP Host Cards

Setup Cisco Call Manager on VMware

A COMPARISON BETWEEN "ORACLE VM VIRTUALBOX" AND "VMWARE PLAYER" FROM A "LINUX" PERSPECTIVE

Comtrend 1 Port Router Installation Guide CT-5072T

WIRELESS TRAINING SOLUTIONS. by vlogic, Inc. L a b 0.3 Remote Access Labs

Intro to Virtualization

VMWare Workstation 11 Installation MICROSOFT WINDOWS SERVER 2008 R2 STANDARD ENTERPRISE ED.

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

UTILIZATION OF VIRTUAL MACHINES IN LABORATORY STANDS ON EXAMPLE OF SIP EXPRESS ROUTER APPLICATION

Cloud3DView: Gamifying Data Center Management

Lab Configuring Access Policies and DMZ Settings

VM-Series Firewall Deployment Tech Note PAN-OS 5.0

A Heterogeneous Internetworking Model with Enhanced Management and Security Functions

Implementation of College Network Scenario Module by Using CCNA

MIKROTIK NETWORK SIMULATOR

Land Information New Zealand (LINZ) SALT Database. Migration from original hardware to virtualised hardware: Process Documentation

Beyond VDI: Why Thin-Client Computing and Virtual Desktop Infrastructures Aren t Cutting it

Debugging Network Communications. 1 Check the Network Cabling

CCNA Discovery Networking for Homes and Small Businesses Student Packet Tracer Lab Manual

VIRTUAL NETWORKING WITH "VMware Player" Summary:

Virtualization and Other Tricks.

Sun xvm VirtualBox Product Overview

Installing & Using KVM with Virtual Machine Manager COSC 495

Using NetBooting on the Mac OS X Server for delivery of mass client deployment

packet retransmitting based on dynamic route table technology, as shown in fig. 2 and 3.

Getting Started with ESXi Embedded

13.1 Backup virtual machines running on VMware ESXi / ESX Server

Lab Configuring the PIX Firewall as a DHCP Server

RHCSA 7RHCE Red Haf Linux Certification Practice

Planning for Information Network

Approaches to the Design of Computer Networking Laboratories

Network Virtualization Network Admission Control Deployment Guide

LSKA 2010 Survey Report I Device Drivers & Cloud Computing

VMware vsphere 5.0 Evaluation Guide

ISERink Installation Guide

Table of Contents. Server Virtualization Peer Review cameron : modified, cameron

How To Install Linux Titan

VMware vsphere: Fast Track [V5.0]

Network Virtualization

LOCKSS on LINUX. CentOS6 Installation Manual 08/22/2013

Plug-and-play Virtual Appliance Clusters Running Hadoop. Dr. Renato Figueiredo ACIS Lab - University of Florida

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Towards a virtualized Internet for computer networking assignments

Best Practices for VMware ESX Server 2

Installation Guide Avi Networks Cloud Application Delivery Platform Integration with Cisco Application Policy Infrastructure

Network Setup Guide. 1 Glossary. 2 Operation. 1.1 Static IP. 1.2 Point-to-Point Protocol over Ethernet (PPPoE)

Xperience of Programmable Network with OpenFlow

Acronis Backup & Recovery 10 Workstation. Installation Guide

OpenFlow: Load Balancing in enterprise networks using Floodlight Controller

Configuring Devices for Use with Cisco Configuration Professional (CCP) 2.5

Transcription:

AC 2009-2223: A VIRTUALIZED NETWORK TEACHING LABORATORY Eric Freudenthal, University of Texas, El Paso Eric Freudenthal is an Assistant Professor of computer science at the University of Texas at El Paso. Frederick Kautz, University of Texas, El Paso Frederick Kautz earned a B.S. in computer science at the University of Texas at El Paso. Bivas Das, University of Texas, El Paso Bivas Das is a M.S. candidate at the University of Texas at El Paso. Luc Longpre, University of Texas, El Paso Luc Longpre is an Associate Professor of computer science at the University of Texas at El Paso. American Society for Engineering Education, 2009 Page 14.139.1

A Virtualized Network Teaching Laboratory Abstract Since for most students, learning dramatically improves with hands-on experience, a good networking lab is an asset for teaching networks. However, building such a lab is usually a challenge. It requires costly equipment and flexible configurations that are often not compatible with the campus network. In this paper, we describe how we designed a network teaching lab based on virtual machines connected on a virtual network. An instructor can create a virtual network and make it available to students. Students can configure the network and run experiments as instructed. When the task is complete, the students can submit the result of their work. Traditional networking laboratories A good network teaching laboratory is essential to support student learning in a Networks course. A traditional networking lab, in addition to the computers, requires networking equipment such as routers, switches and appropriate connections. The equipment needs to be updated regularly for the students to be able to apply the skills they learn in the lab directly in the work force. Unfortunately, traditional networking labs are a fairly scarce resource. In addition to the cost of equipment and updates, it is a challenge to design the lab to allow flexible configurations. These network configurations are often not compatible with the campus network. Class assignments may be restricted to those that can be performed using the capabilities of the lab. For institutions with limited budgets, it may be impractical to purchase all the devices necessary for each student. Equipment that students have access to are often shared with other students. Usually, students are put into teams and the team must spend time allocated time slots when the lab is available. Once a team has worked in the lab, it may be time consuming and sometimes not obvious how to reset the lab to an appropriate configuration. This effectively restricts the kind of assignments given to the students. Approaches to use virtualization Although not specifically designed for a teaching lab, an approach to simplify the management of networks was proposed by Chandra, Zeldovich, Sapuntzakis and Lam. 1 They proposed the concept of a computational kiosk architecture, called The Collective. They utilize virtual machines as the execution environment for all user workstations (henceforth generically called computational kiosks or kiosks ). Under The Collective s model, user installations are dynamically transferred to kiosks upon user login. By exploiting the computational power and the generic VMWare machine s virtual architecture provided by each kiosk, users are provided high performance. User environments become seamlessly transportable among kiosks, and the kiosks themselves become virtually stateless, and thus quickly and inexpensively replaceable. The Page 14.139.2

virtual machines and their configurations are stored at a central repository. A computer can check for updates to the virtual machine regularly. This type of virtual machine is known as a LivePC. LivePCs can also be derivatives of other LivePCs. A system that has become inoperable can be reverted back to its original state easily. A more recent approach to implement a virtual network laboratory was proposed by Loddo and Saiu. 4 They designed Marionnet, a system of virtual machines that is easy to set up and maintain. Marionnet contains a GUI that is designed to allow students to make virtual connections between virtual machines. This shifts the challenge of network configuration into a tool for teaching. This provides a very clean way to create containers running Linux. Marionnet was designed using a modified User Mode Linux. 5 However, this also limits the operating system of the guest to Linux. For networking, User Mode Linux was modified to use VDE instead of the standard kernel API calls. VDE allows for very flexible virtual distributed Ethernet networks to be created on the fly. 2 Various simple networking devices were simulated such as hubs and switches. Virtual routers are virtual machines with Quagga running on them. A graphical tool was implemented to allow simple, yet flexible reconfiguration of the virtual network. The Reconfigurable Computer and Network Lab (ReCoN) In the design of our lab, we extended the concepts proposed by the two approaches described above. Students in networking labs are able to conduct experiments on multiple networked virtual machines running commodity operating systems such as Linux and Windows. In detail (see Figure 1), a set of virtual network buses are created. Each virtual network represents a physical network between two or more nodes. Virtual machines are connected to each bus creating a network layout to be experimented on by the student. This is equivalent to connecting hosts to a hub. The virtual machines are loaded with commodity operating systems such as Windows or Linux. A virtual machine connected to two or more virtual networks with an operating system capable of routing packets can be used as a router or switch on the network. Interesting network configurations can be created using these components as building blocks. Portable USB storage devices are becoming faster and holding larger quantities of data (for our prototype, we used an eight gigabyte Corsair Flash Voyager GT). Copy-on-write (COW) images provide a mechanism for efficiently storing file systems that are very similar (see Figure 2.) We instantiate multiple virtual machines using the same base image, with any changes to each virtual machine s file system being stored to a separate file. Copy-on-write semantics can be implemented either within the virtualization system or within the host operating system s filesystem. Our implementation utilizes virtual disk-image COW facilities provided by VMWare. With this, students are free to perform experiments using most computers that support booting from a USB flash drive. Our initial implementatino used Following Monica Lam s collective model, 1 the virtual machines and their configurations were stored at a central repository which was transferrred via HTTP.. 1 Page 14.139.3

Figure 1: Virtualizing a Network Lab Figure 2: Cow File as Deltas of a Base Image LivePCs can also be derivatives of other LivePCs. All all changes stored using COW images overlayed upon the base image. Furthemore, should a student makes an error that renders a virtualized system inoperable, the system can be reverted back to its original state easily. Since our virtual machines are running commodity operating systems, we are able to utilize software commonly available to those operating systems including DNS, firewalls, and other critical network services. Students are also able to utilize software used specifically for routing packets. For example, students can use the click modular router to easily create routers with advanced functionality including packet classification, queuing, and scheduling. 3 For our prototype, we used Linux for the host. VMWare Workstation was used to create the virtual machine images. VMWare Player was used by the students to execute and interact with the virtual machines. The virtualized systems are running Linux. Windows, BSD, and Solaris could easily fit in. Moka5 was used for packaging, transferring, and managing the Virtual Machines. Moka5 also provided a nice graphical interface to switch between running virtual machines. The entire system with virtual machines were stored on a bootable USB flash drive. The students checked out the flash drive and initialized them in class. Due to the current complexity of modifying Moka5 to support multiple host-only networks, and modifying the virtual machine s configuration file, the networking lab should be pre-designed by the instructor. Combining the LivePC and the Marionnet concepts allowed us to make a unified lab creation, deployment, and student submission model that would help facilitate teaching network classes. A Page 14.139.4

LiveLab consists of both a group of LivePCs and a network configuration describing how each of these systems are interconnected. This description file is stored on the server which contains the location of each LivePC to be used and what network it is to be configured to. To save space and download time, the same LivePC can be cloned multiple times. Any changes to each LivePC will be stored in a separate file using a COW that overlays the base file system. Our tool to create the lab configuration was inspired from Marionnet s network configuration tool, manipulating LivePCs instead of Virtual Machines. The tool is also able to publish the LiveLab. When students are working on the LiveLab, the changes to that particular LiveLab are stored in its own COW separate from other assignments that may use the same lab configuration. Students publish their own changes back to a central repository. Since each lab is kept separately, students can easily switch forward and back between each assignment. A syndication technique such as RSS or atom can be used to identify when new labs become available. The student s client should provide a mechanism to perform and submit multiple assignments using the same LiveLab or derivates of previous labs. Using a repository with access control lists (ACLs), the type of submission to the repository can be determined without modifying the LiveLab itself. Both students and instructor can post the lab to a central repository. The instructor s account allows a lab to be published to a class. Since our entire student lab configurations are stored within USB flash drives, once the assignment is complete, students hand the drives in along with appropriate instructions. Instructors grade the lab by booting each student s virtual networked environment and examining its configuration. This setup gives us a flexible laboratory that can be used to instruct students while minimizing cost and risks posed by these labs. Example of networking lab assignments The following is a set of labs that were built for our networking course. Since the LiveLab has not been implemented yet, we worked around this problem by populating a network of 5 systems with 2 networks. 1. This lab is an introduction to what a network is. It consists of connecting two virtual machines as seen in Figure 3. The student configures both computers so that they are capable of pinging each other. 2. Using the network built in lab 1, set up an http server and using a client to connect to it. If the networking lab includes a focus on programming network applications, this would be a good opportunity to write a very simple HTTP client. 3. The network in lab 1 is extended to include a second network and a third virtual machine that is part of both networks. See Figure 4. No routing is done between each network yet. Page 14.139.5

Figure 3: Two Node Lab Figure 4: Trivial Routing Lab 4. Static routing is added to the network built in lab 3. If node 2 is a linux system, iptables can be used. 5. Add one computer to each of the two networks. This is shown in Figure 5. Set up simple networking services such as DNS. Figure 5: 5 System, 2 Network, and Network Address Translation 6. Make a query from node 3 to node 1. Capture the packets at node 2 on the virtual network containing node 2 and 3. Manually parse the packets to determine the contents of the packets. See Figure 6. Figure 6: Example Packet Capture Location Page 14.139.6

For an advanced routing lab, students are able to implement routers using the click modular router. Using click, students are able to implement and test complex labs designed to teach them how routers work with a minimal amount of equipment and physical setup. Click itself can also be extended to include additional functionality such as routing protocols. A research lab with enough computers can be used as a virtual cluster to experiment with both new routing protocols and peer to peer systems. For example, a lab with 20 physical systems each running 5 virtual machines would contain 100 independent virtual network nodes. Further developments and directions We have ported our virtual machines environment from VMWare to qemu running upon Ubuntu. Each client and router are a virtual PC running an Ubuntu Server 8.10 Linux distribution with a kernel optimized for virtualization. Virtualization is provided by the qemu cpu emulator. More details and configuration instructions are posted at the web site http://wiki.utep.edu/display/robust/labyrinth. Bibliography [1] R. Chandra, N. Zeldovich, C. Sapuntzakis, and M. Lam. The Collective: A Cache-Based System Management Architecture. In Proceedings of the 2nd USENIX Symposium on Networked Systems Design and Implementation (NSDI 05), 2005. [2] R. Davoli. VDE: Virtual distributed ethernet. Testbeds and Research Infrastructures for the Development of Networks and Communities, International Conference on, 0:213 220, 2005. [3] E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. Kaashoek. The click modular router. ACM Transactions on Computer Systems (TOCS), 18(3):263 297, 2000. [4] J. Loddo and L. Saiu. Status report: Marionnet How to implement a virtual network laboratory in six months and be happy. In Proceedings of the ACM SIGPLAN Workshop on ML, pages 59 70. ACM Press New York, NY, USA, 2007. [5] J. Loddo and L. Saiu. Marionnet: a virtual network laboratory and simulation tool. In SimulationWorks, 2008. Page 14.139.7