Pacote de dados

Unidades contendo informação de um arquivo que é enviado de um nó para o outro através da internet. Quando juntadas formam um arquivo.

Categoria de Tecnologia

Postado em 12 abril 2022

Atualizado em 24 abril 2023

Palavras-chave: internet,network,packet,pacote,dado,date

Visualizações: 3354

Toda informação transferida através do protocolo da internet é transferida em fragmentos. Os protocolos TCP e UDP transferem fragmentos de dados de um nó até o outro até que o nó destino tenha conseguido baixar o arquivo desejado.

Os downloads e uploads que são processos essenciais para a troca de informação na internet nunca terminam instantaneamente pelo fato de que a informação transferida é segmentada em unidades que são enviadas até o nó destino. Essas unidades são chamadas de pacotes de dados.

O que são os pacotes de dados?

Pacotes de dados são vários pedaços de dados fragmentados que quando são juntados novamente., podem formar um arquivo. Em inglês é chamado de “network packet”.

Quando um arquivo é enviado de um nó (computador) para o outro, esse arquivo é quebrado em inúmeros pacotes, e em seguida, esses pacotes são endereçados e enviados em sequência ao seu destino. Essa transferência de dados entre nós é chamado de comutação de pacotes. Os pacotes irão viajar do computador de origem até o seu destino utilizando diferentes caminhos.

Ao dividir o arquivo em pacotes, é possível evitar problemas como perda de dados durante o caminho. Pacotes podem ser perdidos durante o caminho devido a falhas ou danos na infraestrutura. Assim, o nó de origem apenas reenvia o pacote que foi perdido durante o caminho, mantendo a integridade dos dados enviados.

pacote de dados

Os pacotes são uma unidade de transferência que pertencem a Camada de Rede conforme o modelo OSI e são referenciadas no RFC 1122 dos documentos RFC.

Estrutura dos pacotes de dados

Cada pacote de dados possui um cabeçalho (header) contendo informações como endereços IP de origem e destino, tipo de pacote e número de série (para identificar a ordem). O roteador identifica esses pacotes e realiza a distribuição de dados na LAN. O tamanho da carga útil (payload) dos pacotes pode variar dependendo do método utilizado, podendo ter um tamanho fixo ou variável.

pacote de dados

Geralmente, os pacotes de dados possuem apenas cabeçalho e payload, mas podem optar pelo trailer, que é uma parte opcional que pode ser inclusa com o intuito de verificar a integridade dos dados transmitidos. O protocolo UDP não exige o trailer, pois ele não se preocupa com a perda de dados. O protocolo TCP também não usa o trailer, porém inclui um campo chamado “checksum” no seu cabeçalho para verificar a integridade dos dados.

O tamanho máximo do payload de um pacote é definido durante o estabelecimento da conexão (handshake) entre os dois nós. Teoricamente, esse tamanho pode ter até 64K (65535 bytes), cujo valor é identificado como MTU (Maximum Transmission Unit), que em português é unidade máxima de transmissão.

Fluxo do pacote de dados

Qualquer tipo de arquivo enviado através da internet usando o protocolo TCP/IP é segregado em pacotes de dados antes do envio. Isso vale para qualquer tipo de informação que trafega pela internet, como:

  • Textos
  • Vídeos
  • Imagens
  • Áudios

No mundo da internet, qualquer tipo de dado a ser enviado deve ser desintegrado antes do envio. No final, todos esses pedaços irão se reunir novamente no seu destino de entrega. O modelo teórico que explica detalhadamente a transferência de dados na internet é o modelo OSI.

Origem
Arquivo
Pacote 1
Pacote 2
Pacote 3
...
Destino

Cada pacote irá escolher o caminho mais viável até o seu destinatário. Ou seja, nem sempre o caminho mais direto é o escolhido. Isso acontece porque muita coisa pode acontecer durante o trajeto, como caminhos congestionados ou caminhos que foram desconectados por algum motivo. Ter várias opções de caminhos para o enviar e receber dados, traz grandes benefícios em relação a confiabilidade, pois os pacotes podem sempre encontrar o seu destino.

Os pacotes de dados não são enviados diretamente ao seu nó destino, precisando ser encaminhados por roteadores durante o caminho. Esse processo se chama de encaminhamento ou roteamento de pacotes. Em resumo, os pacotes de dados precisão fazer conexões durante o caminho e serem encaminhados até chegar ao nó destino.

Arquivo é reestabelecido
Arquivo é divido em partes
Arquivo
Pacote 1
Arquivo
Pacote 2
Pacote 3
...
Origem
Destino

Uma vez que todos os pacotes de dados chegam ao seu destino o arquivo é remontado, podendo ser executado em seguida.

Algo bastante comum que muita gente já experienciou na hora de baixar um arquivo, é o corrompimento do mesmo. Isso acontece porque alguns pacotes de dados não conseguiram chegar ao seu destino. Se o arquivo não estiver inteiro, ele torna-se um arquivo corrompido. Mas casos como esses tem diminuído bastante com os avanços da internet.

Poder da internet

O pacote de dados pode se deslocar quase na velocidade da luz e pode chegar em quase qualquer lugar do mundo. Isso é possível pois existem cabos submarinos que conectam um país ao outro e roteadores que encaminham os pacotes ao redor do continente. O que torna possível um pacote de dados chegar ao seu destino é o IP do destinatário.

IP Origem
Internet
IP Destino

Todo computador conectado na internet possui um IP público único. O IP é o endereço lógico do computador na internet.

Um bom exemplo desse sistema são os correios. Em uma carta escrevemos o endereço de origem e o endereço do destinatário. Na internet funciona do mesmo jeito. Cada pacote de dados possui o IP de origem e o IP do destinatário.

Conclusão

O pacote de dados são pequenos fragmentos de um arquivo transferidos através da internet. O trajeto desses pacotes varia de acordo com as circunstâncias ao longo do caminho até o nó destino. Teoricamente, o tamanho máximo que um pacote de dados pode ter é de 64k, cujo valor é definido durante o estabelecimento da conexão entre os dois nós, o valor é inserido no campo chamado de MTU.

Projetos práticos

Criando um sistema de integração contínua (CI/CD)

Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.

Usando dados fornecidos pelo TSE para simular o gráfico das eleições presidenciais de 2022

Simulação dos gráficos do segundo turno das eleições presidenciais, utilizando python e ferramentas de análise de dados, pandas e jupyter.

Desenvolvendo o campo de visão de um personagem em um plano 2D

Detectando objetos que entram dentro do campo de visão do personagem. Útil para servir de "gatilho" para eventos em um jogo.

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

Veja também

Qual é o papel das grandes empresas além de fornecer seu serviços?

Poluição do ar, solo e água ainda é um grande problema para ser resolvido ainda em vários países. Há estudos que comprovam que os países mais poluentes podem causar câncer...

Antigamente, as linguagens de programação não tinham um modo tão flexível de escrever como hoje

A linguagem de programação orientada a objetos revolucionou o mundo da programação, sendo o tipo de linguagem mais utilizada na atualidade

Protocolo

Protocolo é um conjunto de regras a serem seguidas para tornar possível a comunicação entre dois dispositivos ou computadores.

Barramento (Bus)

Caminhos entre os componentes do computador que são responsáveis pela transferência de informações de controle, endereçamento e dados.

SaaS (Software as a Service)

Serviço disponível na internet que oferece softwares que permitem realizar atividades como verificar e-mails, armazenar fotos e compartilhar arquivos.

DB Banco de dados

Um banco de dados é um conjunto de tabelas com dados armazenados de uma forma estruturada, possibilitando a gestão de dados de uma forma organizada.