Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus...

Preview:

Citation preview

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 ?

Recommended