O que é o TCP/IP, o protocolo que sustenta a Internet?
No mundo hiperconectado de hoje, muita gente deve se perguntar, como é possível saber de onde cada dado vem e para onde deve ir?
Se você já se fez esse tipo de pergunta, saiba que entre muitas coisas, uma é essencial para a mágica acontecer – o protocolo TCP/IP.
Quer saber com mais profundidade o que é o TCP/IP, sua importância e outras questões relacionadas?
Então reserve uns minutinhos para o que preparamos a respeito.
O que é o TCP/IP?
Embora seja comum vermos explicações nas quais o TCP/IP seja definido como um protocolo de internet essencial, na verdade ele é resultado da combinação de outros dois protocolos, o TCP e o IP.
Antes de entendermos melhor o que é cada um, é oportuno esclarecer o que é um protocolo.
Em linhas gerais, e não apenas no escopo das redes de computadores, um protocolo consiste de um conjunto de regras rígidas e imutáveis, que determina como algo deve acontecer.
Ou seja, a união dos protocolos TCP e IP, resultando no protocolo TCP/IP, é responsável pela troca adequada de dados em quaisquer redes, incluindo a Internet, sendo que cabe ao TCP assegurar a confiabilidade dessa troca, reordenando os pacotes de dados, detectando eventuais perdas, bem como a retransmissão no caso de alguma perda. Quanto ao IP, ele é o responsável pela entrega nos pontos (via endereços IP) corretos, roteando-os pela rede até o destino.
Simplificadamente, podemos dizer que juntos, eles formam o sistema nervoso da Web, cabendo ao IP levar os dados até o destino, e ao TCP, garantir que eles cheguem íntegros.
Com isso em mente, resta-nos entender como o TCP e o IP são individualmente.
O que é o protocolo TCP?
O protocolo TCP (Transmission Control Protocol, ou protocolo de controle de transmissão) é o responsável por garantir o transporte / transmissão correta dos dados entre dois pontos de quaisquer redes, considerando os seguintes aspectos:
-
Three-Way Handshake – é realizado um handshake (aperto de mãos, em português) em três etapas, entre os dispositivos que trocarão os dados, a fim de garantir que ambos estejam sincronizados, evitando também a perda ou duplicação dos dados e ao fim da transmissão, que a conexão seja corretamente encerrada;
-
Pacotes – quando uma aplicação (como um navegador ou cliente de e-mail) envia dados, o TCP os divide em segmentos menores (pacotes), os quais contém uma parte dos dados originais, junto com um cabeçalho TCP que inclui:
-
Numeração sequencial – cada pacote recebe um número de sequência, que indica sua ordem em relação ao total dos dados, permitindo ao destinatário ordenar os pacotes corretamente, mesmo que cheguem fora de ordem;
-
Controle de erros – o cabeçalho inclui um checksum, um valor numérico que permite verificar se o conteúdo do segmento foi corrompido durante a transmissão e em caso de erro, o pacote é retransmitido;
-
Confirmação de recebimento – o receptor envia um ACK (acknowledgment) para cada segmento recebido corretamente e assim, se o ACK não for recebido, o remetente retransmite o pacote.
-
Esse processo é o que torna o TCP confiável e útil, sendo um modelo ideal para aplicações onde a integridade dos dados é essencial, como por exemplo, na navegação web, no envio e recebimento de mensagens de e-mail e nas transferências de arquivos, garantindo que os dados sejam utilizáveis por parte de quem os recebe.
O que é o protocolo IP?
O IP (Internet Protocol) é o protocolo responsável por endereçar e encaminhar os pacotes de dados gerados pelo TCP, entre dispositivos em uma rede, enviando-os de um ponto a outro da rede, sabendo que cada ponto tem um endereço IP único.
Para tanto, o IP tem as seguintes funções:
-
Adicionar cabeçalhos aos pacotes de dados com informações como endereço IP de origem (remetente), endereço IP de destino (destinatário) e tempo de vida (TTL, sigla de Time To Live) do pacote;
-
Encaminha os pacotes pela rede, usando roteadores;
-
Os pacotes podem chegar fora de ordem ou serem perdidos, porém como vimos, o TCP é responsável por garantir que isso não ocorra.
Como funciona o TCP/IP?
Ao observarmos como os dados são estruturados pelo TCP/IP e como ocorre a transmissão por meio das redes, fica mais fácil compreender como esse protocolo funciona.
Conforme vimos, uma das funções do TCP/IP, é segmentar os dados enviados em porções menores de dados, os chamados pacotes.
Logo, quando você efetua o download de um arquivo de 10 MB, ele pode ser dividido em milhares de segmentos menores, cada um contendo um conjunto de informações anexadas pelo IP e pelo TCP:
-
Cabeçalho IP
-
Endereço IP – endereço de origem e destino, usados pelos roteadores para saber de onde vem e para onde vai cada pacote;
-
Versão do IP – endereço IPv4 (versão 4 do endereço IP) ou IPv6 (versão 6 do endereço IP);
-
TTL (Time to Live) – número de saltos permitidos (nós da rede) antes o pacote ser descartado;
-
Protocolo – indica se o pacote usa TCP ou outro protocolo, como UDP, por exemplo;
-
Checksum – valor numérico usado para a verificação da integridade do cabeçalho.
-
-
Cabeçalho TCP
-
Portas – contém as portas de origem e destino e que é informação relevante para associar aos serviços envolvidos (ex: banco de dados, e-mail, FTP, etc), pois em determinados contextos, um serviço faz uso de portas padrão (ex: FTP, porta 21);
-
Número de sequência – usado para ordenar os dados e restituí-los a sua condição original, como as peças de um quebra-cabeça;
-
Número de confirmação (ACK – acknowledgment) – usado para confirmar o recebimento de dados;
-
Flags – são usadas flags (bandeiras) para controlar a transmissão dos dados, garantindo a sincronia entre os dispositivos (SYN – synchronize), o recebimento dos pacotes (ACK – acknowledgment) e até mesmo que o remetente terminou de enviar dados e deseja encerrar a conexão (FIN – finish);
-
Janela TCP (Window) – é o mecanismo responsável pelo controle de fluxo de dados no protocolo TCP. Ela representa a quantidade máxima de dados que o remetente pode enviar sem receber uma confirmação (ACK). Esse limite é determinado pelo receptor, com base na capacidade do seu buffer de recepção, e é informado no campo Window do cabeçalho TCP, também conhecido como Receive Window ou Advertised Window;
-
Checksum – tal como o checksum do IP, aqui também há um para verificação de integridade do segmento TCP.
-
Mas a divisão de um arquivo em pacotes e as funções exercidas pelo TCP e pelo IP, é só parte da transmissão. Há ainda o roteamento e que consiste em determinar a rota ou o caminho na rede, que os pacotes percorrerão.
Processo de Roteamento IP
O roteamento, é feito por um equipamento de rede, geralmente chamado de roteador, mas pode ser também um switch, porém nesse caso, é usado para conectar dispositivos dentro da mesma rede local (LAN).
Vale observar ainda, que o modem que você recebe do seu provedor de acesso à Internet (ISP ou Internet Service Provider), também exerce função de roteamento dos dados, no caso, um roteador Wi-Fi, distribuindo-os adequadamente para cada dispositivo (smartphone, notebook, tablet, desktop, impressora, etc) conectado à rede local do qual ele faz parte.
Resumidamente, o roteamento dos dados compreende:
-
Recebimento do pacote – o roteador lê o endereço IP de destino de cada pacote;
-
Consulta – efetua a consulta na tabela de roteamento, a fim de verificar qual é o próximo salto (next hop). É possível visualizar cada salto, usando o comando traceroute;
-
Encaminhamento – faz o envio do pacote para o próximo roteador ou para o destino final, quando se trata do último salto;
-
Repetição – cada roteador ao longo do caminho repete as etapas acima;
-
Entrega – consiste do salto final, que é quando o último roteador entrega o pacote ao dispositivo de destino.
Os roteadores usam uma série de outros protocolos de roteamento, os quais são essenciais para manter suas tabelas de roteamento atualizadas e para definir o melhor caminho para que os dados cheguem ao seu destino.
É importante notar também, que os roteadores são responsáveis por conectar diferentes redes umas às outras. Ou seja, eles conectam a rede do seu provedor de acesso, com as redes dos data centers que hospedam inúmeros sites, com os cabos submarinos que conectam países e continentes, com backbones, com servidores de DNS, entre outros.
Ou seja, os roteadores funcionam como “guardas de trânsito”, orientando e direcionando os dados pelas redes e que por sua vez, funcionam como vias e estradas percorridas pelos dados.
Isso porque podemos imaginar as redes que compõem e fazem a Internet funcionar, como as malhas rodoviárias. Segundo essa analogia, para sair de uma cidade e chegar a outra, é possível fazer diferentes caminhos, passando por diferentes estradas, por diferentes cidades e nos pontos que mudamos da estrada que estamos para uma outra, estamos percorrendo uma rota rumo a um destino final.
Quais as aplicações nas quais o TCP/IP é usado?
O protocolo TCP/IP está por trás de praticamente tudo que usamos na Internet e em redes locais.
A seguir listamos e comentamos algumas das aplicações mais comuns nas quais o TCP/IP é essencial:
-
Acesso aos sites – toda vez que você abre seu navegador e digita uma URL para acessar um site, você usa o protocolo HTTP – atualmente o HTTPS – sobre o TCP/IP, para se comunicar com o servidor no qual o site está hospedado;
-
E-mails – o envio e recebimento de e-mails, além de exigir os protocolos POP3, IMAP e SMTP, também faz uso do TCP/IP para assegurar que os dados relativos a cada envio e recebimento, sejam transmitidos corretamente;
-
Transferência de Arquivos – outro importante protocolo de internet, muito utilizado por sua eficiência para enviar e baixar arquivos entre computadores, é o FTP (File Transfer Protocol), o qual depende do TCP/IP para que a transferência dos arquivos seja eficaz;
-
Compartilhamento em redes locais – no caso de redes locais, é bastante comum compartilhar pastas, impressoras ou até um servidor de arquivos (servidor NAS) e é graças ao TCP/IP, que cada usuário da rede consegue enviar ou receber seus arquivos, distinguindo-os dos demais usuários;
-
Acesso Remoto – ao efetuar um acesso SSH para administrar remotamente um servidor via terminal, o Secure Shell, é feito sobre o TCP/IP;
-
Aplicativos Móveis e Web – os muitos apps que todos temos instalados nos smartphones e que funcionam online, usam TCP/IP para se comunicar com servidores e garantir que os dados cheguem corretamente;
-
Jogos Online – muitos jogos usam TCP/IP para confirmar que os dados de movimentação, ações e dados de progresso, sejam armazenadas no servidor que hospeda o jogo;
-
Chamadas de Voz e Vídeo – embora alguns serviços façam uso do UDP, muitos usam TCP/IP para garantir qualidade e estabilidade, como no caso do VoLTE, que ainda usa outros protocolos auxiliares, como o SIP (Session Initiation Protocol);
Esses muitos exemplos de aplicações, mostram porque muitos consideram o protocolo TCP/IP como uma das bases fundamentais da comunicação digital moderna, uma vez que ele garante que a transmissão dos muitos tipos de dados, ocorra de modo eficaz.
Conclusão
O protocolo TCP/IP – e o seu funcionamento – constitui um pilar essencial da Internet e da maioria dos serviços e aplicações que utilizamos diariamente.