Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Tinkernet Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues With Support and Encouragement by Titus Winters, Mike Erlinger, (also Jason Arold) Don’t pay attention to this comment! Project Overview • 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 Students How it works... Nodes Tinkerbell SSH Hardware • Rack of nodes • Basic (old) computer • minimal components (RAM, CPU, etc.) • Two network cards • Couple of hubs, many ethernet cables • Server • Standard computer (lots of RAM) • Linux Student Assignments • Writing modules to handle the protocol stack • ethernet, IP, UDP, ARP • Scaled down version of TCP Student Perspective • (1) Student writes code • (2) Student compiles code into kernel • (3) Student uses tinkerboot to load kernel • (4) Student tests kernel • (5) Kernel malfunctions, and student goes back to step (1) 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 The Running Kernel • Kernels are expected to respond to: • ARP requests • IP broadcast • Handle IP packets • UDP protocol • Also need to be able to generate their own packets Things left to do... • Investigate/implement a less hacked initial node bootup • Documentation... • Portability... • Packaging for distribution... Questions? • Special Thanks to: • Costco • Backgammon • Air Conditioning