Jak Działa CRC?
Rozdział 2. Proste przykłady transmisji z CRC
Rozdz. 2.1 Wstęp
W Rozdz. 1.3 padło pytanie “Skąd rejestr RO w Londynie ma wiedzieć, że otrzymana informacja czyli liczba 38547 jest inna niż 32547 które RIW wysłał z Warszawy? W tym celu będzie wykorzystana znana już od dawna zasada Informacji Nadmiarowej doczepionej do wysłanej Informacji Właściwej. Sposób jej tworzenia musi być znany Nadajnikowi i Odbiornikowi.
Konkretny przykład z przed stuleci.
Poseł polski na dworze sułtana ma wysłać informacje o sytuacji politycznej do króla Stefana Batorego. Nie ma zaufania do posłańca bo wie z autopsji, że każdego da się przekupić. Dlatego wcześniej umówił się ze Stefanem, że na końcu każdego listu, czyli na końcu Informacji Właściwej napisze post scriptum. “Za konia zapłaciłem 1254 dukatów”. I że podana liczba równa będzie liczbie wszystkich wcześniejszych liter w liście. W drodze do Polski posłaniec-wiarołomca zmienił zdanie “Hospodar Mołdawski chce zawrzeć z Polską sojusz” na zdanie “Hospodar Mołdawski chce pozbawić życia Waszą Królewską Mość ” Dostał za to od sułtana10 000 dukatów. Król policzył wszystkie litery i już nie miał zaufania do listu. W ten sposób intryga spaliła na panewce a wiarołomca został powieszony za ziobro.
Informacja nadmiarowa “Za konia zapłaciłem 1254 dukatów” to nic innego jak CRC.
Rozdz. 2.2 CRC jako powtórzona Informacja Właściwa
Czyli “halo, powtórz to jeszcze raz”. Metoda często stosowana np. w rozmowie telefonicznej.
Rys. 2-1
Transmisja gdy CRC jest powtórzeniem RIW-a ANIMACJA
Odbiornik i nadajnik znają algorytm transmisji–>powtórz jeszcze raz informację właściwą.
Etap1-Przesyłanie informacji właściwej z RIW do RO czyli z Nadajnika do odbiornika. Jednocześnie aktualizowane są rejestry RIN i RS. Później przekonasz się, że pełnią one funkcję rejestrów CRC! Czyli przy każdym przesyle liczby CRC jest aktualizowane czyli obliczane!
Etap2 Sprawdzanie poprawności transmisji
Czyli porównanie RIN i RS czyli CRC nadajnika z CRC odbiornika. Gdy są takie same to transmisja jest ok. W dodatkowym zielonym bajcie RS odbiornika, porównywane jest przez odejmowanie odpowiednie bajty nadane pierwszy i drugi raz. Gdy wszystkie są takie same, to transmisja była bezbłędna.
Rozdz. 2.3 CRC jako reszta z dzielenia
Poprzednia metoda z powtórzoną informacją, chociaż bardziej dydaktyczna niż stosowana w praktyce, ma jedną cechę konieczną w stosowanych metodach CRC. Jest nią obliczanie, inaczej uaktualnianie CRC w czasie transmisji. Obliczanie czyli wpisywanie kolejnej liczby do rejestrów RIN i RS jest tak szybkie, że nie spowalnia transmisji. Za to ma wadę. Jest nią wielkość informacji nadmiarowej czyli CRC. Rzeczywiste porcje przesyłanej informacji, czyli wielkości rejestrów RIW i RO są rzędu tysięcy bajtów a nie pięciu! Także dołączona informacja nadmiarowa to nie zwykła powtórka, tylko 1, 2 lub 4 dodatkowe bajty. Nie muszę dodawać jaki to ma wpływ na szybkość transmisji. Teraz sposób obliczania musi być teraz bardziej wysublimowany, niż zwykłe powtórzenie. Jest nią właśnie CRC jako reszta z dzielenia.
Rys. 2-2
Transmisja gdy CRC jest resztą z dzielenia ANIMACJA
Dzielną jest wysyłana wiadomość-liczba 32547 w rejestrze RN Nadajnika. Dzielnikiem liczba 325 w rejestrach Nadajnika i Odbiornika. Podkreślam-Nadajnik i Odbiornik wiedzą że dzielnikiem jest jakaś konkretna liczba-tu 325!
Klikając animacje zobaczysz 4 etapy transmisji
1. Obliczanie reszty dzielenia 32547/325 w Nadajniku jako 47
2. Transmisja 32547 z RN do RO
3. Obliczanie reszty dzielenia 32547/325 w Odbiorniku jako 47
4. Sprawdzenie poprawności transmisji czyli porównanie oby reszt. Jeżeli są równe to transmisja bezbłędna.
W przykładzie pokazane są ogólne zasady sprawdzania poprawności transmisji
1. Nadajnik dołącza do przesyłanej dużej informacji (tu 32547) małe “coś” (tu 47) i wysyła do Odbiornika.
2. Odbiornik całą informację z “cosiem” ale sam niezależnie od Nadajnika oblicza swoje “coś” (tu 47).
3. Odbiornik porównuje (odejmuje) swoje “coś” z “cosiem” Nadajnika.
4. Gdy oba “cosie” są równe to jest ok. i Odbiornik żąda od Nadajnika następnej porcji informacji
5. Gdy oba “cosie” są różne to był błąd w transmisji i Odbiornik żąda od Nadajnika powtórzenia i informacji
“Coś” czyli dołączona informacja to CRC
Czym różni się prawdziwa metoda CRC od powyższej?
1. Przesyłanie bitowe a nie bajtowe
2. Inny sposób obliczana reszty czyli CRC. Rzeczywista metoda obliczania tylko przypomina dzielenie. Za to jest dużo szybsza niż zwykłe dzielenie dziesiętne
3. Obliczanie tej “reszty” czyli aktualizacja występuje w trakcie przesyłania informacji a nie jako osobny etap. Dlatego nie spowalnia szybkości transmisji.
Rozdz. 2.4 Czy metoda CRC jest absolutnie pewna?
Nie!!!. Nawet CRC jako powtórzona informacja nie daje pewności, że transmisja była bezbłędna. Przecież pierwotna i powtórzona informacja może zawierać ten sam błąd i obie są takie same! Jest to mało prawdopodobne ale możliwe! Reszta z dzielenia też może być przypadkowo taka sama.