Académique Documents
Professionnel Documents
Culture Documents
Fragmentação Datagrama IP
1. Fragmentação
0 4 8 16 24 31
VERSÃO HLEN TIPO DE SERVIÇO COMPRIMENTO TOTAL
IDENTIFICAÇÃO FLAGS DESLOCAMENTO
(0,DF,MF) FRAGMENTO
TEMPO DE VIDA PROTOCOLO VERIFICAÇÃO SOMA DO CABEÇALHO
ENDEREÇO IP DE ORIGEM
ENDEREÇO IP DE DESTINO
OPÇÕES IP PADDING
DADOS
...
DF-Bit don’t fragment=quando ligado, o datagrama não pode ser fragmentado.
MF-Bit More (mais) fragmentos=quando ligado, indica que há fragmentos a seguir.
b) Um pacote IP pode ter um tamanho de até 64 Kbytes, já que o comprimento total tem 2bytes. Entretanto
o nível de enlace geralmente tem um tamanho máximo menor que 64K. Por exemplo, uma rede Ethernet
pode transmitir uma mensagem de até 1500 bytes. Este valor é chamado de MTU - Maximum
Transmission Unit - para este tipo de rede. A camada IP deve então ser capaz de dividir um pacote IP
maior que 1500 bytes em diversos fragmentos de até 1500 bytes cada um.
Datagrama IP
d) A fragmentação do pacote IP pode ocorrer na máquina origem ou em algum roteador que possua uma
rede com MTU menor que o tamanho do pacote IP sendo roteado. Durante o percurso até o destino, um
fragmento pode ser novamente fragmentado se o MTU da rede seguinte for ainda menor que o tamanho
do fragmento.
4 5 00000000 4020
Tam.cabeçalho=20
63784 000 0 Tamanho total=4020 octetos
8 UDP 01F5 Tamanho área de dados=4000
139.82.17.20 Deslocamento=0
208.12.68.23
Abcdefghijklmnopqroqoqoamajjajjaja.....(4000 bytes)
Resultado da fragmentação
Fragmento 1
Fragmento 2
4 5 00000000 1500
Tam.cabeçalho=20
63784 001 1480
Tamanho total=1500
8 UDP 0FD0 Tamanho área de dados=1480
139.82.17.20 Deslocamento=1480
208.12.68.23
Próximos 1480 bytes
Fragmento 3
g) Exemplo 2:
0 4 8 16 24 31
VERSÃO HLEN TIPO DE SERVIÇO COMPRIMENTO TOTAL
IDENTIFICAÇÃO FLAGS DESLOCAMENTO
FRAGMENTO
TEMPO DE VIDA PROTOCOLO VERIFICAÇÃO SOMA DO CABEÇALHO
ENDEREÇO IP DE ORIGEM
ENDEREÇO IP DE DESTINO
OPÇÕES IP PADDING
DADOS
...
Layout
Como o tamanho do datagrama é maior que 1500, o mesmo vai ser fragmentado em 3 datagramas,
conforme se segue:
Fragmento 1
Fragmento 2
0000 00 02 55 89 0a 54 00 0f 20 2f 6b 5d 08 00 45 00 ..U..T.. /k]..E.
0010 05 dc 09 5f 20 b9 80 01 f2 48 0a c8 03 30 0a c8 ..._ ... .H...0.
0020 00 01 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e ..abcdef ghijklmn
Fragmento 3
0000 00 02 55 89 0a 54 00 0f 20 2f 6b 5d 0B 00 45 00 ..U..T.. /k]..E.
0010 01 d4 09 5f 01 72 80 01 15 98 0a c8 03 30 0a c8 ..._.r.. .....0.
0020 00 01 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 ..ijklmn opqrstuv
Tamanho cabeçalho=5=> 5x4=20 bytes
Tamanho do pacote=01d4(h)=468(decimal)
Tamanho da área de dados=468-20 (tamanho cabeçalho)=448bytes
Flags=000
Deslocamento=0172(h)=370(decimal)= 370x8=2960