Redes - Como o TCP/IP usa a máscara de sub-rede
Autor: blog do conhecimento - Professor Rone Carvalho | Publicado: 2011-11-19T15:03:00-08:00

Galera,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;foi apresentado aspectos relacionados com números  binários e aritmética binária básica. Também&nbsp;foi mostrado&nbsp;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 !!!!!!!!!!!!!