Itlab Primer - an Introduction to the Internet Teaching Lab
Total Page:16
File Type:pdf, Size:1020Kb
ITLab Primer - An Introduction to the Internet Teaching Lab -
Version 0.9 (pre-alpha) Not ready for distribution
Developed by:
For information on the VINTLab contact:
Prof. Jörg Liebeherr Department of Computer Science University of Virginia Charlottesville, VA 22904 Email: [email protected]
Copyright 2001, Jörg Liebeherr. All Rights Reserved.
Acknowledgements
The ITL program is supported by the NSF through grant No. xxxxxx
The VINTLab is made possible through generous equipment donations from Cisco Systems and MCI/Worldocm. The establishment of the VINTLab was supported in part by the National Science Foundation (CAREER NCR-9624106) and the Virginia Engineering Foundation.
We gratefully acknowledge the help Figure 1. Displays of PC workstations in and energy of Kevin Thompson from the VINTLab Worldcom and David Meyer from Cisco Systems, who have been instrumental in realizing the Internet Teaching Lab project.
Authors
This lab document is prepared by Jörg Liebeherr and Jianping Wang from the University of Virginia. Many students have contributed to the development of lab exercises and to the preparation of this document: Vinod Balakrishnan, Nicolas Christin, Joel Winstead, Justin Moore, Yonathan Amazene. Haiyong Wang.
Figure 2: Working in the VINTLab.
Some Q&A Q: For which students is the ITLab manual suitable?
A: The ITLab is designed as an advanced undergraduate course, suitable for students in their 3rd year or 4th year. Students should have background in computer networks, for example, through an introductory course in computer networking.
The author’s experience is that the first few ITLab sessions are slow-paced for graduate students.
Q: What type of lecture and textbook should accompany the ITLab?
A: A lecture course could teach details of the protocol architecture of the Internet. For example, the author of this lab manual teaches a course entitled “Internet Engineering”. The syllabus of the course is attached in an appendix. The Internet Engineering course of UVA uses the book “TCP/ IP Illustrated, Volume 1” by W. Stevens.
Powerpoint slides for the lecture can be made available to lecturers of the ITL sites. Please send email to [email protected].
Q: Is there a website?
A: www.cs.virginia.edu/ itlab
Q: Is it possible to modify, extend, or customize the lab manual?
A: Sources of the lab manual can be made available to faculty of the ITL sites. Please send email to [email protected]. The lab manual is written with Microsoft Word 2000 and Microsoft Visio 2000.
Faculty of ITL sites may obtain the source material to the lab manual, if they agree to (a) not distribute, copy, or disseminate the source material, (b) distribute the modified lab manual to students at their own institution, (c) not distribute solutions to the prelab exercises to anyone, (d) include a statement in each modified document that states that “this document is a modified version of the ITLab manual developed at the University of Virginia “.
Q: Has the lab manual been tested in an actual class?
A: The Internet Engineering course and networking lab exercises have been offered at the University of Virginia in the Spring 1999, 2000, and 2001 semesters.In each semester we were teaching between 36 and 48 students. In 1999, we had
2 only three lab exercise, initially with Sun Sparc and SGI Indy workstations. In the middle of the semester we switched over to FreeBSD PCs. In 2000, we offered six labs with a setup similar to the ITLab standard setup. In 2001, we offered the six labs included in the ITLab manual (The lab manual was customized to the equipment available in our lab). Major changes in 2001 were the switch to Linux Redhat on the PCs, and a switch from tcpdump to the ethereal tool for traffic capture.
3 Purpose of the ITLab Primer The ITLab primer (Internet Teaching Lab primer) accompanies the ITLab manual prepared at the University of Virginia. The ITLab manual describes a closed lab sessions, where students conduct supervised experiments on equipment, which can be found in an Internet backbone network. Students gain hands-on experience with networking hardware and software, and learn how the protocols of the Internet interact.
The target audience for this primer consists of instructors of “ITL Sites” who are in the process of setting up a networking teaching labs. ITL Sites are institutions that have received equipment grants of Cisco 7000 class routers. In addition to ITL sites, the ITLab primer may be of interest to instructors at institutions that are considering setting up a networking lab, even if they are not part of the ITLab.
The ITLab primer is an attempt to give an overview on the issues involved in setting up a lab which uses the ITLab manual. In the following, we will discuss our approach to teaching a course with a hands-on networking course, we will share some experiences with setting up and running a teaching lab with routing equipment. Finally, we provide some information on equipment needed to run the exercises in the ITLab manual.
What the ITLab Primer does not provide ? The type and number of problems that are encountered when setting up an ITLab ican be significant. Anticipating and addressing all possible problems is beyond the scope of this document. Below, we list some topics that need to be addressed when setting up an ITLab, but which we will not cover in the ITL primer. The ITL workshops try to help with developing skills with installing and maintaining Cisco routers and Linux systems.
Setting up and maintaining Cisco 7000 hardware: One of the biggest challenges when starting an ITLab is to get the Cisco 7000 routers booted into a working state after they arrive to a site. Generally, the Cisco 7000 routers arrive in an unknown condition. We refer to the Cisco website for a lot of useful information on troubleshooting Cisco equipment. You may need to seek outside help to get a Cisco 7000 router into a state, where you can log in and access its operating system (IOS).
Learning about IOS: IOS is the command language used to configure Cisco routers. We strongly recommend that you familiarize yourself with the basic commands of IOS. The Cisco website contains a lot of information on IOS. There are a few books that may be helpful as a reference. << insert a few IOS books >> In addition, Lab 4 may be a good source for understanding the basics of IOS.
Installing Linux and installing software on a Linux system: The ITLab exercises are run on Linux PCs and require that certain (free) software packages are installed. Hence, a certain familiarity with the Linux operating system may be needed. If you are not (yet) a Linux guru, the following books may be helpful: << insert a few Linux books >>
4 Network Programming: The ITLab has no programming component, such as BSD socket programming exercises or modifications of network mechanisms in the Linux kernel (e.g., modifications to traffic management algorithms).
5 Some Thoughts on Networking Labs Before getting into the time intensive effort of setting up and running a lab course for computer networking education, one may want to reflect on the objectives of a network lab.
What follows are the author’s thoughts on the objectives of a hands-on course in computer networking. A discussion of the objectives may help to understand why the lab is structured in the way it is. Ideally, the discussion below will help ITL instructors with formulating their own goals for their labs.
Objective 1: Make education in computer networking more concrete.
Our main objective with setting up our Internet Teaching Lab, called the VINTLab, is to make teaching of computer networking more concrete. Introductory courses in computer networking have become very popular among students of computer science, computer engineering, and electrical engineering. However, even after completing an introductory course in computer networking, most students have never seen a backbone. A networking lab provides students with a set of unique hands-on experiences.
Objective 2: Do not teach a vendor-specific course on router and network configuration It is a state non-goal of our lab course to teach a system or network administration course. Also we are not interested in teaching our students details of router configuration commands. We believe that there are many certification programs with hands-on courses which are offered by vendors (e.g., Cisco) or commercial training programs.
Objective 3: Observations lead to
Objective 2: Complement prior knowledge
The Internet Engineering course is a second course in computer networking. The first course, which is required for this class, is a “standard” introductory networking course which teaches the basic concepts of computer networking. Students understand the notions of flow control or routing algorithms in computer networks, but have never observed these algorithms running in a real network. This course provide a detailed understanding of Internet protocols through hands-on access.
Objective 3: Cisco 7000 routers are great tools, but not the object of study
(This comment is of interest to the ITL sites only). This lab manual does not make students experts in configuring Cisco routers, but teaches how to use industrial-strength routers as a tool. Students will only learn what they need to learn to complete the lab exercises. What students should take away from the lab is an appreciation of the differences and commonalities of standard computers and production routers. Also, students should get used to working in an environment.
Objective 3: Students are familiar with PCs. Work on that !
6 Close to 100% percent of a student’s experience with computing equipment is gained on PCs. The lab exercises try to exploit this and uses the PCs extensively in the lab experiments. The (unsubstantiated) conjecture is that students learn concepts faster, when they are executed on a PC. As an example, before we have students work on dynamic routing algorithms on the Cisco 7000 routers, they do dynamic routing experiments on PCs.
Objective 4: Use Science Labs courses as model
We have modeled our lab course has been modeled after lab courses in the sciences. As in science labs, the whole organization of the course is that guided observations and measurements by students should lead to insight and understanding of the subject. Let’s take a chemistry lab as an example. Instead of mixing chemicals, students are generating network traffic. Instead of scales and a voltage meter, students work with network measurement tools, such as tcpdump.
Objective 4: Closed lab sessions phase structure: •Prelab exercises •Supervised time-limited lab session •Postlab report This concept is also stolen from the science Labs:-This lab manual is written for “closed lab sessions”, where students are always under supervision. This has several implications. First, the time that students can spend in the lab is very limited. Thus, students are asked to complete preliminiary exercises (prelab exercises) which include required reading material. During the lab session (2 hours in our case), students collect data. The prelab exercises and the postlab reports are graded. The lab session is not graded. – –3-phase structure: •Prelab exercises •Supervised time-limited lab session •Postlab report For the design of our lab, we use
Objective 4: Never under-estimate the coolness factor.
Objective 4: Never under-estimate the coolness factor. Students will get experience with routing and telecommunications equipmetn gain experience routers serve the purpose of industrial-strength machine. routers are a tool that is used for the objective of the course and not the topic of the course.
•Minimize layers of abstractions between students and the equipment they use “Zero degrees of separation”
7 • •Students should feel in control when working with equipment Root privileges •Model the course after lab courses in the sciences: • –Guided observations and measurements lead to insight and understanding of the subject – –3-phase structure: •Prelab exercises •Supervised time-limited lab session •Postlab report
8 “Standard” ITLab Equipment Each ITL site has received a set of Cisco 7000 routers. Since the number and configuration of Cisco 7000 routing equipment varies across different ITL sites, we chose to develop a lab manual for a “Standard” ITLab, which assumes availability of a certain set of equipment such as Cisco 7000 routers, Linux PCs, and Ethernet hubs. The “Standard” ITLlab Equipment:
3 Cisco 7000 Routers: We assume that each router has at least 2 interface cards, one of which is an FDDI interface. It is strongly recommended to place the Cisco 7000 routers in a sturdy 19-inch rack.
6 Linux PCs: Each PCs should have two 100/10 Mbps Ethernet interface cards.
5 Ethernet Hubs: The hubs should support both 100 Mbps and 10 Mbps. Hubs are preferred over Ethernet switches since hubs enable a machine to read all traffic on an Ethernet segment (while Ethernet switches generally only forward traffic on a certain port if the source or destination of traffic is connected to this port.)
Cables and connectors: We assume that sufficient cables and connectors are available in each lab. There are many cables needed, and the cost of cables should not be ignored.: o Cat5 unshielded twisted pair with RJ-45 connectors. These cables are needed for wiring Ethernet equipment. Both straight through and rollover cables will be used. o Unshielded twisted pair cables to connect serial ports. Note that serial cables come with all different types of connectors, each with different gender types, with straight through or rollover version. We recommend to use RJ-45 cables and have enough adaptors available for all types of connectors needed. o Multimode fiber cables with MIC or SC connectors. These are needed to interconnect FDDI interfaces. o FSI and HSSI Nullmodem cables for Cisco routers. These are high-end serial cables to interconnect FSI (Fast Serial) and HSSI (High Speed Serial) interfaces of Cisco routers.
Notes: A challenge for developing a lab manual is that only a small number of ITL sites have Cisco 7000 routers with Ethernet Interfaces. A challenge for developing a lab manual is that only a small number of ITL sites have Cisco 7000 routers with Ethernet Interfaces. Recommended Equipment:
In addition to the above, the following additional equipment will make it easier to send traffic across the Cisco 7000 routers.
9 FDDI Ethernet cards for PCs: With an FDDI Ethernet card, one can connect a PC directly to a Cisco 7000 router.
FDDI concentrators: An FDDI concentrator works similar to an Ethernet hub. An FDDI concentrator can be used for the interconnection of routers or the interconnection of routers and PCs.
FDDI to Ethernet Bridge: This bridge can translate between Ethernet and FDDI and can be used by PCs (with Ethernet interfaces) for accessing an FDDI port of a Cisco 7000 router.
Small Cisco routers (e.g., 2500 or 2600 class) A small router, e.g., with two Ethernet and 2 FSI interfaces, can be used at several occasions. For example, if you have a Cisco 7000 router with an FSI interface card, you could access this port from a PC if you put a small Cisco router between the PC and the Cisco 7000. We recommend Cisco routers only because they use the same command language (IOS) as the Cisco 7000 equipment.
T1 DSU/CSU: This can be used to emulate a DS1 carrier (“T1 link”) at 1.544 Mbps. If an ITL site has 2 routers with FSI interfaces they can be each attached to a DSU/CSU. The DSCU/CSUs, are then connected by a serial cable with RJ-45 connectors.
Standard ITLab Equipment:
Cisco 7000 Router
Ethernet Hubs
Cisco 7000 Router
Cisco 7000 Router
Optional Equipment:
T-1 DSU/CSU FDDI Concentrator "small" Cisco Router FDDI /Ethernet Bridge
T-1 DSU/CSU "small" Cisco Router Figure 3. Equipment in Standard ITLab.
10
“Standard” ITLab Software Installations We assume that IOS Versoin 11.0 (or later) is installed on the Cisco routers. We assume that Linux Redhat 7.0 is installed on the Linux versions. Most of the lab experiments in the VINTLab should work, even if the versions of systems software is not exactly Redhat 7.0 or IOS 11.0 is used.
For the Linux PCs, we require the following customization:
X11 installed Services enabled Services disabled
Since most exercises on the machines require highest system privilieges, the Linux PCs only need a root account.
In addition, we require that the following systems and/or user software is installed. All of the software is available online without cos. Gated – This is routing software daemone whch runs several routing protocols (RIP, OSPF). Ttcp – This a traffic generator for UDP and TCP traffic. Ethereal/tethereal – Tcpdump, Berkeley Packet filter – Kermit
gated ttcp Ethereal/teth ereal tcplib tcpdump Kermit Table 2. Download information for ITLab software installation
11 The VINTLab
The Virginia Internet Teaching Laboratory (VINTLab) has been established in Spring 1999 at the University of Virginia, with the help of a donation of Cisco 7000 routing equipment from Cisco System, valued at $ 1 million. The VINTLab has been used in a course, which gives students hands-on access to networking hardware and software. The VINTLab manual is the basis of the ITL lab manual. The exercises described in the ITLab manual have been run in the VINTLab since 1999.
The efforts to establish the VINTLab and to develop an Internet Engineering course at the University of Virginia have met many favorable responses. “….MCI Telecommunications, together with Cisco Systems, Inc., is committed to forming an Internet laboratory at the University of Virginia […].” “The value of this donation will exceed one million dollars, and the lab itself will immediately become one of the premier facilities for Internet technology across major universities in the United States.” Vint Cerf, Senior Vice President MCIWorldcom, in: Letter to Dean of Engineering of University of Virginia, August 1998 . “The Internet economy is transforming the way we work, live, play and learn. By establishing an Internet Engineering course, the University of Virginia is ensuring that today's students are prepared for tomorrow's jobs.” John T. Chambers, Cisco Systems President and CEO, in: UVA News (Press Release), April 5, 1999.
The VINTlab has been used as the lab component of the Internet Engineering course, an advanced undergraduate course on computer networking whch covers details of TCP protocol (Appendix X contains the syllabus for the course). Figure 4. Secretary of Technology . Donald R. Upson, Jim Massa, Director of Global Government Alliances for Cisco, and Vint Cerf, Senior Vice President at MCI Worldcom, at the lab opening.
The VINTLab is located in a raised-floor machine room. With exception of one PC (“vintgate”), the equipment in the VINTLab is not connected to the campus network. Students
12 can access the lab only when a lab instructor is present. Students can access the VINTLab equipment only if they are in the VINTLab.
(a) Equipment Rack in the VINTLab. (b) Students Workstations
Figure 5. Photographs from the VINTLab.
Figure 5 shows two photographs of the VINTLab. Figure2(a) shows the equipment racks which hold the Cisco 7000 routers and other equipment. The student workstations are located next to the equipment rack. Figure 7(b) shows the 6 student workstations. Each workstation is shared by two students.
The VINTLab currently has 9 Cisco 7000 routers, 2 Lightstream 2020 ATM switches, 2 Cisco 2514 routers, 4 T1 DSU/CSUs, a 24-Port Ethernet switch, several Ethernet hubs. and a terminal server.
There is one dual-homed FreeBSD PC (“vintgate”) which serves as a firewall between the VINTLab and the outside network. Vintgate is used by students to transfer traffic measurements from the VINTLab to the campus network. Each student obtains a user account on vintgate. When inside the VINTLab, students upload their measurement data to vintgate. When outside the VINTLab students, can download the measurement data. (Students can only run “ftp” on vintgate. Students cannot directly login to vintgate).
13 Overview of Lab Exercises This edition of the ITLab manual has 6 labs. In the following, we provide a brief overview.
<<
14 Customization of Lab Exercises and Lab Manual
15 The Lab Structure The ITLab manual contains six lab exercises, called “labs”. Each lab is organized in a 3- phase structure: • a prelab, • a supervised time-limited lab session, • a postlab report.
Phase 1: Pre-laboratory Assignments (“Prelabs”) These are exercises to be undertaken in preparation for a lab. The prelab must be completed individually by a student before the beginning of the associated lab session. The prelabs ask students to acquire skills and knowledge necessary to complete the lab exercises.
Prelabs are graded. In the UVA Internet engineering course, a prelab accounts for 20% of the grade of a lab report. Prelab assignment may require that a student has a user account on a UNIX computer.
Phase 2: Lab Session These are the activities to be undertaken during an appointed laboratory session. Lab sessions are limited to two hours. In the UVA Internet Engineering course, there is always a supervisor present during a lab session. Activities in a lab session are not graded.
Each lab session is subdivided into a set of exercises. Each exercise consists of configuration and/or measurement experiments.
A checkmark in the lab manual (as shown in the left margin), marks the end of an exercise or a group of exercises. At these checkpoints, the instructor “checks off” the completion of the exercise on a check-off sheet. The check-off list, which is part of the lab manual, provides information to the lab instructor on the progress of students. Note that the check-off list is not used for grading!
Since students are asked to summarize the findings and measurement made in the lab session in their postlab report (Phase 3), it is important that students save the data they collect. Students can save their measurement data to floppy disks (or to a special-purpose machine such as “vintgate”). A symbol in the lab report (see left margin) indicates an assignment for the postlab report.
At the end of a lab sessions, students fill out an anonymous feedback form, where they grade the difficulty and the interest level of the individual lab exercises. The feedback sheets provide information to the instructor, if the lab manual requires revisions.
16 Lab Reports After each lab exercise, students are asked to prepare a lab report, where they summarize and analyze the findings from the lab session. The lab reports are due at the beginning of the following lab session. The expectation is that the lab report is.
17 Using Linux
The computers in the VINTLab are running the UNIX operating system. Specifically, we will run the FreeBSD operating system. The VINTLab does not require that you are a UNIX expert. However, familiarity with basec UNIX Shell commands and the X Windows user interface will be very helpful.
If you never worked on a computer with a UNIX based operating system (e.g., Linux, Solaris, AIX, HP/UX, Irix), you may want to look up additional resources.
There are many on-line tutorials available on the Web:
http://www.isu.edu/departments/comcom/unix/workshop/unixindex.html An introduction to Unix in 14 chapters from the Idaho State University
http://freebsd.peon.net/freebsd/ext/newusers Notes from a course taught at the Ohio State University
http://www.nacse.org/unix-tutorial “Coping with Unix: An Interactive Survival Kit” is an interactive tutorial for novice Unix user. Includes quizzes.
http://www.ece.uc.edu/department/computing/user-guide/sub-index 4.html A Unix user's guide from the University of Cincinnati.
http://www.geek-girl.com/Unixhelp/TOP.html A multi-part tutorial for new Unix users.
There are many books out for new Unix users. The following may be helpful:
UNIX Power Tools, by Jerry D. Peek, Tim O'Reilly, Mike Loukides, 1120 pages, O'Reilly & Associates, 1997 (approx. US-$50).
Unix in a Nutshell, Daniel Gilly, Mike Loukides (Editor), , 3rd edition, O'Reilly & Associates; 1999 (approx. US-$25).
Unix for the Impatient, by Paul W. Abrahams, Bruce Larson, 2nd edition, Addison-Wesley, 1995 (approx. US-$ 30).
18 Brief Overview of the Labs
19 Appendix
20