อาจารย์ ถนอม ห่อวงศ์สกุล บทที่ 7 การตรวจจับข้อผิดพลาด การควบคุมการไหลของข้อมูล และการควบคุมข้อผิดพลาด (Error Detection, Flow Control and Error Control) อาจารย์ ถนอม ห่อวงศ์สกุล
การตรวจจับข้อผิดพลาด การควบคุมการไหลของข้อมูล และการควบคุมข้อผิดพลาด ชั้นสื่อสารด้าต้าลิงก์ จะรับแพ็กเก็ตข้อมูลจากชั้นสื่อสารเน็ตเวิร์ก ด้วยการแบ่งหน่วยข้อมูลที่เรียกว่าเฟรม จากนั้นจะปะส่วนหัวที่เรียกว่าเฮดเดอร์เข้าไปในเฟรมเพื่อกำหนดที่อยู่ของผู้ส่งและผู้รับ ชั้นสื่อสารดาต้าลิงก์ยังช่วยสร้างความน่าเชื่อถือไปยังชั้นฟิสิคัล ด้วยการเพิ่มกลไกการตรวจจับข้อผิดพลาดของข้อมูล
ชนิดของข้อผิดพลาด (Type of Error) สามารถแบ่งได้ 2 ชนิด คือ ข้อผิดพลาดแบบบิตเดียว (Single-Bit Error) ข้อผิดพลาดแบบหลายบิต (Burst Error)
ชนิดของข้อผิดพลาด (Type of Error)
วิธีตรวจจับข้อผิดพลาด (Error Detection Methods) การใช้บิตตรวจสอบ (Parity Checks) การหาผลรวม (Checksum) การใช้วิธี CRC (Cyclic Redundancy Checksum)
การใช้บิตตรวจสอบ (Parity Checks) เป็นวิธีตรวจจับข้อผิดพลาดอย่างง่ายและเป็นวิธีที่เก่าแก่ โดยใช้พาริตี้บิตซึ่งประกอบด้วยเลขไบนารี 0 หรือ 1 ปะท้ายเพิ่มเข้าไปอีกหนึ่งบิต วิธีการนี้จะมีอยู่ 2 วิธีด้วยกัน การตรวจสอบสภาวะบิตคู่ (Even Parity) การตรวจสอบสภาวะบิตคี่ (Odd Parity)
การใช้บิตตรวจสอบ (Parity Checks)
การหาผลรวม (Checksum) มีประสิทธิภาพสูงกว่าวิธีการใช้บิตตรวจสอบ แต่ต้องแลกกับการใช้โอเวอร์เฮดที่มากกว่า ฝั่งส่งจะคำนวณหาผลรวมข้อมูลและส่งไปพร้อมกับข้อมูล ฝั่งรับจะนำผลรวมเหล่านั้นไปตรวจสอกับผลรวมของข้อมูลที่ได้รับเข้ามา ว่าถูกต้องตรงกันหรือไม่
การหาผลรวม (Checksum)
การใช้วิธี CRC (Cyclic Redundancy Checksum) เป็นวิธีหนึ่งที่นิยมใช้ในเครือข่ายท้องถิ่น จัดได้ว่ามีประสิทธิภาพสูงกว่า Parity Checks และ Checksum สามารถตรวจจับข้อผิดพลาดได้ครอบคลุมและแน่นอนกว่า CRC-32 บิตมีอัตราความแน่นอนในการตรวจจับข้อผิดพลาดได้ถึง 99.99999998%
การใช้วิธี CRC (Cyclic Redundancy Checksum)
การควบคุมการไหลของข้อมูล (Flow Control) สาเหตุที่ต้องมีการควบคุมการไหลของข้อมูล และการควบคุมข้อผิดพลาด ในกรณีที่ฝั่งส่งและฝั่งรับสื่อสารอยู่บนความเร็วที่แตกต่างกัน จะทำการโต้ตอบกันอย่างไร หากเฟรมข้อมูลที่ส่งไปนั้นเกิดความเสียหาย หรือสูญเสีย จะเกิดอะไรขึ้น หากฝั่งรับไม่รู้ว่ามีข่าวสารส่งมาถึงตน จะเกิดอะไรขึ้น ถ้าหากเฟรมข้อมูลของฝั่งส่งนั้นเกิดความเสียหาย
การควบคุมการไหลของข้อมูล (Flow Control) การควบคุมการไหลของข้อมูล สามารถแบ่งได้ 2 ประเภท การควบคุมการไหลของข้อมูลด้วยวิธีการหยุดและรอ (Stop-and-Wait Flow Control) การควบคุมการไหลของข้อมูลด้วยวิธีเลื่อนหน้าต่าง (Sliding-Window Flow Control)
การควบคุมการไหลของข้อมูลด้วยวิธีการหยุดและรอ (Stop-and-Wait Flow Control)
การควบคุมการไหลของข้อมูลด้วยวิธีเลื่อนหน้าต่าง (Sliding-Window Flow Control)
การควบคุมข้อผิดพลาด (Error Control) การควบคุมข้อผิดพลาด เกี่ยวข้องกับกระบวนการที่จะต้องตรวจสอบข้อผิดพลาดของเฟรมอย่างไร และจะต้องทำอย่างไรบ้าง หากเกิดขึ้น เพื่อแสดงความมั่นใจได้ว่าเฟรมข้อมูลทั้งหมดทีส่งไปยังปลายทางนั้น จะปราศจากข้อผิดพลาด
การดำเนินการกับข้อผิดพลาด สามารถปฏิบัติได้ 3 กรณี คือ ไม่ต้องดำเนินการใดๆ (Do Nothing) แจ้งข่าวสารกลับไปฝั่งส่งรับทราบ (Return a Message) ตรวจแก้ข้อผิดพลาด (Correct the Error)
ชนิดของข้อผิดพลาด ข้อผิดพลาดที่ตรวจพบ สามารถแบ่งออกเป็น 2 ชนิด เฟรมสูญหาย (Lost Frame) เฟรมชำรุด (Damage Frame)
การควบคุมข้อผิดพลาด ARQ เป็นกระบวนการที่จะช่วยสร้างความน่าเชื่อถือในข้อมูลให้กับชั้นสื่อสารดาต้าลิงก์ยิ่งขึ้น โดยทั่วไปจะมี 2 วิธีหลักๆ คือ Stop-and-Wait ARQ Continuous ARQ Go-Back-N ARQ Selective-Reject ARQ
Stop-and-Wait ARQ
Stop-and-Wait ARQ
Go-Back-N ARQ
Selective-Reject ARQ
อ้างอิง โอภาส เอี่ยมสิริวงศ์. (๒๕๕๒). การสื่อสารข้อมูลคอมพิวเตอร์และระบบเครือข่าย. กรุงเทพฯ: ซีเอ็ดยูเคชั่น.