Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus...
-
Upload
nelson-parks -
Category
Documents
-
view
220 -
download
0
Transcript of Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus...
Tinkernet
Students:Dan Turner, Mark Kegel, Erik Shimshock andRyan Ausanka-Crues
Faculty:Titus Winters, Mike Erlinger
Project Overview
Who we areHarvey Mudd College & University California
Riverside What is Tinkernet?
System to allow students to write the networking code of an OS
Why would you want it?Provides a convenient and controlled
environment to write and test networking code
Who we are:
Harvey Mudd College - small Science and Engr College - 700 students; 100 Computer Science Majors
University California Riverside - large state university - 15000 students, 1000 Computer Science and Computer Engr majors
What is Tinkernet?
Stand alone environment to provide a laboratory for computer networking experiments.
Cheap and Easy to build and to maintain
Tinkernet: Operational OverviewStudents work on a Server where they
develop networking code that is then linked into a OS kernel. This kernel is then download to a machine and executed. Students can then exercise their code and evaluate the performance of their networking code.
Tinkernet Hardware
Software:Beginning
Tinkerbell (Server )
Node NodeNode
Internet
Warzone Network
Admin Network
• TinkerController• TinkerAdmin
• Grub • Grub • Grub
Behind the Scenes:Compiling the Kernel
OSKit provides a fully operable kernel we strip out the networking module student code gets compiled in as the new
networking module then you have your kernel...
Behind the Scenes:Booting the Kernel
tinkercontroller is a daemon that manages the nodes a free node is chosen, and the kernel is sent
to it if all has gone well, you have a running kernel
Behind the Scenes:
Student Assignments
Writing modules to handle the protocol stack ethernet, IP, UDP, ARP TCP - could do but is a lot of work Scaled down version of TCP Study created protocols: discovery ?
How it works...
SSH
Tinkerbell
Students Nodes
TFTP
The Student Perspective
(1) Student writes code (2) Student compiles code into kernel (3) Student uses tinkerboot to load kernel
: Tinkerboot (4) Student tests kernel: netprintf (5) Kernel dies, and student repeats the
first four steps
Software:Student Boots Kernel
Tinkerbell (Server )
Node NodeNode
Internet
Warzone Network
Admin Network
• TinkerController• TinkerAdmin• TinkerBoot
• Grub • Grub • Grub
Student Kernel
The Student Perspective
Software:Student Tests Kernel
Tinkerbell (Server )
Node NodeNode
Internet
Warzone Network
Admin Network
• TinkerController• TinkerAdmin• TinkerBoot
• Student Kernel • Grub • Grub
Test Traffic
Netprintf Debug Messages
The Running Kernel
Kernels are expected to respond to: ARP requests IP broadcast Handle IP packets Also UDP Also need to be able to generate their
own packets
Controlling the Kernel
Each node has two network cards Is hooked in to two separate networks:
warzone and admin Student packets are sent over warzone Admin network handles management of
each node - booting, restarting, debug
Software Interaction
TinkerController
Nodes
TinkerBoot
TinkerAdmin
TinkerBoot TinkerBoot
Why this approach?
Mini Emulab - but we wanted control, I.e. 24 hour availability
Tinkernet development is a good learning environment for OS/Systems
Oskit - probably a bad choice…future Linux
Need to add more labs
Tinkernet in the classroom
Lectures discuss the back material of the various protocols (Computer Networks by Peterson & Davie
Each Lab has a write-up of: background, tasks and questions
Students work together for 2 hours in a dedicate terminal room - uncover issues in lab description, etc. Thereafter they are on their own
Tinkernet in the classroom, cont.
Students create a web page (restricted login) that includes:
Discussion of lab - issues uncover, things not understood, time taken, etc.Source code (in C)Exchange of network messages (Ethereal)Answers to questions
Tinkernet in the classroom, cont.
AssessmentPlan to ask questions before the course and before and after each lab.Still to be done
Things left to do...Documentation…Twiki is up. We will
make changes in the Spring http://tinkernet.cs.hmc.edu:8080/wiki/index.php/Main_page
Currently Package for Distribution. Looking for others interested in using
Develop assessment materials
Questions ?