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
Download

Somando as duas primeiras