Networking

How does the Internet work? How can a message get from one computer somewhere in the world to another somewhere else? Who's in charge of making it all work? There are two activities to help us think about these issues.

Network Messages

Stage 1

Setup: Get in a group of 4-6. Make sure you are sitting within arms reach of at least one other group member (you’re “connected”). Assign a number to everyone and have them write it down on a piece of paper in front of them.

Instructions: Think of some saying or phrase. Legibly write it on a strip of paper. Choose to whom in your group you want to send this message.

Question: As a group how can everyone collaborate in getting all messages delivered in a fair way?

(e.g. passing messages one way around the circle, taking turns.)

Concept: Within an office network, each computing device has a unique address called an ip number. The last part of this number is the address of the computing device.

Stage 2

Setup: Still in your "connected" group of 4-6, this time your group is also given a letter as your group identity, where the ordering of letters reflects position in the room. Choose one person (or two) to be the connector to the next group closest to you, repeating the selections of connectors in all groups so that all groups are connected.

Instructions: Have a single person in the class create a message to be sent to a person in a distant group. Have them read its contents out loud and trace its passage across the room.

Question: What are the issues that arise? How might they be addressed?

(e.g. Connectors must store (buffer) requests that come in and serve them in some order. Which order? Are sender and receiver addresses included in the message? What should happen if a message gets lost?)

Concepts: The next-to-last part of an ip number indicates the address of the local group. An acknowledgment message is used to confirm that a message was received. The "connectors" in the real world are routers.

Stage 3

Setup: 1/4 of the groups on one end of the room (the "servers") are given some bumper sticker messages, each one on a strip of paper. The other 3/4 of the room are the clients who will be ordering one of the bumper stickers.

Instructions: Clients order a bumper sticker by sending a bumper sticker number to one of the servers in one of the server groups. If the server does not have the message the server should send back a written reply saying "Not Available." If the server does have the message, it should be broken into 2 or 3 pieces with each piece sent back separately to the client. [Alternatively write down the message pieces on separate small pieces of paper.]

Question: Again, what are the issues that arise? How might they be handled?

(e.g. If only some of the servers get all the requests, how can the load be balanced? How can clients learn the range of valid bumper sticker numbers?)

Concepts: Breaking up a message and sending the pieces separately is called packet switching and happens when we make phone calls and when we send and receive information across the Internet. Servers sometimes implement load balancing to spread out requests among servers that can handle those requests.

Connecting a Network

  1. With a partner make a "phone" out of a pair of cups connected by a string coming in through the bottom, tying a big enough knot in the string so that it doesn't pull out of the bottom of the cup. Move apart so that the string is taut. (Be gentle - if you pull too hard you will pull it out of the bottom of the cup!) Practice talking and listening to each other. Can you talk and listen at the same time? If not figure out a way to handle this.
  2. Combine with 3 other groups of partners, making a group of 4 pairs total (8 people). Stand in a circle with your strings crossing in the middle. Pull them taut and have someone tie a bow tightly around all the strings in the very middle. Figure out some way to organize yourselves so that everyone gets a turn sending messages where you can tell who is sending and who is receiving the message.
  3. Add an extra "connecter" pair between the edges of two separate circles. Where the "connector" pair meets someone on the circle have two pads of paper, one to write down outgoing messages and one to write down incoming messages. Change your method of addressing so not only do you know who in the circle it is from/to, but you also know which circle. See if you can successfully send messages from anyone in one of the circles to anyone in the other circle.
  4. Keep adding "connecter" pairs between the edges of separate circles until the whole class is connected.

Messages that go out to everyone in a circle is called broadcasting. This is used in a network hub, such as you might have in your classroom or in your home. In contrast a network switch only sends messages to the intended recipients (not everyone), and a network router additionally keeps track of a table indicating accessible addresses and shortest paths.

The place where the circles intersect is like a network router that chooses where messages should go.