Unlike IP fragmentation (which can be done by intermediate devices), IP reassembly can be done only at the final destination. What problems do you see if IP reassembly is attempted in intermediate devices such as routers?
First, we must understand the difference between IP fragmentation and IP reassembly. As the name implies, IP fragmentation occurs when the receiving system cannot handle a datagram in its full form (limited MTU), and therefore the datagram is fragmented to accommodate the recipient MTU. According to Module 1, an IP packet is broken down into smaller pieces if the packet size exceeds the data link layer protocol limits. This is commonly known as fragmentation, and the process can take place at the originating device or intermediate routers. In order to retrieve the original message, the packet must be reassembled at the destination device. Intermediate routers can fragment packets, but it cannot reassemble them because fragments do not always take the same routes from source to destination.
In contrast, IP reassembly occurs at the final recipient of the message, after all fragmented datagrams have taken whatever lowest cost path was available to them have arrived. Attempting to do the latter at an intermediate step has a few challenges. For one, fragmented datagrams do not have to follow the same path to the destination – they will typically take the lowest cost path as dictated by their routing protocol, network topology, etc. In this case, no single router would necessarily have all the datagrams necessary to reassemble the entire message. Secondly, per how IP reassembly works at the destination, a router would have to subsequently “wait” for all datagrams to arrive before attempting to reassemble, which would slow down the forwarding capability of the router significantly, and any other traffic that it is processing as well. Lastly, because routers are designed to forward IP datagrams, to have them reassemble would require a more robust design to account for not only forwarding, but assembling before forwarding.