ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

กระบวนการตรวจจับข้อผิดพลาด (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)

 

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
มาแล้ว Plugin System MooZiiCart Auto Close สำหรับตั้งเวลาเปิดปิดระบบการสั่งซื้อสินค้าออนไลน์
โดย prmindphp พ 19 ก.พ. 2020 6:40 pm บอร์ด MindPHP News & Feedback
0
8
พ 19 ก.พ. 2020 6:40 pm โดย prmindphp
ถ้าคุณต้องเลือก
โดย noppadonsk พ 19 ก.พ. 2020 11:22 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
9
พ 19 ก.พ. 2020 11:22 am โดย noppadonsk
อยากจะทราบว่าวิธีการแสดงค่าอาเรย์แต่ล่ะค่าครับ
โดย waterwelon พ 19 ก.พ. 2020 11:04 am บอร์ด Programming - PHP
2
25
พ 19 ก.พ. 2020 11:58 am โดย thatsawan
คลายเครียด
โดย noppadonsk อ 18 ก.พ. 2020 2:50 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
24
อ 18 ก.พ. 2020 2:50 pm โดย noppadonsk
7 สิ่งที่ต้องปรับปรุงเพื่อลดค่า Bounce Rate บนหน้าเว็บไซต์
โดย phasamon อ 18 ก.พ. 2020 10:22 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
15
อ 18 ก.พ. 2020 10:22 am โดย phasamon
อยากให้ธุรกิจเป็นที่รู้จักบนโลกออนไลน์ ลองหาบริษัทรับทำ SEO ดูซิ !
โดย totheworld จ 17 ก.พ. 2020 3:34 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
55
จ 17 ก.พ. 2020 3:34 pm โดย totheworld
สี่เหตุผลที่ควรปรับปรุงเว็บไซต์
โดย phasamon จ 17 ก.พ. 2020 2:05 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
36
จ 17 ก.พ. 2020 2:05 pm โดย phasamon
อย่าได้พลาดเชียว
โดย noppadonsk จ 17 ก.พ. 2020 10:52 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
จ 17 ก.พ. 2020 10:52 am โดย noppadonsk
วิธีการแก้ไขปํญหา undefined index กรณีกำหนดเงือนไขเทียบค่าอาร์เรย์
โดย Ittichai_chupol ศ 14 ก.พ. 2020 5:50 pm บอร์ด PHP Knowledge
0
67
ศ 14 ก.พ. 2020 5:50 pm โดย Ittichai_chupol
เรื่องน่าเศร้า
โดย noppadonsk ศ 14 ก.พ. 2020 10:19 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
64
ศ 14 ก.พ. 2020 10:19 am โดย noppadonsk
อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้
โดย Ittichai_chupol พฤ 13 ก.พ. 2020 3:22 pm บอร์ด Programming - PHP
3
89
พฤ 13 ก.พ. 2020 5:31 pm โดย thatsawan
กลับไปเริ่มใหม่
โดย noppadonsk พฤ 13 ก.พ. 2020 10:57 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
51
พฤ 13 ก.พ. 2020 10:57 am โดย noppadonsk
อยากทราบการเอาเลขมาคุณในช่อง 10อัน แล้วมาแล้วผลข้างล่างครับ
โดย comopal พ 12 ก.พ. 2020 6:49 pm บอร์ด Programming - PHP
1
111
พฤ 13 ก.พ. 2020 9:39 am โดย LEG
ต้องรีบเดี๋ยวลืม
โดย noppadonsk พ 12 ก.พ. 2020 10:56 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
50
พ 12 ก.พ. 2020 10:56 am โดย noppadonsk
วิธีการเลือกงาน
โดย jataz2 พ 12 ก.พ. 2020 9:47 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
60
พ 12 ก.พ. 2020 9:47 am โดย jataz2
วิธีการไปสัมภาษณ์งาน
โดย jataz2 พ 12 ก.พ. 2020 9:25 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
57
พ 12 ก.พ. 2020 9:25 am โดย jataz2
วิธีการ insert ข้อมูลในขั้นตอนติดตั้ง Extension phpbb
โดย Ittichai_chupol อ 11 ก.พ. 2020 5:55 pm บอร์ด PHP Knowledge
1
83
อ 11 ก.พ. 2020 6:01 pm โดย thatsawan
visual studio 2008 crystal reports viewer มี ในToolbox แต่ใช้งานไม่ได้
โดย d.direk อ 11 ก.พ. 2020 2:33 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
91
อ 11 ก.พ. 2020 2:33 pm โดย d.direk
การเดินทางจากปลวกแดง (ระยอง)- กรุงเทพฯ
โดย panudda อ 11 ก.พ. 2020 12:07 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
49
อ 11 ก.พ. 2020 12:07 pm โดย panudda
จะหยามกันเกินไปแล้ว
โดย noppadonsk อ 11 ก.พ. 2020 11:19 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
57
อ 11 ก.พ. 2020 11:19 am โดย noppadonsk