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.