{% extends "base.html" %} {% block content %}
TCP/IP is the protocol responsible for routing messages around the Internet. These materials contain everything you need to run a fun and informative simulation of TCP/IP in your classroom, for any number of students. We once ran this simulation with 200 students in a gymnasium!
This simulation is designed to allow students to experience and participate in the TCP/IP protocol, a core component of networking. This experience will make future learning experiences more impactful, by providing a context for asking and reasoning about questions such as:
The Internet is organized into networks. There is one top-level network (the "backbone" of the Internet, powered by huge data centers and connected by undersea cables), with smaller subnetworks attached. Smaller subnetworks are attached to those, on and on.
TCP/IP is a distributed protocol: there is no overall map of the network and nobody is in charge. Instead, each computer plays its part and the whole system works. Several roles are included in this simulation:
First, use the tcp_ip_simulation software package to generate materials for
your specific group of participants. If you are reading this, you have probably
already generated your materials. Otherwise, please refer to the software documentation
at https://github.com/cproctor/tcp-ip-simulation.
You will need to arrange your classroom for this activity. Each network needs to be roughly a circle, with enough space for all the members of that network, each person witin arm's reach of their neighbors. A network could be a circle of chairs or desks, a table, or a loop of string or tape on the floor, if your floors are clean enough to sit on! Label Network 0 in some way--each participant will use this label to figure out where to sit.
Start by creating Network 0 in the middle of the room, with enough room for the following people: {{network_0}}. Then create your additional networks, {{network_list}}. Each of these networks needs its own loop (again, a circle of chairs, a table, or a loop on the floor), and should touch its parent network. Label each network (e.g. with a sheet of paper in the center). Here's a map of all the networks and their members:
{{tree}}
In case you need it, here's a directory of every participant's IP address:
In addition to these instructions, you will need a lot of small sheets of paper--about ten per person ({{n * 10}} sheets total) is about right. Scrap paper from the copyroom cut into quarters works perfectly.
This lesson is designed for a 50-minute class period. If you have extra time, there are plenty of extensions you can explore in a second class period. Spend as little time as possible introducing the lesson--it's best to jump right in.
Setup: Hand out the individual instruction sheets which were generated with these instructions and ask students to complete the tasks under "setup." These are different for each person.
Demo: Tell students you are going to demonstrate the "Receiving messages" and "Sending messages" instructions on their instruction sheets, and ask them to read over these instructions for a minute. Then choose two students who are "regular nodes" on different subnets and model how one would send a message to the other.
For example, {{sender.name}} will send a message to {{recipient.name}}. Follow these steps:
Note that "from" and "to" must be IP addresses, not people's names. Other than "from", "to", and "message", messages may not contain anything else. If anyone ever gets a malformed message, they should feel free to crumple it up and throw it away.
Round 1. In the first round of the simulation, everyone should do their best to make things work smoothly. The teacher should focus on helping people who get stuck. After a suitable amount of time, once messages are finding their way around properly, stop the simulation.
Discussion. Ask students to share anything they noticed or anything they wondered. Common responses include:
Round 2 Run another round of the simulation. If things went well in Round 1, consider adding a challenge or interfering with the network. Possible challenges:
Concluding discussion. Once again, ask students to share anything they noticed or anything they wondered. Depending on what additional lessons you are planning to teach on networking, it may be valuable to write these down somewhere in the classroom so you can refer back to them.