Page 92 - Computer Network
P. 92
บทที่ 12
การควบคุมความผิดพลาด
book)
การควบคุมความผิดพลาด หรือ Error control เป็นวิธีการที่อนุญาตให้ภาครับแจ้งข้อผิดพลาดที่เกิดขึ้นระหว่างการ
ส่งข้อมูล เช่นความผิดพลาดของข้อมูลระหว่างส่ง ลำดับของข้อมูลผิดพลาด และการสูญหายของเฟรม การทำงาน
ของการควบคุมความผิดพลาดเพื่อให้ภาคส่งทราบถึงสถานะ และส่งเฟรมออกมาใหม่ ซึ่งการทำงานของการควบคุม
ความผิดพลาดจะทำงานร่วมกับการตรวจจับความผิดพลาด (error detection) หากเฟรมที่ได้รับไม่มีความผิด
(partial
พลาดใดๆเกิดขึ้น ภาครับจะส่ง Acknowledgment (ACK) กลับ ในทางตรงข้ามในบางอัลกอริทึมอาจใช้ negative
acknowledgment (NAK) เพื่อแสดงถึงความผิดพลาดที่เกิดขึ้นกับเฟรม วิธีการที่ใช้ในที่นี้เรียกว่า Automatic
Repeat reQuest (ARQ) ซึ่งได้กำหนดมาตรฐานการทำงานไว้สามแบบคือ stopandwait ARQ, gobackN
ARQ และ selective repeat ARQ โดยที่ในการทำงานของสองแบบหลัง จำนวนของเฟรมที่สามารถส่งจากต้นทาง
ได้ จะขึ้นอยู่กับขนาดของ Window size (W) แต่ใน stop-and-wait ARQ จะสามารถส่งได้ที่ละหนึ่งเฟรม (W=1)
only
เท่านั้น ดังจะกล่าวในรายละเอียดต่อไป อย่างไรก็ตาม ในที่นี้เราจะกล่าวถึงการใช้ ACK เท่านั้น เนื่องจากเป็นวิธีที่ได้
รับการยอมรับมากกว่า และมีการใช้งานในเลเยอร์ถัดไปใน Transmission Control Protocol (TCP)
KKU
12.1 Stop-and-wait ARQ
การทำงานของ stop-and-wait ARQ ภาคส่งจะส่งเฟรมออกไป หลังจากที่ได้สำเนาข้อมูลไว้แล้ว โดยเฟรมที่ส่งออก
ไปจะให้เริ่มต้นที่หมายเลข 0 หลังจากนั้นจะรอจนกระทั่งได้รับ ACK ของเฟรมที่ส่งไป ในที่นี้เป็น ACK0 แสดงถึงการ
ได้รับเฟรมหมายเลข 0 ถ้าหากภาคส่งไม่ได้รับ ACK0 ก่อนที่จะหมดเวลาที่กำหนด ภาคส่งจะส่งเฟรมหมายเลข 0
ออกไปใหม่ แต่หากด้านส่งได้รับ ACK0 ก่อนที่จะหมดเวลาที่กำหนด ด้านส่งจะลบข้อมูลที่เก็บไว้ทิ้ง หลังจากนี้ภาค
ส่งพร้อมที่จะส่งเฟรม ถัดไปซึ่งจะกำหนดให้เป็นหมายเลข 1 โดยในที่นี้ ภาคส่งจะส่งเฟรม ออกไปโดยสลับระหว่าง
หมายเลข 0 และ 1 รูปที่ 12.1 แสดงการทำงานของ Stop-and-wait ARQ สิ่งที่ต้องยํ้าในที่นี้คือการส่งเฟรมออกไป
ทุกครั้ง จะมีการกำหนดเวลาที่เฟรมนั้นสามารถอยู่ในระบบได้ หากเวลาสิ้นสุดลง ไม่ว่าเกิดจากสาเหตุใดเราเรียกว่า
Timeout
ข้อดีของการทำงานแบบ stop-and-wait ARQ คือความง่ายในการพัฒนาระบบ และต้องการบัฟเฟอร์เพียง
เล็กน้อยเท่านั้น (1 เฟรมเท่านั้น) โดยที่ภาคส่งจะเก็บข้อมูลของเฟรมที่ส่งออกล่าสุดเพียงเฟรมเดียวเท่านั้น ส่วนภาค
รับไม่จำเป็นต้องบัฟเฟอร์ข้อมูลใดๆทั้งสิ้น อย่างไรก็ตาม เนื่องจากภาคส่งต้องรอ ACK ก่อนเพื่อสามารถส่งเฟรมถัด
ไปได้ ทำให้ช่องสัญญาณไม่ได้รับการใช้งานอย่างมีประสิทธิภาพเท่าที่ควร โดยเฉพาะอย่างยิ่งหากเป็นการสื่อสาร
ระยะไกล เช่นการสื่อสารระหว่างสถานีฐานกับดาวเทียม หรือการสื่อสารข้ามประเทศ ที่มีเวลาหน่วงระหว่างภาคส่ง
และภาครับที่สูงมาก
83

