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

Outubro 2017

Se você navega na Internet, já deve ter ouvido falar do TCP/IP. O que é isso? Esta dica é um pouco grande mas, uma vez terminada, você vai saber o que é IP, UDP, TCP e para que servem. TCP/IP são protocolos, ou seja, regras de comunicação.


O protocolo IP

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


Estas 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 é um endereço ú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, 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 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. Essa 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 (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 software para ouvir rádio na Internet. Se o computador receber um pacote IP, como saber para que software enviar?



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

Ambos os softwares se contentam em emitir e receber dados. As camadas UDP e IP de baixo cuidam de tudo. Esse par (199.7.55.3:1057 e 204.66.224.82:80) é 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 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 confirma que ele chegou bem (nenhum aviso de recepção). O tamanho do pacote IP é limitado (cerca de 1,5 Mb). Como enviar a foto JPEG do seu bebê que é de 62 Mb?

É 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, corta os grandes pacotes para que o IP os aceite, enumera os pacotes e, ao recebê-los, verifica se chegaram bem, reclama os pacotes que não chegaram e os reúne antes de entregar aos softwares. 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 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 usando 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 no Yahoo.com). O protocolo DNS usa o UDP/IP e o TCP/IP de acordo com suas necessidades.

Ou seja, 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 requer negociação (“Bom dia, pronto para se comunicar?” etc.), o que leva tempo.

Se você for curioso e quiser conhecer 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.

Foto: © Pixabay.

Veja também

Publicado por pintuda. Última modificação: 11 de outubro de 2017 às 11:56 por Pedro.CCM.
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.