Consider sending a 3,000 byte datagram into a link that has an MTU of 700 bytes. Suppose the orginal datagram is stamped with identification number 422. How many fragments are generated? Give the values of the various related header fields of each fragment sent using IPv4.
Try an answer before revealing the guidance below.
Key Concepts
- IPv4 header (20 bytes)
- MTU
- Fragment offset in 8-byte units
- MF flag
- Identification field
Answer Approach
- Subtract the 20-byte header to find the original payload.
- Find the largest payload per fragment that fits the MTU and is a multiple of 8.
- Divide to get the number of fragments and the size of the last one.
- List ID, MF flag, offset, and total length for each fragment.
Full Answer
Answer status: Draft answer (unofficial). Revision notes, not an official marking scheme.
Payload = 3,000 − 20 = 2,980 bytes. Each fragment can carry 700 − 20 = 680 bytes (680 is a multiple of 8). 2,980 / 680 = 4.38 → 5 fragments carrying 680, 680, 680, 680, 260 bytes. All fragments: Identification = 422. Total lengths: 700, 700, 700, 700, 280. Offsets (8-byte units): 0, 85, 170, 255, 340. MF flag: 1, 1, 1, 1, 0.
Fragments = ⌈(datagram − 20) / (MTU − 20)⌉Offset = bytes of payload before this fragment / 8Shortcuts: K concepts · A approach · F answer · R reviewed · B bookmark · ← / → previous / next