La frammentazione è una tecnica che può essere usata per risolvere il problema della diversa dimensione massima delle informazioni ammessa dalle reti.
Se un pacchetto deve attraversare una rete che ammette solo pacchetti più piccoli, il router può spezzare il pacchetto in frammenti più piccoli e spedire ogni frammento in un pacchetto separato. Ogni frammento deve contenere nell’intestazione il numero originario del pacchetto e il numero del frammento (e un’indicazione se è l’ultimo frammento).
Il problema è ricomporre i frammenti; la ricomposizione può essere fatta all’uscita dalla rete attraversata o solo a destinazione. Se i frammenti vengono ricomposti all’uscita della rete, devono uscire tutti dallo stesso router, che deve sapere quando sono arrivati tutti; inoltre potrebbe dover essere necessario provvedere diverse volte alla frammentazione, se il pacchetto deve attraversare più reti a pacchetti piccoli. Se i frammenti vengono ricomposti a destinazione, gli host devono essere in grado di ricomporre i pacchetti; inoltre i frammenti potrebbero essere frammentati ulteriormente (serve una numerazione dei frammenti in modo gerarchico per esempio 0.0, 0.1, 0.2 e poi 0.0.0, 0.0.1, 0.0.2,.., 0.1.0, 0.1.1 ecc.) e se un pacchetto viene rispedito potrebbe essere frammentato diversamente.