Exercícios de Revisão: Camada de Rede e Protocolo IP

Classificado em Computação

Escrito em em português com um tamanho de 7,09 KB

Lista de Exercícios da Unidade 4

1. Funções da Camada de Rede

As duas principais funções da camada de rede da arquitetura TCP/IP são: encaminhamento de pacotes IP e execução dos algoritmos de roteamento nos roteadores.

  • Encaminhamento: Tarefa desempenhada pelos roteadores. Ao receber um pacote IP, o roteador analisa o endereço IP do host de destino e o comuta para uma porta de saída específica, utilizando uma tabela de encaminhamento (ou tabela de repasse) que mapeia o endereço de destino à interface de saída.
  • Algoritmos de Roteamento: São responsáveis por construir as tabelas de encaminhamento utilizadas para o roteamento de pacotes no núcleo da Internet.

2. Fragmentação e Remontagem no Protocolo IP

A fragmentação e remontagem são necessárias quando um roteador precisa encaminhar um pacote IP através de uma tecnologia de enlace com uma Maximum Transmission Unit (MTU) menor do que o tamanho do pacote recebido. Por exemplo, se um pacote de 4000 bytes chega por uma interface com MTU de 1500 bytes e precisa ser enviado por outra interface com a mesma limitação.

Nesses casos, o pacote IP é dividido em fragmentos para caber na tecnologia de enlace de saída. Os fragmentos devem ser remontados no host de destino antes de entregar o segmento à camada de transporte.

Os campos utilizados para esse procedimento são:

  • Identificador (16 bits): Copiado para todos os fragmentos do pacote original.
  • Flags (1 bit): Sinaliza qual é o último fragmento.
  • Deslocamento de Fragmentação (1 bit): Indica a ordem correta dos fragmentos para a remontagem.

No processo, o cabeçalho do pacote original é replicado em cada fragmento. Se a MTU da tecnologia de saída for 1500 bytes, a carga útil máxima do fragmento será $1500 - 20$ (cabeçalho IP) $= 1480$ bytes. A remontagem é feita somente no host de destino para evitar a necessidade de novas fragmentações em roteadores intermediários.

3. Recálculo do Header Checksum

É necessário recalcular o header checksum (soma de verificação do cabeçalho) em cada roteador porque o valor do TTL (Time To Live) é modificado (decrementado) a cada salto. O checksum valida a integridade do cabeçalho, e qualquer alteração exige um novo cálculo.

4. Remontagem de Datagramas Fragmentados

A remontagem é feita somente no destino final para evitar a necessidade de novas fragmentações nos roteadores subsequentes, caso um fragmento já remontado parcialmente precisasse ser dividido novamente.

5. Funcionamento do NAT

O NAT (Network Address Translation) consiste no mapeamento de múltiplos endereços IP privados em um único endereço IP público. Isso é realizado com o auxílio de uma tabela de tradução NAT, que utiliza endereços da camada de transporte (portas) para associar as conexões internas ao endereço público. Com o NAT, muitos hosts (até 65535) podem acessar a Internet utilizando um único endereço IP público.

6. Diferenças entre IPv6 e IPv4

As principais mudanças do IPv6 em relação ao IPv4 incluem:

  • Endereçamento: Aumento de 32 bits (IPv4) para 128 bits (IPv6).
  • Cabeçalho: Otimização, com a remoção de campos como opções e header checksum.
  • Fragmentação: Os campos relacionados à fragmentação e remontagem foram removidos, pois a fragmentação não é permitida no IPv6 (deve ser tratada pela camada de enlace ou pela origem).

7. Funcionamento do Traceroute (tracert)

O programa Traceroute baseia-se no protocolo ICMP (Internet Control Message Protocol). Ele funciona forçando o descarte de pacotes nos roteadores ao longo de uma rota entre origem e destino. Isso é feito definindo um valor de TTL progressivamente menor (começando em 1). Ao descartar um pacote, o roteador envia uma mensagem ICMP de volta à origem (geralmente do tipo"Time Exceede"). Ao analisar essas mensagens, o traceroute constrói a lista de endereços IP dos roteadores que compõem o caminho.

8. Funcionalidades dos Campos do Pacote IP

O cabeçalho do pacote IP (IPv4) possui diversos campos cruciais:

  • Versão (4 bits): Indica a versão do protocolo IP (ex: 4 para IPv4). Essencial para o roteador saber como processar o pacote.
  • Tamanho do Cabeçalho (4 bits): Especifica o tamanho do cabeçalho em bytes, pois ele é variável devido ao campo Opções. Tipicamente, 20 Bytes sem opções.
  • Tipo de Serviço (8 bits): Concebido para classificar pacotes e, teoricamente, criar privilégios. Raramente utilizado para sua finalidade original, mas pode ser usado por administradores para priorização.
  • Tamanho do Pacote (16 bits): Informa o tamanho total do pacote (cabeçalho + carga útil) em bytes, com máximo teórico de 65535 bytes.
  • Identificador, Flags e Deslocamento de Fragmentação (16, 1 e 1 bit, respectivamente): Usados para fragmentação e remontagem do pacote IP.
  • Tempo de Vida (TTL - 8 bits): Define o número máximo de roteadores que o pacote pode atravessar. É decrementado em uma unidade a cada roteador. Se chegar a zero, o pacote é descartado para evitar loops infinitos.
  • Protocolo da Camada Superior (8 bits): Sinaliza qual protocolo da camada de transporte está sendo encapsulado (ex: TCP ou UDP).
  • Soma de Verificação (Header Checksum - 16 bits): Usado para identificar corrupção de bits apenas no cabeçalho. Deve ser recalculado em cada roteador devido à alteração do TTL.
  • Endereço IP de Origem e Destino (32 bits cada): Endereços lógicos do host emissor e do host receptor.
  • Opções (Múltiplos de 4 bytes): Campo opcional para informações adicionais.

9. Utilidade de um Algoritmo de Roteamento

Um algoritmo de roteamento tem a utilidade de descobrir o caminho ou rota mais viável para a comunicação entre dois hosts em uma rede de roteadores interconectados. As rotas identificadas por esses algoritmos são usadas para construir as tabelas de encaminhamento que guiarão o tráfego de pacotes na Internet.

10. Diferença entre Host e Roteador

  • Host: Implementa as 5 camadas do modelo TCP/IP (incluindo a camada de Aplicação) e está posicionado na periferia da Internet.
  • Roteador: Implementa apenas as 3 primeiras camadas (Física, Enlace e Rede) e atua como um componente de núcleo da rede, responsável por interconectar redes e encaminhar pacotes.

Entradas relacionadas: