Fragmentation : When a packet of large size (Larger than the underlying layer MTU) splits into smaller packets such that lower layer MTU get satisfied by each packet. These smaller packets are called Fragments and this process is called Fragmentation.
Fragmentation is done at Network layer but which device’s network layer is the question, Host or Router?
Host have all 7 layers running in it’s OSI model stack. Among all the layers, TCP layer is the most reliable and the smartest one. It notes the bottleneck bandwidth of underlying layers and choose the minimum one and decide the segment size accordingly. Suppose, the bottleneck bandwidth is at network layer. it will make segment of the size such that each segment will fit into datagram, Or if the the bottleneck bandwidth is at data link layer it will make segment of the size such that each segment will fit into frame. This helps preventing task of doing Segmentation and Fragmentation both.
But router is a layer-3 device, which mean the highest layer it has is network layer. So, if one side router is receiving a frame of 1500 Bytes and on the other side MTU is >=1500 B then no need for fragmentation. But if the other side data link layer has MTU = 500 Bytes, then fragmentation will be done by router before sending datagram to that link.