กระบวนการตรวจจับข้อผิดพลาด (Error Detection Process)
กระบวนการตรวจจับข้อผิดพลาด คือ การนำเทคนิคหรือวิธีการมาใช้ในการหาข้อผิดพลาดในการรับ-ส่งข้อมูลระหว่าเครือข่ายโดยการใช้วิธีการคำนวณในการตรวจสอบโดยวิธีการตรวจสอบความผิดพลาดนั้นมีด้วยกัน 3 แบบ ได้เเก่ การใช้ Bit ตรวจสอบ (Parity Checks) การหาผลรวม (Checksum) การใช้ CRC (Cyclic Redundancy Checksum) โดยแบบก็มีวิธีที่แตกต่างกันออกไป
การตรวจจับข้อผิดพลาด (Error Detection)
- การใช้ Bit ตรวจสอบ (Parity Checks)
- การหาผลรวม (CheckSum)
- การใช้ CRC (Cyclic Redundancy Checksum)
การใช้ Parity Bit ในการตรวจสอบผิดพลาด
- เป็นการตรวจสอบความผิดพลาดของข้อมูลที่ง่ายที่สุด
- Parity Bit คือ Bit ที่เพิ่มเข้าไปในส่วนท้ายของข้อมูล
- มีให้เลือกใช้ได้สองแบบ คือ
- แบบคู่ (Even parity Bit)
- แบบคี่ (Odd parity bit)
- ทั้งฝ่ายส่งและฝ่ายรับข้อมูล ต้องทำการตกลงแบบของ Parity bit ที่จะใช้ก่อนมีการสื่อสารข้อมูล
Even parity bit
- วิธีการตรวจสอบผิดพลาดโดยใช้ Parity bit “แบบคู่” ทำได้โดยการเพิ่ม 0 หรือ 1 ต่อท้ายซึ่
- ทำให้ใช้จำนวน 1 ในข้อมูลเป็นจำนวนคู่
- เช่น ถ้าข้อมูลที่จะส่ง คือ 0110101 Parity bit จะต้องเป็น 0 เพราะจำนวนบิต 1 ที่อยู่ในข้อมูลเป็นจำนวนคู่อยู่แล้ว ดังนั้นข้อมูลที่ทำการส่งไปจริง คือ 01101010
Odd parity bit
- วิธีการตรวจสอบความผิดพลาดโดยใช้ Parity bit “แบบคี่” ทำเช่นเดียวกัน กับ Parity bit “แบบคู่”
- เช่น ถ้าข้อมูลที่จะส่งคือ 0110101 Parity bit จะต้องเป็น 1 เพราะจำนวนบิต 1 ที่อยู่ในข้อมูลเป็นจำนวนคู่อยู่แล้วดังนั้นข้อมูลที่ทำการส่งไปจริง คือ 01101011
การใช้ Parity bit ในการตรวจสอบผิดพลาด
- ฝ่ายส่งข้อมูลต้องทำการคำนวณ (เลือกค่า Parity bit เป็น 0 หรือ 1) และเพิ่มผลลัพธ์จากการคำนวณต่อท้ายข้อมูลที่ต้องการจะส่ง
- ฝ่ายรับข้อมูลทำการตรวจสอบข้อมูลโดยทำการนับจำนวนเลข 1 ในข้อมูลตามรูปแบบของ Parity bit (แบบคู่หรือแบบคี่) ที่ได้ตกลงกันไว้ก่อนแล้ว
- ถ้าผลของการตรวจสอบถูกต้อง ก็สามารถนำข้อมูลไปใช้ได้ ถ้าระหว่างการส่งข้อมูลมีความผิดพลาดและ ฝ่ายรับก็สามารถตรวจจับความผิดพลาดได้เพราะจำนวนบิต 1 จะไม่ตรงตามแบบที่ตกลงไว้ และสามารถแจ้งผู้ส่งให้ข้อมูลกลับมาอีกครั้ง
การตรวจสอบข้อมูลแบบ Checksums
- ฝ่ายส่งทำการคำนวณหาค่า Checksums และส่งค่าไปพร้อมกับตัวข้อมูลเพื่อให้ฝ่ายรับข้อมูลใช้สำหรับตรวจสอบความถูกต้องของข้อมูล
- ข้อมูลถูกพิจารณาในรูปแบบของการเรียงกัน (Sequence) ของเลขจำนวนเต็ม ตามค่าของรหัส ASCII
- การคำนวณ Checksums สามารถทำได้หลายรูปแบบ
การตรวจสอบ Checksums แบบ 16 บิต (16-Bit Checksums)
ข้อมูลตัวอักษร(หรือตัวเลข) แต่ละคู่จะถูกพิจารณาแบบเลขจำนวนเต็มฐาน 16 โดยทำการคำนวณผลบวกถ้าผลของการบวกมากกว่า 16 บิต บิตที่เกินขึ้นมาให้นำมาเพิ่มกับผลบวกสุดท้าย
ข้อดี
- ประหยัดทั้งเวลา และทรัพยากรของระบบ เนื่องจากการบวกทำได้อย่างรวดเร็ว
ข้อเสีย
- การตรวจสอบข้อมูลแบบ Checksum ไม่สามารถตรวจสอบความผิดพลาดได้ในกรณีที่ข้อมูลถูกเปลี่ยนแปลงไปแต่ผลรวมของ Checksum มีค่าเท่าเดิม
การตรวจสอบข้อมูลแบบ Cyclic Redundancy Check (CRC)
- ผู้ส่งข้อมูลเพิ่มเติมข้อมูลที่ใช้ในการตรวจสอบความถูกจต้องของกาส่งข้อมูล (Frame Check Sequence หรือ FCS) ต่อท้ายตัวข้อมูลจริงที่จะทำการส่ง
- กระบวนการคำนวณค่า FCS ของ CRC ใช้หลักการหารเลหือเศษในเลขฐานสอง (Modulo 2)
- โดยการใช้ข้อมูลที่ต้องการจะทำการส่ง หารด้วยค่า Polynomial Generator เศษเหลือจากการหาร คือ ค่า FCS ข้อมูลที่ทำการส่งจริงไปให้ผู้รับ คือ ตัวข้อมูลต่อท้ายด้วยค่า FCS ที่ได้จากการคำนวณ
การนำเทคนิคทั้ง 3 มาทำการตรวจสอบนั้นเป็นวิธีที่หาความผิดพลาดระหว่างการส่งข้อมูลผ่านเครือข่าย โดยเเต่ละวิธีจะมาความน่าเชื่อถือและการใช้งานที่เเตกต่างกัน โดยจะเริ่มตั้งเเต่การหาความผิดพลาดน้อยสุด ไปมากที่สุด เเละวิธีที่หาความผิดพลาดที่ครอบคลุมที่สุด คือ การตรวจสอบข้อมูลแบบ Cyclic Redundancy Check (CRC)
ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป