Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo - Exemplo de checksum • Transmissor – – – – Coloca checksum em 0 Soma com complemento de 1 todos os campos Coloca complemento de 1 no campo checksum Envia • Receptor – Calcula checksum – Verifica se é zero • Se SIM, pacote correto; se NÃO, erro detectado Redes de Computadores I – Prof. Mateus Raeder Exemplo de checksum • Exemplo: Três palavras de 16 bits enviadas: 0011000110101101 0100111011100101 0000010110100110 Somando as duas primeiras: Redes de Computadores I – Prof. Mateus Raeder Lembrando somas de bits • Soma de bits utilizada nos protocolos: 0 + 0 = 0 = 00 (“vai zero”) 1 + 0 = 1 = 01 (“vai zero”) 0 + 1 = 1 = 01 (“vai zero”) 0 + 1 = 1 = 01 (“vai zero”) 1 + 1 = 2 = 10 (“vai um”) 1 + 1 + 1 = 3 = 11 (“vai um”) 0¹0¹1¹1¹0¹0¹0¹1 0 1 0 1 1 1 1 1 --------------1 0 0 1 0 0 0 0 Redes de Computadores I – Prof. Mateus Raeder Lembrando carry • Quando ocorre carry, o bit é adicionado ao resultado: 0 0 0 0 1 0 1 0 1 1 1 1 1 1 0 0 --------------1 0 0 0 0 0 1 1 0 1 --------------0 0 0 0 0 1 1 1 + + Redes de Computadores I – Prof. Mateus Raeder Voltando... Exemplo de checksum • Exemplo: Três palavras de 16 bits enviadas: 0011000110101101 0100111011100101 0000010110100110 Somando as duas primeiras: Somando com a última: 0011000110101101 0100111011100101 ---------------1000000010010010 1000000010010010 0000010110100110 ---------------1000011000111000 0111100111000111 checksum Complemento de 1: inverter bits Redes de Computadores I – Prof. Mateus Raeder Exemplo de checksum • No receptor, todos os campos são somados, inclusive o checksum • Se não houver erros, a soma deve resultar em 0000000000000000 Redes de Computadores I – Prof. Mateus Raeder