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.

Comentários ({{totalComentarios}})