Algorytm, który jest stosowany w celu sprawdzenia czy ramka Ethernet nie zawiera błędów, to
A. CSMA (Carrier Sense Multiple Access).
B. MAC (Media Access Control).
C. LLC (Logical Link Control).
D. CRC (Cyclic Redundancy Check).
Pytanie z egzaminu CKE, czerwiec 2018 (arkusz E.13-X-18.06).
CRC, czyli Cyclic Redundancy Check, to właściwy mechanizm używany do sprawdzania, czy ramka Ethernet nie została uszkodzona podczas transmisji. W klasycznym Ethernet według IEEE 802.3 na końcu ramki znajduje się pole FCS, czyli Frame Check Sequence, najczęściej 32-bitowa suma kontrolna obliczona właśnie algorytmem CRC. Nadajnik wylicza wartość CRC na podstawie zawartości ramki i dopisuje ją do ramki. Odbiornik robi to samo obliczenie po swojej stronie i porównuje wynik z wartością w FCS. Jeśli wartości się nie zgadzają, ramka jest uznawana za uszkodzoną i zwykle zostaje odrzucona przez kartę sieciową albo przełącznik. W praktyce widać to np. w statystykach portów switcha jako CRC errors, FCS errors albo input errors. Moim zdaniem to jeden z tych tematów, które warto kojarzyć nie tylko z teorii, bo przy diagnozowaniu problemów z kablem, złączem RJ-45, zakłóceniami albo wadliwą kartą sieciową licznik błędów CRC potrafi dużo powiedzieć. LLC i MAC to podwarstwy warstwy łącza danych, a CSMA opisuje sposób dostępu do medium, ale to CRC faktycznie służy do wykrywania błędów w ramce Ethernet.
W tym pytaniu łatwo dać się złapać, bo wszystkie podane skróty są związane z sieciami, a część z nich faktycznie występuje przy omawianiu Ethernetu. Trzeba jednak odróżnić nazwę mechanizmu, który organizuje komunikację, od algorytmu wykrywania błędów w danych. LLC, czyli Logical Link Control, jest podwarstwą warstwy łącza danych związaną z logiczną obsługą komunikacji między protokołami wyższych warstw. Może kojarzyć się z ramkami i standardami IEEE, ale nie służy do matematycznego sprawdzania, czy bity w ramce zostały przekłamane. MAC, czyli Media Access Control, też jest bardzo ważne w Ethernecie, bo obejmuje adresy MAC, format ramki oraz zasady dostępu do medium. W ramce Ethernet znajduje się pole FCS, ale sam MAC nie jest algorytmem kontroli błędów. To częsty błąd myślowy: skoro coś jest częścią Ethernetu, to od razu uznajemy, że sprawdza poprawność transmisji. CSMA, czyli Carrier Sense Multiple Access, opisuje sposób współdzielenia medium transmisyjnego. W starszym Ethernecie półdupleksowym spotykało się CSMA/CD, czyli wykrywanie kolizji, a w Wi-Fi podobną rodzinę mechanizmów kojarzy się z CSMA/CA. To jednak dotyczy dostępu do medium i unikania albo obsługi kolizji, nie kontroli integralności ramki po jej odebraniu. Faktyczne wykrywanie błędów realizuje CRC, którego wynik jest zapisany w polu FCS. Z mojego doświadczenia, przy diagnostyce sieci warto patrzeć na liczniki CRC/FCS na przełącznikach, bo rosnące wartości często wskazują na problem z okablowaniem, zakłóceniami, portem lub negocjacją parametrów łącza.