IP Datagram Fragmentation comprimento total e cálculos de carga útil

0

Eu não entendo como fragmentar um datagrama IP.

Digamos que o datagrama original tenha um tamanho total de 302 (cabeçalho de 20 bytes e carga útil de 282 bytes). Meu datagrama precisa ser fragmentado, pois passa por uma rede de 128MTU. Eu tenho que fragmentar e adicionar 20 cabeçalho para cada novo fragmento.

Este é um exercício e a resposta é

  • Fragmento 1 124 comprimento total (carga útil de 104 bytes)

  • Fragmento 2 124 comprimento total (carga útil de 104 bytes)

  • Fragmento 3 94 comprimento total (carga útil de 74 bytes)

Se eu acrescentar, isso realmente me dá a carga original. Eu não entendo como encontrar esses números ...

Por que não poderia ser

  • Fragmento 1 114 comprimento total (carga útil de 94 bytes)
  • Fragmento 2 114 comprimento total (carga útil de 94 bytes)
  • Fragmento 3 114 comprimento total (carga útil de 94 bytes)

(282/3) > 2 então eu preciso de 3 fragmentos. 3Fragments = cabeçalho de 60 bytes adicionado 60 +282 = 342 342/3 = 114 comprimento total para cada fragmento.

Minha pergunta é ...

Como e por que devo receber 124 124 e 94?

    
por Paperbag Writer 25.11.2015 / 21:43

1 resposta

3

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.

    
por 25.11.2015 / 22:01