Hoje o contexto da dica é um conteúdo muito legal, pois exige que o aprendiz se dedique um pouco e que curta bastante matemática , para que os cálculos sejam feitos com perfeição.
Considere a figura a seguir, onde temos a representação de uma rede local, ligada a outras redes da empresa, através de um roteador.
Temos uma rede que usa como máscara de sub-rede 255.255.255.0 (uma rede classe C, mas ainda não abordamos as classes de redes). A rede é a 10.200.150.0, ou seja, todos os equipamentos da rede tem os três primeiras partes do número IP como sendo: 10.200.150. Veja que existe uma relação direta entre a máscara de sub-rede a quantas das partes do número IP são fixas, ou seja, que definem a rede.
A rede da figura anterior é uma rede das mais comumente encontradas hoje em dia, onde existe um roteador ligado à rede e o roteador está conectado a um Modem, através do qual é feita a conexão da rede local com a rede WAN da empresa, através de uma linha de dados (também conhecido como link de comunicação).
Como o TCP/IP usa a máscara de sub-rede e o roteador
Quando dois computadores tentam trocar informações em uma rede, o TCP/IP precisa, primeiro, determinar se os dois computadores pertencem a mesma rede ou a redes diferentes. Neste caso podemos ter duas situações distintas:
Situação 1: Os dois computadores pertencem a mesma rede: Neste caso o TCP/IP envia o pacote para o barramento local da rede. Todos os computadores recebem o pacote, mas somente o computador que é o destinatário do pacote é que o captura e passa para processamento pelo Windows e pelo programa de destino. Como é que o computador sabe se ele é ou não o destinatário do pacote? Muito simples, no pacote de informações está contido o endereço IP do computador destinatário. Em cada computador, o TCP/IP compara o IP de destinatário do pacote com o IP do computador, para saber se o pacote é ou não para o respectivo computador.
Situação 2: Os dois computadores não pertencem a mesma rede: Neste caso o TCP/IP envia o pacote para o Roteador (endereço do Default Gateway configurado nas propriedades do TCP/IP) e o Roteador se encarrega de fazer o pacote chegar ao seu destino. Em uma das partes deste tutorial veremos detalhes sobre como o Roteador é capaz de rotear pacotes de informações até redes distantes.
Agora a pergunta que tem a ver com este tópico:
“Como é que o TCP/IP faz para saber se o computador de origem e o computador de destino pertencem a mesma rede?”
Vamos usar alguns exemplos práticos para explicar como o TCP/IP faz isso:
Exemplo 1: Com base na figura anterior, suponha que o computador cujo IP é 10.200.150.5 (origem) queira enviar um pacote de informações para o computador cujo IP é 10.200.150.8 (destino), ambos com máscara de sub-rede igual a 255.255.255.0.
O primeiro passo é converter o número IP das duas máquinas e da máscara de sub-rede para binário. Com base nas regras que vimos anteriormente, teríamos a seguinte conversão:
Computador de origem:
10 | 200 | 150 | 5 |
00001010 | 11001000 | 10010110 | 00000101 |
Computador de destino:
10 | 200 | 150 | 8 |
00001010 | 11001000 | 10010110 | 00001000 |
Máscara de sub-rede:
255 | 255 | 255 | 0 |
11111111 | 11111111 | 11111111 | 00000000 |
Feitas as conversões para binário, vamos ver que tipo de cálculos o TCP/IP faz, para determinar se o computador de origem e o computador de destino estão na mesma rede.
Em primeiro lugar é feita uma operação “E”, bit a bit, entre o Número IP e a máscara de Sub-rede do computador de origem, conforme indicado na tabela a seguir:
10.200.150.5 | 00001010 | 11001000 | 10010110 | 00000101 | E |
255.255.255.0 | 11111111 | 11111111 | 11111111 | 00000000 | |
10.200.150.0 | 00001010 | 11001000 | 10010110 | 00000000 | Resultado |
Agora é feita uma operação “E”, bit a bit, entre o Número IP e a máscara de sub-rede do computador de destino, conforme indicado na tabela a seguir:
10.200.150.8 | 00001010 | 11001000 | 10010110 | 00001000 | E |
255.255.255.0 | 11111111 | 11111111 | 11111111 | 00000000 | |
10.200.150.0 | 00001010 | 11001000 | 10010110 | 00000000 | Resultado |
Agora o TCP/IP compara os resultados das duas operações. Se os dois resultados forem iguais, aos dois computadores, origem e destino, pertencem a mesma rede local. Neste caso o TCP/IP envia o pacote para o barramento da rede local. Todos os computadores recebem o pacote, mas somente o destinatário do pacote é que o captura e passa para processamento pelo Windows e pelo programa de destino. Como é que o computador sabe se ele é ou não o destinatário do pacote? Muito simples, no pacote de informações está contido o endereço IP do destinatário. Em cada computador, o TCP/IP compara o IP de destinatário do pacote com o IP do computador, para saber se o pacote é ou não para o respectivo computador.
É o que acontece neste exemplo, pois o resultado das duas operações “E” é igual: 10.200.150.0, ou seja, os dois computadores pertencem a rede: 10.200.150.0
Como você já deve ter adivinhado, agora vamos a um exemplo, onde os dois computadores não pertencem a mesma rede, pelo menos devido às configurações do TCP/IP.
Exemplo 2: Suponha que o computador cujo IP é 10.200.150.5 (origem) queira enviar um pacote de informações para o computador cujo IP é 10.204.150.8 (destino), ambos com máscara de sub-rede igual a 255.255.255.0.
O primeiro passo é converter o número IP das duas máquinas e da máscara de sub-rede para binário. Com base nas regras que vimos anteriormente, teríamos a seguinte conversão:
Computador de origem:
10 | 200 | 150 | 5 |
00001010 | 11001000 | 10010110 | 00000101 |
Computador de destino:
10 | 204 | 150 | 8 |
00001010 | 11001100 | 10010110 | 00001000 |
Máscara de sub-rede:
255 | 255 | 255 | 0 |
11111111 | 11111111 | 11111111 | 00000000 |
Feitas as conversões para binário, vamos ver que tipo de cálculos o TCP/IP faz, para determinar se o computador de origem e o computador de destino estão na mesma rede. Em primeiro lugar é feita uma operação “E”, bit a bit, entre o Número IP e a máscara de Sub-rede do computador de origem, conforme indicado na tabela a seguir:
10.200.150.5 | 00001010 | 11001000 | 10010110 | 00000101 | E |
255.255.255.0 | 11111111 | 11111111 | 11111111 | 00000000 | |
10.200.150.0 | 00001010 | 11001000 | 10010110 | 00000000 | Resultado |
Agora é feita uma operação “E”, bit a bit, entre o Número IP e a máscara de sub-rede do computador de destino, conforme indicado na tabela a seguir:
10.204.150.8 | 00001010 | 11001100 | 10010110 | 00001000 | E |
255.255.255.0 | 11111111 | 11111111 | 11111111 | 00000000 | |
10.204.150.0 | 00001010 | 11001100 | 10010110 | 00000000 | Resultado |
Agora o TCP/IP compara os resultados das duas operações. Neste exemplo, os dois resultados são diferentes: 10.200.150.0 e 10.204.150.0. Nesta situação o TCP/IP envia o pacote para o Roteador (endereço do Default Gateway configurado nas propriedades do TCP/IP) e o Roteador se encarrega de fazer o pacote chegar a rede do computador de destino. Em outras palavras o Roteador sabe entregar o pacote para a rede 10.204.150.0 ou sabe para quem enviar (um outro roteador), para que este próximo roteador possa encaminhar o pacote. Este processo continua até que o pacote seja entregue na rede de destino ou seja descartado, por não ter sido encontrada uma rota para a rede de destino.
Observe que, na figura anterior, temos dois computadores que, apesar de estarem fisicamente na mesma rede, não conseguirão se comunicar devido a um erro de configuração na máscara de sub-rede de um dos computadores. É o caso do computador 10.200.150.4 (com máscara de sub-rede 255.255.250.0). Como este computador está com uma máscara de sub-rede diferente dos demais computadores da rede (255.255.255.0), ao fazer os cálculos, o TCP/IP chega a conclusão que este computador pertence a uma rede diferente, o que faz com que ele não consiga se comunicar com os demais computadores da rede local.
Conclusão
Nesta dica foi apresentado aspectos relacionados com números binários e aritmética binária básica. Também foi mostrado como o protocolo TCP/IP usa os correspondentes binários do Número IP e da máscara de sub-rede, juntamente com uma operação “E”, para determinar se dois computadores estão na mesma rede ou não. Com base nestes cálculos, o TCP/IP encaminha os pacotes de informação de maneiras diferentes.
Espero ter ajudado e até a próxima dica !!!!!!!!!!!!!