Kioskea
Recherche
Faça uma pergunta »

O que é TCP/IP ? Pra que serve ? Como funciona ?

Fevereiro 2015

Se você navega na Internet, você já deve ter ouvido falar do TCP/IP. Que bicho é esse ?

Esta dica é um pouco grande mas, uma vez terminada, você vai saber o que é IP, UDP, TCP e para que servem.

TCP/IP é um protocolo, ou seja, regras de comunicação.

IP


Comecemos pelo IP (veremos o TCP depois).


Vamos fazer um paralelo com os Correios.

Quando você quiser enviar uma carta pelo correio:
  • você põe a sua carta dentro de um envelope,
  • na parte da frente, você escreve o endereço do destinatário,
  • na parte de trás, você escreve o endereço do remetente (o seu).



São regras utilizadas por todo mundo. É um protocolo.

Na Internet é, mais ou menos, a mesma coisa: cada mensagem (cada pacotinho de dados) é envolto pelo IP, que acrescenta informações diversas:
  • o endereço do remetente (seu endereço IP),
  • o endereço do destinatário,
  • diversos dados complementares (para controlar corretamente o encaminhamento da mensagem).



O endereço IP é um endereço único atribuído a cada computador na Internet (isto é, não existe na internet dois computadores com o mesmo endereço IP).

Da mesma forma, o endereço postal (nome, sobrenome, rua, número, código postal e cidade) permite identificar um único destinatário.

Como acontece com o endereço postal, você deve conhecer o endereço IP do computador com o qual você quer se comunicar.

Geralmente, o endereço IP se apresenta sob a forma de quatro números (entre 0 e 255), separados por pontos. Por exemplo: 204.35.129.3

O roteamento IP


Para enviar sua carta, você a coloca na caixa de correio mais próxima. Esta carta é retirada, enviada para o centro de triagem da sua cidade e transmitida para outros centros de triagem até chegar ao destinatário.


É a mesma coisa na internet!

Você põe o pacote IP no computador mais próximo (o do seu provedor de acesso, em geral). O pacote IP transita de computador em computador até chegar ao destinatário.

As portas


Bem !

Com o IP, temos o necessário para enviar e receber pacotes de dados de um computador para outro.
Imagine agora, que temos vários programas rodando, simultaneamente, no mesmo computador: um navegador, um software de e-mail e um software para ouvir rádio na Internet.

Se o computador recebe um pacote IP, como saber para que software dar ?

Como saber para que software é destinado esse pacote IP ?
O navegador, o softaware de rádio ou o software de e-mail ?


É um problema sério !

Poderíamos atribuir um número único para cada software no computador.
Então, basta colocar esse número em cada pacote IP para poder entrar em contato com esse ou aquele software.

Chamamos esses números de portas (pense em "portas" de uma casa: em um mesmo endereço, você poderá enviar cartas a várias portas).

Com os correios, para um mesmo endereço, podemos enviar
para pessoas diferentes indicando o número da porta.


Da mesma forma, em um mesmo endereço IP, podemos enviar para diversos softwares especificando o número da porta (aqui: 3)IMAGE 9

Assim, o endereço IP permite que você envie para um determinado computador e o número da porta permite que você envie para um software específico, neste computador.

"Mas e o TCP/IP ?". Estamos chegando... calma!

UDP/IP é um protocolo que permite, justamente, utilizar números de portas além dos endereços IP (Chamamos UDP/IP por que ele funciona acima do IP).
O IP cuida dos endereços IP e o UDP das portas.

Com o protocolo IP podemos enviar dados de um computador A para um computador B.


Com o UDP/IP, podemos ser mais precisos: enviamos dados de uma aplicação x para o computador A para umaaplicação y no computador B.

Por exemplo, seu navegador pode enviar uma mensagem para um servidor HTTP (um servidor Web):
  • Cada camada (UDP e IP) vai adicionar suas informações.

As informações do IP vão ajudar a encaminhar o pacote para o computador correto. Quando chegar no computador em questão, a camada UDP vai entregar o pacote para o bom software (aqui: o servidor HTTP).
  • Ambos os softwares se contentam em emitir e receber dados ("Hello"). As camadas UDP e IP de baixo cuidam de tudo.


Este casal (199.7.55.3:1057 e 204.66.224.82:80) é chamado um soquete. Um socket identifica, de maneira única, uma comunicação entre dois softwares.

TCP


Bem ... agora podemos fazer comunicar dois softwares localizados em dois computadores diferentes.
Mas ainda existem alguns probleminhas:
  • Quando você envia um pacote IP na internet, ele passa por dezenas de computadores. E pode acontecer deles se perderem ou chegarem duplicados.

Isso pode causar problemas: imagine uma ordem de débito em sua conta bancária chegando duas vezes ou uma ordem de crédito perdida!
  • Mesmo se o pacote chega ao seu destino, nada te confirma que ele chegou bem (nenhum aviso de recepção).
  • O tamanho do pacote IP é limitado (cerca de 1500 bytes).

Como enviar a foto JPEG do seu bebê que é de 62 000 bytes? (A imagem não ... o bebê).

É para isso que o TCP foi concebido.

O TCP pode:
  • fazer tudo que o UDP sabe fazer (portas).
  • verificar se o destinatário está pronto para receber os dados.
  • cortar os grandes pacotes de dados e diminuí-los para que o IP os aceite.
  • enumerar os pacotes e, ao recebê-los, verificar se eles chegaram bem, reclamar os pacotes que não chegaram e reuní-los/gras> antes de entregá-los aos softwares. Avisos de recepção são enviados para prevenir o remetente que os dados chegaram direitinho.


Por exemplo, para enviar a mensagem "Oi, tudo bem ?", veja o que faz o TCP (Cada flecha representa 1 pacote IP):


Na chegada, no computador 204.66.224.82, a camada TCP reconstrói a mensagem <gras>"Oi, Tudo bem?"
a partir de 3 pacotes IP recebidos e a entrega ao software, que está na porta 80.

Conclusão


Nada mal, heim ?

Com o TCP/IP, agora podemos comunicar de forma confiável entre os softwares localizados em computadores diferentes.

TCP/IP é usado para muitas coisas:
  • Em seu navegador, o protocolo HTTP utiliza o protocolo TCP/IP para enviar e receber páginas HTML, imagens GIF, JPG e todos os tipos de dados.
  • O FTP é um protocolo para enviar e receber arquivos. Ele também utiliza o TCP/IP.
  • O seu software de e-mail usa os protocolos SMTP e POP3 para enviar e receber e-mails. O SMTP e o POP3 também estão usandoutilizam o TCP/IP.
  • O seu navegador (e outros programas) usam o protocolo DNS para localizar o endereço IP de um computador a partir do seu nome (por exemplo, encontrar 216.32.74.52 a partir do "www.yahoo.com"). O protocolo DNS usa o UDP/IP e o TCP/IP de acordo com suas necessidades.


Assim, existem centenas de protocolos diferentes que usam TCP/IP ou UDP/IP.

A vantagem do TCP em relação ao UDP é que o TCP permite comunicações confiáveis. A desvantagem é ele que requer negociação ("Bom dia, pronto para se comunicar?" Etc.), o que leva tempo.

Se você for curioso e quiser ver todos os pacotes IP trocados e seus conteúdos, você pode usar o excelente software Ethereal. Este software gratuito captura e disseca tudo o que passa pela rede. É muito instrutivo.

Artigo original publicado por sebsauvage

Tradução feita por Lucia Maurity y Nouira



Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
O-que-e-tcp-ip-pra-que-serve-como-funciona.pdf

A ver igualmente

Publicado por pintuda
Este documento, intitulado « O que é TCP/IP ? Pra que serve ? Como funciona ? »a partir de Kioskea (pt.kioskea.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.