Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus...
-
Upload
nelson-parks -
Category
Documents
-
view
218 -
download
0
Transcript of Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus...
![Page 1: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/1.jpg)
Tinkernet
Students:Dan Turner, Mark Kegel, Erik Shimshock andRyan Ausanka-Crues
Faculty:Titus Winters, Mike Erlinger
![Page 2: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/2.jpg)
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
![Page 3: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/3.jpg)
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
![Page 4: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/4.jpg)
What is Tinkernet?
Stand alone environment to provide a laboratory for computer networking experiments.
Cheap and Easy to build and to maintain
![Page 5: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/5.jpg)
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.
![Page 6: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/6.jpg)
Tinkernet Hardware
![Page 7: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/7.jpg)
![Page 8: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/8.jpg)
Software:Beginning
Tinkerbell (Server )
Node NodeNode
Internet
Warzone Network
Admin Network
• TinkerController• TinkerAdmin
• Grub • Grub • Grub
![Page 9: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/9.jpg)
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...
![Page 10: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/10.jpg)
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
![Page 11: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/11.jpg)
Behind the Scenes:
![Page 12: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/12.jpg)
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 ?
![Page 13: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/13.jpg)
How it works...
SSH
Tinkerbell
Students Nodes
TFTP
![Page 14: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/14.jpg)
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
![Page 15: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/15.jpg)
Software:Student Boots Kernel
Tinkerbell (Server )
Node NodeNode
Internet
Warzone Network
Admin Network
• TinkerController• TinkerAdmin• TinkerBoot
• Grub • Grub • Grub
Student Kernel
![Page 16: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/16.jpg)
The Student Perspective
![Page 17: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/17.jpg)
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
![Page 18: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/18.jpg)
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
![Page 19: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/19.jpg)
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
![Page 20: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/20.jpg)
Software Interaction
TinkerController
Nodes
TinkerBoot
TinkerAdmin
TinkerBoot TinkerBoot
![Page 21: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/21.jpg)
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
![Page 22: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/22.jpg)
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
![Page 23: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/23.jpg)
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
![Page 24: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/24.jpg)
Tinkernet in the classroom, cont.
AssessmentPlan to ask questions before the course and before and after each lab.Still to be done
![Page 25: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/25.jpg)
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
![Page 26: Tinkernet Students: Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues Faculty: Titus Winters, Mike Erlinger.](https://reader035.fdocuments.us/reader035/viewer/2022062314/56649efa5503460f94c0d12f/html5/thumbnails/26.jpg)
Questions ?