Checksum em udp

Disponível somente no TrabalhosFeitos
  • Páginas : 10 (2475 palavras )
  • Download(s) : 0
  • Publicado : 23 de janeiro de 2013
Ler documento completo
Amostra do texto
Cálculo de Soma de Verificação do User Datagram Protocol
Othon Marcelo Nunes Batista
Mestre em Informática – othonb@yahoo.com
Resumo
Mesmo sendo um protocolo que nada garante, o UDP tem um campo no datagrama que, quando é
calculado, apresenta a soma de verificação dos seus bits. Isso significa, que um receptor pode saber
se o datagrama está correto através do cálculo da soma de verificação.O cálculo de soma de
verificação UDP é o complemento de um da soma de todos os blocos de 16 bits do datagrama. Este
artigo apresenta um método manual para cálculo da soma de verificação UDP. As informações
dadas para que o cálculo seja realizado são: os números da porta fonte e destino e o conteúdo do
campo de dados. Aspectos adicionais ao método incluem: considerações quanto ao campocomprimento, exceção quanto ao agrupamento dos blocos de 16 bits de dados, método rápido para
converter números decimais em números binários e exceção quando o resultado de uma soma tem o
comprimento superior a 16 bits.
Palavras-chave: redes de computadores, TCP/IP, UDP, checksum, soma de verificação.
1. Introdução
O User Datagram Protocol (UDP) está presente na camada de transporte da arquiteturaTransfer
Control Protocol / Internet Protocol (TCP/IP) (POSTEL, 1980). Ele é um protocolo que tem como
unidade de transmissão o datagrama e fornece de um serviço de melhor esforço às aplicações que o
utilizarem. Isso significa que ele apenas garante enviar um datagrama e nada mais. Não há qualquer
outra garantia. A camada de transporte TCP/IP também contém outro protocolo orientado à
conexão,confiável, com controle de fluxo e controle de congestionamento, denominado TCP
(UNIVERSITY OF SOUTHERN CALIFORNIA, 1981).
Ao compará-lo com o TCP, outro protocolo da camada de transporte TCP/IP, ele é muito mais ágil.
Isso ocorre porque o TCP é orientado à conexão e garante confiabilidade, controle de fluxo e
controle de congestionamento. Enquanto UDP é não orientado à conexão e nadagarante. A
agilidade, quando comparado ao TCP, é uma vantagem. Por isso, UDP é bastante utilizado em
aplicações multimídia ao vivo ou em tempo real (KUROSE e ROSS, 2010).
Mesmo sendo um protocolo que nada garante, o UDP tem um campo no datagrama que, quando é
calculado, apresenta a soma de verificação dos seus bits. Isso significa, que um receptor pode saber
se o datagrama está correto através docálculo da soma de verificação. Atenção, isso não é

confiabilidade! Isso é corretude no receptor e apenas acontece quando a soma de verificação foi
calculada no emissor. Confiabilidade, do ponto de vista da camada de transporte, é uma
característica do TCP, que garante que os segmentos são entregues, entregues na ordem e entregues
corretos. UDP não garante isso! (COMER, 2006)
O datagrama UDPé uma estrutura composta por cinco campos, sendo quatro no cabeçalho, de
comprimento fixo, e um de dados, respectivamente:


porta fonte, 16 bits de comprimento;



porta destino, 16 bits de comprimento;



tamanho em bytes, 16 bits de comprimento;



soma de verificação, 16 bits de comprimento.

Figura 1. Formato do datagrama UDP.
Fonte: adaptado de (KUROSE e ROSS, 2010, p.153)

A figura 1 apresenta os campos de um datagrama UDP. O primeiro campo é a porta fonte, ele inicia
na posição zero, vai até a posição 15, e, assim sendo, tem 16 bits de comprimento. Ou seja, é um
número que, em binário, pode variar de (0000000000000000)2 até (1111111111111111)2, que, em
decimal, pode variar de 0 até 65535 (0 até 2 16 -1). O segundo campo é a porta destino, inicia naposição 16, vai até a posição 31, e, também tem 16 bits de comprimento. O campo tamanho em
bytes contém um número binário de 16 bits que representa o tamanho do datagrama em bytes. Ele
inicia na posição 32 e vai até a posição 47, sendo um campo de 16 bits. O último campo do
cabeçalho é a soma de verificação que deve ser calculado com base nos outros. Ele inicia na posição
47 e vai até a...
tracking img