UTILIZE A PESQUISA!

Definição de NAT

Com o surgimento das redes privadas com internet partilhada, surgiu o problema de como os computadores pertencentes à esta rede privada poderiam receber as respostas aos seus pedidos feitos para fora da rede.
Por se tratar de uma rede privada, os números de IP interno da rede (como 10.0.0.0/8, 172.16.0.0/16 e 192.168.1.0/24) nunca poderiam ser passados para a Internet pois não tem roteador nelas e o computador que recebesse um pedido com um desses números não saberia para onde enviar a resposta. Sendo assim, os pedidos teriam de ser gerados com um IP global do router. Mas quando a resposta chegasse ao router, seria preciso saber a qual dos computadores presentes na LAN pertencia aquela resposta.
A solução encontrada foi fazer um mapeamento baseado no IP interno e na porta local do computador. Com esses dois dados o NAT gera um número de 16 bits usando a tabela hash, este número é então escrito no campo da porta de origem.
O pacote enviado para fora leva o IP global do router e na porta de origem o número gerado pelo NAT. Desta forma o computador que receber o pedido sabe para onde tem de enviar a resposta. Quando o router recebe a resposta faz a operação inversa, procurando na sua tabela uma entrada que corresponda aos bits do campo da porta. Ao encontrar a entrada, é feita o direcionamento para o computador correto dentro da rede privada.
Um computador atrás de um router gateway NAT tem um endereço IP dentro de uma gama especial, própria para redes internas. Como tal, ao aceder ao exterior, o gateway seria capaz de encaminhar os seus pacotes para o destino, embora a resposta nunca chegasse, uma vez que os routers entre a comunicação não saberiam reencaminhar a resposta (imagine-se que um desses routers estava incluído em outra rede privada que usava o mesmo espaço de endereçamento). Duas situações poderiam ocorrer: ou o pacote seria indefinidamente reencaminhado, ou seria encaminhado para uma rede errada e descartado.

Resumindo
NAT é um protocolo que, como o próprio nome diz (network address translation), faz a tradução dos endereços Ip e portas TCP da rede local para a Internet. Ou seja, o pacote enviado ou a ser recebido de sua estação de trabalho na sua rede local, vai até o servidor onde é trocado pelo ip do mesmo substitui o ip da rede local validando assim o envio do pacote na internet, no retorno do pacote a mesma coisa, o pacote chega e o ip do servidor é trocado pelo Ip da estação que fez a requisição do pacote.
NAT tem a função de trocar um ip falso (IP da rede local) para um IP verdadeiro (IP da internet).

O que é Roteamento

O roteamento é o ato de mover informações em uma internetwork a partir de uma origem para um destino. Ao longo do caminho, tipicamente é encontrado pelo menos um nó intermediário. O roteamente costuma a ser comparado com uma bridge, que aparentemente realiza a mesma tarefa sob o ponto de vista de um observador casual. A principal diferença entre os dois recursos é que a bridge ocorre na camada 2 do modelo de referência OSI, enquanto o roteamento ocorre na camada 3. Essa distinção proporciona ao roteamento e a bridge informações diferentes a serem utilizadas no processo de transferência da origem para o destino. Assim, as duas funções realizam suas respectivas tarefas de modos diferentes.
O tópico sobre roteamento tem sido examido na literatura de ciências computacionais por mais de duas décadas, mas o roteamento alcançou uma popularidade comercial somente em meados dos anos 80. A principal razão para essa demora se deveu ao fato de as redes nos anos 70 serem ambientes bastante simples e homogêneos. Apenas recentemente a internetwork em larga escala se tornou popular.

INTERNETWORK:
A internetwork é uma coleção de redes individuais, conectadas por meio de dispositivos, que funcionam como uma única grande rede. O termo internetwork se refere a indústria, produtos e procedimentos que satisfazem o desafio de criar e administar essas ligações entre redes.


Conteúdo extraído das página 3 e 48 do livro INTERNET WORKING TECHONOLOGIES HANDBOOK - TRADUÇÃO DA SEGUNDA EDIÇÃO.

Modelo de Referênciade Conexão de Sistemas Abertos (OSI)

O modelo de referência de conexão de sistemas abertos, OSI, descreve como as informações de uma aplicação de software em um computador são transferidas pela rede até uma aplicação de software em outro computador. O modelo de referência OSI é um modelo conceitualcomposto por sete camadas, cada uma especificando funções de redes particulares. O modelo foi desenvovolvido pela ISO (International Organization for Standardization) em 1984 e atualmente é considerado como o principal modelo de arquitetura primário para a comunicação entre computadores. O modelo OSI divide as tarefas relacionadas a transferência de de informações entre computadores em sete grupos menores e mais fáceis de serem gerenciados. Uma tarefa ou grupo de tarefas é então atribuído a cada uma das sete camadas OSI. Todas as camadas são razoavelmente auto-suficientes, de forma que as tarefas atribuídas a cada uma das camadas possam ser implementadas de maneira indenpendente. Isso permite que as soluções oferecidas por uma camada possam ser atualizadas sem afetar negativamente as demais camadas. A lista representada a seguir detalha as sete camadas do modelo de referência OSI:

Clique na imagem para ver ela em tamanho maior.

Conteúdo (Com exceção da imagem) extraído da página 5 do livro INTERNET WORKING TECHONOLOGIES HANDBOOK - TRADUÇÃO DA SEGUNDA EDIÇÃO.

Configuração de Rede para Distribuição de IPS e Navegação por URLS

Explique na imagem abaixo se todas as máquinas receberam seus IPs e se elas conseguiram navegar por URLS, se não identifique quais terão problemas e por que. Por fim proponha uma solução.












Resposta: Somente a máquina2 recebeu IP e conseguiu navegar por URLS, pois o protocolo DHCP não é roteavel, assim as informações enviados pelo DHCP não passam pelo roteador.
A solução mais simples é tirar o roteador.

Descobrindo se um pc de origem esta na mesma rede que um pc de destino

Para saber se um pc de origem esta na mesma rede que um pc de destino é necessário fazer um And bit a bit( coloca-se o ip em cima da máscara e onde for 1 no ip e na mascara o bit da rede é 1, qualquer outra combinação o bit da rede é 0). Para quem não sabe o que é isso não precisa se assustar, é algo fácil de se fazer vamos ao primeiro exemplo:

Exemplo A: origem e destino estão na mesma rede. Maquina A com IP 10.1.0.5/25 deseja conversar com 10.1.0.120 (ela não sabe a máscara do destino).

Máquina A primeiro determina a sua rede aplicando um AND do seu IP com sua máscara, sendo que ela agora é 255.255.255.128, pois um /25 significa 25 bits em 1, para quem não entendeu, no total são 32 bits, sendo que os primeiros 25 vc preenche com o número 1, ficando assim:
11111111 11111111 11111111 10000000
(255) (255) (255) (128)

Fazendo and bit a bit:
(10) (1) (0) (5)
00001010 00000001 00000000 00000101 = ip de origem
(255) (255) (255) (128)
11111111 11111111 11111111 10000000 = sua mascara
00001010 00000001 00000000 00000000 = ip da rede (10.1.0.0)

Ela chega a conclusão que pertence a rede 10.1.0.0. Ela faz o mesmo com o IP de destino, aplicando um AND do IP de destino COM A SUA MÁSCARA (única que ela tem):
(10) (1) (0) (120)
00001010 00000001 00000000 01111000
11111111 11111111 11111111 10000000 (25 bits em 1)
00001010 00000001 00000000 00000000 = ip da rede (10.1.0.0)

Como resultado deste AND, chega-se ao cálculo de 10.1.0.0. Como o número calculado para rede é o mesmo, a conclusão é que o destino está aqui, local, basta realizar um ARP e endereçar diretamente o MAC do destino. Nada de gateway.

Exemplo B: origem e destino não estão na mesma rede. Maquina A com IP 10.1.0.5/25 deseja conversar com 10.1.0.129. Já sabemos que a rede que a máquina A pertence é 10.1.0.0 (veja, pode não ser se a máquina A estiver com a máscara errada).

Ela faz o mesmo com o IP de destino, aplicando um AND do IP de destino COM A SUA MÁSCARA (única que ela tem):
(10) (1) (0) (129)
00001010 00000001 00000000 10000001 = ip de destino
11111111 11111111 11111111 10000000 (25 bits em 1, é a sua mascara)
00001010 00000001 00000000 10000000 (RESULTADO AND)

Como resultado deste AND, chega-se ao cálculo de 10.1.0.128, que não é mesma rede da máquina A. A conclusão é que o destino não está aqui e preciso repassar o pacote para outro roteador até chegar a rede onde esta a máquina de destino.


Bônus: se for dado uma máscara de ip 200.15.144/22 para saber qual é o o ip inicial e o ip final, basta fazer 24(total de bits q vc conhece) - 22(mascara), ficando assim 2²=4. Desse modo o último octeto conhecido irá variar 4 vezes (na verdade 3 porque o 144 conta, fazendo a soma fica 144+3=147.
ficando assim: ip inicial200.15.144.01 -> ip final 200.15.147.255
Detlhe que o 255 sempre é o broadcast.
E para saber o total de hosts, se faz 32 (total de bits no ip) - 22(mascara), ficando 2¹º = 1024 hosts.