O que é TCP/IP, como funciona e para que serve

Se você navega na Internet, já deve ter ouvido falar do TCP/IP. O que é isso? Essa dica vai mostrar do que estamos tratando quando usamos siglas como IP, UDP, TCP e para que servem esses protocolos.

O protocolo IP

Vamos fazer um paralelo com os Correios. Quando você quer enviar uma carta pelo correio, você põe a carta em um envelope. Na parte da frente, você escreve o endereço do destinatário e, na parte de trás, o endereço do remetente:

Essas são regras utilizadas por todo mundo, é o que chamamos de protocolo. Na Internet, é mais ou menos a mesma coisa. Cada mensagem (cada pacote de dados) é envolto pelo IP, que acrescenta informações diversas, tais como endereço do remetente (seu endereço IP), endereço do destinatário e dados complementares para controlar o encaminhamento da mensagem:

O endereço IP é único, atribuído a cada computador na Internet (ou seja, não há dois computadores com o mesmo IP). Da mesma forma, o endereço postal (nome, 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 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 leva a um posto dos Correios. Na sequência, ela é 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 (em geral, no do seu provedor de acesso). O pacote IP transita de computador em computador até chegar ao destinatário:

As portas

Com o IP, temos o que precisamos 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 streaming de música. Se o computador receber um pacote IP, como saber para que software enviar?

Esse é um problema sério. Para evitá-los, podemos atribuir um número único para cada software no computador. Assim, 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 nas portas de um prédio: em um mesmo endereço, você pode enviar cartas para várias portas, ou seja, o endereço é o mesmo, mas o número da porta é diferente:

Da mesma forma, em um mesmo endereço IP, podemos enviar dados para diversos softwares especificando o número da porta (ex: 3). 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 nesse computador.

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 um programa X do computador A para uma programa Y no computador B. Por exemplo, seu navegador pode enviar uma mensagem para um servidor HTTP:

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 software certo (ex: o servidor HTTP).

Ambos os softwares apenas emitem e recebem dados. As camadas UDP e IP cuidam de todo o resto da comunicação. Esse par UDP/IP é chamado de soquete. O soquete identifica, de maneira única, uma comunicação entre dois softwares.

TCP

Agora podemos fazer comunicar dois softwares localizados em dois computadores diferentes. Mas ainda existem alguns problemas. Quando você envia um pacote IP, ele passa por dezenas de computadores e pode acontecer da mensagem se perder ou chegar duplicada.

Mesmo se o pacote chega ao seu destino, nada confirma que ele chegou corretamente (no software correto e íntegro, sem erros). Além disso, um pacote IP possui cerca de 1,5 MB. Então, como enviar documentos maiores, de muitos megas ou mesmo gigas?

É para isso que o TCP foi desenvolvido. Ele pode fazer tudo que o UDP faz e mais. Ele verifica se o destinatário está pronto para receber os dados, fatia os pacotes para que o IP os aceite, enumera os pacotes e, ao recebê-los, verifica se chegaram bem. Avisos de recepção são enviados para prevenir o remetente que os dados chegaram direito. Por exemplo, para enviar a mensagem "Oi, tudo bem?", veja o que faz o TCP (cada flecha representa um pacote IP):

Na chegada, no computador 204.66.224.82, a camada TCP reconstrói a mensagem “Oi, tudo bem?" a partir de três pacotes IP recebidos e a entrega ao software, que está na porta 80.

Conclusão

Com o TCP/IP, podemos realizar comunicação 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 usam 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. O protocolo DNS usa o UDP/IP e o TCP/IP de acordo com suas necessidades.

Conclui-se, portanto, que centenas de protocolos diferentes 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 é que é um pouco mais lenta, pois exige confirmação da conexão e autorização de ambas as partes para estabelecer a comunicação.

Foto: © funtap - 123RF.com

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Este documento, intitulado 'O que é TCP/IP, como funciona e para que serve', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade