Page 233 - Computer Network
P. 233

224                                                          บทที่ 28. การป้องกันความคับคั่ง





















                                    รูปที่ 28.3: ปรากฎการณ์ที่เกิดขึ้นเนื่องจากมีจำนวนผู้ใช้จำนวนมากใน TCP



                     ประสิทธิภาพระบบเริ่มลดลง เมื่อถึงจุดที่ไม่สามารถรองรับได้ จะทำให้ประสิทธิภาพลดลง จนกระทั่งเลวร้ายสุดก็คือ
                     ตกลงมาเหลือศูนย์นั่นเอง
                         อัลกอริทึมในการควบคุมความคับคั่ง                  book)




                     28.4 อัลกอริทึมในการควบคุมความคับคั่ง (Congestion Control
                                                          (partial
                               Algorithms)



                     จากปัญหาที่พบในการทำงานของ TCP ทำให้มีการแก้ปัญหาต่างๆเกิดขึ้น หนึ่งในการแก้ปัญหาดังกล่าว โดย
                     มีการคำนึงถึงสถานะของเน็ตเวิร์คเพื่อให้มีการปรับเปลี่ยนการส่งข้อมูลของ TCP ให้เหมาะสมกับข้อจำกัดของ
                                               only
                     เน็ตเวิร์ค (network limit) ในขณะนั้น โดยการทำงานดังกล่าวอยู่บนพื้นฐานที่ว่าความน่าจะเป็นของความผิดพลาด
                     ของข้อมูลน้อยมาก (น้อยกว่า 1 เปอร์เซ็นต์มาก) ทำให้ภาคส่งประเมินว่าสิ่งที่เกิดขึ้นอันเนื่องมาจากการสูญหายของ
                     เซกเมนต์มาจากการเกิดการคับคั่งของข้อมูลเท่านั้น โดยอัลกอริทึมที่พัฒนาใช้ได้แก่
                                    KKU
                      Slow Start การเริ่มการส่งที่จำนวนเซกเมนต์เป็นหนึ่ง และเพิ่มขึ้นเป็นสองเท่าทุกครั้งที่ได้รับ ACK


                      Congestion avoidance การเพิ่มการส่งที่หนึ่งเซกเมนต์หรือ Additive increase เมื่อข้อมูลที่ส่งถึงภาครับครบ
                           ถ้วน เพื่อชะลอการส่งเซกเมนต์ไปในเน็ตเวิร์ค

                      Fast retransmit การเร่งการส่งเซกเมนต์ออกไปใหม่ เมื่อได้รับ ACK หมายเลขเดียวกันซํ้าๆ ก่อนที่จะเกิด

                           timeout

                      Fast recovery การลดจำนวนเซกเมนต์ที่จะส่งลงเหลือครึ่งหนึ่ง แทนที่จะลดเหลือหนึ่ง เพื่อเข้าสู่ทำงานของ
                           slow start โดยไม่จำเป็น



                     28.4.1 Slow Start


                     เนื่องจากการทำงานของ TCP อยู่บนการใช้ทรัพยากรร่วมกัน Slow start มีส่วนช่วยในการป้องกันไม่ให้เน็ตเวิร์ค
                     เกิดความคับคั่งอย่างรวดเร็ว เนื่องจากผู้ใช้แต่ละคนส่งข้อมูลจำนวนมากไปในเน็ตเวิร์คในครั้งเดียว การทำงานของ
                     Slow start จะค่อยเพิ่มจำนวนแพกเกตที่จะส่งขึ้นทุกครั้งที่ได้รับ ACK จากภาครับ เริ่มต้นจากการส่งที่หนึ่งเซกเมน
                     ต์ จากนั้นจะเพิ่มขึ้นที่ละหนึ่งทุกครั้งที่ได้รับการตอบกลับของ ACK ในที่นี้ TCP จะใช้ค่าของ Congestion Window

                     cwnd เพื่อจำกัดจำนวนของเซกเมนต์ที่จะส่งแทนที่จะเป็นขนาดของ window (ในที่นี้เรียกว่า credit) ที่กำหนด
   228   229   230   231   232   233   234   235   236   237   238