Instructions: TCP/IP Simulation

  1. Each person is a "computer" on the network, with an ID number in the set 1...9.

  2. Each computer sends out a message to some other computer on the network by passing out IP "packets", which are represented by the individual folded slips of paper, each labeled "From: n: To m:".

    Start passing the "packets" around the "network", either clockwise or counterclockwise, or even alternating, with one going in one direction and the next going in the other.

    In real life, n and m would each be a four-part IP addresses, such as 18.177.0.221, and instead of just moving around the table they would travel through a complex network, being routed at various places along their journey, always getting closer to the destination machine, which is 0.221, on subnet 177, on the MIT network (which is designated by the 18 in the left-most place).

    (Note: The next time you're at an Athena workstation, do the following at the athena% prompt:

    hostname to find out the name of your machine

    hostinfo the-name-you-just-found

    The hostname command contacts the name server here at MIT to find out the real IP address of your workstation, given its "English" name.)

  3. As the packets circulate, keep an eye out for packets that are destined for yourself. Grab these, and pass on the ones that aren't meant for you.

  4. Start assembling the packets into a message - they probably won't arrive in the correct order, but in the upper left hand corner is an indication of their place in the message that is being sent to you.

  5. Also, as the packets arrive, prepare a new "micro-message" to send back to the sending machine, saying that packet number x has arrived. Your micro-message should just contain the message: "x arrived", and should be wrapped with the standard IP From: yourself and To:addressee on the reverse side.

  6. If, after a reasonable amount of time (in this case called by me), you have not received "receipts" that all the packets that you have sent out have arrived safely, figure out which one(s) got lost, create a new packet for it (you still have the original message, so you can do this), and send it out again.

  7. Each computer will eventually receive all the packets and will be able to assemble and display its message.