Exercicios
Renato Rufino Magalhães
1. (7 pontos) Quando um pacote IP é fragmentado, como o receptor detecta que todos os fragmentos de um mesmo pacote foram recebidos? Explique detalhadamente apresentando os campos do protocolo que são empregados no processo. Ao realizar a fragmentação o protocolo IP divide o datagrama em pacotes menores que possam ser trafegados pelas tecnologias de enlace até o destino final. Ao realizar a remontagem do datagrama original no destinatário o IP deve saber quais pacotes são referentes ao mesmo datagrama. Cada pacote recebe um indentificador (IDENTIFICATION) como o mesmo valor em todos os fragmentos de um datagrama. Como os pacotes podem seguir rotas diferentes e chegar fora de ordem ao destino é utilizado o camo FRAGMENT OFFSET que determina a posição de um pacote no datagrama original. Por exemplo, temos três pacotes p1 (600 bytes), p2 (600 bytes) e p3 (300 bytes), o off-set de p1 será 0 (zero) pois é o início do datagrama, o off-set de p2 será 600 e o off-set de p3 será 1200. Para saber se todos os pacotes foram recebidos é utilizado o campo MF (MORE FRAGMENTS) de cada pacote recebido. Ele indica se, depois do pacote atual, existe mais algum fragmento do mesmo datagrama. Apenas o último fragmento terá o MF com valor 0 (zero), os demais fragmentos terá o MF igual a 1. Dessa forma é possível saber o primeiro fragmento através do FRAGMENT OFFSET com valor 0 (zero) e o último pelo MORE FRAGMENTS com valor 0 (zero).
2. (7 pontos) No protocolo IP (versão 4) não existe nenhum campo para determinar a máscara da rede de destino do pacote. Sendo assim, como um roteador consegue calcular o endereço de rede do destino? Explique. Identificando a classe que está sendo utilizada pelo endereço IP através do NET-ID. Convertendo o endereço IP da base decimal para binário é possível saber se ele pertence a classe A, B ou C. Identificando a classe é possível calcular qual é a sua máscara de rede. Por exemplo:
IP base