Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

EECS Networks - Fragmentation, Datagrams This problem considers fragmentation. a

ID: 3774859 • Letter: E

Question

EECS Networks - Fragmentation, Datagrams

This problem considers fragmentation. a. Consider host A sending a 3.000-byte UDP datagram (including all EP and UDP headers) to host B via router R. The link between A and R has an MTU of 1500 bytes while the link between R and B has an MTU of 576 bytes. Describe the fragments arriving at the router R and host B. Describe the values of their relevant EP header fields and show the location of the UDP headers. b. To save on the size of the offset field in the EP header, the fragment offset counts 8-byte chunks rather than bytes. But we could save more space by counting 16-byte chunks, or 32-byte chunks, etc. Where is a "push-back"? c. Now assume that A and B are connected via two alternative paths as shown below. Assume all links except R1-R3 have 1500 MTU and link R1-R3 has 500 MTU. Assume router R0 load-balances its packets between R1 and R2 by alternating between the two. Assuming the router R0 chooses R1 for the first fragment, describe the fragments arriving at host B (again, provide the number of fragments and values of relevant IP header fields).

Explanation / Answer

IP Fragmentation & Reassembly Network links have MTU (maximum transmission unit) – the largest possible link-level frame • different link types, different MTUs • not including frame header/trailer • but including any and all headers above the link layer Large IP datagrams are split up (“fragmented”) in the network • each with its own IP header • fragments are “reassembled” only at final destination (why?) • IP header bits used to identify and order related fragments fragmentation: in: one large datagram out: 3 smaller datagrams reassembly IPv4 Packet Header Format version hdr len (bytes) Type of Service (TOS) Total length (bytes) Identification 3-bit flags 13-bit Fragment Offset Time to Live (TTL) Protocol Header Checksum Source IP Address Destination IP Address Options (if any) Payload (e.g., TCP/UDP packet, max size?) 20-byte Header usually IPv4 upper layer protocol to deliver payload to, e.g., ICMP (1), UDP (17), TCP (6) e.g. timestamp, record route, source route 4 bits 4 bits 8 bits 16 bits IP fragmentation use IP Fragmentation and Reassembly ID =x offset =0 fragflag =0 length =4000 ID =x offset =0 fragflag =MF length =1500 ID =x offset =185 fragflag =MF length =1500 ID =x offset =370 fragflag =0 length =1040 Example: 4000-byte datagram MTU = 1500 bytes 1480 bytes in data field offset = 1480/8 unique per datagram per source One large datagram becomes several smaller datagrams • all but the last fragments must be in multiple of 8 bytes • offsets are specified in unit of 8-byte chunks • IP header = 20 bytes