Espera-se que você presuma que todos os fragmentos, mas os últimos, serão tão grandes quanto a rede permitir.
Você pode obter o tamanho máximo da carga de fragmento tomando o MTU, subtraindo 20, dividindo por 8, descartando a fração e multiplicando por 8. Isso funciona porque cada pacote precisa de um cabeçalho de 20 bytes e cada pacote, mas o último deve contém um comprimento de carga útil que é um múltiplo de 8.
128 - 20 = 108
108/8 = 13,5
13 * 8 = 104
Portanto, para um MTU de 128, o tamanho máximo da carga útil é de 104. Vamos ver quantos pacotes precisamos enviar 302 bytes de carga útil:
302/104 = 2,903
Então, precisaremos de dois pacotes de tamanho máximo e um restante. Quanto sobra teremos?
302 - (2 * 104) = 94
Portanto, 94 bytes de dados no último pacote.
Você pode obter o tamanho total dos tamanhos de carga adicionando 20.