Page 175 - Computer Network
P. 175

166                                                       บทที่ 21. ROUTING ALGORITHMS







                                            รูปที่ 21.4: เมื่อเส้นทางระหว่างโนด 1 และ 2 ขาดลง

                                           Iteration  โนด 2   โนด 3    โนด 4    โนด 5
                                            ก่อนขาด   (1, 1)   (2, 2)  (3, 3)   (4, 4)
                                              1       (3,3)    (2, 2)  (3, 3)   (4, 4)
                                              2       (3,3)    (2, 4)  (3, 3)   (4, 4)
                                              3       (3,5)    (2, 4)  (3, 5)   (4, 4)
                                              4       (3,5)    (2, 6)  (3, 5)   (4, 6)
                                              5       (3,7)    (2, 6)  (3, 7)   (4, 6)
                                              ...      ...      ...      ...      ...
                                              n      (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞)
                                                                           book)
                            ตารางที่ 21.7: การเปลี่ยนแปลงเร้าติ้งเทเบิล เนื่องจากการเชื่อมต่อระหว่างโนด 1 และ 2 ขาดลง


                         เมื่อมีการเปลี่ยนแปลงค่าเกิดขึ้น โนด 2 ส่งค่าที่มีการเปลี่ยนแปลงไปยังโนดข้างเคียง ทำให้โนด 3 ต้องคำนวณ
                     ใหม่เพื่อไปยังโนด 1 ทำให้มีการเปลี่ยนแปลงในการทำงานรอบที่ 2 จากการเปลี่ยนแปลงนี้ โนด 3 จะส่งค่าที่ได้

                     ใหม่ไปยังโนดข้างเคียง ในกรณีนี้คือโนด 2 และโนด 4 ทำให้ทั้งสองโนดคำนวณค่าเพื่อไปยังโนด 1 ใหม่ มีผลทำให้
                     เกิดการเปลี่ยนแปลงข้อมูลในรอบที่ 3 โดยการเปลี่ยนแปลงนี้จะดำเนินไปอย่างช้าๆ และไม่สิ้นสุด ทำให้เป็นที่มีของ
                     ปัญหาที่เรียกว่า Count­to­infinity   (partial


                     Split-Horizon
                                               only
                     เพื่อหลีกเลี่ยงปัญหานับถึงอนันต์ หรือ Count-to-infinity จึงได้มีการใช้งานของ Split-Horizon เพื่อแก้ปัญหาที่

                     เกิดขึ้น โดยหลักการที่ใช้คือ การที่ไม่ส่งเส้นทางที่สั้นที่สุดไปยังโนดที่อยู่ติดกัน ถ้าหากโนดนั้นเป็นโนดถัดไปบนเส้น
                     ทางที่สั้นที่สุดเพื่อไปยังโนดปลายทาง หมายความว่าจากรูปที่ 21.3 โนด 2 จะไม่ส่งเส้นทางไปยังโนด 1 ไปกลับไป
                                    KKU
                     ให้โนด 1 โดยเด็ดขาด และโนด 3 จะไม่ส่งเส้นทางไปยังโนด 1 ไปให้โนด 2 เช่นกัน


                     Split-Horizon with Poison Reverse


                     จากการทำงานของ Split-Horizon ที่จะไม่ส่งข้อมูลไปให้โนดที่อยู่บนเส้นทางที่สั้นที่สุดแล้ว ยังมีการเพิ่มเติม โดยจะ
                     ส่งค่าที่เป็นอนันต์ (∞) ไปให้อีกด้วย ซึ่งในที่นี้เสมือนการส่งยาพิษไปให้ ทำให้เรียกว่า Split­Horizon with Poison
                     Reverse


                     21.2.2 Dijkstra's Algorithm


                     อัลกอริทึม Dijkstra เป็นอีกหนึ่งอัลกอริทึมที่นิยมใช้เพื่อหาระยะทางที่สั้นที่สุด แนวคิดพื้นฐานของอัลกอริทึมนี้
                     จะค่อนข้างแตกต่างจากของอัลกอริทึม Bellman-Ford ซึ่งแทนที่การทำงานของอัลกอริทึมจะบอกถึงโนดถัดไป

                     เหมือนในของอัลกอริทึม Bellman-Ford การทำงานของอัลกอริทึม Dijkstra จะคำนวณหาเส้นทางเพื่อไปยังปลาย
                     ทางโดยตรงด้วยตนเอง จากข้อมูลที่ได้จากโนดที่อยู่ติดกันทั้งหมด ทำให้ทราบเส้นทางที่ใกล้ที่สุดจากตนเองไปยังทุก
                     โนดที่อยู่บนเน็ตเวิร์ค[33]
                         สมมติให้


                         • N c เป็นเซ็ตของโนดที่ต่อไปยังปลายทาง
   170   171   172   173   174   175   176   177   178   179   180