You are on page 1of 8

Tutorial de TCP/IP Parte 2 de 12.

Introduo
Na Primeira Parte deste tutorial apresentei o protocolo TCP/IP e qual o seu papel em uma rede de computadores. Nesta segunda parte apresentarei os princpios bsicos do sistema de numerao binrio. Tambm mostrarei como realizar clculos simples e converses de Binrio para Decimal e vice-versa. Feita a apresentao das operaes bsicas com nmeros binrios, veremos como o TCP/IP atravs de clculos binrios e, com base na mscara de sub-rede (subnet mask), determina se dois computadores esto na mesma rede ou fazem parte de redes diferentes.

Sistema de numerao binrio


Vou iniciar falando do sistema de numerao decimal, para depois fazer uma analogia ao apresentar o sistema de numerao binrio.Todos nos conhecemos o sistema de numerao decimal, no qual so baseados os nmeros que usamos no nosso dia-a-dia, como por exemplo: 100, 259, 1450 e assim por diante. Voc j parou para pensar porque este sistema de numerao chamado de sistema de numerao decimal? No? Bem, a resposta bastante simples: este sistema baseado em dez dgitos diferentes, por isso chamado de sistema de numerao decimal. Todos os nmeros do sistema de numerao decimal so escritos usando-se uma combinao dos seguintes dez dgitos: 0 1 2 3 4 5 6 7 8 9

Dez dgitos -> Sistema de numerao decimal. Vamos analisar como determinado o valor de um nmero do sistema de numerao decimal. Por exemplo, considere o seguinte nmero: 4538 O valor deste nmero formado, multiplicando-se os dgitos do nmero, de trs para frente, por potncias de 10, comeando com 10. O ltimo dgito (bem direita) multiplicado por 10, o penltimo por 101, o prximo por 102 e assim por diante. o valor real do nmero a soma destas multiplicaes. Observe o esquema a seguir que ser bem mais fcil de entender: 4
Multiplica por: ou seja: Resultado: Igual a: 103 1000 4 x 1000 4000

5
102 100 5 x 100 500

3
101 10 3 x 10 30

8
10 1 8 x 1 8

Somando tudo: igual a: Observe que 4538 significa exatamente: 4 milhares (103) + 5 centenas (102) + 3 dezenas (101) + 8 unidades (100)

4000+500+30+8 4538

E assim para nmeros maiores teramos potncias 104, 105 e assim por diante. Observe que multiplicando cada dgito por potncias de 10, obtemos o nmero original. Este princpio aplicado ao sistema de numerao decimal vlido para qualquer sistema de numerao. Se for o sistema de numerao Octal (baseado em 8 dgitos), multiplica-se por potncias de 8: 8, 81, 82 e assim por diante. Se for o sistema Hexadecimal (baseado em 10 dgitos e 6 letras) multiplica-se por potncias de 16, s que a letra A equivale a 10, j que no tem sentido multiplicar por uma letra, a letra B equivale a 11 e assim por diante. Bem, por analogia, se o sistema decimal baseado em dez dgitos, ento o sistema binrio deve ser baseado em dois dgitos? Exatamente. Nmeros no sistema binrios so escritos usando-se apenas os dois seguintes dgitos: 0 1

Isso mesmo, nmeros no sistema binrio so escritos usando-se apenas zeros e uns, como nos exemplos a seguir: 01011100 11011110 00011111 Tambm por analogia, se, no sistema binrio, para obter o valor do nmero, multiplicamos os seus dgitos, de trs para frente, por potncias de 10, no sistema binrio fizemos esta mesma operao, s que baseada em potncias de 2, ou seja: 20, 21, 22, 23, 24 e assim por diante. Vamos considerar alguns exemplos prticos. Como fao para saber o valor decimal do seguinte nmero binrio: 11001110 Vamos utilizar a tabelinha a seguir para facilitar os nossos clculos: 1
Multiplica por: 27 equivale a: 128 Multiplicao: 1x128 Resulta em: 128 Somando tudo: Resulta em:

20
1 0x1 0

64 1x64 64

32 16 8 4 0x32 0x16 1x8 1x4 0 0 8 4 128+64+0+0+8+4+2+0 206

2 1x2 2

Ou seja, o nmero binrio 11001110 equivale ao decimal 206. Observe que onde temos um a respectiva potncia de 2 somada e onde temos o zero a respectiva potncia de 2 anulada por ser multiplicada por zero. Apenas para fixar um pouco mais este conceito, vamos fazer mais um exemplo de converso de binrio para decimal. Converter o nmero 11100010 para decimal: 1
Multiplica por: 2 equivale a: 128 Multiplicao: 1x128 Resulta em: 128 Somando tudo: Resulta em:
7

20
1 0x1 0

64 1x64 64

32 16 8 4 1x32 0x16 0x8 0x4 32 0 0 0 128+64+32+0+0+0+2+0 226

2 1x2 2

Converter decimal para binrio:


Bem, e se tivssemos que fazer o contrrio, converter o nmero 234 de decimal para binrio, qual seria o binrio equivalente?? Nota: Nos exemplos deste tutorial vou trabalhar com valores de, no mximo, 255, que so valores que podem ser representados por 8 dgitos binrios, ou na linguagem do computador 8 bits, o que equivale exatamente a um byte. Por isso que cada um dos quatro nmeros que fazem parte do nmero IP, somente podem ter um valor mximo de 255, que um valor que cabe em um byte, ou seja, 8 bits. Existem muitas regras para fazer esta converso, eu prefiro utilizar uma bem simples, que descreverei a seguir e que serve perfeitamente para o propsito deste tutorial. Vamos voltar ao nosso exemplo, como converter 234 para um binrio de 8 dgitos? Eu comeo o raciocnio assim. Primeiro vamos lembrar o valor de cada dgito: 128 64 32 16 8 4 2 1

Lembrando que estes nmeros representam potncias de 2, comeando, de trs para frente, com 2 0, 21, 22 e assim por diante, conforme indicado logo a seguir: 128 27 64 26 32 25 16 24 8 23 4 22 2 21 1 20

Pergunto: 128 cabe em 234? Sim, ento o primeiro dgito 1. Somando 64 a 128 passa de 234? No, d 192, ento o segundo dgito tambm 1. Somando 32 a 192 passa de 234? No, d 224, ento o terceiro dgito tambm 1. Somando 16 a 224 passa de 234? Passa, ento o quarto dgito zero. Somando 8 a 224 passa de 234? No, da 232, ento o quinto dgito 1. Somando 4 a 232 passa de 234? Passa, ento o sexto dgito zero. Somando 2 a 232 passa de 234? No, d exatamente 234, ento o stimo dgito 1. J cheguei ao valor desejado, ento todos os demais dgitos so zero. Com isso, o valor 234 em binrio igual a:

11101011
Para exercitar vamos converter mais um nmero de decimal para binrio. Vamos converter o nmero 144 para decimal. Pergunto: 128 cabe em 144? Sim, ento o primeiro dgito 1. Somando 64 a 128 passa de 144? Sim, d 192, ento o segundo dgito 0. Somando 32 a 128 passa de 144? Sim, d 160, ento o terceiro dgito tambm 0. Somando 16 a 128 passa de 144? No, d exatamente 144, ento o quarto dgito 1. J cheguei ao valor desejado, ento todos os demais dgitos so zero. Com isso, o valor 144 em binrio igual a:

10010000
Bem, agora que voc j sabe como converter de decimal para binrio, est em condies de aprender sobre o operador E e como o TCP/IP usa a mscara de sub-rede (subnetmask) e uma operao E, para verificar se duas mquinas esto na mesma rede ou no.

O Operador E:
Existem diversas operaes lgicas que podem ser feitas entre dois dgitos binrios, sendo as mais conhecidas as seguintes: E, OU, XOR e NOT. Para o nosso estudo interessa o operador E. Quando realizamos um E entre dois bits, o resultado somente ser 1, se os dois bits forem iguais a 1. Se pelo menos um dos bits for igual a zero, o resultado ser zero. Na tabela a seguir temos todos os valores possveis da operao E entre dois bits: bit-1 bit-2 (bit-1) E (bit-2) 1 1 1 1 0 0 0 1 0 0 0 0

Como o TCP/IP usa a mscara de sub-rede:


Considere a figura a seguir, onde temos a representao de uma rede local, ligada a uma outras redes atravs de um roteador.

IP: 10.200.150.1 Subnet: 255.255.255.0

IP: 10.200.150.2 Subnet: 255.255.255.0

IP: 10.200.150.3 Subnet: 255.255.255.0

IP: 10.200.150.4 Subnet: 255.255.250.0

IP: 10.200.150.5 Subnet: 255.255.255.0

IP: 10.200.150.6 Subnet: 255.255.255.0

Roteador
IP: 10.200.150.1 Subnet: 255.255.255.0

IP: 10.200.150.8 Subnet: 255.255.255.0

Modem

WAN DA EMPRESA

Temos uma rede que usa como mscara de sub-rede 255.255.255.0 (uma rede classe C, mas ainda no abordamos as classes de redes, o que ser feito na Parte 3 deste tutorial). A rede a 10.200.150, ou seja, todos os equipamentos da rede tem os trs primeiras partes do nmero IP como sendo: 10.200.150. Veja que existe uma relao direta entre a mscara de sub-rede a quantas das partes do nmero IP so fixas, ou seja, que definem a rede, conforme foi descrito na Parte 1 deste tutorial. A rede da figura anterior uma rede das mais caractersticas, onde existe um roteador ligado rede e o roteador est conectado a um Modem, atravs do qual feita a conexo da rede local com a rede WAN da empresa. Nas prximas partes deste tutorial vou detalhar a funo do roteador e mostrarei como funciona o roteamento entre redes.

Como o TCP/IP usa a mscara de sub-rede e o roteador:


Quando dois computadores tentam trocar informaes em uma rede, o TCP/IP precisa, primeiro, calcular se os dois computadores pertencem a mesma rede ou a redes diferentes. Neste caso podemos ter duas situaes distintas: Situao 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 destinatrio do pacote que o captura e passa para processamento pelo Windows e pelo programa de destino. Como que o computador sabe se ele ou no o destinatrio do pacote? Muito simples, no pacote de informaes est contido o endereo IP do destinatrio. Em cada computador, o TCP/IP compara o IP de destinatrio do pacote com o IP do computador, para saber se o pacote ou no para o respectivo computador. Situao 2: Os dois computadores no pertencem a mesma rede: Neste caso o TCP/IP envia o pacote para o Roteador (endereo do Default Gateway configurado nas propriedades do TCP/IP) e o Roteador se encarrega de fazer o pacote chegar atravs do destino. Em uma das partes deste tutorial veremos detalhes sobre como o Roteador capaz de rotear pacotes de informaes at redes distantes. Agora a pergunta que tem a ver com este tpico: 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 prticos 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 informaes para o computador cujo IP 10.200.150.8 (destino), ambos com mscara de sub-rede igual a 255.255.255.0. O primeiro passo converter o nmero IP das duas mquinas e da mscara de sub-rede para binrio. Com base nas regras que vimos anteriormente, teramos a seguinte converso: Computador de origem: 10 00001010 200 11001000 150 10010110 5 00000101

Computador de destino: 10 00001010 Mscara de sub-rede: 255 11111111 255 11111111 255 11111111 0 00000000 200 11001000 150 10010110 8 00001000

Feitas as converses para binrio, vamos ver que tipo de clculos o TCP/IP faz, para determinar se o computador de origem e o computador de destino esto na mesma rede. Em primeiro lugar feita uma operao E, bit a bit, entre o Nmero IP e a mscara de Sub-rede do computador de origem, conforme indicado na tabela a seguir: 10.200.150.5 255.255.255.0 10.200.150.0 00001010 11111111 00001010 11001000 11111111 11001000 10010110 11111111 10010110 00000101 00000000 00000000

E
Resultado

Agora feita uma operao E, bit a bit, entre o Nmero IP e a mscara de sub-rede do computador de destino, conforme indicado na tabela a seguir: 10.200.150.8 255.255.255.0 10.200.150.0 00001010 11111111 00001010 11001000 11111111 11001000 10010110 11111111 10010110 00001000 00000000 00000000

E
Resultado

Agora o TCP/IP compara os resultados das duas operaes. 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 destinatrio do pacote que o captura e passa para processamento pelo Windows e pelo programa de destino. Como que o computador sabe se ele ou no o destinatrio do pacote? Muito simples, no pacote de informaes est contido o endereo IP do destinatrio. Em cada computador, o TCP/IP compara o IP de destinatrio do pacote com o IP do computador, para saber se o pacote ou no para o respectivo computador. o que acontece neste exemplo, pois o resultado das duas operaes 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 no pertencem a mesma rede, pelo menos devido s configuraes do TCP/IP. Exemplo 2: Suponha que o computador cujo IP 10.200.150.5 (origem) queira enviar um pacote de informaes para o computador cujo IP 10.204.150.8 (destino), ambos com mscara de subrede igual a 255.255.255.0. O primeiro passo converter o nmero IP das duas mquinas e da mscara de sub-rede para binrio. Com base nas regras que vimos anteriormente, teramos a seguinte converso:

Computador de origem: 10 00001010 200 11001000 150 10010110 5 00000101

Computador de destino: 10 00001010 Mscara de sub-rede: 255 11111111 255 11111111 255 11111111 0 00000000 204 11001100 150 10010110 8 00001000

Feitas as converses para binrio, vamos ver que tipo de clculos o TCP/IP faz, para determinar se o computador de origem e o computador de destino esto na mesma rede. Em primeiro lugar feita uma operao E, bit a bit, entre o Nmero IP e a mscara de Sub-rede do computador de origem, conforme indicado na tabela a seguir: 10.200.150.5 255.255.255.0 10.200.150.0 00001010 11111111 00001010 11001000 11111111 11001000 10010110 11111111 10010110 00000101 00000000 00000000

E
Resultado

Agora feita uma operao E, bit a bit, entre o Nmero IP e a mscara de sub-rede do computador de destino, conforme indicado na tabela a seguir: 10.204.150.8 255.255.255.0 10.204.150.0 00001010 11111111 00001010 11001100 11111111 11001100 10010110 11111111 10010110 00001000 00000000 00000000

E
Resultado

Agora o TCP/IP compara os resultados das duas operaes. Neste exemplo, os dois resultados so diferentes: 10.200.150.0 e 10.204.150.0. Nesta situao o TCP/IP envia o pacote para o Roteador (endereo do Default Gateway configurado nas propriedades do TCP/IP) e o Roteador se encarrega de fazer o pacote chegar atravs do 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 prximo roteador possa encaminhar o pacote. Este processo continua at que o pacote seja entregue na rede de destino. Observe que, na figura anterior, temos dois computadores que, apesar de estarem fisicamente na mesma rede, no conseguiro se comunicar devido a um erro de configurao na mscara de subrede de um dos computadores. o caso dos computador 10.200.150.4 (com mscara de sub-rede 255.255.250.0). Como este computador est com uma mscara de sub-rede diferente dos demais computadores da rede (255.255.255.0), ao fazer os clculos, o TCP/IP chega a concluso que este computador pertence a uma rede diferente, o que faz com que ele no consiga se comunicar com os demais computadores da rede local.

Concluso.
Neste segunda parte do tutorial de TCP/IP, apresentei aspectos relacionados com nmeros binrios e aritmtica binria bsica. Tambm mostrei como o protocolo TCP/IP usa os correspondentes binrios do Nmero IP e da mscara de sub-rede, juntamente com uma operao E, para determinar se dois computadores esto na mesma rede ou no. Com base nestes clculos, o TCP/IP encaminha os pacotes de informao de maneiras diferentes. No esquea de consultar os endereos a seguir para aprofundar os estudos de TCP/IP:
http://www.juliobattisti.com.br/tcpip.asp http://www.guiadohardware.info/tutoriais/enderecamento_ip/index.asp http://www.guiadohardware.info/curso/redes_guia_completo/22.asp http://www.guiadohardware.info/curso/redes_guia_completo/23.asp http://www.guiadohardware.info/curso/redes_guia_completo/28.asp http://www.aprendaemcasa.com.br/tcpip1.htm http://www.aprendaemcasa.com.br/tcpip2.htm (estes endereos vo at o tcpip33.htm, sendo um curso gratuito OnLine sobre TCP/IP no Windows 2000). http://www.vanquish.com.br/site/020608 http://unsekurity.virtualave.net/texto1/texto_tcpip_basico.txt http://unsekurity.virtualave.net/texto1/tcpipI.txt http://www.rota67.hpg.ig.com.br/tutorial/protocolos/amfhp_tcpip_basico001.htm http://www.rota67.hpg.ig.com.br/tutorial/protocolos/amfhp_tcpip_av001.htm http://www.geocities.com/ResearchTriangle/Thinktank/4203/doc/tcpip.zip

Na parte 3 deste tutorial falarei sobre os aspectos bsicos do endereamento IP, tais como a diviso em classes e o conceito de roteamento. Aproveite para ir aprimorando os seus conhecimentos sobre TCP/IP, com os links indicados no endereo: http://www.juliobattisti.com.br/tcpip.asp, pois estes conhecimentos sero muito importantes para os exames de Certificao do Windows 2000 Server e do Active Directory 70216.