Page 100 - Computer Network
P. 100

13.1. การตรวจจับและแก้ไขความผิดพลาด (ERROR DETECTION AND CORRECTION)                91



                      ภาครับได้รับเป็น 010101011 (เกิดความผิดพลาดจำนวน 1 บิต) ในกรณีภาครับสามารถตรวจจับความผิดพลาดที่
                      เกิดขึ้นได้ เนื่องจากสิ่งที่รับได้เป็นแบบ odd แต่หากภาครับได้เป็น 01010101 (เกิดความผิดพลาดจำนวน 2 บิต) จะ
                      เห็นว่าเป็นแบบ even ตามเงื่อนไขของการตรวจสอบ ทำให้การตรวจสอบด้วยการใช้แบบหนึ่งบิตพาริตีไม่สามารถ
                      ตรวจจับได้

                         เนื่องจากการใช้พาริตีสามารถทำได้โดยไม่จำเป็นต้องมีการจัดเก็บข้อมูล สามารถคำนวณค่าได้ในระหว่างการ
                      ส่งและรับข้อมูลแบบทันที (on-the-fly) ทำให้ไม่เกิดเวลาหน่วง อย่างไรก็ตาม การใช้พาริตีเหมาะสำหรับระบบที่
                      มีความผิดพลาดที่ตํ่า และหากเกิดความผิดพลาดจริง จะไม่มีผลรุนแรงกับระบบโดยรวม เนื่องจากการใช้พาริตีบิต
                      ค่อนข้างมีประสิทธิภาพตํ่าในการตรวจสอบความผิดพลาด[24]




                      13.1.2 การตรวจจับแบบพาริตีสองมิติ (Two-Dimensional Parity Checks)

                                                                           book)
                      เพื่อให้การตรวจจับมีประสิทธิภาพมากขึ้น การใช้การตรวจจับแบบพาริตีสองมิติ (Two-Dimensional Parity
                      Checks) เป็นวิธีหนึ่งในการแก้ปัญหาของการตรวจสอบความผิดพลาดที่มากกว่าหนึ่งบิตของข้อมูล รูปที่ 13.3
                      การใช้การตรวจจับแบบพาริตีสองมิติ ด้วยการเพิ่มคอลัมน์สุดท้ายของแต่ละแถวและแถวล่างสุดใต้ข้อมูล คอลัมน์
                      สุดท้ายของแต่ละแถวเป็นค่าบิตที่ใช้ในการตรวจสอบของแถวนั้นๆ และ แถวล่างสุดใต้ข้อมูลจะเป็นบิตตรวจสอบ
                                                          (partial
                      ของในแต่ละคอลัมน์
                         การใช้การตรวจจับแบบพาริตีสองมิติ สามารถที่จะตรวจสอบและแก้ไขกรณีของการผิดพลาดแบบหนึ่งบิตได้

                      ทุกกรณี โดยดูจากจุดตัดระหว่างแถวและคอลัมน์ที่มีค่าของพาริตีที่ผิดไป แต่ความผิดพลาดตั้งแต่สองบิตขึ้นไป การ
                      ใช้การตรวจจับแบบพาริตีสองมิติ สามารถที่จะตรวจจับได้ แต่ไม่สามารถที่จะแก้ไขได้


                                               only





                                    KKU  รูปที่ 13.3: การตรวจสอบข้อผิดพลาดโดยใช้พาริตีบิตแบบสองมิติ










                         รูปที่ 13.4 เป็นตัวอย่างการตรวจสอบหาความผิดพลาดแบบพาริตีสองมิติในกรณี 1 ถึง 4 บิต รูปที่ 13.4 (a)
                      เป็นการผิดพลาดแบบหนึ่งบิต สามารถตรวจสอบและแก้ไขได้ทุกกรณี ในกรณี (b)-(d) เป็นการผิดพลาดตั้งแต่สอง
                      บิตขึ้นไป จะเห็นว่าทั้งสามกรณีสามารถตรวจจับความผิดพลาดได้ แต่ไม่สามารถแก้ไขได้ถูกต้อง ยกเว้นกรณีที่มี
                      ความผิดพลาดแบบ 4 บิตเป็นรูปสี่เหลี่ยมพอดี จะไม่สามารถตรวจสอบหาความผิดพลาดได้ (รูปที่ 13.4 (d))




                      13.1.3 Checksum


                      ในการใช้ Checksum ข้อมูลที่จะส่งจะถูกแบ่งออกเป็นส่วนๆ แต่ละส่วนมีขนาดเป็น n บิต (8 หรือ 16 บิตเป็นต้น)
                      จากนั้นนำแต่ละบิตบวกกันเพื่อคำนวณหาค่า Checksum ซึ่งค่าที่หาได้จะถูกส่งไปกับข้อมูลที่ส่ง เมื่อภาครับได้รับ
                      ข้อมูล ภาครับจะแบ่งข้อมูลเป็นส่วนๆเช่นเดียวกับภาคส่ง เพื่อคำนวณค่า Checksum หากค่าคำนวณได้ตรงกับค่า
                      ของ Checksum ที่ได้รับจากภาคส่ง แสดงว่าข้อมูลมีความถูกต้อง มิฉะนั้นจะถือว่าข้อมูลที่ได้รับผิดพลาด อาจต้อง

                      ร้องขอให้ภาคส่ง ส่งออกมาใหม่
   95   96   97   98   99   100   101   102   103   104   105