home
short bio
research
publications
contact

Networks Lab COP502 at Loughborough, including Junosphere

blog by Olaf Maennel, Iain Phillips, Joel Obstfeld, and many others... :)

The Idea

The students are supposed to build and operate their "own ISP"; from scratch. This includes, addressing (dual-stack, IPv4 and IPv6), IS-IS, BGP, BGP polices with communities, running own authoritative DNS, webservers, etc... (They later do a module on protocol-design, which focuses on layer-4 and above.)

Format of the course

The module runs in intensive format for three weeks, which means the mornings are roughly lectures, the afternoons in the lab to play. During the second week there are less lectures and more time in the lab. In the 3rd week the students prepare mainly for the assessment. Our assessment is partly by a report and partly by a class test - this gives us the ability to test individual students progress and add it to the groups'.
For the lab-work the students form groups of three. Each group is an "AS". Each group has physical access to three routers, three laptops (which form their data-centres), and three virtual routers in the Junosphere cloud. We have 8 sets of physical equipment. One I use for lecturing, that means we can have up to 7 groups a 3 students.

Access to physical equipment

The physical routers are vendor C-flavor, but vendor doesn't matter. For us it's really important that students can touch physical equipment first. It makes it so much easier to explain what a subnet and interface is, if students can touch a physical cable.

We strongly believe the following parts need be taught hands-on (with access to physical equipment): what is an interface, what is an address, how does forwarding work?

The first time we gave the students very well defined examples and they just ran it and were done with it. It was almost a bit boring. The next time we made it a bit harder and leave it more open how to create the network. Of course we guide the process and discuss "good design" in a lecture. So that, for example, the students come up with the idea that they need to design a redundant network. If they don't, well, we have those lab-sessions and we will just switch off a router or unplug a link... then we discuss with the students what they could have done better... ;) that's a lot fun (also for the students i hope) and teaches the best lesson, imho...

Junosphere

We don't want to be one-vendor-biased. So we use the hybridge connector to allow that each group can connect to a virtual part of their AS in the cloud. That means each group runs and manages it's own AS, three routers are physically based in the lab and via a big switch they can connect to three routers in the cloud. Thus, their AS has now six routers in total. On the cloud-side the access is organised via vlans. Although we discuss vlan's in the lecture, this is transparent to the students (well, they see it in the configs, and we explain what we do).
Due to the fact that Joel needs to setup the routers in the cloud, the connectivity in the cloud is pre-given... while in the lab, they have the possibility to "negotiate" their own connectivity between different groups. We try to encourage to select a "peering-coordinator", but this only works sometimes. :)
One of the best bits about the interaction with the cloud is that the presentation is a single physical port on a switch in the lab, one for each group. They then run a cable to this switch. The cloud is then all hidden away by magic (well actually a cable to a vmware-esxi host running the connector in a VM with some crazy VLAN config). While we tell the students what's there behind - they don't need to know the details to achieve the learning.
Overall, for the students this keeps not only the motivation high, but also the workload. We typically get feedback back that this was a "fun and interesting module", but quite a lot of work... that they wish they would have had more than three weeks... It also is quite a lot of work for us, but we think it's a worthwhile start.

IPv6

All the teaching is IPv4 and IPv6 in parallel. IPv6 is NOT introduces as a "new" protocol, but just as two IP-versions that we have.
Andy Linton and Quincy Fu are doing with their students the Hurricane Electric's Certification https://ipv6.he.net/certification/. Thanks Andy and Quincy for this idea!

Thanks and acknowledgements

Credit belongs to Randy Bush, Philip Smith, Hervey Allen, and others, who has developed a lot of the material for their training at the "Network Startup Resource Center (NSRC)". We have received a lot of help from really fabulous guys, hacked a little on their material and then contributed back. The material we use, in particular in the lectures, was developed over many years and we are not the first who find it useful in a teaching environment. We owe them a big 'thank you'!
I'm more than happy for any suggestions and feedback.

Lecture Slides

E-mail me for a password.

Lab Supporting Material

JunOS links


Olaf Maennel | skype: olaf_maennel | e-mail: om@maennel.net | 01 Mar 2014