Skip to main content

Pilot · Lab P07 · 45 minutes

Reassembling a packet journey

A message is split into three numbered packets and sent across a small fixed network. Trace a valid route from S to T, deliver the packets out of order, and use the sequence numbers to show how the message is put back together, and why it stays incomplete while a packet is missing.

Predict first

Write your predictions before you use the tool.

  1. List every link that touches A. Which next hops are possible from S?
  2. If packets arrive in the order 3, 1, 2, what order should the receiver use, and how does it know?
  3. If only packets 3 and 1 have arrived, can the message be read?

Practice tool

The packets tool lets you build a route from S to T one hop at a time using only existing links, then deliver packets 1–3 in any order. It shows the arrival order, the packets sorted by sequence number, and which numbers are still missing. It is a stated model, not a real protocol: it does not resend lost packets, time anything out or probe a real network.

Packet journey · message split into 3 numbered packets

Choose a route from S to T

Links: S–A, S–B, A–C, B–C, C–T, A–D, D–T

Route so far: S

Now choose the order packets arrive. Packets can take different routes, so any order is possible.

Arrival order: nothing yet

Reassembled by sequence number: none

Waiting for: 1, 2, 3

Starter

Network links · Data
S–A, S–B, A–C, B–C, C–T, A–D, D–T
Packets (sequence metadata) · Data
packet 1 of 3: "Meet"packet 2 of 3: "at the"packet 3 of 3: "library"

Worked case

A route is valid only if each consecutive pair is a link. S → A → C → T is valid: S–A, A–C and C–T all exist. S → D → T is not, because there is no S–D link.

Worked reassembly: arrival order 3, 1, 2
after arrivalheld, sorted by sequencemissingreadable?
331, 2no
11, 32no
21, 2, 3noneyes

The receiver does not rely on arrival order. Each packet carries “n of 3”, so the receiver sorts by n and knows exactly which numbers are still missing. In this model a missing packet just keeps the message incomplete; real protocols may detect the gap and request a resend, but this tool does not.

Build

  1. Build two different valid routes from S to T in the tool and record both.
  2. Deliver the packets in the order 3, 1, 2 and record the tool’s state after each delivery.
  3. Reset and deliver only 3 and 1; record what the tool says is missing.
  4. Annotate a sketch of the network with your two routes and the arrival order.

Tests

Tests for this lab
InputExpectedWhy this test
Route S → A → C → TValid; reaches TEvery hop is an existing link.
Route S → B → C → A → D → TValid; reaches TLonger, but every hop is a link and no node repeats.
Deliver 3, 1, 2Reassembled 1, 2, 3; completeSequence numbers restore the order.
Deliver 3, 1 onlyHeld 1, 3; waiting for 2The message cannot be read until every packet arrives.

Explain and reflect

Explain

  1. Explain how the receiver rebuilds the message when packets arrive out of order.
  2. Explain why two packets of the same message might arrive in a different order from the one they were sent in.

Reflect

  1. What would a real protocol need to add to recover from packet 2 never arriving?
  2. Which part of this tool is a simplification you should not claim is true of the real Internet?

What this lab does not do

  • The network is fixed: six nodes and seven links.
  • The model does not resend lost packets or time anything out.
  • No real network traffic is sent, and nothing is saved.