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: 2243

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

Desenvolvendo um jogo de quebra blocos em javascript

Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela

Criando o esqueleto de um jogo de tiro 2D visto de cima usando P5.js

Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript

Caixa eletrônico usando arquitetura limpa

Usando JavaFX e arquitetura limpa para criar um aplicativo de caixa eletrônico extremamente simples.

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.

Criando um jogo de guerra nas estrelas em javascript usando a biblioteca p5.js

Jogo simples de guerra espacial desenvolvido em javascript. Esse jogo usa cálculos de física para simular efeitos de atrito e inércia.

Veja também

A manutenção de softwares é o maior pesadelo de um programador quando o código parece um campo minado

Existe muitos programadores que escrevem algoritmos mal planejados. Essa falta de planejamento dificulta a manutenção do aplicativo e aumenta a probabilidade de novos bugs.

O usuário malicioso joga a isca e espera a vítima pacientemente

Phishing tem esse nome pois a vítima se torna só mais um peixe na rede. Ter conhecimento de phishing é o melhor jeito de evitar ser um desses peixes

Endereço MAC

Usado como identificador em uma rede local. Possui 48bits e mais de 280 trilhões de variações que podem ser atribuídas aos dispositivos.

Beacon

Bastante parecido com um farol que serve como sinalização para navios. Beacon tem como função enviar informações e orientações para dispositivos próximos.

Pilha (stack) e fila (queue)

Pilha e fila são tipos de estrutura de dados que contribuem para um gerenciamento de dados mais inteligente e eficaz na programação

DNS Domain Name System (Sistema de Nomes de Domínio)

Protocolo utilizado para buscar endereços IPs vinculados com um URL solicitado através de um navegador ou aplicativo de email.