Цикличен излишен код - Компютърни мрежи

Многослойна интернет архитектура

Цикличен код на излишък

Методът за откриване на грешки, широко използван в съвременните компютърни мрежи, се основава на Проверка на цикличната излишък (CRC). Цикличните излишни кодове се наричат ​​още полиномиални кодове, тъй като когато се изчисляват, битов низ се счита за полином (полином), чиито коефициенти са 0 или 1, а операциите върху този битов низ могат да се интерпретират като операции на разделяне и умножение на полиноми.

Цикличните кодове работят както следва. Да разгледаме част от данните D, състояща се от d бита, която изпращащият възел иска да изпрати на приемащия възел. Изпращачът и получателят трябва да се споразумеят за последователност от r + 1 бита, наречена генераторния полином (или генератор), който ще обозначим с G. Най-значимият (най-левият) бит на генераторния полином G трябва да бъде равен на 1. Ключовата идея за цикличните излишни кодове е илюстрирана на фиг. 5.7. За дадено парче данни D изпращачът формира r допълнителни бита R, които добавя към данните D, така че полученият брой, състоящ се от d + r бита, се разделя по модул 2 от генериращия полином (число) G без остатък. По този начин процесът на проверка на данните за грешки е относително ясен. Приемникът разделя получените d + r бита на генериращия полином G. Ако остатъкът от делението не е нула, това означава, че данните са повредени. В противен случай данните се считат за верни и приети.

компютърни

Всички операции за изчисляване на CRC кода се извършват в аритметичен модул 2, без да се пренасят към съседни цифри. Това означава, че операциите на събиране и изваждане са идентични помежду си и са еквивалентни на битово изключващо ИЛИ, XOR. Например: