Page 234 - Computer Network
P. 234

28.4. อัลกอริทึมในการควบคุมความคับคั่ง (CONGESTION CONTROL ALGORITHMS)             225



                      โดยภาครับ โดยการส่งของ TCP จะพิจารณาจากความสัมพันธ์


                                                      awnd = Min [credit, cwnd]

                      โดย

                       awnd ขนาดของ window ที่อนุญาตให้ส่งได้ (MSS) เป็นเซกเมนต์


                       cwnd ขนาดของ congestion window เป็นเซกเมนต์ ใช้ในช่วงการส่งข้อมูล

                       credit จำนวนเซกเมนต์ที่สามารถส่งได้อีก จากการรับ ACK ล่าสุด


                         รูปที่ 28.4 แสดงการทำงานของ Slow start โดยภาคส่งเริ่มต้นที่หนึ่งเซกเมนต์ (cwnd = 1) เมื่อด้านส่งได้ ACK
                      จะเพิ่มขนาด cwnd เป็นสอง จากนั้นรอจนกระทั่งภาคส่งได้รับ ACK จะเพิ่ม cwnd เป็นสี่ ซึ่งจะทำเช่นนี้ไปเรื่อยๆ
                                                                           book)
                      จนกระทั่งถึงค่าสูงสุดที่เป็นไปได้






                                                          (partial









                                               only





                                    KKU           รูปที่ 28.4: การทำงานของ Slow start







                      28.4.2 Congestion avoidance


                      จากที่กล่าวไปแล้วการทำงานของ Slow start จะเพิ่มจำนวนเซกเมนต์ทุกครั้งที่ได้รับ ACK จากภาครับ จนกระทั่งมี
                      สัญญาณของการเกิดความคับคั่งของข้อมูลในเน็ตเวิร์คขึ้น ในการทำงานของ TCP สัญญาณสำคัญของที่ทำให้ทราบ
                      ถึงความคับคั่งของข้อมูล ซึ่งนำไปสู่การทำงานของ Congestion avidance ได้แก่การเกิด Timeout ของเซกเมนต์
                         หากเปรียบเทียบการทำงานของ Slow start (รูปที่ 28.5 (a)) และ Congestion avoidance (รูปที่ 28.5 (b))
                      แยกกัน จะเห็นว่าทั้งสองมีจุดประสงค์การทำงานที่แตกต่างกัน แต่เมื่อใดก็ตาม มีการเกิดการคับคั่งของข้อมูล TCP

                      จะลดจำนวนของเซกเมนต์ที่ส่งลงให้เหลือหนึ่ง พร้อมทั้งบันทึกค่าของ cwnd ล่าสุดที่ใช้ จากนั้นใช้การทำงานของ
                      Slow start เพื่อเพิ่มจำนวนของเซกเมนต์ที่จะส่งอีกครั้ง จนมีค่าเท่ากับครึ่งหนึ่งของ cwnd ล่าสุด (cwnd/2) ก่อน
                      ที่จะเข้าสู่การทำงานของ Congestion avoidance ในทางปฏิบัติอัลกอริทึมทั้งสอง ถูกพัฒนาใช้งานควบคู่กัน โดย
                      อาศัยตัวแปรสองตัว เพื่อใช้ในการทำงาน ได้แก่ค่าของ congestion window (cwnd) และ ค่าของ slow start
                      threshold size (ssthresh)
                         รูปที่ 28.6 แสดงการทำงานร่วมกันของ Slow start และ Congestion avoidance โดยขั้นตอนการทำงาน

                      ดังนี้
   229   230   231   232   233   234   235   236   237   238   239