Skip to main content

Jakie są protokoły korekcji błędów współczesnych?

Protokoły korekcji błędów współczesnych są metodami wykrywania i korygowania błędów transmisji danych.Istnieją zarówno protokoły oparte na sprzęcie i oprogramowaniu, które często są stosowane razem.Indywidualny modem zwykle wykorzystuje wbudowany protokół oparty na sprzętowym, aby zrekompensować szum łącza komunikacji.Systemy na obu końcach linku często wykorzystują protokoły oparte na oprogramowaniu, aby poradzić sobie z problemami poza kontrolą modemów.

Korekta błędów transmisji jest ogólnie procesem wieloetapowym.Zanim każdy pakiet danych zostanie wysłany przez link, modem transmisji oblicza jego sumę kontrolną i zawiera ją w pakiecie.Często stosowany jest cykliczny algorytm kontroli redundancji (CRC), aby określić sumę kontrolną.Po przybyciu pakietu modem odbierający oblicza również sumę kontrolną danych i porównuje ją z tym, który już w pakiecie.Jeśli oba nie pasują, odbiornik powiadomi nadajnik, że musi ponownie przesłać złe pakiet danych.

W latach 80. MicroCom, Inc. wprowadził rodzinę protokołów korekty błędów opartych na sprzętowych modemach.Nazywany protokołem MicroCom Networking (MNP), składa się z dziesięciu liczbowych klas, które poprawiły wydajność w czasie.Na przykład MNP klasy 3 eliminuje niepotrzebne bity ramy z poszczególnych bajtów danych.MNP klasa 5 kompresuje dane przed ich wysłaniem, opierając się na ulepszeniach w klasach od 1 do 4. MNP Klasa 6 zmienia przepustowość danych, sprzyjając w razie potrzeby jeden kierunek, i skraca czas uruchamiania połączenia.

MNP był szerokoprzyjęty i jest wbudowany w większość modemów telefonicznych.Jeden z bardziej zaawansowanych protokołów korekty błędów opartych na sprzęcie został wprowadzony na początku lat 90.Międzynarodowy standard standaryzacji telekomunikacyjnej Sektor standaryzacji telekomunikacyjnej (ITU-T) szybko został uwzględniony w modemach obok MNP.Procedura dostępu do linków dla modemów (LAPM) obejmuje doskonałą kompresję danych w porównaniu z MNP.Dodaje również mniej kosztów przesyłanych danych i ma lepsze obsługę kontroli przepływu i transmisji synchronicznej.

Protokoły oparte na modemach oparte na modemach sprzętowych mogą być bardzo dobre w zapewnieniu, że każdy pakiet danych nadejdzie nienaruszony.Jednak wiele transferów plików można jednak skuteczniej obsługiwać, korzystając z protokołów oprogramowania i sprzętu.Jeśli połączenie zostanie utracone podczas wysyłania bardzo dużego pliku, wiele systemów wymaga rozpoczynania od początku pliku.Natomiast niektóre oparte na oprogramowaniu protokoły korekty błędów zapamiętają, gdzie transmisja zakończy i będzie kontynuowana.Protokoły oprogramowania mogą również lepiej zarządzać kontrolą przepływu w systemie poza samym połączeniem modemu.

XModem był jednym z wczesnych protokołów korekty błędów opartych na oprogramowaniu stworzonych pod koniec lat siedemdziesiątych.To było bardzo proste, w tym numer bloku, prymitywna suma kontrolna i kilka markerowych bajtów w każdym pakiecie.Jego algorytm sumy kontrolnej był problematyczny, a wiele osób wkrótce wdrożyło warianty z dodatkowymi funkcjami.Obejmowały one większe rozmiary bloków, transfery wielu plików i uruchomienie nowego pakietu przed zweryfikowaniem poprzedniego.YModem, który był następcą XModems w połowie lat 80., wymienił wiele z nich jako opcjonalne ulepszenia.

ZMODEM i jego warianty to bardzo ulepszone protokoły korektowania błędów opartych na oprogramowaniu.Opracowany w 1986 r. Przez autora YModem, ZMODEM zawiera znacznie lepszy algorytm CRC przy użyciu 32 bitów.Może przejść do następnego pakietu, nie czekając na potwierdzenie bieżącego, poprawy przepustowości lub dostarczania wiadomości.ZMODEM może również ponownie uruchomić duży transfer pliku z miejsca, w którym się skończyło, jeśli połączenie jest zepsute.Późniejsze odmiany obejmowały jeszcze większe rozmiary bloków i automatyczne kompresję danych pakietu.