Алдаа илрүүлэх механизм

Алдаа илрүүлэх механизм: Харилцаа холбооны системд өгөгдлийн бүрэн бүтэн байдлыг хадгалах

Пендахулуан

Технологи, дижитал харилцаа холбоо хурдацтай хөгжиж байгаатай холбогдуулан өгөгдлийн бүрэн бүтэн байдлыг хадгалахын ач холбогдлыг хэтрүүлэн хэлэхийн аргагүй юм. Компьютерийн сүлжээгээр өгөгдөл дамжуулах, дижитал өгөгдөл хадгалах, эсвэл цахилгаан холбооны дохио дамжуулах гэх мэт аливаа харилцаа холбооны системд хүлээн авсан өгөгдөл нь илгээсэн өгөгдөлтэй яг таарч байгаа эсэхийг баталгаажуулах нь чухал юм. Алдаа илрүүлэх механизм нь энэхүү өгөгдлийн бүрэн бүтэн байдлыг хадгалах гол тулгуур бөгөөд энэ нь бидний өнөөдөр ашиглаж буй олон технологийн тогтвортой байдал, найдвартай байдлын үндэс суурь юм.

Алдаа илрүүлэхийн ач холбогдол

Өгөгдөл дамжуулах алдаа нь цахилгаан соронзон хөндлөнгийн оролцоо, дохионы хөндлөнгийн оролцоо, техник хангамжийн эвдрэл, эсвэл дамжуулах хэрэгслийн согог зэрэг олон хүчин зүйлээс үүдэлтэй байж болно. Эдгээр алдаанууд нь урвуу, алга болсон, эсвэл бит нэмэх хүртэл янз бүр байж болно. Эдгээр алдааг илрүүлэх зохих механизмгүйгээр дамжуулсан өгөгдөл эвдэрч, түүнээс хамааралтай програмуудад үхлийн аюултай алдаа үүсгэж болзошгүй. Жишээлбэл, файл дамжуулах, сервер хоорондын харилцаа холбоо, тэр ч байтугай санхүүгийн үйл ажиллагаа ч эрсдэлд орж болзошгүй.

Өгөгдлийн алдааны төрлүүд

1. Ганц битийн алдаа
Өгөгдлийн нэг бит 0-ээс 1 болж эсвэл эсрэгээр өөрчлөгдөхөд нэг битийн алдаа гардаг. Энэ бол илрүүлж, засах хамгийн хялбар алдаа юм.

2. Тэсрэлтийн алдаанууд
Өгөгдөл дэх дараалсан битүүдийн бүлэг алдаатай үед тэсрэлтийн алдаа гардаг. Эдгээр тэсрэлтийн урт нь харилцан адилгүй байж болох бөгөөд нэг битийн алдаанаас илрүүлж, засахад илүү хэцүү байдаг.

3. Давтагдсан алдаанууд
Рекурсив алдаа гэдэг нь өгөгдлийн олон блок дотор ижил битийн байрлалд давтан тохиолддог алдааны нэг төрөл юм.

Алдаа илрүүлэх аргууд

1. Паритет шалгах
Паритет шалгах арга нь нэг битийн алдааг илрүүлэх үндсэн арга юм. Паритет бит гэдэг нь багц дахь 1-ийн тоо тэгш (тэгш паритет) эсвэл сондгой (сондгой паритет) байгаа эсэхийг баталгаажуулахын тулд битийн багцад нэмсэн нэмэлт бит юм. Өгөгдөл хүлээн авсны дараа систем 1-ийн тоог тоолж, хүлээгдэж буй паритеттай тохирч байгаа эсэхийг шалгана. Хэрэв зөрүү илэрсэн бол алдаа гарсан байна.

Энгийн жишээ: хэрэв бидэнд 1101 өгөгдөл байгаа бөгөөд тэгш паритет ашиглаж байгаа бол дамжуулсан өгөгдөл 11011 (дөрвөн 1 бит, нэг тэгш тоо) болохын тулд бид нэмэлт бит нэмнэ. Хэрэв хүлээн авсан өгөгдөл 11001 (гурван 1 бит, нэг сондгой тоо) байвал алдаа илэрнэ.

2. Чекийн нийлбэр
Чексумминг нь сүлжээний протоколд ихэвчлэн ашиглагддаг илүү боловсронгуй алдаа илрүүлэх арга юм. Өгөгдлийг сегментүүдэд хувааж, сегмент бүрийн нийт утга (checksum)-ыг тооцоолно. Энэхүү чексумыг өгөгдөлтэй хамт илгээнэ. Дараа нь хүлээн авагч нь хүлээн авсан өгөгдлийн чексумыг тооцоолж, хүлээн авсан чексумтай харьцуулна. Хэрэв зөрүү байвал алдаа илэрнэ.

Энэ арга нь тэсрэлтийн алдаа зэрэг янз бүрийн төрлийн алдааг илрүүлэхэд илүү үр дүнтэй байдаг.

3. Циклийн Илүүдлийн Шалгалт (CRC)
CRC нь өгөгдөл дамжуулах алдааг илрүүлэх хамгийн түгээмэл аргуудын нэг юм. Энэ арга нь өгөгдлийг хоёртын олон гишүүнт гэж үзээд дараа нь үүсгэгч олон гишүүнтэд хуваадаг илүү төвөгтэй математик алгоритмыг ашигладаг. Энэ хуваалтын үр дүн нь CRC код гэгддэг үлдэгдэл юм.

Өгөгдлийг CRC кодтой хамт илгээхэд хүлээн авагч нь ижил төстэй хуваалтыг гүйцэтгэдэг. Хэрэв хуваалт нь үлдэгдэлгүй бол өгөгдлийг зөв хүлээн авсан байна. Үгүй бол алдаа илэрсэн байна.

4. Хаммингийн код
Хэммингийн код нь зөвхөн нэг битийн алдааг илрүүлэхээс гадна засахад ашиглагддаг арга юм. Өгөгдлийн битийн дарааллын тодорхой байрлалд паритет бит нэмснээр хүлээн авагч нь алдаатай битийн яг байрлалыг тодорхойлж чадна. Жишээлбэл, 7,4 Хэммингийн код нь 3 паритет битийг нэгтгэснээр 4 бит өгөгдлийг 7 бит болгон хувиргадаг.

Хэрэв битүүдийн аль нэгэнд алдаа гарвал хүлээн авагч нь эдгээр илүүдэл битүүдийг ашиглан үүнийг хурдан тодорхойлж, засах боломжтой.

5. Рийд-Соломоны код
Рийд-Соломоны код нь алдааны өндөр хүлцэл шаарддаг дижитал холбооны системд голчлон ашиглагддаг алдаа илрүүлэх, залруулах арга юм. Энэ аргыг олон бит дээр олон гишүүнтийг ашиглах замаар төлөөлдөг бөгөөд энэ нь урт хугацааны тэсрэлтийн алдааг илрүүлэх, залруулах боломжийг олгодог.

Алдаа илрүүлэх аргуудын харьцуулалт

| Техник | Давуу талууд | Сул талууд |
|——–|————|———-|
| Тэнцвэрийн шалгалт | Энгийн, хурдан бөгөөд нөөцийн хэмнэлттэй. | Зөвхөн ганц битийн алдааг илрүүлэхэд үр дүнтэй. |
| Checksum | Parity-ээс илүү бат бөх, burst зэрэг олон төрлийн алдааг илрүүлдэг. | Алдааг засаж чадахгүй, зөвхөн илрүүлдэг. |
| CRC | Ганц битийн болон тэсрэлтийн алдааг илрүүлэхэд маш үр дүнтэй. | Checksum-ээс илүү төвөгтэй тооцоолол шаарддаг. |
| Хаммингийн код | Ганц битийн алдааг илрүүлж, засах боломжтой. | Паритет бит нэмснээс болж илүү их зардал гардаг. |
| Рийд-Соломоны код | Өгөгдлийн блок дахь олон алдааг илрүүлж, засах чадвартай. | Илүү төвөгтэй бөгөөд илүү их тооцоолол шаарддаг. |

Өдөр тутмын амьдралд хэрэглэх

Алдаа илрүүлэх аргуудыг өдөр тутмын амьдралын янз бүрийн талбарт ашигладаг. Жишээлбэл, үүрэн холбооны салбарт хүлээн авсан дохионууд эвдэрээгүй эсэхийг баталгаажуулахын тулд CRC-г ашигладаг. Компьютерийн сүлжээнд дамжуулсан өгөгдлийн багцуудыг найдвартай байдлыг нь хангахын тулд шалгах нийлбэр болон CRC ашиглан хэмждэг. CD, DVD зэрэг хадгалах хэрэгсэлд ч гэсэн дискний зураас эсвэл физик гэмтлээс үүдэлтэй алдааг засахад Reed-Solomon кодыг ашигладаг.

Дүгнэлт

Алдаа илрүүлэх механизм нь орчин үеийн харилцаа холбооны системийн чухал бүрэлдэхүүн хэсэг юм. Энгийн паритет шалгалтаас эхлээд Рийд-Соломоны нарийн төвөгтэй кодууд хүртэл олон төрлийн техникийг ашиглан дамжуулалт болон хадгалалтын тасалдал гарсан ч өгөгдлийн бүрэн бүтэн байдлыг хангах боломжтой. Эдгээр техникийг ойлгож, зөв ​​хэрэгжүүлэх нь дижитал харилцаа холбооны системийг найдвартай, үр ашигтай хэвээр байлгаж, өгөгдлийн алдаанаас үүдэлтэй асуудлаас зайлсхийхэд чухал алхам юм. Мэдээллийн технологиос улам бүр хамааралтай болж буй дэлхийд алдаа илрүүлэх механизмын үүргийг дутуу үнэлж болохгүй.

Сэтгэгдэл үлдээх