SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Tutorial sobre TCP/IP

TCP:Transmission Control Protocol
IP: Internet Protocol



Protocolos: Simplesmente um conjunto de regras bem definidas que definem uma acao a ser executada
(parece definicao de algoritmo mas na verdade pode ate ser encarado como um). Assim, protocolos em
computacao, e em especial a redes, define como computadores podem se comunicar entre si.

         Todo computador conectado em rede necessita de uma identificacao, sendo assim, já de posse
dessa identificacao, o protocolo tem por papel primordial estabelecer a conexao mais confiavel e
duradoura possivel entre computadores. Dessa forma, se define: como enviar e receber e-mails, como me
identifico a outro computador, quanto tempo devo esperar para que você me envie um conjunto de
informacoes, com que intervalo um conjunto de informacoes deve ser espacado a fim de se obter a
conexao mais confiavel possivel, como começar e como terminar uma conexao, etc.

Intranet: Intranet é o novo conceito para redes de acesso discado mas não vinculado diretamente ao que
conhecemos como Internet. Tal como um provedor de acesso à Internet, a Intranet conecta clientes a suas
redes corporativas internas. Encare uma Intranet como servidora dela mesma, ou seja, voce pode acessa-la
sem mesmo ter uma conta com um provedor Internet, contudo, o acesso limita-se apenas a rede privada e,
de forma alguma, voce poderia, por exemplo, visitar paginas em outros locais alem da qual foi pre-
programada pela empresa. As diferenças residem ai, no resto, temos todas as caracteristicas de uma rede
qualquer: serviços WWW, ftp e o que mais a empresa venha a necessitar para atender seus clientes. Um
bom exemplo a dar a respeito é sobre os serviços de Home Banking do Banco Itau (Isso não é propaganda
heim?); você conecta-se, por acesso discado, do seu modem, a rede interna de servicos privados do Banco
Itau e usufrui dos servicos de um caixa on-line.

Extranet: Extranet é uma variante da Intranet, ou seja, podemos defini-la como sendo uma interligação
entre Intranets por meio da Internet. Dessa forma, uma Intranet pode se comunicar a outra bastando
apenas a sua interligacao por meio da Internet o que, nesse caso, envolveria um provedor de acesso
discado. Pense comigo: uma empresa com varias filiais precisando de comunicação urgente com uma
outra localizada a varios milhares de quilometros; a comunicacao por acesso puramente discado, Intranet
a Intranet seria inviável; usa-se, então, um provedor de acesso local para a interligação entre as duas
filiais.


Introdução

         Ao contrario do que muita gente possa pensar, TCP/IP nao é o unico protocolo utilizado em
comunicao em redes, tanto é que ao mesmo nivel de um IP, por exemplo, existe o x.25 e, ao TCP, o UDP.
E algo mais que algumas pessoas possam fazer confusao é a respeito do que cada um faz, ou seja, TCP
define um papel um tanto diferente do IP e vice-versa, cada qual com um papel especifico mas com
sobrevivencia mutua e sempre "ajudado" por protocolos semelhantes. Na realidade podemos ate mesmo
estudar os dois protocolos separadamente.

        O TCP/IP foi adotado como padrao em todo mundo como meio de comunicacao com a Internet.
Algumas empresas podem implementar seus proprios protocolos de comunicacao em redes internas, se
quiserem, mas para a comunicacao com a Internet deverao adaptar seus equipamentos a fim de operar em
TCP/IP.
O TCP/IP foi primeiramente desenvolvido como um projeto particular que atendesse aos
servicos do Governo Americano em especial as Forcas Armadas. No tempo da Guerra Fria, nao era
possivel um nivel de comunicao satisfatorio entre bases comandadas, entao foi necessario a criacao de um
nivel de transmissao de informacoes mais adequado. Logicamente existiam as transmissoes puramente
fisicas com dados trafegando por meio de pulsos eletricos tal qual um barramento transfere dados entre
perifericos. Pensar em algo como isso naqueles tempos era no minimo ridiculo. Como me comunicar
dessa forma com uma base militar a algumas centenas ou milhares de quilometros? Levando em conta
alguns conceitos de eletronica, o sinal se perderia ou se anularia facilmente nesse meio, os fios.

         Mesmo levando em conta que fosse possivel tal meio de comunicao, as informacoes nao sao
enviadas como em um protcolo por TCP/IP, ou seja, por pacotes. É tudo enviado de uma vez so. Se a
transmissao por algum motivo fosse interrompida todo o processo iria falhar e a informacao nao chegaria
ao destino final. Desastroso.

         Alem de permitir uma conexao mais confiavel em redes, o TCP/IP permitia transmissoes bem
mais arrojadas do que aquelas realizadas em modo puramente fisico, ou seja, unicamente por transmissao
em pulsos. Assim, uma transmissao puramente fisica so poderia ser realizada somente por dois usuarios
por vez e se se quisesse enviar mais informacoes a outros computadores nao seria possivel ou entao
deveria-se fechar uma das conexoes para que a informação pudesse chegar em dois locais. Levando em
conta que naquele tempo a comunicacao era primordial entre varios lugares ao mesmo tempo, esse modo
de transmissao nao era o mais indicado. Pelo TCP/IP (outros protocolos permitiam isso tambem) era
possivel comunicacao entre vários computadores ao mesmo tempo e isso atendia as pretensoes da epoca.

        Nesse tempo, os cientistas tiveram a ideia de transmissao por pacotes, ou seja, somente partes da
informacao que deveria ser transmitida seriam enviadas. Assim, uma mensagem nao corria o risco de se
perder no meio da transmissao e mesmo uma conexao mal realizada nao seria de toda inutil.

         Bem ,alguem poderia estar se perguntando: "Tudo bem, entendi o que você quis dizer, mas se se
usa qualquer protocolo para meios de comunicao atraves de pacotes segmentados, isso tambem implica
um meio fisico de transmissao e nesse meios os dados trafegam normalmente como pulsos eletricos
tambem." -- Ok, você esta certo, nao ha diferencas em como a informação chega ao destino, ha sim no
modo como ela é enviada. Como sera explicado mais adiante, o IP segmenta a informação em varios
pacotes e esse pacotes sao tratados meramente como pulsos eletricos quando transmitidos e quando
chegam ao computador destino, mas o TCP (o responsavel pelo recebimento) implementa um metodo
seguro de transmissao, isso porque se o que se queria ser enviado nao chegou ao destino de forma
completa, uma nova conexao pode ser restabelecida sem prejuizo do que já havia sido feito.

         Creio que você já deve ter ouvido falar no GetRight nao? Otimo programa. Isso seria um bom
exemplo para dar a você: quando uma conexao termina por qualquer motivo com o meio de origem, o que
envia os dados, uma nova conexo pode ser estabelecida sem prejuizo dos dados que estavam sendo
recebidos, ou seja, pode ser reinicializada de onde se parou sem problemas. Assim funciona o meio de
transmissao de pacotes e acho que você já pegou o espirito da coisa sobre a importancia desse protocolo.

         O protocolo TCP/IP implantou um novo conceito arrojado no modo de transmissao mundial
entre redes mesmo as heterogeneas (Sistemas Operacionais diferentes) e qualquer Sistema que tenha por
pretensao conectar o usuario em rede mundial Internet deve ter tais protocolos instalados Bom, era isso
que eu queria falar a você como introducao. Agora vamos a parte tecnica da coisa.


Conceitos Técnicos

         Antes de comecar, um esclarecimento: Um provedor de acesso a internet funciona por concessao
de uma outra grande rede maior. Assim, seu provedor nada mais é do que uma rede conectada a outra
maior e você, quando conectado ao seu provedor e fazendo parte dele como um host, é um micro-host em
toda a essa rede maior. Essa grande rede maior é chamada de backbone (espinha-dorsal em ingles) e é
nela onde estao conectadas as redes menores que oferecem servicos, as provedoras. É o nivel mais alto
das redes. Os backbones nacionais sao: RNP, Embratel, Unysis, Global One, IBM e Banco Rural. Creio
que sao os unicos ate o momento. Esse sao os de nivel mais alto no Brasil, mas existem os backbones
estaduais tambem (na realidade podem ser considerados como centros de roteamento aos backbones
nacionais): ANSP - SP; Rede Bahia - BA; Rede Catarinense - SC; Rede Internet Minas - MG; Rede
Paraibana de Pesquisa - PB; Rede Rio - RJ; Rede Pernambuco de Informática - PE; Rede Norte-
riograndense de Informática - RN e Rede Tchê - RS.

          Sendo assim, a sua provedora é seu backbone pessoal, que se liga ao backbone do estado onde
esta localizada que por sua vez é conectada ao de maior nivel, os backbones nacionais. Se seu estado nao
possui backbone provavelmente sua provedora utiliza um backbone de outro estado ou entao de algum
instituto de tecnologia proprio que possa fazer pelo menos um roteamento satisfatorio.

         Quando estabelecemos uma comunicacao com nosso provedor de acesso a internet, por exemplo,
nos é atribuido um numero de identificacao na rede. Esse numero de identificacao é o IP. Um numero IP
nada mais é do um numero de 32 bits segmentado em quatro partes, portanto com oito bits, formando um
byte. Ao total teriamos 4 bytes. Se voce recebe por exemplo 11001000.11111001.11011111.1110010 esse
numero define voce no mundo inteiro, ou seja, seu computador é unico na internet naquele momento e
voce é perfeitamente identificado por ele. Assim como um numero de telefone, não existem dois numeros
IP conectados ao mesmo tempo a não ser, obvio, que seja pertencente a uma rede interna (que não possua
acesso a Internet).

          Algo interessante a se dizer sobre essa identificacao é que, como foi dito, sao um conjunto de bits
e como tal é representado por numeros binarios. O mesmo numero acima traduzido para tabela decimal
ficaria: 200.249.223.114. Isso é importante notar, porque um numero como esse nao é dado a voce em
formato decimal mas sim binario e depois convertido gracas ao servidor ou servidores DNS. Outra coisa
interessante a ser dita a respeito é que numeros IP nunca ultrapassam o patamar de numero 256. Assim,
voce nunca ira ver nada como 200.286, isso não é possivel. Simplesmente porque a tabela de conversao
atinge somente 256 possibilidades numericas (de 0 a 255). Portanto, o maximo que voce ira ver sera 255
como numero identificador de um dos segmentos do quarteto decimal. Na realidade poderiamos dizer 253
possibilidades porque o numero 0 eh destinado a processos especiais e 255 não pode ser atribuido a
numeros IP de hosts, eles possuem outra finalidade (a mascara de sub-rede). Maiores detalhes sobre isso
na secao "HIERARQUIA DE REDES".

          Outro fato que eu acredito muitas pessoas facam confusao é a respeito do host. Um host nada
mais é do que um computador conectado em rede (em uma rede interna ele tambem pode ser chamado de
nó). Vamos citar um exemplo de provedora, a ELOGICA. Quando voce disca para la e você é conectado,
eles te fornecem um numero IP, ok. Para a ELOGICA voce nada mais é do que um computador
conectado na rede dela, meramente um numero de identificacao.

         Como identifico um host? simples. Um endereco IP é dividido em duas partes: uma destinada a
identificao da rede e a outra identificando o host, ou seja o micro que pertence a essa rede e se conectou a
ela. Voltando ao exemplo acima: se nos temos 200.249.223.114 os dois primeiros bytes desse numero
(lembre-se da definicao mais acima, para nao ficar perdido) sao destinados a rede, entao: 200.249 é a rede
a qual me conectei. Ok. Os outros dois ultimos bytes definem o host: 223.114. Entao, para ficar facil, eu
sou um micro chamado de host com identificacao 223.114 conectado na rede 200.249.

         Mais outra coisa deve ser dita: acho que voce já ouviu falar em sub-rede, claro. Pois é, uma sub-
rede nada mais é do que uma rede hierarquicamente inferior em relacao a uma rede maior. Geralmente, os
numeros que identificam a sub-rede sao referidos ao terceiro byte da cadeia do IP, assim o mesmo
numero 200.249.223.114 pode definir uma sub-rede de identificacao 223. Como voce pode ver, uma rede
pode ter varias sub-redes menores cada uma interdependente entre si mas dependente em relacao a rede
maior.

(*Esse conceito de identificacao de sub-redes envolve detalhes maiores e voce ira obter melhores
informacoes na secao "HIERARQUIA DE REDES"*)

         Voltando ao exemplo da ELOGICA: ela possui varias sub-redes cada uma com um papel
diferente mas de importancia suma dentro de toda a rede. Para a ELOGICA foi concedido o numero
200.249.XXX como identificador da rede em geral. Dentro dessa rede maior, a ELOGICA criou varios
outros departamentos menores cada um com um servico especifico. Assim, poderiamos ter 200.249.223;
200.249.238; 200.249.219; 200.249.218, etc. Cada uma dessas sub-redes com uma funcao especifica. Se
você por exemplo, se conecta a rede e recebe: 200.249.219.15 entao voce é um host de numero 15 dentro
da sub-rede 219 na rede 200.249.

(*Infelizmente desconheco o menor e o maior nivel de rede concedido a ELOGICA porque, como eh uma
rede classe C, apenas o segundo byte não informa a sub-rede verdadeira. Assim outras redes tambem
podem ter 200.249.XXX como identificador, o que vai diferenciar ai seria o terceiro byte, justamente o
que define uma rede dessa classe.*)

          O conjunto de sub-redes da ELOGICA segue abaixo:

    •   200.249.238.2 bbs.ELOGICA.com.br
    •   200.249.238.3 PE.ELOGICA.com.br
    •   200.249.238.4 ceiun01.ELOGICA.com.br
    •   200.249.238.9 irc.ELOGICA.com.br
    •   200.249.238.11 os390.ELOGICA.com.br
    •   200.249.238.15 dominus.ELOGICA.com.br
    •   200.249.238.16 oxente.ELOGICA.com.br
    •   200.249.238.17 clovis.ELOGICA.com.br.238.249.200.in-addr.arpa
    •   200.249.238.18 host238-18.ELOGICA.com.br
    •   200.249.238.19 host238-19.ELOGICA.com.br

         Observe que os servidores principais se concentram na sub-rede 238. Isso nao significa que um
host de um usuario nao possa entrar e ser identificado como pertencente a sub-rede 238. De fato, esses
sao enderecos fixos e pertencem aos servidores que atendem servicos tais como o IRC mais acima ou o de
e-mail (se nao me engano o responsavel ai seria o ceiun01). Mas observe que mais abaixo (os dois
ultimos hosts) encontramos numeros de hosts comuns, ou seja, sao de usuarios conectados no momento.
         Um outro exemplo:

    •   200.249.223.1 host223-1.ELOGICA.com.br
    •   200.249.223.2 host223-2.ELOGICA.com.br
    •   200.249.223.3 host223-3.ELOGICA.com.br
    •   200.249.223.4 host223-4.ELOGICA.com.br
    •   200.249.223.5 host223-5.ELOGICA.com.br
    •   200.249.223.6 host223-6.ELOGICA.com.br
    •   200.249.223.7 host223-7.ELOGICA.com.br
    •   200.249.223.8 host223-8.ELOGICA.com.br
    •   200.249.223.9 host223-9.ELOGICA.com.br
    •   200.249.223.10 host223-10.ELOGICA.com.br
    •   200.249.223.11 host223-11.ELOGICA.com.br
    •   200.249.223.12 host223-12.ELOGICA.com.br

        Nessa sub-rede de agora, a 223 nao ouve nenhum servidor anunciado, apenas usuarios
conectados. Outras sub-redes foram verificadas mas nao houve nenhuma nova inclusao de servidores,
parece que todo o servico se concentra na sub-rede 238. De fato, como sera visto no proximo capitulo,
sub-redes superiores a 224 são destinadas a servicos especiais e ficam destinadas aos servidores.




Hierarquia de Redes

         Como havia dito antes, a ELOGICA não obteve um numero de rede do nada. A ela foi concedido
um numero de rede que é: 200.249.XXX. O fato de ter colocado os caracteres X é porque a ELOGICA
não é única no mundo com identificacao 200.249. De fato, assim como ela, a NETPE (uma outra
provedora aqui de PE) tambem recebeu 200.249 como identificacao. Ambas são redes classe C e são
varias pelo mundo. O que vai diferenciar as duas sera o terceiro byte da cadeia do IP. Uma organização
mundial chamada IETF (Internet Engineering Task Force, ou Força Tarefa de Engenharia da Internet)
eh quem outorga esses numeros a quem a solicita.

        As redes são divididas hierarquicamente no mundo, assim nos temos rede de maior tamanho e
aquelas menores. Essa definicao de maior ou menor atende o simples fato da possibilidade de um numero
maior ou menor de hosts conectados. Assim nos temos: Redes classe A, B e C.

          Redes classe A: São as redes de maior numero de hosts conectados e somente pouquissimos
orgaos ao redor do mundo possuem o privilegio de possuir um endereco de rede situado na classe A
(diga-se de passagem, não existem mais enderecos dessa classe disponiveis a novos cadastros, a não ser
que alguem se descadastre). De fato, não eh qualquer organizacao no mundo que possui esse privilegio e
eh apenas concedido a Universidades e organismos Governamentais. A quantidade de enderecos
disponiveis a esse nivel é pequena, atinge numeros de 1 a 126. Observe que não utilizei os caracteres X
pra identificar um outro nivel, isso não eh necessario em classes do tipo A, porque o primeiro byte jah eh
suficiente para a identificacao de toda a rede. Já deu pra perceber portanto que essas redes são muito
poucas mas atende o maior numero possivel de hosts conectados: 16.777.215. No mundo inteiro somente
existe 126 redes classe A com demanda de aproximadamente 16 milhoes de hosts. Entao nos poderiamos
ter: 1.0.0.1 ate 126.255.255.254. Esses dezesseis milhoes de hosts reflete o numero de possibilidades
possiveis entre os tres ultimos bytes do quarteto. Assim, se fizermos uma analise combinatoria desses
termos chegariamos no numero em questao. Bom, uma pergunta poderia surgir: "Ok, redes desse tipo são
realmente grandes mas não entendi como ficou essa ultima parte, e quanto aos outros enderecos? Por que
não foram incluidos? - Os outros enderecos de rede não foram incluidos poque são o resultado da analise
combinatoria entre os outros possiveis hosts. Levando em conta que possuimos ainda os tres ultimos
bytes da cadeia do IP, teriamos 256 possibilidades diferentes em um byte da cadeia do IP.

         Se temos 256 possibilidades entre cada um dos tres ultimos bytes da cadeia do IP entao faca o
seguinte: eleve 256 ao cubo. O que voce vai obter é exatamente 16.777.216 como resultado. Uma
pergunta interessante poderia surgir: "Certo, mas em outra parte do tutorial voce afirma que o numero 0 e
o 255 não podem ser atribuidos a numeros IP porque possuem outras funcoes" - Não eh bem assim. O que
afirmei eh que numeros de hosts não podem ter esses numeros e quando me refiro a host me refiro a um
micro conectado e não um servidor de rede. Dessa forma, uma rede pode se utilizar de todas as
possibilidades desde que não seja atribuido aqueles valores a hosts.

         Rede tipo B: Essas são as redes intermediarias e possuem enderecos de rede de 128 a 16.384.
Redes desse tipo são identificadas pelos dois primeiros bytes. São possiveis portanto um numero de redes
dessa classe da ordem de 16.256. Faca as contas: se voce já sabe que a rede ira comecar em 128 e
terminara em 191 (o proximo nivel da hierarquia das redes começara em 192) , basta subtrair 128 de 192,
o resultado voce multiplica por 256. Assim, voce ira obter 16.384. Por exemplo: o resultado que voce
obteve foi 64 jah que o primeiro byte do nivel iria de 128 a 192 e o segundo de 0 a 255. Assim, como
exemplo, poderiamos ter: 128.0.0.1 ate 191.255.255.254. O numero de hosts disponiveis nessa classe eu
acho que voce já sabe como calcular: 256 elevado ao quadrado (são os dois ultimos bytes restantes).
Teriamos entao 65.536. Esse é o numero possivel de hosts conectados nessa classe. No mundo temos
entao 16.256 redes classe B com um maximo de 65.536 hosts conectados.

         Uma pergunta poderia surgir: "Voce comecou a contar esta rede a partir de 128, a rede anterior
não terminou em 126? Onde esta o numero 127?" - O numero 127 não se destina a identificar redes
publicas. De fato, esse numero eh destinado a testes de loopback em uma rede. Um loopback nada mais
eh do que a conexao que a rede faz com ela mesma para testes internos, configuracoes, etc. Isso não eh
exclusivo de redes e tanto eh que loopbacks existem quando queremos verificar a velocidade de trafego
numa comunicacao paralela ou serial por exemplo. Dessa forma, uma rede que comece com 127 não eh
uma rede que conecte hosts. Eh um teste interno apenas. Entao se voce vir 127.0.0.1, por exemplo, isso eh
um numero de loopback.

         Rede tipo C: Essas são as menores e são as mais numerosas em todo mundo. Provavelmente a
sua provedora de acesso a Internet usa uma rede tipo C. Enderecos de rede vao de 192 ate 2.097.152. No
mundo são possiveis, entao, algo em torno de 2 milhoes de redes com apenas 254 hosts conectados (que
eh o ultimo byte). Os endereços de rede ficariam entao: 192.0.0.1 a 224.255.255.254. Como
provavelmente sua provedora não possui apenas 254 usuarios cadastrados, ela com certeza dividiu a sua
rede em redes menores cada uma comportando 254 usuarios. Isso ira acontecer sempre a medida que a
demanda por acessos a novos usuarios aumentar, ou seja, se uma rede classe C jah não atende mais a
demanda, ela pode ser aumentada com a inclusao de novas sub-redes. Para se chegar a esse numero de 2
milhoes o calculo eh o mesmo do que jah foi feito acima, ou seja, redes classe C são identificadas pelos
tres primeiros bytes entao faça somente o 256 elevado ao cubo e vc achara o valor, certo? Bastante
errado.

         Ao contrario das outras redes, uma rede classe C possui mais restricoes. Uma rede classe C
comeca do numero 192, ok. Mas não termina em 256! De fato, ela termina no numero 224. Isso acontece
porque numeros superiores a 224 são destinados a servicos especiais (com protocolos diferentes) e não
são incluidos como identificador de rede. Assim nos teriamos apenas 32 possibilidades no primeiro byte
(de 192 ate 224). Os dois bytes seguintes continuariam da mesma forma, ou seja, não existem restricoes e
continuariam com 256 possiblidades. Entao nos teriamos: 32 x 256 x 256 = 2.097.152. E assim nos temos
o numero de redes disponiveis nessa classe. Na verdade o numero de redes disponiveis eh isso menos
uma rede: a 192.168 que eh feita quando queremos construir nossa rede particular. Se algum dia voce
quiser montar sua rede provavelmente ira nomear seus hosts como: 192.168.0.1; 192.168.0.2.... ate o fim
do numero de maquinas disponiveis. Se chegar na maquina de numero 24, por exemplo, era podera ser
conhecia como: 192.168.2.4.

        Outro item a ser comentado eh sobre o que se chama de mascara da sub-rede. Isso nada mais eh
do que a determinacao da classe a qual uma rede pertence. Assim nos poderiamos ter:

    •   Classe A: 255.0.0.0
    •   Classe B: 255.255.0.0
    •   Classe C: 255.255.255.0

          Parece desnecessario? Pois eh, realmente nos damos a olhar a primeira vista e pensar que não eh
necessario um tipo de identificacao de redes desse tipo. Bastaria olhar o numero do primeiro byte e isso
jah seria suficiente p/ saber a que classe a rede pertence. Isso a nossos olhos eh otimo mas para uma
maquina, a que ira analisar pedidos, por exemplo, isso não eh suficiente. Precisamos informar a ela que a
rede eh do tipo C, A ou B e isso eh feito pela mascara da sub-rede (tambem chamada de netmask). Eh
necessario esse tipo de informcao porque uma rede de amplo espectro, uma classe A, por exemplo, pode
ser dividida em redes classe B que por sua vez pode ser subdividida em redes classe C.
          Por exemplo, voce pode ter uma rede classe A mas achou muito grande e resolveu dividi-la em
varias redes B, no final voce quis varias tipo C, ok, sem problemas. Mas quando voce fez isso, voce
automaticamente criou redes verdadeiras e não apenas subsividoes. Assim a menor divisao que voce fez
foi em 20 vezes. Não se deu por satisfeito e resolveu criar redes menores dentro daquelas 20, vamos supor
5. Cada uma dessas divisoes não eh tratada como um mero host, por exemplo, eh uma rede inteira. Sendo
assim, voce precisa informar que aquela subdivisao das 20, as outras 5 redes, não são hosts e sim redes
classe C. E, na verdade, quando se chega a um ponto como esse, nem mesmo uma simples "olhada" nos
numeros eh suficiente para informar que tipo de rede é e fatalmente voce ira precisar se certificar disso
por meio do netmask. Isso eh importante porque sem essas informacoes não eh possivel o roteamento de
dados. Eh necessario manter o nivel de hierarquia das redes.
          Se voce tem, por exemplo, um numero de rede como: 125.142.75.6 isso parece ser uma rede
classe A. Quem pode garantir? Uma "olhada" nesse numero não eh suficiente pra termos certeza. Essa
pode ser a nossa divisao de redes que fizemos nas linhas acima ou entao uma rede A verdadeira. Sendo
assim, é extremamente necessario informar que essa rede não eh uma rede A e sim uma classe C dentro
de uma A. Dependendo di sistema em uso, podemos definir simplesmente pelo netmask. 255.255.255.0
eh suficiente pra informar que essa eh uma rede C.
          Espero que tenha sido esclarecedor essas informacoes. Eh muito importante o conhecimento
desses topicos se quiser saber mais sobre construcao de redes.


Conceitos Técnicos
O protocolo IP possui outras determinacoes alem de identificar voce na rede: ele transforma a
informacao a ser enviada em pequenos pacotes cada um contendo em torno de 512 bytes (alguns autores
se divergem quanto ao tamanho dos pacotes, alguns chegam a admitir 200 bytes). Esses pacotes recebem
o nome de datagrams e em cada um desses pacotes é alocada a informacao do computador de origem e de
destino. Que informacao é essa? o numero IP. Assim, se por exemplo voce estabelece uma conexao com
algum servidor tipo ftp, junto de cada pacote vai o seu numero IP, para que o servidor saiba para quem
esta enviando os dados, alem do proprio numero IP do servidor para que possa ser localizado, logico.

        A respeito do tamanho dos pacotes eles podem ser facilmente percebidos: experimente fazer um
upload por e-mail de um arquivo qualquer de, digamos, 137 kb. Na janela informativa de status da
operacao voce ira perceber que aquele pacote de 137 kb aumentou para algo em torno de 188 kb. Esse
arquivo de 137 kb foi segmentado em varias partes de mais ou menos 512 bytes cada e foi anexado um
cabeçalho informativo feito pelo IP (explicado mais adiante) contendo informacoes do computador de
origem e de destino. Essa informacoes adcionais, colocadas em cada pacote, constituem alguns kbytes a
mais em tudo e foi por isso que aumentou para 188 kb.

         Um dado interessante a respeito é que algumas aplicacoes cliente (leia-se programas que
recebem exclusivamente dados) como um mIRC por exemplo, anexa os dois protocolos em seu meio e é
perfeitamente configuravel o tamanho de cada pacote, ou seja, voce poderia enviar pacotes de dados com
512 ou 200 bytes sem problemas. Contudo, pacotes maiores sao mais confiaveis e é sempre aconselhavel
voce utilizar pacotes de 512 byes. Tambem nao vamos exagerar e colocar pacotes de 1024 bytes.
Absurdo. É possivel? é. Mas nao é uma boa ideia.

          Uma cartacteristica interessante da rede é que os dados transformados em pacotes podem se
perder no caminho da transmissao. Nos primordios do TCP/IP, essas informacoes nao se perdiam tao
facilmente mas com o crescente congestionamento da rede, um ou outro pacote pode se perder no
caminho ou no minimo chegar na ordem errada. Isso ocorre primeiramente porque qualquer coisa enviado
atraves de rede deve passar pelo meio fisico e nesse meio essas "coisas" nada mais sao do que sinais
eletricos provenientes de um meio digital. Assim, um pacote de informacoes sao varios pulsos de
interrupcao numa corrente continua.

         Assim, os pacotes sao enviados sequencialmente mas nao é garantida a sucessao correta, assim
um pacote de numero 20 pode chegar na frente do 15. Ai entao entra o TCP responsavel pelo recebimento
dos pacotes que chegam. Esse protocolo tem sua maior funcao no reordenamento dos pacotes. Assim, se
um pacote enviado pelo IP se perde no caminho, o TCP manda novo pedido ao computador que estava
enviando a informacao a fim de ser reestabelecido o processo e o envio novamente do mesmo pacote ou
entao, se todos os pacotes conseguiram chegar, po-los na ordem correta. Esse pedido geralmente eh feito
pelo protocolo ICMP (parte do IP que trata de controle de erros, explicado mais adiante) o qual é enviado
em um pacote menor do que 512 bytes informando que um pacote chegou de forma inadequada ou nao
chegou.

         Perceba que a informacao nao chega inteira mas segmentada em centenas ou milhares de
pacotes, dependendo do tamanho do que se quer enviar. Entao como o TCP ao receber o pacote sabe em
que ordem ele deve ficar? Nesse caso entra o TCP de origem. O TCP do computador de origem fornece
um numero sequencial a cada pacote segmentado pelo IP. Assim, quandos os pacotes chegam no destino,
o TCP de destino se incumbe de "ver" esses numeros e po-los na ordem correta e nao na ordem em que
chegam. Já pensou se nao fosse assim? Quando uma pagina html fosse "aberta" no seu navegador ficaria
tudo desorganizado, porque o seu TCP os receberia e os ordenaria do modo como chegassem.

         Outro protocolo que acredito que poucas pessoas possam conhecer ou se conhecem tem certa
duvida é o UDP. O UDP (User Datagram Protocol) possui as mesmas qualificacoes que o protocolo TCP
e exerce a nivel de rede a mesma coisa. A diferenca real se resume no fato de que qualquer conexao
realizada por UDP é bastante falha e insegura. Enquanto o TCP fornece um numero sequencial a cada
pacote a fim de serem reorganizados na ordem correta, o UDP envia os pacotes a esmo, ou seja, sem
sequencia. Quando esse pacotes chegam no destino fica meio dificil a conexao. Mas ai fica a pergunta:
para que diabos serve o UDP entao? Bom, se voce tem certeza que possui uma conexao confiavel e sabe
que os pacotes nao irao se perder no meio do caminho ou entao que chegarao na ordem correta, o UDP
pode ser a sua escolha. Nesse caso nao se perderia tempo na reordenacao de pacotes.
Um exemplo paratico de quando se usa o UDP? quando se nuka alguem ou quando se da o
chamado death ping. Ninguem vai se preocupar em enviar alguma coisa a vitima na ordem correta. O
objetivo do nuke eu creio que você já conheca. Entao pode ser uma boa pedida já que o envio é mais
rapido, se bem que nuke alem de ser condenavel eh um pouco antigo e diversas formas de protecao jah
foram feitas. Bom, entao alguem poderia se perguntar: "mas e como fica o IP?". Bom, o IP fica na
mesma, ou seja, ele, a nivel de rede, continua a exercer a mesma funcao de antes e nao é porque foi
incluido o UDP que ele nao vai ser usado. Isso não implica. O TCP ai foi substituido meramente para se
acelerar o processo ou com algum outro proposito como o do nuke ou death ping.


Os Servidores

        Bom, resolvi incluir esse adido como parte integrante desse tutorial a respeito de modos de
transmissao em redes por ser um assunto que, acredito, muita gente ainda faça bastante confusao.

         Como havia dito em outra parte do texto, IP sao numeros de 32 bits segmentados em quatro
partes cada uma contendo oito bits, um byte portanto. Quando voce faz uma comunicacao remota com um
computador qualquer em especial os que atendem servicos, os chamados servidores, o IP fornece um
numero de identificacao que recebe o nome de IP como simples alusao ao serviço que ele faz. Nao so o
numero de identificacao do seu proprio host mas tambem do servidor que atendera os pedidos. Entao,
quando voce faz a solicitacao de um pedido qualquer a um servidor como o ftp por exemplo, junto a ele
vai o seu IP e o IP do servidor. Lembre-se que o processo IP "quebra" qualquer informacao em pequenos
pacotes conhecidos como datagrams. Entao como é feita a comunicacao? Bastante simples: vamos supor
que voce esteja no seu navegador, um Netscape por exemplo, e voce quer acessar uma pagina qualquer.
Entao voce descreve uma url e aponta o browser nesse pedido. O IP entao entra em açao. Ele agrupa esse
pedido num unico pacote contendo os Ips de identificacao e manda ao servidor que atendera os pedidos.

(*Eu nao sei como funciona um servidor como um Windows® NT, por exemplo, entao vou descrever
como se processa tudo em uma maquina padrao POSIX, um Linux por exemplo. Embora o NT esteja
incluido nesse padrao tambem, eu nao sei como o servico é atendido por la.*)

         Esse pacote chegando por la é recebido por algo como se fosse um grande secretario geral de um
grande departamento. O responsavel nesse caso seria o que é chamado em servidores UNIX de daemon,
mais conhecido como inetd (nao vou entrar em detalhes sobre isso, acredito que ira fugir bastante do
assunto em questao). Esse "secretario geral" atende todos os pedidos que chegam, mas desvia o sercvico a
um servidor especifico que no nosso exemplo sera o httpd (outro daemon) . Nesse caso, o servico que o
inetd fez foi somente "avisar" ao pacote que ele por si nao faz o servico, mas avisa quem é o responsavel,
o httpd. Entao, chegado o pedido, o httpd verifica em seus arquivos (novamente nomes de arquivos nao
sao importantes ao entendimento do assunto, isso é uma questao especificca a assuntos em UNIX e nao é
preciso entrar em detalhes sobre isso) onde se encontra, por exemplo, uma pagina qualquer. Encontrando
essa pagina, o httpd a organiza e segmenta em pacotes e envia ao computador que fez o pedido, o cliente.

        Os pacotes recem chegados no computador de origem sao colocados em sua ordem correta e a
aplicacao cliente, o Netscape, ira se encarrega de mostrar o conteudo da pagina que foi organizada.


Portas de Comunicação

        Esse é outro assunto bastante difundido na internet e temido por muita gente. Mas antes, merece
uma descricao detalhada:

         Tal como os numeros IP, numeros de portas sao formados por bits. As portas sao atendidas em
numeros que vao de 0 a 65534 (na verdade o mais correto seria de 1 a 65535. Ate agora nao vi nenhum
servidor que atendesse em portas de numero 0). Numeros de portas de comunicao sao formadas por
sequencia de 16 bits dividido em duas partes cada uma com um byte portanto e separados por pontos de
divisao como em um numero IP.

         Como havia dito, numeros de portas vao de 0 a 65535, sao muitas portas portanto e cada uma
destinada a alguma conexao qualquer. Lembre-se que a cada dia sao inventados novos servicos que se
utilizam do protocolo TCP/IP como meio e esses novos servicos, vamos citar como exemplo o ICQ,
precisam de uma dessas portas disponiveis para conexao. "Qualquer uma?" -- Sim, qualquer uma. Nao ha
um padrao para as portas serem abertas com o mesmo numero anterior. O Sistema Operacional se
encarregara de escolher uma porta adequada nao necessariamente igual a anterior.

          Numeros de porta inferiores a 1024 sao destinadas ao computador que atende determinado
servico. Voltando ao exemplo anterior, o dos servidores: observe que esse pedido é sempre atendido na
porta 80 (porta padrao de servicos http), contudo, nada impede que essa porta seja atendida em outro
numero. Em relacao a isso, tal pratica é muito corriqueira, ou seja, numa Intranet, por exemplo, é bastante
comum o administrador da rede reservar um numero maior a um servico especial que nao possa ser
acessado assim tao facilmente. Nesse ultimo exemplo, vamos supor que o administrador tenha ficado
receoso porque algumas pessoas estao conseguindo acessar um determinado servico que, embora deva
ficar sempre no ar porque atende a certas pessoas, nao deve ser acessivel a todos. Entao ele pode muito
bem mudar a porta padrao do servico - vamos supor um telnet que atende na porta 23 - para algo em torno
de 56263. Bem, o administrador é realmente uma pessoa responsavel e muda todos os dias o endereco da
porta de forma a que ninguem possa acessa-lo assim tao facilmente, dessa forma se tornando bastante
dificil a alguem o acesso a esse servico. Essa é uma pratica bastante difundida em servidores particulares
visando a seguranda de toda a rede, mas nao pde ser usada em servidores permanentes como um proevdor
de acesso a intenet. Nesse caso , a medida mais correta é inabilitar o servico inteiro já que nao se pode
avisar a todos os usuarios que o numero da porta mudou de numero.

         Alguem pode estar se perguntando: "Ok, entendi o que voce quis dizer. Mas vamos supor que o
meu progama cliente, o que envia o pedido, vamos supor um telnet, queira se comunicar com um servidor
telnet remoto. Nao saberia ele a porta correta de comunicao?" -- BBBem, nao é assim tao simples. Já
pensou se tudo fosse assim? Simplesmente eu saberia onde qualquer servico é atendido e todo o trabalho
do administrador vai por agua a baixo com todas aquelas mudancas de numeros. Na verdade, o seu telnet
envia o pedido e o inetd o repassa ao telned. Mas acontece uma coisa: se eu mudar o endereco de porta do
telnet para outro numero qualquer, o inetd nao sabera o numero a nao ser que eu o informe. O pedido vai
ser atendido? Nesse caso nao. Mas se voce indicar a porta correta onde o servico esta disponivel, a
comunicacao sera estabelecida. Entao, voce teria de apontar o numero correto ao seu cliente telnet e este
enviaria o numero ao servidor remoto. Simples? Pois é, é assim que as coisas funcionam e a seguranca é
mantida.

          Algo importante que nao foi explicado anteriormente é que um dos papeis que o TCP exerce
nesse monte de protocolos é que ele fornece o numero da porta a ser atendida. Assim, me utilizando do
cliente telnet, o TCP fornece o numero da porta. Mas quem envia é o IP.

         Confundiu? Vamos dizer assim: O IP é responsavel na rede pela transmissao de pacotes, como
você já sabe. Em cada pacote vai o IP de destino e de origem (isso esta meio repetitivo mas é necessario).
Isso é como se fosse um envelope onde no corpo externo da carta vai o endereço para onde quero enviar,
o destinatario, e de onde foi mandado, o remetente. Dentro do envelope vai uma carta. Nessa carta sao
fornecidos os enderecos de portas onde o servico é atendido. É interessante dizer que o IP nao sabe o
numero da porta, isso é papel do TCP ou do proprio UDP. Nem o UDP nem o TCP sabem para onde vao,
ou seja, eles nao sabem quais sao os numeros IP.

        Bom, ok. Mas e quanto aos numeros de portas acima de 1024? Bem, essas sao destinadas apenas
a comunicao entre programas que se utilizam de TCP/IP. Como havia dito mais acima, vamos citar o
exemplo do ICQ. Otimo programa. Quando voce estabelece uma comunicacao com os servidores que
conectam voce ao ICQ, automaticamente é aberta uma porta de comunicao. Se voce executar qualquer
PortScan para rastreamento de portas abertas, voce ira verificar que uma porta, sempre acima de 1024, foi
aberta.

       Voce pode verificar agora mesmo se alguma porta de comunicacao foi aberta no seu micro.
Simplesmente no prompt do seu MS-DOS digite:netstat -an. Algo como o que segue abaixo vai aparecer:
Route Table
Active Connections

Proto     Local Address      Foreign Address      State
TCP       127.0.0.1:1041          0.0.0.0      LISTENING
TCP       127.0.0.1:1041      127.0.0.1:110   ESTABLISHED
TCP     200.215.169.67:1034 200.215.160.63:110 TIME_WAIT
TCP     200.215.169.67:1040 200.215.160.63:110 TIME_WAIT
TCP     200.215.169.67:137       0.0.0.0:0     LISTENING
UDP     200.215.169.67:138       0.0.0.0:0     LISTENING
UDP     200.215.169.67:139       0.0.0.0:0     LISTENING


Podemos interpretar isso assim:

Proto: é o protocolo utilizado para transportar o servico, nesse caso foi utilizado o TCP, mas poder
poderia ter sido utilizado o UDP sem problemas, quer dizer, ate certo ponto e dependendo do servico.

Local Address: É o numero de porta local ode foi estabelecida a conexao. Observe que foram todas
acima de 1024. Excecoes foram vistas mas serao explicadas.

Foreign Address: É o endereco de porta remoto onde a conexao foi estabelecida. Foi colocado o nome
do protocolo que atende o servico, o pop3. Poderia ter sido colocado o numero de porta sem problemas,
nesse caso ficaria 110.

State: Define o estado em que a conexao se encontra no momento. Desses estados, tres foram efetuados:

listening: isso é a espera de conexao que ainda nao foi estabelecida. No momento em que foi executado o
netstat, a porta estava sendo ouvida.

Established: Essa nao precisa de muita definicao, a conexao foi efetuada com sucesso nas portas em
questao e o programa cliente esta recebendo dados de forma normal.

Time Wait: O servidor parou momentaneamente de enviar dados e no momento em que o comando
netstat foi executado isso estava ocorrendo.

        Observe as portas que foram estabelecidas no computador local: 1041, 1034, 1040, 137, 138,
139. Como voce pode verificar foram estabelecidas conexoes nas portas menores a 1024, como 137, 138,
139. Essas portas atendem servicos portanto. Vamos a elas:

         A porta 139 na realidade é apenas um bug encontrado nas versoes Windows® anteriores a OSR2
e pode ser fechada pelo usuario com programas especificos ou pelo renomeamento de um driver de
dispositivo virtual que nesse caso é o vnbt.386. Os efeitos provocados pelo mau uso dessa porta já sao
bastante divulgados: isso causa uma pane geral nos sistemas Windows® e mesmo os NTs mais antigos
ainda sofrem com esse problema. Nao é um nuke propriamente dito porque os efeitos sao diferentes. Na
realidade aproveita-se a falha que o Windows® possui em atender servicos marcados como urgente (os
chamados OOB ou out-of-band). O Windows® da preferencia a pacotes marcados dessa forma e relega a
segundo plano as outras conexoes que você possui. O efeito é o termino da sua conexao TCP/IP.

         Isso siginifica que alguem poderia tentar usar seu micro com alguma forma de hacking?
Provavelmente nao. Digo provavelmente porque a porta 139 é usada ainda como brincadeira por muita
gente metida a hacker mas que nada mais fazem do que cancelar uma conexao TCP/IP e travar a maquina
de um usuario inocente (existem exceçoes). Brincadeira de criança. Essa porta, portanto, nao atende
servicos a nao ser o de enviar resposta ao pacote OOB.
As portas 137 e 138 sao reservadas ao NetBios (Network Input/Output System) do Windows®.
Na verdade nao é exclusividade dos sistemas Windows® e pode ser implementado em qualquer maquina.
O NetBios foi desenvolvido pela IBM como forma de servir o micro cliente como host servidor em
alguns casos especificos. Assim, alguem usando um Windows® 95 poderia disponibilizar essas duas
portas para permitir servicos como acesso a uma impressora compartilhada por exemplo. Mas é altamente
recomendavel que estas portas estejam fechadas. Se voce nao é usuario de uma rede interna de algum
departamento e ninguem usa seu micro como host servidor temporario para, por exemplo, compartilhar
sua impressora entao nao ha nenhum motivo para permanecer com essas portas abertas. O usuario dessa
configuracao de portas precisa urgentemente de uma re-configuracao do Windows®. Verifique em seu
micro, caso use Windows®, se voce esta com algum servico compartilhador de redes como o NetBios. Se
está, nao permita nenhum compartilhamento entao. Isso constitui-se de uma forma de hacking realmente e
nao é usada por criancas que adoram nukar o usuario inocente, hackers que possuem conhecimento dessas
portas abertas (e tem conhecimento da tecnica) podem acessar seu micro da forma como quiserem jah que
essas portas sao atendentes de servicos ao contrario da porta 139. O Windows® usando o NetBios vai
permitir acesso nesse caso.

        Essa descricao acima (do NetBios) nao se constitui de uma falha dos sistemas Windows®
propriamente dita - é inclusive anunciada pela Microsoft. É sim uma má configuracao do usuario que, por
algum descuido, permitiu essa forma de conexao.

         Mas as tres portas se encontravam em modo listening o que quer dizer que nenhuma conexao foi
estabelecida, o que nao significa que nao possa ser feito.

         Agora poderia sobrevir uma duvida: "Ok, essas tres portas foram estabelecidas e estavam em
modo listening mas e quanto ao endreço do host? Por que nao foi informado nada?" - Bom, é simples. As
portas estavam abertas apenas, todas as tres, mas nenhum host externo, naquele momento, estava tentando
acessa-las Exatamente por isso nao foi informado nenhum IP de identificação remoto. Possivelmente,
quando alguem tentasse firmar uma conexao, o IP seria fornecido.

          As outras portas maiores, acima de 1024 foram estabecidas normalmente no computador local
sem problemas. O que acontece é o seguinte: Como expliquei mais acima a respeito de uma conexao
telnet, o programa cliente informa a porta na qual devera ser estabelecida a conexao mas nao informa a
porta local. Isso sera feito depois e quem o fara é o seu Sistema Operacional. Assim, o computador
remoto, o servidor envia um pacote qualquer de volta ao computador de origem (lember-se que ele sabe
qual o IP de origem) e somente depois disso a porta é aberta. Sera que isso seria motivo de preocupacao
de alguem? Acredito que, infelizmente, a maioria das pessoas ainda temem essas portas abertas quando
dao o comando netstat. Na verdade nao ha o que se preocupar. As portas sao estabelecidas
temporariamente e depois que a conexao é terminada a porta se fecha, a nao ser aquelas que sao
conhecidas, como o bug do Windows® da porta 139 e/ou as 137 e 138. Se isso nao acontecesse ninguem
receberia informacao de lugar nenhum. Assim, uma porta origem e destino devem ser abertas.

         Uma outra duvida que poderia surgir a respeito: "Ok, as portas sao fechadas, mas e durante a
minha conexao, as portas estao abertas e nao possuem conexao com portas tao altas, qualquer pessoa com
um scaneador de portas conseguiria descobrir facilmente onde estou conectado." -- Calma, nao é bem
assim. Uma porta so atende um servico de cada vez e nao consegue estabelecer conexao em dois pontos
simultaneamente. Assim, qualquer um que tentasse estabelecer qualquer comunicacao com seu
computador primeiro teria de esperar a porta aberta parar de ser solicitada para depois atender outra coisa.
Ou seja, para poder scanear as suas portas de comunicacao primeiro o servico teria de cancelar a conexao
que havia estabelecido antes, o que nao é possivel , e segundo lhe enviar um pacote informando a porta
que esta aberta. Assim, deu para entender como o scaneador de portas funciona: ele fica perturbando o
computador remoto com pacotes aleatorios de dados (ai entraria o UDP, porque nao é necessrio nenhuma
reorganizacao de pacotes) funcionando como uma especie de ping esperando pelas resposta.


TCP/IP em Camadas
Uma rede TCP/IP eh dividida apenas em quatro camadas (não confunda com divisao de redes
em camadas OSI, isso jah eh aplicado a construcao de redes desde o andamento e construcao dela em um
escritorio, por exemplo ate o ponto final, em outra localidade. Divisao em camadas por TCP/IP não
envolve os conceitos de construcao desde a origem real ate o final). A divisao das redes TCP/IP eh como
se segue (Esse modelo de rede TCP/IP foi feito pensando-se na origem em relacao ao destino):

                                             Aplicação
                                             Transporte
                                               Rede
                                               Físico

          Fisico: Esse é o proprio meio fisico da rede ou , em outras palavras, é onde as coisas
acontecem de fato. Assim, qualquer comunicacao entre mcros deverao pessar pelo meio fisico. Nessas
camada esto incluidas todos os dispositivos fisicos de sua rede: cabos, placas da rede, enfim todo
hardware usado em comunicacao em redes esta incluido nessa camada. Em relacao a esse nivel, todos os
dados sao tratados como pulsos eletricos, ou seja, interrupcoes na corrente continua do micro.

           Rede: Essa camada é a responsavel pelo roteamento dos pacotes entre os hosts, ou seja, tem
por funcao encontrar o caminho mais curto e confiavel entres os computadores. Eh exercida pelo
protocolo IP. A nivel de redes espcificicamente, (não apenas a TCP/IP podemos incluir ainda nessa
camada um outro protocolo conhecido como X.25) esse nivel eh ainda responsavel pelo envio dos
pacotes.

           Transporte: Essa camada jah inclue o protocolo que transporta o servico, ou seja, ai esta
incluido o TCP e/ou o UDP. Assim, essa camada eh a responsavel pelos pacotes criados pelo IP da
camada anterior. Eh obrigacao da camada de transporte oferecer a comunicacao mais confiavel entre os
hosts de uma rede e tentar a todo custo enviar dados da forma mais clara e limpa possivel. Caso algum
pacote se perda na rede, por exemplo, eh obrigacao dessa camada enviar novo pedido a fim de ser
restabecida a conexao correta novamente. Para não evitar confusao nessa camada: o nivel mais acima, o
de rede, cria os pacotes e os envia mas lembre-se que o TCP eh quem tem por obrigacao fornecer uma
maneira de colocar esses pacotes na ordem correta. Assim, o TCP aloca essas informacoes em cada
pacote e o IP o envia. Quando esses pacotes chegam ao destino, o TCP desse destino eh quem vai coloca-
los em ordem de acordo com o que o TCP de origem fez.

          Aplicação: Aqui se incluem as aplicacoes processadas (os programas). Assim, quando voce faz
um pedido a fim de receber uma pagina html, o seu navegador processa os pacotes que chegam (ai entrar
o TCP) e forma a pagina para que voce possa ver. Isso não ocorre apenas com o destino, ou seja, para que
voce recebesse essas informacoes um outro programa teve de ser processado para que as informacoes
chegassem a voce.

Weitere ähnliche Inhalte

Was ist angesagt?

Html - capitulo 01
Html - capitulo 01Html - capitulo 01
Html - capitulo 01Alvaro Gomes
 
Tecnologias de informação e comunicação
Tecnologias de informação e comunicaçãoTecnologias de informação e comunicação
Tecnologias de informação e comunicaçãotelmaberto
 
Trabalho de informatica slide
Trabalho de informatica slideTrabalho de informatica slide
Trabalho de informatica slideLalleska Brandão
 
GlossáRio Elementar Internet
GlossáRio Elementar InternetGlossáRio Elementar Internet
GlossáRio Elementar Internetguest7199343
 
Conceitos de Internet
Conceitos de InternetConceitos de Internet
Conceitos de InternetCINTIA AGUIAR
 
Aps apresentação do microsoft power point
Aps apresentação do microsoft power pointAps apresentação do microsoft power point
Aps apresentação do microsoft power pointGilnei Vieira da Silva
 
A internet tic catarina silva 9ºc nº2
A internet tic catarina silva 9ºc nº2A internet tic catarina silva 9ºc nº2
A internet tic catarina silva 9ºc nº2Gafanhota
 
Resumo para concurso: Internet
Resumo para concurso: InternetResumo para concurso: Internet
Resumo para concurso: InternetEsdras Oliveira
 
Trabalho informatica 20 06
Trabalho informatica 20 06Trabalho informatica 20 06
Trabalho informatica 20 06Rafaeu123
 
Livro 8 internet
Livro 8 internetLivro 8 internet
Livro 8 internetJ M
 
Apostila básica sobre internet
Apostila básica sobre internetApostila básica sobre internet
Apostila básica sobre internetandremarcioneumann
 
Apresentação de Internet
Apresentação de InternetApresentação de Internet
Apresentação de InternetCDP_Online
 

Was ist angesagt? (20)

Slide internet
Slide   internetSlide   internet
Slide internet
 
Html - capitulo 01
Html - capitulo 01Html - capitulo 01
Html - capitulo 01
 
Questionario de internet
Questionario de internetQuestionario de internet
Questionario de internet
 
Tecnologias de informação e comunicação
Tecnologias de informação e comunicaçãoTecnologias de informação e comunicação
Tecnologias de informação e comunicação
 
Apostila internet
Apostila internetApostila internet
Apostila internet
 
Internet
InternetInternet
Internet
 
Trabalho de informatica slide
Trabalho de informatica slideTrabalho de informatica slide
Trabalho de informatica slide
 
Como funciona a internet
Como funciona a internetComo funciona a internet
Como funciona a internet
 
GlossáRio Elementar Internet
GlossáRio Elementar InternetGlossáRio Elementar Internet
GlossáRio Elementar Internet
 
Internet
InternetInternet
Internet
 
Conceitos de Internet
Conceitos de InternetConceitos de Internet
Conceitos de Internet
 
Aps apresentação do microsoft power point
Aps apresentação do microsoft power pointAps apresentação do microsoft power point
Aps apresentação do microsoft power point
 
A internet tic catarina silva 9ºc nº2
A internet tic catarina silva 9ºc nº2A internet tic catarina silva 9ºc nº2
A internet tic catarina silva 9ºc nº2
 
Resumo para concurso: Internet
Resumo para concurso: InternetResumo para concurso: Internet
Resumo para concurso: Internet
 
Trabalho informatica 20 06
Trabalho informatica 20 06Trabalho informatica 20 06
Trabalho informatica 20 06
 
Aula - Internet
Aula - InternetAula - Internet
Aula - Internet
 
Livro 8 internet
Livro 8 internetLivro 8 internet
Livro 8 internet
 
Como funciona a internet
Como funciona a internetComo funciona a internet
Como funciona a internet
 
Apostila básica sobre internet
Apostila básica sobre internetApostila básica sobre internet
Apostila básica sobre internet
 
Apresentação de Internet
Apresentação de InternetApresentação de Internet
Apresentação de Internet
 

Ähnlich wie Tcp transmission control protocol e ip internet protocol

Ähnlich wie Tcp transmission control protocol e ip internet protocol (20)

Como a internet funciona
Como a internet funcionaComo a internet funciona
Como a internet funciona
 
Noções de informática GranCursos.pdf
Noções de informática GranCursos.pdfNoções de informática GranCursos.pdf
Noções de informática GranCursos.pdf
 
Internet
InternetInternet
Internet
 
Rct 2 - redes de computadores e a internet
Rct   2 - redes de computadores e a internetRct   2 - redes de computadores e a internet
Rct 2 - redes de computadores e a internet
 
Tecnologias de informação e comunicação
Tecnologias de informação e comunicaçãoTecnologias de informação e comunicação
Tecnologias de informação e comunicação
 
Internet
InternetInternet
Internet
 
Redes de computadores slides
Redes de computadores   slidesRedes de computadores   slides
Redes de computadores slides
 
Curso Básico de Internet - Parte I
Curso Básico de Internet - Parte ICurso Básico de Internet - Parte I
Curso Básico de Internet - Parte I
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
 
Apostila de internet básica
Apostila de internet básicaApostila de internet básica
Apostila de internet básica
 
Fundamentos por terminar
Fundamentos por terminarFundamentos por terminar
Fundamentos por terminar
 
Apostila sobre montagem de redes
Apostila sobre montagem de redesApostila sobre montagem de redes
Apostila sobre montagem de redes
 
Manual redes conceitos
Manual redes conceitosManual redes conceitos
Manual redes conceitos
 
Trabalho fin
Trabalho finTrabalho fin
Trabalho fin
 
Internet conceitos2
Internet conceitos2Internet conceitos2
Internet conceitos2
 
Redes aula 1
Redes   aula 1Redes   aula 1
Redes aula 1
 
Apostila básica sobre internet
Apostila básica sobre internetApostila básica sobre internet
Apostila básica sobre internet
 
Apostila básica sobre internet
Apostila básica sobre internetApostila básica sobre internet
Apostila básica sobre internet
 
Apostila básica sobre internet
Apostila básica sobre internetApostila básica sobre internet
Apostila básica sobre internet
 
Vitor horta internet
Vitor horta internetVitor horta internet
Vitor horta internet
 

Mehr von redesinforma (20)

Completas
CompletasCompletas
Completas
 
Redes2
Redes2Redes2
Redes2
 
Redes3
Redes3Redes3
Redes3
 
Redes osi
Redes osiRedes osi
Redes osi
 
Basico de protocolos_2009
Basico de protocolos_2009Basico de protocolos_2009
Basico de protocolos_2009
 
Questoes
QuestoesQuestoes
Questoes
 
Redes lista exercicios
Redes lista exerciciosRedes lista exercicios
Redes lista exercicios
 
Lista exerc conceitos-mod-ref
Lista exerc conceitos-mod-refLista exerc conceitos-mod-ref
Lista exerc conceitos-mod-ref
 
Exercícios para semestre
Exercícios para semestreExercícios para semestre
Exercícios para semestre
 
Exercicio parte1
Exercicio parte1Exercicio parte1
Exercicio parte1
 
Redes4
Redes4Redes4
Redes4
 
Redes5
Redes5Redes5
Redes5
 
Sincronas
SincronasSincronas
Sincronas
 
Semfio
SemfioSemfio
Semfio
 
Roteament
RoteamentRoteament
Roteament
 
Ri l5 052
Ri l5 052Ri l5 052
Ri l5 052
 
Ri a9
Ri a9Ri a9
Ri a9
 
Ri a8
Ri a8Ri a8
Ri a8
 
Ri a7
Ri a7Ri a7
Ri a7
 
Ri a6
Ri a6Ri a6
Ri a6
 

Kürzlich hochgeladen

Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERDeiciane Chaves
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxKtiaOliveira68
 

Kürzlich hochgeladen (20)

Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptx
 

Tcp transmission control protocol e ip internet protocol

  • 1. Tutorial sobre TCP/IP TCP:Transmission Control Protocol IP: Internet Protocol Protocolos: Simplesmente um conjunto de regras bem definidas que definem uma acao a ser executada (parece definicao de algoritmo mas na verdade pode ate ser encarado como um). Assim, protocolos em computacao, e em especial a redes, define como computadores podem se comunicar entre si. Todo computador conectado em rede necessita de uma identificacao, sendo assim, já de posse dessa identificacao, o protocolo tem por papel primordial estabelecer a conexao mais confiavel e duradoura possivel entre computadores. Dessa forma, se define: como enviar e receber e-mails, como me identifico a outro computador, quanto tempo devo esperar para que você me envie um conjunto de informacoes, com que intervalo um conjunto de informacoes deve ser espacado a fim de se obter a conexao mais confiavel possivel, como começar e como terminar uma conexao, etc. Intranet: Intranet é o novo conceito para redes de acesso discado mas não vinculado diretamente ao que conhecemos como Internet. Tal como um provedor de acesso à Internet, a Intranet conecta clientes a suas redes corporativas internas. Encare uma Intranet como servidora dela mesma, ou seja, voce pode acessa-la sem mesmo ter uma conta com um provedor Internet, contudo, o acesso limita-se apenas a rede privada e, de forma alguma, voce poderia, por exemplo, visitar paginas em outros locais alem da qual foi pre- programada pela empresa. As diferenças residem ai, no resto, temos todas as caracteristicas de uma rede qualquer: serviços WWW, ftp e o que mais a empresa venha a necessitar para atender seus clientes. Um bom exemplo a dar a respeito é sobre os serviços de Home Banking do Banco Itau (Isso não é propaganda heim?); você conecta-se, por acesso discado, do seu modem, a rede interna de servicos privados do Banco Itau e usufrui dos servicos de um caixa on-line. Extranet: Extranet é uma variante da Intranet, ou seja, podemos defini-la como sendo uma interligação entre Intranets por meio da Internet. Dessa forma, uma Intranet pode se comunicar a outra bastando apenas a sua interligacao por meio da Internet o que, nesse caso, envolveria um provedor de acesso discado. Pense comigo: uma empresa com varias filiais precisando de comunicação urgente com uma outra localizada a varios milhares de quilometros; a comunicacao por acesso puramente discado, Intranet a Intranet seria inviável; usa-se, então, um provedor de acesso local para a interligação entre as duas filiais. Introdução Ao contrario do que muita gente possa pensar, TCP/IP nao é o unico protocolo utilizado em comunicao em redes, tanto é que ao mesmo nivel de um IP, por exemplo, existe o x.25 e, ao TCP, o UDP. E algo mais que algumas pessoas possam fazer confusao é a respeito do que cada um faz, ou seja, TCP define um papel um tanto diferente do IP e vice-versa, cada qual com um papel especifico mas com sobrevivencia mutua e sempre "ajudado" por protocolos semelhantes. Na realidade podemos ate mesmo estudar os dois protocolos separadamente. O TCP/IP foi adotado como padrao em todo mundo como meio de comunicacao com a Internet. Algumas empresas podem implementar seus proprios protocolos de comunicacao em redes internas, se quiserem, mas para a comunicacao com a Internet deverao adaptar seus equipamentos a fim de operar em TCP/IP.
  • 2. O TCP/IP foi primeiramente desenvolvido como um projeto particular que atendesse aos servicos do Governo Americano em especial as Forcas Armadas. No tempo da Guerra Fria, nao era possivel um nivel de comunicao satisfatorio entre bases comandadas, entao foi necessario a criacao de um nivel de transmissao de informacoes mais adequado. Logicamente existiam as transmissoes puramente fisicas com dados trafegando por meio de pulsos eletricos tal qual um barramento transfere dados entre perifericos. Pensar em algo como isso naqueles tempos era no minimo ridiculo. Como me comunicar dessa forma com uma base militar a algumas centenas ou milhares de quilometros? Levando em conta alguns conceitos de eletronica, o sinal se perderia ou se anularia facilmente nesse meio, os fios. Mesmo levando em conta que fosse possivel tal meio de comunicao, as informacoes nao sao enviadas como em um protcolo por TCP/IP, ou seja, por pacotes. É tudo enviado de uma vez so. Se a transmissao por algum motivo fosse interrompida todo o processo iria falhar e a informacao nao chegaria ao destino final. Desastroso. Alem de permitir uma conexao mais confiavel em redes, o TCP/IP permitia transmissoes bem mais arrojadas do que aquelas realizadas em modo puramente fisico, ou seja, unicamente por transmissao em pulsos. Assim, uma transmissao puramente fisica so poderia ser realizada somente por dois usuarios por vez e se se quisesse enviar mais informacoes a outros computadores nao seria possivel ou entao deveria-se fechar uma das conexoes para que a informação pudesse chegar em dois locais. Levando em conta que naquele tempo a comunicacao era primordial entre varios lugares ao mesmo tempo, esse modo de transmissao nao era o mais indicado. Pelo TCP/IP (outros protocolos permitiam isso tambem) era possivel comunicacao entre vários computadores ao mesmo tempo e isso atendia as pretensoes da epoca. Nesse tempo, os cientistas tiveram a ideia de transmissao por pacotes, ou seja, somente partes da informacao que deveria ser transmitida seriam enviadas. Assim, uma mensagem nao corria o risco de se perder no meio da transmissao e mesmo uma conexao mal realizada nao seria de toda inutil. Bem ,alguem poderia estar se perguntando: "Tudo bem, entendi o que você quis dizer, mas se se usa qualquer protocolo para meios de comunicao atraves de pacotes segmentados, isso tambem implica um meio fisico de transmissao e nesse meios os dados trafegam normalmente como pulsos eletricos tambem." -- Ok, você esta certo, nao ha diferencas em como a informação chega ao destino, ha sim no modo como ela é enviada. Como sera explicado mais adiante, o IP segmenta a informação em varios pacotes e esse pacotes sao tratados meramente como pulsos eletricos quando transmitidos e quando chegam ao computador destino, mas o TCP (o responsavel pelo recebimento) implementa um metodo seguro de transmissao, isso porque se o que se queria ser enviado nao chegou ao destino de forma completa, uma nova conexao pode ser restabelecida sem prejuizo do que já havia sido feito. Creio que você já deve ter ouvido falar no GetRight nao? Otimo programa. Isso seria um bom exemplo para dar a você: quando uma conexao termina por qualquer motivo com o meio de origem, o que envia os dados, uma nova conexo pode ser estabelecida sem prejuizo dos dados que estavam sendo recebidos, ou seja, pode ser reinicializada de onde se parou sem problemas. Assim funciona o meio de transmissao de pacotes e acho que você já pegou o espirito da coisa sobre a importancia desse protocolo. O protocolo TCP/IP implantou um novo conceito arrojado no modo de transmissao mundial entre redes mesmo as heterogeneas (Sistemas Operacionais diferentes) e qualquer Sistema que tenha por pretensao conectar o usuario em rede mundial Internet deve ter tais protocolos instalados Bom, era isso que eu queria falar a você como introducao. Agora vamos a parte tecnica da coisa. Conceitos Técnicos Antes de comecar, um esclarecimento: Um provedor de acesso a internet funciona por concessao de uma outra grande rede maior. Assim, seu provedor nada mais é do que uma rede conectada a outra maior e você, quando conectado ao seu provedor e fazendo parte dele como um host, é um micro-host em toda a essa rede maior. Essa grande rede maior é chamada de backbone (espinha-dorsal em ingles) e é nela onde estao conectadas as redes menores que oferecem servicos, as provedoras. É o nivel mais alto das redes. Os backbones nacionais sao: RNP, Embratel, Unysis, Global One, IBM e Banco Rural. Creio
  • 3. que sao os unicos ate o momento. Esse sao os de nivel mais alto no Brasil, mas existem os backbones estaduais tambem (na realidade podem ser considerados como centros de roteamento aos backbones nacionais): ANSP - SP; Rede Bahia - BA; Rede Catarinense - SC; Rede Internet Minas - MG; Rede Paraibana de Pesquisa - PB; Rede Rio - RJ; Rede Pernambuco de Informática - PE; Rede Norte- riograndense de Informática - RN e Rede Tchê - RS. Sendo assim, a sua provedora é seu backbone pessoal, que se liga ao backbone do estado onde esta localizada que por sua vez é conectada ao de maior nivel, os backbones nacionais. Se seu estado nao possui backbone provavelmente sua provedora utiliza um backbone de outro estado ou entao de algum instituto de tecnologia proprio que possa fazer pelo menos um roteamento satisfatorio. Quando estabelecemos uma comunicacao com nosso provedor de acesso a internet, por exemplo, nos é atribuido um numero de identificacao na rede. Esse numero de identificacao é o IP. Um numero IP nada mais é do um numero de 32 bits segmentado em quatro partes, portanto com oito bits, formando um byte. Ao total teriamos 4 bytes. Se voce recebe por exemplo 11001000.11111001.11011111.1110010 esse numero define voce no mundo inteiro, ou seja, seu computador é unico na internet naquele momento e voce é perfeitamente identificado por ele. Assim como um numero de telefone, não existem dois numeros IP conectados ao mesmo tempo a não ser, obvio, que seja pertencente a uma rede interna (que não possua acesso a Internet). Algo interessante a se dizer sobre essa identificacao é que, como foi dito, sao um conjunto de bits e como tal é representado por numeros binarios. O mesmo numero acima traduzido para tabela decimal ficaria: 200.249.223.114. Isso é importante notar, porque um numero como esse nao é dado a voce em formato decimal mas sim binario e depois convertido gracas ao servidor ou servidores DNS. Outra coisa interessante a ser dita a respeito é que numeros IP nunca ultrapassam o patamar de numero 256. Assim, voce nunca ira ver nada como 200.286, isso não é possivel. Simplesmente porque a tabela de conversao atinge somente 256 possibilidades numericas (de 0 a 255). Portanto, o maximo que voce ira ver sera 255 como numero identificador de um dos segmentos do quarteto decimal. Na realidade poderiamos dizer 253 possibilidades porque o numero 0 eh destinado a processos especiais e 255 não pode ser atribuido a numeros IP de hosts, eles possuem outra finalidade (a mascara de sub-rede). Maiores detalhes sobre isso na secao "HIERARQUIA DE REDES". Outro fato que eu acredito muitas pessoas facam confusao é a respeito do host. Um host nada mais é do que um computador conectado em rede (em uma rede interna ele tambem pode ser chamado de nó). Vamos citar um exemplo de provedora, a ELOGICA. Quando voce disca para la e você é conectado, eles te fornecem um numero IP, ok. Para a ELOGICA voce nada mais é do que um computador conectado na rede dela, meramente um numero de identificacao. Como identifico um host? simples. Um endereco IP é dividido em duas partes: uma destinada a identificao da rede e a outra identificando o host, ou seja o micro que pertence a essa rede e se conectou a ela. Voltando ao exemplo acima: se nos temos 200.249.223.114 os dois primeiros bytes desse numero (lembre-se da definicao mais acima, para nao ficar perdido) sao destinados a rede, entao: 200.249 é a rede a qual me conectei. Ok. Os outros dois ultimos bytes definem o host: 223.114. Entao, para ficar facil, eu sou um micro chamado de host com identificacao 223.114 conectado na rede 200.249. Mais outra coisa deve ser dita: acho que voce já ouviu falar em sub-rede, claro. Pois é, uma sub- rede nada mais é do que uma rede hierarquicamente inferior em relacao a uma rede maior. Geralmente, os numeros que identificam a sub-rede sao referidos ao terceiro byte da cadeia do IP, assim o mesmo numero 200.249.223.114 pode definir uma sub-rede de identificacao 223. Como voce pode ver, uma rede pode ter varias sub-redes menores cada uma interdependente entre si mas dependente em relacao a rede maior. (*Esse conceito de identificacao de sub-redes envolve detalhes maiores e voce ira obter melhores informacoes na secao "HIERARQUIA DE REDES"*) Voltando ao exemplo da ELOGICA: ela possui varias sub-redes cada uma com um papel diferente mas de importancia suma dentro de toda a rede. Para a ELOGICA foi concedido o numero 200.249.XXX como identificador da rede em geral. Dentro dessa rede maior, a ELOGICA criou varios outros departamentos menores cada um com um servico especifico. Assim, poderiamos ter 200.249.223;
  • 4. 200.249.238; 200.249.219; 200.249.218, etc. Cada uma dessas sub-redes com uma funcao especifica. Se você por exemplo, se conecta a rede e recebe: 200.249.219.15 entao voce é um host de numero 15 dentro da sub-rede 219 na rede 200.249. (*Infelizmente desconheco o menor e o maior nivel de rede concedido a ELOGICA porque, como eh uma rede classe C, apenas o segundo byte não informa a sub-rede verdadeira. Assim outras redes tambem podem ter 200.249.XXX como identificador, o que vai diferenciar ai seria o terceiro byte, justamente o que define uma rede dessa classe.*) O conjunto de sub-redes da ELOGICA segue abaixo: • 200.249.238.2 bbs.ELOGICA.com.br • 200.249.238.3 PE.ELOGICA.com.br • 200.249.238.4 ceiun01.ELOGICA.com.br • 200.249.238.9 irc.ELOGICA.com.br • 200.249.238.11 os390.ELOGICA.com.br • 200.249.238.15 dominus.ELOGICA.com.br • 200.249.238.16 oxente.ELOGICA.com.br • 200.249.238.17 clovis.ELOGICA.com.br.238.249.200.in-addr.arpa • 200.249.238.18 host238-18.ELOGICA.com.br • 200.249.238.19 host238-19.ELOGICA.com.br Observe que os servidores principais se concentram na sub-rede 238. Isso nao significa que um host de um usuario nao possa entrar e ser identificado como pertencente a sub-rede 238. De fato, esses sao enderecos fixos e pertencem aos servidores que atendem servicos tais como o IRC mais acima ou o de e-mail (se nao me engano o responsavel ai seria o ceiun01). Mas observe que mais abaixo (os dois ultimos hosts) encontramos numeros de hosts comuns, ou seja, sao de usuarios conectados no momento. Um outro exemplo: • 200.249.223.1 host223-1.ELOGICA.com.br • 200.249.223.2 host223-2.ELOGICA.com.br • 200.249.223.3 host223-3.ELOGICA.com.br • 200.249.223.4 host223-4.ELOGICA.com.br • 200.249.223.5 host223-5.ELOGICA.com.br • 200.249.223.6 host223-6.ELOGICA.com.br • 200.249.223.7 host223-7.ELOGICA.com.br • 200.249.223.8 host223-8.ELOGICA.com.br • 200.249.223.9 host223-9.ELOGICA.com.br • 200.249.223.10 host223-10.ELOGICA.com.br • 200.249.223.11 host223-11.ELOGICA.com.br • 200.249.223.12 host223-12.ELOGICA.com.br Nessa sub-rede de agora, a 223 nao ouve nenhum servidor anunciado, apenas usuarios conectados. Outras sub-redes foram verificadas mas nao houve nenhuma nova inclusao de servidores, parece que todo o servico se concentra na sub-rede 238. De fato, como sera visto no proximo capitulo, sub-redes superiores a 224 são destinadas a servicos especiais e ficam destinadas aos servidores. Hierarquia de Redes Como havia dito antes, a ELOGICA não obteve um numero de rede do nada. A ela foi concedido um numero de rede que é: 200.249.XXX. O fato de ter colocado os caracteres X é porque a ELOGICA não é única no mundo com identificacao 200.249. De fato, assim como ela, a NETPE (uma outra
  • 5. provedora aqui de PE) tambem recebeu 200.249 como identificacao. Ambas são redes classe C e são varias pelo mundo. O que vai diferenciar as duas sera o terceiro byte da cadeia do IP. Uma organização mundial chamada IETF (Internet Engineering Task Force, ou Força Tarefa de Engenharia da Internet) eh quem outorga esses numeros a quem a solicita. As redes são divididas hierarquicamente no mundo, assim nos temos rede de maior tamanho e aquelas menores. Essa definicao de maior ou menor atende o simples fato da possibilidade de um numero maior ou menor de hosts conectados. Assim nos temos: Redes classe A, B e C. Redes classe A: São as redes de maior numero de hosts conectados e somente pouquissimos orgaos ao redor do mundo possuem o privilegio de possuir um endereco de rede situado na classe A (diga-se de passagem, não existem mais enderecos dessa classe disponiveis a novos cadastros, a não ser que alguem se descadastre). De fato, não eh qualquer organizacao no mundo que possui esse privilegio e eh apenas concedido a Universidades e organismos Governamentais. A quantidade de enderecos disponiveis a esse nivel é pequena, atinge numeros de 1 a 126. Observe que não utilizei os caracteres X pra identificar um outro nivel, isso não eh necessario em classes do tipo A, porque o primeiro byte jah eh suficiente para a identificacao de toda a rede. Já deu pra perceber portanto que essas redes são muito poucas mas atende o maior numero possivel de hosts conectados: 16.777.215. No mundo inteiro somente existe 126 redes classe A com demanda de aproximadamente 16 milhoes de hosts. Entao nos poderiamos ter: 1.0.0.1 ate 126.255.255.254. Esses dezesseis milhoes de hosts reflete o numero de possibilidades possiveis entre os tres ultimos bytes do quarteto. Assim, se fizermos uma analise combinatoria desses termos chegariamos no numero em questao. Bom, uma pergunta poderia surgir: "Ok, redes desse tipo são realmente grandes mas não entendi como ficou essa ultima parte, e quanto aos outros enderecos? Por que não foram incluidos? - Os outros enderecos de rede não foram incluidos poque são o resultado da analise combinatoria entre os outros possiveis hosts. Levando em conta que possuimos ainda os tres ultimos bytes da cadeia do IP, teriamos 256 possibilidades diferentes em um byte da cadeia do IP. Se temos 256 possibilidades entre cada um dos tres ultimos bytes da cadeia do IP entao faca o seguinte: eleve 256 ao cubo. O que voce vai obter é exatamente 16.777.216 como resultado. Uma pergunta interessante poderia surgir: "Certo, mas em outra parte do tutorial voce afirma que o numero 0 e o 255 não podem ser atribuidos a numeros IP porque possuem outras funcoes" - Não eh bem assim. O que afirmei eh que numeros de hosts não podem ter esses numeros e quando me refiro a host me refiro a um micro conectado e não um servidor de rede. Dessa forma, uma rede pode se utilizar de todas as possibilidades desde que não seja atribuido aqueles valores a hosts. Rede tipo B: Essas são as redes intermediarias e possuem enderecos de rede de 128 a 16.384. Redes desse tipo são identificadas pelos dois primeiros bytes. São possiveis portanto um numero de redes dessa classe da ordem de 16.256. Faca as contas: se voce já sabe que a rede ira comecar em 128 e terminara em 191 (o proximo nivel da hierarquia das redes começara em 192) , basta subtrair 128 de 192, o resultado voce multiplica por 256. Assim, voce ira obter 16.384. Por exemplo: o resultado que voce obteve foi 64 jah que o primeiro byte do nivel iria de 128 a 192 e o segundo de 0 a 255. Assim, como exemplo, poderiamos ter: 128.0.0.1 ate 191.255.255.254. O numero de hosts disponiveis nessa classe eu acho que voce já sabe como calcular: 256 elevado ao quadrado (são os dois ultimos bytes restantes). Teriamos entao 65.536. Esse é o numero possivel de hosts conectados nessa classe. No mundo temos entao 16.256 redes classe B com um maximo de 65.536 hosts conectados. Uma pergunta poderia surgir: "Voce comecou a contar esta rede a partir de 128, a rede anterior não terminou em 126? Onde esta o numero 127?" - O numero 127 não se destina a identificar redes publicas. De fato, esse numero eh destinado a testes de loopback em uma rede. Um loopback nada mais eh do que a conexao que a rede faz com ela mesma para testes internos, configuracoes, etc. Isso não eh exclusivo de redes e tanto eh que loopbacks existem quando queremos verificar a velocidade de trafego numa comunicacao paralela ou serial por exemplo. Dessa forma, uma rede que comece com 127 não eh uma rede que conecte hosts. Eh um teste interno apenas. Entao se voce vir 127.0.0.1, por exemplo, isso eh um numero de loopback. Rede tipo C: Essas são as menores e são as mais numerosas em todo mundo. Provavelmente a sua provedora de acesso a Internet usa uma rede tipo C. Enderecos de rede vao de 192 ate 2.097.152. No mundo são possiveis, entao, algo em torno de 2 milhoes de redes com apenas 254 hosts conectados (que eh o ultimo byte). Os endereços de rede ficariam entao: 192.0.0.1 a 224.255.255.254. Como
  • 6. provavelmente sua provedora não possui apenas 254 usuarios cadastrados, ela com certeza dividiu a sua rede em redes menores cada uma comportando 254 usuarios. Isso ira acontecer sempre a medida que a demanda por acessos a novos usuarios aumentar, ou seja, se uma rede classe C jah não atende mais a demanda, ela pode ser aumentada com a inclusao de novas sub-redes. Para se chegar a esse numero de 2 milhoes o calculo eh o mesmo do que jah foi feito acima, ou seja, redes classe C são identificadas pelos tres primeiros bytes entao faça somente o 256 elevado ao cubo e vc achara o valor, certo? Bastante errado. Ao contrario das outras redes, uma rede classe C possui mais restricoes. Uma rede classe C comeca do numero 192, ok. Mas não termina em 256! De fato, ela termina no numero 224. Isso acontece porque numeros superiores a 224 são destinados a servicos especiais (com protocolos diferentes) e não são incluidos como identificador de rede. Assim nos teriamos apenas 32 possibilidades no primeiro byte (de 192 ate 224). Os dois bytes seguintes continuariam da mesma forma, ou seja, não existem restricoes e continuariam com 256 possiblidades. Entao nos teriamos: 32 x 256 x 256 = 2.097.152. E assim nos temos o numero de redes disponiveis nessa classe. Na verdade o numero de redes disponiveis eh isso menos uma rede: a 192.168 que eh feita quando queremos construir nossa rede particular. Se algum dia voce quiser montar sua rede provavelmente ira nomear seus hosts como: 192.168.0.1; 192.168.0.2.... ate o fim do numero de maquinas disponiveis. Se chegar na maquina de numero 24, por exemplo, era podera ser conhecia como: 192.168.2.4. Outro item a ser comentado eh sobre o que se chama de mascara da sub-rede. Isso nada mais eh do que a determinacao da classe a qual uma rede pertence. Assim nos poderiamos ter: • Classe A: 255.0.0.0 • Classe B: 255.255.0.0 • Classe C: 255.255.255.0 Parece desnecessario? Pois eh, realmente nos damos a olhar a primeira vista e pensar que não eh necessario um tipo de identificacao de redes desse tipo. Bastaria olhar o numero do primeiro byte e isso jah seria suficiente p/ saber a que classe a rede pertence. Isso a nossos olhos eh otimo mas para uma maquina, a que ira analisar pedidos, por exemplo, isso não eh suficiente. Precisamos informar a ela que a rede eh do tipo C, A ou B e isso eh feito pela mascara da sub-rede (tambem chamada de netmask). Eh necessario esse tipo de informcao porque uma rede de amplo espectro, uma classe A, por exemplo, pode ser dividida em redes classe B que por sua vez pode ser subdividida em redes classe C. Por exemplo, voce pode ter uma rede classe A mas achou muito grande e resolveu dividi-la em varias redes B, no final voce quis varias tipo C, ok, sem problemas. Mas quando voce fez isso, voce automaticamente criou redes verdadeiras e não apenas subsividoes. Assim a menor divisao que voce fez foi em 20 vezes. Não se deu por satisfeito e resolveu criar redes menores dentro daquelas 20, vamos supor 5. Cada uma dessas divisoes não eh tratada como um mero host, por exemplo, eh uma rede inteira. Sendo assim, voce precisa informar que aquela subdivisao das 20, as outras 5 redes, não são hosts e sim redes classe C. E, na verdade, quando se chega a um ponto como esse, nem mesmo uma simples "olhada" nos numeros eh suficiente para informar que tipo de rede é e fatalmente voce ira precisar se certificar disso por meio do netmask. Isso eh importante porque sem essas informacoes não eh possivel o roteamento de dados. Eh necessario manter o nivel de hierarquia das redes. Se voce tem, por exemplo, um numero de rede como: 125.142.75.6 isso parece ser uma rede classe A. Quem pode garantir? Uma "olhada" nesse numero não eh suficiente pra termos certeza. Essa pode ser a nossa divisao de redes que fizemos nas linhas acima ou entao uma rede A verdadeira. Sendo assim, é extremamente necessario informar que essa rede não eh uma rede A e sim uma classe C dentro de uma A. Dependendo di sistema em uso, podemos definir simplesmente pelo netmask. 255.255.255.0 eh suficiente pra informar que essa eh uma rede C. Espero que tenha sido esclarecedor essas informacoes. Eh muito importante o conhecimento desses topicos se quiser saber mais sobre construcao de redes. Conceitos Técnicos
  • 7. O protocolo IP possui outras determinacoes alem de identificar voce na rede: ele transforma a informacao a ser enviada em pequenos pacotes cada um contendo em torno de 512 bytes (alguns autores se divergem quanto ao tamanho dos pacotes, alguns chegam a admitir 200 bytes). Esses pacotes recebem o nome de datagrams e em cada um desses pacotes é alocada a informacao do computador de origem e de destino. Que informacao é essa? o numero IP. Assim, se por exemplo voce estabelece uma conexao com algum servidor tipo ftp, junto de cada pacote vai o seu numero IP, para que o servidor saiba para quem esta enviando os dados, alem do proprio numero IP do servidor para que possa ser localizado, logico. A respeito do tamanho dos pacotes eles podem ser facilmente percebidos: experimente fazer um upload por e-mail de um arquivo qualquer de, digamos, 137 kb. Na janela informativa de status da operacao voce ira perceber que aquele pacote de 137 kb aumentou para algo em torno de 188 kb. Esse arquivo de 137 kb foi segmentado em varias partes de mais ou menos 512 bytes cada e foi anexado um cabeçalho informativo feito pelo IP (explicado mais adiante) contendo informacoes do computador de origem e de destino. Essa informacoes adcionais, colocadas em cada pacote, constituem alguns kbytes a mais em tudo e foi por isso que aumentou para 188 kb. Um dado interessante a respeito é que algumas aplicacoes cliente (leia-se programas que recebem exclusivamente dados) como um mIRC por exemplo, anexa os dois protocolos em seu meio e é perfeitamente configuravel o tamanho de cada pacote, ou seja, voce poderia enviar pacotes de dados com 512 ou 200 bytes sem problemas. Contudo, pacotes maiores sao mais confiaveis e é sempre aconselhavel voce utilizar pacotes de 512 byes. Tambem nao vamos exagerar e colocar pacotes de 1024 bytes. Absurdo. É possivel? é. Mas nao é uma boa ideia. Uma cartacteristica interessante da rede é que os dados transformados em pacotes podem se perder no caminho da transmissao. Nos primordios do TCP/IP, essas informacoes nao se perdiam tao facilmente mas com o crescente congestionamento da rede, um ou outro pacote pode se perder no caminho ou no minimo chegar na ordem errada. Isso ocorre primeiramente porque qualquer coisa enviado atraves de rede deve passar pelo meio fisico e nesse meio essas "coisas" nada mais sao do que sinais eletricos provenientes de um meio digital. Assim, um pacote de informacoes sao varios pulsos de interrupcao numa corrente continua. Assim, os pacotes sao enviados sequencialmente mas nao é garantida a sucessao correta, assim um pacote de numero 20 pode chegar na frente do 15. Ai entao entra o TCP responsavel pelo recebimento dos pacotes que chegam. Esse protocolo tem sua maior funcao no reordenamento dos pacotes. Assim, se um pacote enviado pelo IP se perde no caminho, o TCP manda novo pedido ao computador que estava enviando a informacao a fim de ser reestabelecido o processo e o envio novamente do mesmo pacote ou entao, se todos os pacotes conseguiram chegar, po-los na ordem correta. Esse pedido geralmente eh feito pelo protocolo ICMP (parte do IP que trata de controle de erros, explicado mais adiante) o qual é enviado em um pacote menor do que 512 bytes informando que um pacote chegou de forma inadequada ou nao chegou. Perceba que a informacao nao chega inteira mas segmentada em centenas ou milhares de pacotes, dependendo do tamanho do que se quer enviar. Entao como o TCP ao receber o pacote sabe em que ordem ele deve ficar? Nesse caso entra o TCP de origem. O TCP do computador de origem fornece um numero sequencial a cada pacote segmentado pelo IP. Assim, quandos os pacotes chegam no destino, o TCP de destino se incumbe de "ver" esses numeros e po-los na ordem correta e nao na ordem em que chegam. Já pensou se nao fosse assim? Quando uma pagina html fosse "aberta" no seu navegador ficaria tudo desorganizado, porque o seu TCP os receberia e os ordenaria do modo como chegassem. Outro protocolo que acredito que poucas pessoas possam conhecer ou se conhecem tem certa duvida é o UDP. O UDP (User Datagram Protocol) possui as mesmas qualificacoes que o protocolo TCP e exerce a nivel de rede a mesma coisa. A diferenca real se resume no fato de que qualquer conexao realizada por UDP é bastante falha e insegura. Enquanto o TCP fornece um numero sequencial a cada pacote a fim de serem reorganizados na ordem correta, o UDP envia os pacotes a esmo, ou seja, sem sequencia. Quando esse pacotes chegam no destino fica meio dificil a conexao. Mas ai fica a pergunta: para que diabos serve o UDP entao? Bom, se voce tem certeza que possui uma conexao confiavel e sabe que os pacotes nao irao se perder no meio do caminho ou entao que chegarao na ordem correta, o UDP pode ser a sua escolha. Nesse caso nao se perderia tempo na reordenacao de pacotes.
  • 8. Um exemplo paratico de quando se usa o UDP? quando se nuka alguem ou quando se da o chamado death ping. Ninguem vai se preocupar em enviar alguma coisa a vitima na ordem correta. O objetivo do nuke eu creio que você já conheca. Entao pode ser uma boa pedida já que o envio é mais rapido, se bem que nuke alem de ser condenavel eh um pouco antigo e diversas formas de protecao jah foram feitas. Bom, entao alguem poderia se perguntar: "mas e como fica o IP?". Bom, o IP fica na mesma, ou seja, ele, a nivel de rede, continua a exercer a mesma funcao de antes e nao é porque foi incluido o UDP que ele nao vai ser usado. Isso não implica. O TCP ai foi substituido meramente para se acelerar o processo ou com algum outro proposito como o do nuke ou death ping. Os Servidores Bom, resolvi incluir esse adido como parte integrante desse tutorial a respeito de modos de transmissao em redes por ser um assunto que, acredito, muita gente ainda faça bastante confusao. Como havia dito em outra parte do texto, IP sao numeros de 32 bits segmentados em quatro partes cada uma contendo oito bits, um byte portanto. Quando voce faz uma comunicacao remota com um computador qualquer em especial os que atendem servicos, os chamados servidores, o IP fornece um numero de identificacao que recebe o nome de IP como simples alusao ao serviço que ele faz. Nao so o numero de identificacao do seu proprio host mas tambem do servidor que atendera os pedidos. Entao, quando voce faz a solicitacao de um pedido qualquer a um servidor como o ftp por exemplo, junto a ele vai o seu IP e o IP do servidor. Lembre-se que o processo IP "quebra" qualquer informacao em pequenos pacotes conhecidos como datagrams. Entao como é feita a comunicacao? Bastante simples: vamos supor que voce esteja no seu navegador, um Netscape por exemplo, e voce quer acessar uma pagina qualquer. Entao voce descreve uma url e aponta o browser nesse pedido. O IP entao entra em açao. Ele agrupa esse pedido num unico pacote contendo os Ips de identificacao e manda ao servidor que atendera os pedidos. (*Eu nao sei como funciona um servidor como um Windows® NT, por exemplo, entao vou descrever como se processa tudo em uma maquina padrao POSIX, um Linux por exemplo. Embora o NT esteja incluido nesse padrao tambem, eu nao sei como o servico é atendido por la.*) Esse pacote chegando por la é recebido por algo como se fosse um grande secretario geral de um grande departamento. O responsavel nesse caso seria o que é chamado em servidores UNIX de daemon, mais conhecido como inetd (nao vou entrar em detalhes sobre isso, acredito que ira fugir bastante do assunto em questao). Esse "secretario geral" atende todos os pedidos que chegam, mas desvia o sercvico a um servidor especifico que no nosso exemplo sera o httpd (outro daemon) . Nesse caso, o servico que o inetd fez foi somente "avisar" ao pacote que ele por si nao faz o servico, mas avisa quem é o responsavel, o httpd. Entao, chegado o pedido, o httpd verifica em seus arquivos (novamente nomes de arquivos nao sao importantes ao entendimento do assunto, isso é uma questao especificca a assuntos em UNIX e nao é preciso entrar em detalhes sobre isso) onde se encontra, por exemplo, uma pagina qualquer. Encontrando essa pagina, o httpd a organiza e segmenta em pacotes e envia ao computador que fez o pedido, o cliente. Os pacotes recem chegados no computador de origem sao colocados em sua ordem correta e a aplicacao cliente, o Netscape, ira se encarrega de mostrar o conteudo da pagina que foi organizada. Portas de Comunicação Esse é outro assunto bastante difundido na internet e temido por muita gente. Mas antes, merece uma descricao detalhada: Tal como os numeros IP, numeros de portas sao formados por bits. As portas sao atendidas em numeros que vao de 0 a 65534 (na verdade o mais correto seria de 1 a 65535. Ate agora nao vi nenhum servidor que atendesse em portas de numero 0). Numeros de portas de comunicao sao formadas por
  • 9. sequencia de 16 bits dividido em duas partes cada uma com um byte portanto e separados por pontos de divisao como em um numero IP. Como havia dito, numeros de portas vao de 0 a 65535, sao muitas portas portanto e cada uma destinada a alguma conexao qualquer. Lembre-se que a cada dia sao inventados novos servicos que se utilizam do protocolo TCP/IP como meio e esses novos servicos, vamos citar como exemplo o ICQ, precisam de uma dessas portas disponiveis para conexao. "Qualquer uma?" -- Sim, qualquer uma. Nao ha um padrao para as portas serem abertas com o mesmo numero anterior. O Sistema Operacional se encarregara de escolher uma porta adequada nao necessariamente igual a anterior. Numeros de porta inferiores a 1024 sao destinadas ao computador que atende determinado servico. Voltando ao exemplo anterior, o dos servidores: observe que esse pedido é sempre atendido na porta 80 (porta padrao de servicos http), contudo, nada impede que essa porta seja atendida em outro numero. Em relacao a isso, tal pratica é muito corriqueira, ou seja, numa Intranet, por exemplo, é bastante comum o administrador da rede reservar um numero maior a um servico especial que nao possa ser acessado assim tao facilmente. Nesse ultimo exemplo, vamos supor que o administrador tenha ficado receoso porque algumas pessoas estao conseguindo acessar um determinado servico que, embora deva ficar sempre no ar porque atende a certas pessoas, nao deve ser acessivel a todos. Entao ele pode muito bem mudar a porta padrao do servico - vamos supor um telnet que atende na porta 23 - para algo em torno de 56263. Bem, o administrador é realmente uma pessoa responsavel e muda todos os dias o endereco da porta de forma a que ninguem possa acessa-lo assim tao facilmente, dessa forma se tornando bastante dificil a alguem o acesso a esse servico. Essa é uma pratica bastante difundida em servidores particulares visando a seguranda de toda a rede, mas nao pde ser usada em servidores permanentes como um proevdor de acesso a intenet. Nesse caso , a medida mais correta é inabilitar o servico inteiro já que nao se pode avisar a todos os usuarios que o numero da porta mudou de numero. Alguem pode estar se perguntando: "Ok, entendi o que voce quis dizer. Mas vamos supor que o meu progama cliente, o que envia o pedido, vamos supor um telnet, queira se comunicar com um servidor telnet remoto. Nao saberia ele a porta correta de comunicao?" -- BBBem, nao é assim tao simples. Já pensou se tudo fosse assim? Simplesmente eu saberia onde qualquer servico é atendido e todo o trabalho do administrador vai por agua a baixo com todas aquelas mudancas de numeros. Na verdade, o seu telnet envia o pedido e o inetd o repassa ao telned. Mas acontece uma coisa: se eu mudar o endereco de porta do telnet para outro numero qualquer, o inetd nao sabera o numero a nao ser que eu o informe. O pedido vai ser atendido? Nesse caso nao. Mas se voce indicar a porta correta onde o servico esta disponivel, a comunicacao sera estabelecida. Entao, voce teria de apontar o numero correto ao seu cliente telnet e este enviaria o numero ao servidor remoto. Simples? Pois é, é assim que as coisas funcionam e a seguranca é mantida. Algo importante que nao foi explicado anteriormente é que um dos papeis que o TCP exerce nesse monte de protocolos é que ele fornece o numero da porta a ser atendida. Assim, me utilizando do cliente telnet, o TCP fornece o numero da porta. Mas quem envia é o IP. Confundiu? Vamos dizer assim: O IP é responsavel na rede pela transmissao de pacotes, como você já sabe. Em cada pacote vai o IP de destino e de origem (isso esta meio repetitivo mas é necessario). Isso é como se fosse um envelope onde no corpo externo da carta vai o endereço para onde quero enviar, o destinatario, e de onde foi mandado, o remetente. Dentro do envelope vai uma carta. Nessa carta sao fornecidos os enderecos de portas onde o servico é atendido. É interessante dizer que o IP nao sabe o numero da porta, isso é papel do TCP ou do proprio UDP. Nem o UDP nem o TCP sabem para onde vao, ou seja, eles nao sabem quais sao os numeros IP. Bom, ok. Mas e quanto aos numeros de portas acima de 1024? Bem, essas sao destinadas apenas a comunicao entre programas que se utilizam de TCP/IP. Como havia dito mais acima, vamos citar o exemplo do ICQ. Otimo programa. Quando voce estabelece uma comunicacao com os servidores que conectam voce ao ICQ, automaticamente é aberta uma porta de comunicao. Se voce executar qualquer PortScan para rastreamento de portas abertas, voce ira verificar que uma porta, sempre acima de 1024, foi aberta. Voce pode verificar agora mesmo se alguma porta de comunicacao foi aberta no seu micro. Simplesmente no prompt do seu MS-DOS digite:netstat -an. Algo como o que segue abaixo vai aparecer:
  • 10. Route Table Active Connections Proto Local Address Foreign Address State TCP 127.0.0.1:1041 0.0.0.0 LISTENING TCP 127.0.0.1:1041 127.0.0.1:110 ESTABLISHED TCP 200.215.169.67:1034 200.215.160.63:110 TIME_WAIT TCP 200.215.169.67:1040 200.215.160.63:110 TIME_WAIT TCP 200.215.169.67:137 0.0.0.0:0 LISTENING UDP 200.215.169.67:138 0.0.0.0:0 LISTENING UDP 200.215.169.67:139 0.0.0.0:0 LISTENING Podemos interpretar isso assim: Proto: é o protocolo utilizado para transportar o servico, nesse caso foi utilizado o TCP, mas poder poderia ter sido utilizado o UDP sem problemas, quer dizer, ate certo ponto e dependendo do servico. Local Address: É o numero de porta local ode foi estabelecida a conexao. Observe que foram todas acima de 1024. Excecoes foram vistas mas serao explicadas. Foreign Address: É o endereco de porta remoto onde a conexao foi estabelecida. Foi colocado o nome do protocolo que atende o servico, o pop3. Poderia ter sido colocado o numero de porta sem problemas, nesse caso ficaria 110. State: Define o estado em que a conexao se encontra no momento. Desses estados, tres foram efetuados: listening: isso é a espera de conexao que ainda nao foi estabelecida. No momento em que foi executado o netstat, a porta estava sendo ouvida. Established: Essa nao precisa de muita definicao, a conexao foi efetuada com sucesso nas portas em questao e o programa cliente esta recebendo dados de forma normal. Time Wait: O servidor parou momentaneamente de enviar dados e no momento em que o comando netstat foi executado isso estava ocorrendo. Observe as portas que foram estabelecidas no computador local: 1041, 1034, 1040, 137, 138, 139. Como voce pode verificar foram estabelecidas conexoes nas portas menores a 1024, como 137, 138, 139. Essas portas atendem servicos portanto. Vamos a elas: A porta 139 na realidade é apenas um bug encontrado nas versoes Windows® anteriores a OSR2 e pode ser fechada pelo usuario com programas especificos ou pelo renomeamento de um driver de dispositivo virtual que nesse caso é o vnbt.386. Os efeitos provocados pelo mau uso dessa porta já sao bastante divulgados: isso causa uma pane geral nos sistemas Windows® e mesmo os NTs mais antigos ainda sofrem com esse problema. Nao é um nuke propriamente dito porque os efeitos sao diferentes. Na realidade aproveita-se a falha que o Windows® possui em atender servicos marcados como urgente (os chamados OOB ou out-of-band). O Windows® da preferencia a pacotes marcados dessa forma e relega a segundo plano as outras conexoes que você possui. O efeito é o termino da sua conexao TCP/IP. Isso siginifica que alguem poderia tentar usar seu micro com alguma forma de hacking? Provavelmente nao. Digo provavelmente porque a porta 139 é usada ainda como brincadeira por muita gente metida a hacker mas que nada mais fazem do que cancelar uma conexao TCP/IP e travar a maquina de um usuario inocente (existem exceçoes). Brincadeira de criança. Essa porta, portanto, nao atende servicos a nao ser o de enviar resposta ao pacote OOB.
  • 11. As portas 137 e 138 sao reservadas ao NetBios (Network Input/Output System) do Windows®. Na verdade nao é exclusividade dos sistemas Windows® e pode ser implementado em qualquer maquina. O NetBios foi desenvolvido pela IBM como forma de servir o micro cliente como host servidor em alguns casos especificos. Assim, alguem usando um Windows® 95 poderia disponibilizar essas duas portas para permitir servicos como acesso a uma impressora compartilhada por exemplo. Mas é altamente recomendavel que estas portas estejam fechadas. Se voce nao é usuario de uma rede interna de algum departamento e ninguem usa seu micro como host servidor temporario para, por exemplo, compartilhar sua impressora entao nao ha nenhum motivo para permanecer com essas portas abertas. O usuario dessa configuracao de portas precisa urgentemente de uma re-configuracao do Windows®. Verifique em seu micro, caso use Windows®, se voce esta com algum servico compartilhador de redes como o NetBios. Se está, nao permita nenhum compartilhamento entao. Isso constitui-se de uma forma de hacking realmente e nao é usada por criancas que adoram nukar o usuario inocente, hackers que possuem conhecimento dessas portas abertas (e tem conhecimento da tecnica) podem acessar seu micro da forma como quiserem jah que essas portas sao atendentes de servicos ao contrario da porta 139. O Windows® usando o NetBios vai permitir acesso nesse caso. Essa descricao acima (do NetBios) nao se constitui de uma falha dos sistemas Windows® propriamente dita - é inclusive anunciada pela Microsoft. É sim uma má configuracao do usuario que, por algum descuido, permitiu essa forma de conexao. Mas as tres portas se encontravam em modo listening o que quer dizer que nenhuma conexao foi estabelecida, o que nao significa que nao possa ser feito. Agora poderia sobrevir uma duvida: "Ok, essas tres portas foram estabelecidas e estavam em modo listening mas e quanto ao endreço do host? Por que nao foi informado nada?" - Bom, é simples. As portas estavam abertas apenas, todas as tres, mas nenhum host externo, naquele momento, estava tentando acessa-las Exatamente por isso nao foi informado nenhum IP de identificação remoto. Possivelmente, quando alguem tentasse firmar uma conexao, o IP seria fornecido. As outras portas maiores, acima de 1024 foram estabecidas normalmente no computador local sem problemas. O que acontece é o seguinte: Como expliquei mais acima a respeito de uma conexao telnet, o programa cliente informa a porta na qual devera ser estabelecida a conexao mas nao informa a porta local. Isso sera feito depois e quem o fara é o seu Sistema Operacional. Assim, o computador remoto, o servidor envia um pacote qualquer de volta ao computador de origem (lember-se que ele sabe qual o IP de origem) e somente depois disso a porta é aberta. Sera que isso seria motivo de preocupacao de alguem? Acredito que, infelizmente, a maioria das pessoas ainda temem essas portas abertas quando dao o comando netstat. Na verdade nao ha o que se preocupar. As portas sao estabelecidas temporariamente e depois que a conexao é terminada a porta se fecha, a nao ser aquelas que sao conhecidas, como o bug do Windows® da porta 139 e/ou as 137 e 138. Se isso nao acontecesse ninguem receberia informacao de lugar nenhum. Assim, uma porta origem e destino devem ser abertas. Uma outra duvida que poderia surgir a respeito: "Ok, as portas sao fechadas, mas e durante a minha conexao, as portas estao abertas e nao possuem conexao com portas tao altas, qualquer pessoa com um scaneador de portas conseguiria descobrir facilmente onde estou conectado." -- Calma, nao é bem assim. Uma porta so atende um servico de cada vez e nao consegue estabelecer conexao em dois pontos simultaneamente. Assim, qualquer um que tentasse estabelecer qualquer comunicacao com seu computador primeiro teria de esperar a porta aberta parar de ser solicitada para depois atender outra coisa. Ou seja, para poder scanear as suas portas de comunicacao primeiro o servico teria de cancelar a conexao que havia estabelecido antes, o que nao é possivel , e segundo lhe enviar um pacote informando a porta que esta aberta. Assim, deu para entender como o scaneador de portas funciona: ele fica perturbando o computador remoto com pacotes aleatorios de dados (ai entraria o UDP, porque nao é necessrio nenhuma reorganizacao de pacotes) funcionando como uma especie de ping esperando pelas resposta. TCP/IP em Camadas
  • 12. Uma rede TCP/IP eh dividida apenas em quatro camadas (não confunda com divisao de redes em camadas OSI, isso jah eh aplicado a construcao de redes desde o andamento e construcao dela em um escritorio, por exemplo ate o ponto final, em outra localidade. Divisao em camadas por TCP/IP não envolve os conceitos de construcao desde a origem real ate o final). A divisao das redes TCP/IP eh como se segue (Esse modelo de rede TCP/IP foi feito pensando-se na origem em relacao ao destino): Aplicação Transporte Rede Físico Fisico: Esse é o proprio meio fisico da rede ou , em outras palavras, é onde as coisas acontecem de fato. Assim, qualquer comunicacao entre mcros deverao pessar pelo meio fisico. Nessas camada esto incluidas todos os dispositivos fisicos de sua rede: cabos, placas da rede, enfim todo hardware usado em comunicacao em redes esta incluido nessa camada. Em relacao a esse nivel, todos os dados sao tratados como pulsos eletricos, ou seja, interrupcoes na corrente continua do micro. Rede: Essa camada é a responsavel pelo roteamento dos pacotes entre os hosts, ou seja, tem por funcao encontrar o caminho mais curto e confiavel entres os computadores. Eh exercida pelo protocolo IP. A nivel de redes espcificicamente, (não apenas a TCP/IP podemos incluir ainda nessa camada um outro protocolo conhecido como X.25) esse nivel eh ainda responsavel pelo envio dos pacotes. Transporte: Essa camada jah inclue o protocolo que transporta o servico, ou seja, ai esta incluido o TCP e/ou o UDP. Assim, essa camada eh a responsavel pelos pacotes criados pelo IP da camada anterior. Eh obrigacao da camada de transporte oferecer a comunicacao mais confiavel entre os hosts de uma rede e tentar a todo custo enviar dados da forma mais clara e limpa possivel. Caso algum pacote se perda na rede, por exemplo, eh obrigacao dessa camada enviar novo pedido a fim de ser restabecida a conexao correta novamente. Para não evitar confusao nessa camada: o nivel mais acima, o de rede, cria os pacotes e os envia mas lembre-se que o TCP eh quem tem por obrigacao fornecer uma maneira de colocar esses pacotes na ordem correta. Assim, o TCP aloca essas informacoes em cada pacote e o IP o envia. Quando esses pacotes chegam ao destino, o TCP desse destino eh quem vai coloca- los em ordem de acordo com o que o TCP de origem fez. Aplicação: Aqui se incluem as aplicacoes processadas (os programas). Assim, quando voce faz um pedido a fim de receber uma pagina html, o seu navegador processa os pacotes que chegam (ai entrar o TCP) e forma a pagina para que voce possa ver. Isso não ocorre apenas com o destino, ou seja, para que voce recebesse essas informacoes um outro programa teve de ser processado para que as informacoes chegassem a voce.