Pengesanan ralat (error detection) mengetahui bahawa data telah berubah. Pembetulan ralat (error correction) membaiki data. Soalan kerap bertanya yang mana satu dilakukan sesuatu kaedah, jadi kata kerja yang tepat dalam jawapan anda penting.
Pelajaran ini melengkapkan penghantaran dan semakan data. Ia membina atas pariti dan checksum.
Apakah yang dilakukan setiap kaedah?
| Kaedah | Apa yang dilakukan | Membaiki data? |
|---|---|---|
| Bit pariti | Mengesan bilangan bit ganjil yang berubah | Tidak |
| Checksum | Mengesan kebanyakan perubahan tidak sengaja | Tidak |
| Digit semak | Mengesan ralat menaip atau mengimbas dalam sesuatu kod | Tidak |
| Semakan gema | Penghantar membandingkan data yang dikembalikan dengan yang asal | Tidak |
| ARQ | Penerima kata “baik” atau “hantar semula”; penghantar cuba semula jika tamat masa | Pulih melalui hantar semula |
| Kod pengulangan | Setiap bit dihantar beberapa kali; undi majoriti | Ya, untuk bilangan perubahan yang terhad |
Semak dengan sukatan anda nama mana yang muncul, kerana Cambridge menetapkan kandungan dan boleh mengemas kininya.
Bagaimanakah ARQ berfungsi?
- Penghantar menghantar paket dengan data semakan.
- Penerima menjalankan semakan.
- Jika lulus, penerima menghantar pengakuan positif. Jika gagal, ia menghantar pengakuan negatif atau tidak berkata apa-apa.
- Penghantar menunggu tamat masa (timeout). Tanpa pengakuan, atau dengan pengakuan negatif, ia menghantar semula. Selepas bilangan percubaan tertentu ia berhenti.
ARQ tidak membaiki data yang rosak. Ia menggantikannya dengan salinan baharu.
Contoh berlangkah: membetulkan dengan pengulangan
Penghantar mahu menghantar bit 1, 0, 1. Ia menghantar setiap bit tiga kali: 111 000 111.
Penerima menerima 111 010 111. Bagi setiap kumpulan, ia mengira 1 dan mengambil majoriti.
ones ← 0
FOR i ← 1 TO 3
IF Group[i] = 1 THEN
ones ← ones + 1
ENDIF
NEXT i
IF ones >= 2 THEN
result ← 1
ELSE
result ← 0
ENDIF
Jejak untuk kumpulan tengah 0, 1, 0: i=1 memberi ones 0, i=2 memberi ones 1, i=3 kekal 1. Oleh sebab 1 kurang daripada 2, result = 0. Maka bit tengah dibetulkan kepada 0.
Kumpulan 111 dan 111 memberi 3 satu, jadi kedua-dua result ialah 1. Mesej dibaiki sebagai 1, 0, 1 tanpa meminta penghantaran semula. Kosnya ialah data mengambil masa tiga kali ganda untuk dihantar.
Apakah kesilapan yang dilakukan pelajar?
Pernyataan lazim: “Pariti menyemak data dan membetulkan sebarang ralat.”
Ia tidak membetulkan. Pariti mengesan. Untuk membetulkan, penerima memerlukan maklumat tambahan yang cukup untuk mengetahui nilai yang betul, seperti undi majoriti di atas, atau ia mesti meminta salinan baharu. Tulis “mengesan” untuk pariti dan checksum, dan “menghantar semula” untuk ARQ.
Semak kendiri
1. Nyatakan sama ada setiap satu mengesan atau membetulkan: (a) bit pariti, (b) undi majoriti pada tiga salinan satu bit.
Lihat jawapan
(a) Mengesan. (b) Membetulkan, jika hanya satu daripada tiga salinan salah.
2. Satu kumpulan tiga bit tiba sebagai 1, 1, 0. Apakah bit yang mungkin dihantar?
Lihat jawapan
Dua 1 dan satu 0, jadi majoriti ialah 1. Bit yang dihantar mungkin 1.
3. Penghantar ARQ tidak menerima balasan sebelum tamat masa. Apa yang dilakukannya?
Lihat jawapan
Ia menghantar semula paket, sehingga bilangan percubaan yang ditetapkan.
Ke mana selepas ini?
Bawa apa yang anda pelajari ke set latihan, yang menggabungkan kelima-lima pelajaran. Kembali ke ringkasan modul jika anda perlu melihat susunan topik.
Jika anda mahu seseorang menyemak jawapan anda dan menerangkan dengan tepat di mana markah hilang, guru kami menawarkan tuisyen Computer Science satu dengan satu dalam talian.