Uncategorized

O protocolo UDP

O protocolo UDP como já foi dito em outro post, é um protocolo que não necessita de uma conexão estabelecida para poder enviar os dados, deixando-o mais simples em relação ao TCP. Por este motivo, veremos primeiramente o protocolo UDP.

Introdução

O UDP foi descrito na Request For Comments 768(RFC, ou em português Solicitação de Comentários), ele permite que a aplicação envie dados encapsulados em um pacote IPv4 ou IPv6.

Pelo fato dele não ser orientado a conexão, sua arquitetura é simples, contendo informações como porta do  remetente, porta do destinatário, além de poder verificar se nenhum dos bits do pacote foram alterados. Para isto, há a necessidade de poder fazer uma espécie de cálculo para se ter certeza que o pacote durante a transmissão não sofreu nenhum tipo de alteração, como por exemplo interferência.

Arquitetura

É necessário ter em mente que o UDP que trabalha na camada transporte, ou seja, toda a informação produzida por ele, será fixada sobre as informações que serão geradas pela camada de redes onde é tratado o protocolo IP.

Abaixo uma figura que representa um pacote UDP.

Arquitetura Protocolo UDP

Porta de Origem

Neste campo é armazenado qual a porta de origem do pacote o que permite receber uma resposta, como uma consuilta DNS. Este campo possui 16 bits de tamanho.

Porta de Destino

Neste campo fica armazenado qual a porta o pacote será enviado assim que for entregue à máquina especifica. Quando for entregue, ele será tratado pela aplicação que estará funcionando na mesma. Este campo possui um tamanho de 16 bits.

Dados

Este campo armazena o tamanho do pacote na íntegra, ou seja, tendo no mínimo 8 bytes, e como máximo podendo variar de acordo onde for aplicado sobre o protocolo IPv4 ou IPv6.

Chechsum

É neste campo que a máquina que receberá o pacote checa se ele sofreu ou não alterações. Essa checagem é feita através de alguns cálculos que pretendo escrever em outro post, antes e depois do envio, que envolvem variáveis como cabeçalho do IP e UDP e o payload do pacote. Pequenas alterações como mudar um simples bit pode modificar o checksum inteiro, o que é comum acontecer quando se tem ruído no meio de transmissão.

Pode ocorrer de o campo checksum receber o valor zero, neste caso é explicito que não tem importância o pacote chegar danificado, o que importa é de no mínimo chegar algum resquício do pacote original, esta opção é adotada, por exemplo, quando há transmissão de voz digitalizada. Neste caso, o checksum nem chega a ser calculado, apenas é retirado o payload e enviado para a porta específica.

Em outros casos é importante que o destinatário envie uma resposta e que ambas as mensagens trocadas não sejam alteradas por ruído, um exemplo é uma requisição DNS que ao ser respondida por um servidor DNS deve retornar o IP exato. Nesta condição é essencial que os dois pacotes, requisição e respostas, cheguem integros ao seu destinatário.

Dados

Este campo armazena o payload, ou carga útil, de cada pacote, que será enviado, todas os demais campos do protocolo, bem como protocolos de outras camadas são utilizados para enviá-lo, e existem para grosso modo “poder guiar” o payload ao destinatário.

Originalmente publicado por mim mesmo no site SeuCurso.

Anúncios

Um comentário sobre “O protocolo UDP

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s