A pergunta simples e a resposta são a camada 3, é claro, mas podemos dizer que o PAT está trabalhando na camada 4 também porque lida com números de porta, que é uma função da camada 4?
Ou é apenas um protocolo de camada 3?
A pergunta simples e a resposta são a camada 3, é claro, mas podemos dizer que o PAT está trabalhando na camada 4 também porque lida com números de porta, que é uma função da camada 4?
Ou é apenas um protocolo de camada 3?
Respostas:
O NAT funciona na camada 3 porque está modificando o cabeçalho IP. Se você usa o PAT, pode argumentar que está funcionando na camada 4, porque PODE alterar a porta de origem do pacote, caso não seja exclusivo.
Vários endereços internos podem ser NAT para apenas um ou alguns endereços externos usando um recurso chamado Port Address Translation (PAT), também conhecido como "sobrecarga", um subconjunto da funcionalidade NAT.
O PAT usa números de porta de origem exclusivos no endereço IP global interno para distinguir entre traduções. Como o número da porta é codificado em 16 bits, teoricamente o número total pode ser tão alto quanto 65.536 por endereço IP.
O PAT tentará preservar a porta de origem original, se essa porta de origem já estiver alocada, o PAT tentará encontrar o primeiro número de porta disponível iniciando no início do grupo de portas apropriado 0-5111, 512-1023 ou 1024-65535.
Se ainda não houver porta disponível no grupo apropriado e mais de um endereço IP estiver configurado, o PAT passará para o próximo endereço IP e tentará alocar a porta de origem original novamente. Isso continua até ficar sem portas e endereços IP disponíveis.
Portanto, a porta será modificada apenas caso não seja única.
Este link para a Cisco é uma boa visão geral do NAT.
Nat é um processo de várias camadas. Envolve pelo menos as camadas 3 (IP) e 4 (TCP, UDP, etc). Em alguns casos, também pode envolver a camada 7 (aplicativo).
Um NAT individual deve, no mínimo, modificar os endereços IP (camada 3), as somas de verificação IP (camada 3) e as somas de verificação TCP / UDP (camada 4).
Um a muitos NAT precisa no mínimo de modificar os endereços IP (camada 3), somas de verificação IP (camada 3), portas TCP / UDP (camada 4) e somas de verificação TCP / UDP (camada 4).
Um NAT tão mínimo quebrará muitas coisas (por exemplo, ftp no modo ativo). Portanto, a maioria das NATs vai além do básico e também realiza a tradução e o rastreamento de pelo menos alguns endereços IP nos dados do aplicativo (camada 7).
Pense em como isso deve ser consistente entre pacotes do mesmo dispositivo ... pelo menos em sessões. Você pode argumentar, portanto, que você deve colocar isso no nível 5 ou até mais alto. Só porque ele desce para modificar os cabeçalhos IP não deve desqualificá-lo da consideração das camadas superiores. As camadas inferiores podem não saber nada sobre as camadas superiores, mas as camadas superiores podem conhecer e manipular as inferiores. De fato, a Camada 6 parece apropriada. Da wikipedia:
As entidades da camada de aplicativo podem usar sintaxe e semântica diferentes se o serviço de apresentação fornecer um grande mapeamento entre elas.
Mapear entre endereços, mesmo que os endereços estejam no nível 3 em vez do nível 7, parece uma coisa muito importante para se fazer na camada de apresentação.