Aê galera, tenho um desafio pra galera craque em redes de computadores.
Já pesquisei em livros, Google acadêmico, Wikipédia, mas em nenhum desses lugares é detalhado o funcionamento do Checksum. O que eu já sei é que ele separa a mensagem do pacote em dados de 16 bits, soma todos e no final faz o complemento de 1(que é a inversão da soma). O resultado do complemento de 1 é que vai no campo de checksum do cabeçalho UDP. O destinatário faz o mesmo processo de soma dos dados de 16 bits e ainda soma com o valor do checksum que veio do remetente, se o resultado der tudo "1" é porque não houve erro.
O que ninguém explica, é que dados são esses de 16 bits que são somados? São os dados que vem da camada de Aplicação? São os dados da camada de Aplicação mais o cabeçalho UDP? e quando sobra um dado de 8 bits em que ordem ele faz a soma? Meio complicado né!?
Vou deixar um print em anexo de um pacote extraído com o Wireshark e quero que alguém me explique de onde veio esse valor do checksum.