A Web-Based Introduction to Computer Networks for Non-Majors

Protocol Stack

A Laboratory


The Protocol Stack applet and the accompanying notes (such as How do I use the applet? and What concepts is the applet illustrating? ) can be used as the basis of a series of laboratory experiments as shown below. Some of the experiments have questions to supplement the explanation.

Experiment One: 3000 Byte MTU / 3000 Byte MTU

This first experiment explores the simplest case which is when the maximum transmission unit (MTU) of each network does not require the network layer to fragment the packet. The applet assumes that the packet originating from the application layer on the source machine is 2000 bytes. The source transport layer prepends a 20 byte header. The source network layer also wants to prepend a 20 byte header resulting in a packet going to the source data link layer with a size of 2040 bytes. This size must be less than or equal to the MTU of the first network since the MTU is the maximum size of the packet the data link layer can accept. The data link layer will prepend a 16 byte header before placing the packet on the network, but the data link layer header does not count as part of the MTU.

In this experiment in the applet select the 3000 Byte radio button for both the first and second networks. Click the Start button and watch the simulation.

  1. What do you observe?
  2. Why does the network layer on the source machine not fragment the packet?
  3. What is the maximum size source application layer message that will not cause fragmentation at the source machine network layer?
  4. Why does the network layer on the router not fragment the packet?
  5. What is the maximum size source application layer message that will not cause fragmentation at the router network layer?

Experiment Two: 1500 Byte MTU / 3000 Byte MTU

Repeat experiment one except for the first network select a 1500 Byte MTU.

  1. What do you observe?
  2. Why does the network layer on the source machine fragment the packet?
  3. Why are the fragments the sizes that they are?
  4. Why does the network layer on the router not fragment the packet?
  5. Why do you think the network layer on the router does not reassemble the fragments it receives? Reassembling means merging the fragments back into a smaller number of fragments (ideally back to just one fragment).
  6. Observe that the network layer on the destination machine does reassembly. Why?

Experiment Three: 1500 Byte MTU / 1000 Byte MTU

Repeat experiment two except for the second network select a 1000 Byte MTU.

  1. What do you observe?
  2. Why does the network layer on the source machine fragment the packet?
  3. Why are the fragments coming from the source machine network layer the sizes that they are?
  4. Why does the network layer on the router fragment the packet?
  5. Why are the fragments coming from the router network layer the sizes that they are?
  6. Observe that the network layer on the destination machine does reassembly. Why?

Experiment Four: 3000 Byte MTU / 1000 Byte MTU

Repeat experiment three except for return to the first network select and change it back to a 3000 Byte MTU.

  1. What do you observe?
  2. Why does the network layer on the source machine not fragment the packet?
  3. Why does the network layer on the router fragment the packet?
  4. Observe that the network layer on the destination machine does reassembly. Why?