กระบวนการตรวจจับข้อผิดพลาด (Error Detection Process)

การตรวจจับข้อผิดพลาด
การตรวจจับข้อผิดพลาด

 

กระบวนการตรวจจับข้อผิดพลาด คือ การนำเทคนิคหรือวิธีการมาใช้ในการหาข้อผิดพลาดในการรับ-ส่งข้อมูลระหว่าเครือข่ายโดยการใช้วิธีการคำนวณในการตรวจสอบโดยวิธีการตรวจสอบความผิดพลาดนั้นมีด้วยกัน 3 แบบ ได้เเก่ การใช้ Bit ตรวจสอบ (Parity Checks) การหาผลรวม (Checksum) การใช้ CRC (Cyclic Redundancy Checksum) โดยแบบก็มีวิธีที่แตกต่างกันออกไป 

 

การตรวจจับข้อผิดพลาด (Error Detection)

  1. การใช้ Bit ตรวจสอบ (Parity Checks)
  2. การหาผลรวม (CheckSum)
  3. การใช้ 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 แบบ 16 บิต
การตรวจสอบ Checksum แบบ 16 บิต

 

ข้อดี

  • ประหยัดทั้งเวลา และทรัพยากรของระบบ เนื่องจากการบวกทำได้อย่างรวดเร็ว

ข้อเสีย

  • การตรวจสอบข้อมูลแบบ Checksum ไม่สามารถตรวจสอบความผิดพลาดได้ในกรณีที่ข้อมูลถูกเปลี่ยนแปลงไปแต่ผลรวมของ Checksum มีค่าเท่าเดิม

 

การตรวจสอบข้อมูลแบบ Cyclic Redundancy Check (CRC)

  • ผู้ส่งข้อมูลเพิ่มเติมข้อมูลที่ใช้ในการตรวจสอบความถูกจต้องของกาส่งข้อมูล (Frame Check Sequence หรือ FCS) ต่อท้ายตัวข้อมูลจริงที่จะทำการส่ง
  • กระบวนการคำนวณค่า FCS ของ CRC ใช้หลักการหารเลหือเศษในเลขฐานสอง (Modulo 2)
  • โดยการใช้ข้อมูลที่ต้องการจะทำการส่ง หารด้วยค่า Polynomial Generator เศษเหลือจากการหาร คือ ค่า FCS ข้อมูลที่ทำการส่งจริงไปให้ผู้รับ คือ ตัวข้อมูลต่อท้ายด้วยค่า FCS ที่ได้จากการคำนวณ

 

การนำเทคนิคทั้ง 3 มาทำการตรวจสอบนั้นเป็นวิธีที่หาความผิดพลาดระหว่างการส่งข้อมูลผ่านเครือข่าย โดยเเต่ละวิธีจะมาความน่าเชื่อถือและการใช้งานที่เเตกต่างกัน โดยจะเริ่มตั้งเเต่การหาความผิดพลาดน้อยสุด ไปมากที่สุด เเละวิธีที่หาความผิดพลาดที่ครอบคลุมที่สุด คือ การตรวจสอบข้อมูลแบบ Cyclic Redundancy Check (CRC)

 

ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
คำสั่งให้แสดง ไฟล์ใน folder ทั้งหมดเรียงตามขนาดไฟล์ใน Folder ls -alh
โดย mindphp พ 10 ม.ค. 2024 3:29 pm บอร์ด Linux - Web Server
0
753
พ 10 ม.ค. 2024 3:29 pm โดย mindphp View Topic คำสั่งให้แสดง ไฟล์ใน folder ทั้งหมดเรียงตามขนาดไฟล์ใน Folder  ls -alh
มีหนังสือ แนะนำ Developing Extensions for Joomla! 5
โดย mindphp พ 10 ม.ค. 2024 2:52 pm บอร์ด MindPHP News & Feedback
0
296
พ 10 ม.ค. 2024 2:52 pm โดย mindphp View Topic มีหนังสือ แนะนำ Developing Extensions for Joomla! 5
Google Chrome เข้าเว็ปที่เป็น HTTP ไม่ได้จะเป็นอย่างไร
โดย noncup302 พ 10 ม.ค. 2024 12:26 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
784
พฤ 11 ม.ค. 2024 8:53 pm โดย บุคคลทั่วไป View Topic Google Chrome เข้าเว็ปที่เป็น HTTP ไม่ได้จะเป็นอย่างไร
อินเตอร์เน็ตบ้าน กับ Corporate ต่างกันอย่างไร
โดย Anonymous อ 09 ม.ค. 2024 12:40 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
352
พ 10 ม.ค. 2024 12:24 pm โดย noncup302 View Topic อินเตอร์เน็ตบ้าน กับ Corporate ต่างกันอย่างไร
ตรวจสอบข้อมูลภาษี MyTaxAccount - เพื่อยื่นแบบแสดงรายการภาษีเงินได้บุคคลธรรมดา (แบบ ภ.ง.ด.90/ภ.ง.ด.91)
โดย mindphp อ 07 ม.ค. 2024 6:05 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
1193
อ 07 ม.ค. 2024 6:09 pm โดย mindphp View Topic ตรวจสอบข้อมูลภาษี MyTaxAccount - เพื่อยื่นแบบแสดงรายการภาษีเงินได้บุคคลธรรมดา (แบบ ภ.ง.ด.90/ภ.ง.ด.91)
ใครใช้ SSH อัพเกรดด่วน เครื่องคุณกำลังมีความเสียงสำหรับคนที่ใช้ OpenSSH ต่ำกว่าเวอร์ชั่น 9.5
โดย mindphp อ 07 ม.ค. 2024 3:15 am บอร์ด MindPHP News & Feedback
1
339
อ 07 ม.ค. 2024 3:20 am โดย mindphp View Topic ใครใช้ SSH อัพเกรดด่วน เครื่องคุณกำลังมีความเสียงสำหรับคนที่ใช้ OpenSSH ต่ำกว่าเวอร์ชั่น 9.5
สอบถามครับ Joomla ใช้ Hosting ของอะไรดีครับ
โดย Anonymous อ 07 ม.ค. 2024 3:00 am บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
913
อ 07 ม.ค. 2024 6:34 pm โดย mindphp View Topic สอบถามครับ Joomla ใช้ Hosting ของอะไรดีครับ
หากคุณเป็นแฟนตัวยงของฟุตบอลไทย คือเว็บไซต์ที่คุณห้ามพลาด
โดย chenyuting ศ 05 ม.ค. 2024 4:52 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
483
ศ 05 ม.ค. 2024 4:52 pm โดย chenyuting View Topic หากคุณเป็นแฟนตัวยงของฟุตบอลไทย คือเว็บไซต์ที่คุณห้ามพลาด