Tuesday, August 4, 2009

โปรโตคอลเลือกเส้นทาง (Routing Protocol)

- หัวใจสำคัญในการทำงานของ Router ได้แก่ การเลือกเส้นทาง และวิธีการเลือกเส้นทาง ก็อาศัยการคำนวณโดยใช้ค่าที่ได้มาจากการสำรวจ รวมทั้งตัวแปรมาตรฐานที่มีอยู่ นำมาใช้เพื่อการคำนวณ เส้นทาง ที่ดีที่สุดที่จะนำพา Packet ไปที่ปลายทาง สำหรับ Router ที่เชื่อมต่อกันแบบ Point To Point หรือแบบที่มีเพียงเส้นทางเดียวในการเชื่อมต่อระหว่างกัน ไม่ต้องใช้ โปรโตคอลเลือกเส้นทาง เพราะจะทำให้เกิด Delay และปัญหาความล่าช้าอื่นๆมากมาย ควรใช้การวิธีการที่เรียกว่า Static Route จะดีกว่า โดยกำหนดเส้นทางในการนำส่ง Packet ที่ตายตัวให้กับ Router ซึ่งจะได้ประโยชน์ ไม่ว่าจะเป็นเรื่องความเร็ว ปัญหาเกี่ยวกับความปลอดภัยของข้อมูล และอื่นๆ
ความตั้งใจของผู้เขียนในฉบับนี้ จะขอกล่าวถึง การติดตั้ง Router ให้ทำงานบนโปรโตคอลเลือกเส้นทางเท่านั้น ดังนั้นต่อนี้ไปจะได้กล่าวถึง โปรโตคอลเลือกเส้นทางต่างๆ

โปรโตคอลเลือกเส้นทางคืออะไร ?
- เมื่อหัวใจหลักของ Router คือการเลือกเส้นทางที่ดีที่สุด ดังนั้นผู้ที่มอบประสิทธิภาพนี้ให้แก่ Router ก็คือ โปรโตคอลเลือกเส้นทาง อันเป็นวิถีทางในการคำนวณและจัดหาเส้นทาง ที่ดีที่สุด ที่เร็วที่สุด ไปสู่ปลายทางในรูปแบบของ Software ที่ฝังตัวอยู่ใน Router สำหรับ Router จาก Cisco ตัวโปรโตคอลนี้มาจากระบบปฏิบัติการ I/O ของ Cisco หรือ IOS ภายใต้ IOS Version ต่างๆ Router จะมีความสามารถในการใช้โปรโตคอลเลือกเส้นทางที่แตกต่างกันออกไป โดยโปรโตคอลเลือกเส้นทาง จะสั่งการให้ Router ทำกิจกรรมเบื้องต้น ในทันทีที่ Router เริ่มทำงาน และโปรโตคอลเลือกเส้นทางได้รับการจัดตั้งขึ้นเรียบร้อย กิจกรรมเบื้องต้นในที่นี้ได้แก่ การส่งข้อมูลข่าวสารชิ้นเล็กๆ ออกไปที่ Router เพื่อนบ้าน ในลักษณะ ทักทายกัน เพื่อให้ได้ข้อมูลมา อย่างน้อย 3 ประการ ได้แก่
- ความมีตัวตนในขณะนั้นของ Router เพื่อนบ้าน โดยจะได้รับการตอบรับหาก มีตัวตน
- ระยะทางความห่าง ในรูปแบบของ Delay หรือ จำนวนครั้งที่จะโดดข้าม
- Port ที่สามารถเข้าถึง Router เพื่อนบ้าน เป็นพอร์ตใดบ้าง

หลังจากที่ได้ข้อมูลมาแล้ว Router จะทำการ ปรับแต่ง หรือจัดสร้างตารางเลือกเส้นทางหรือ Routing Table ขึ้น จากนั้น จะนำข้อมูลนี้ ส่งออกไปให้ Router เพื่อนบ้าน เพื่อให้ Router เพื่อนบ้านนี้ นำไปปรับปรุงตารางเส้นทางของตนเองต่อไป กิจกรรมแบบนี้ จะเกิดขึ้นซ้ำแล้วซ้ำอีก เป็นห้วงเวลาที่แน่นอน ซึ่ง Router ที่เชื่อมต่อกันโดยตรง จะใช้กิจกรรมในลักษณะนี้ ต่อกัน ตามการชี้นำของโปรโตคอลเลือกเส้นทาง
อย่างไรก็ดี โปรโตคอลเลือกเส้นทาง สามารถแบ่งออกเป็นระดับชั้น (Class) ใหญ่ ได้ 2 แบบ ดังนี้

- ระดับขั้น Interior Domain หรือ Intra-Domain Routing Protocol
- ระดับขั้น Exterior หรือ Inter Domain Gateway Routing Protocol

Interior Domain Routing Protocol
สามารถแบ่งออกเป็น 2 ประเภท ดังนี้
- Distance Vector ซึ่งเป็น Routing Protocol ที่อาศัยหลักเกณฑ์ในเรื่องระยะทางเป็นตัวกำหนด
- Link State ซึ่งอาศัยสถานะ การเชื่อมต่อเป็นตัวกำหนด

Distance Vector Routing Protocol
- เป็นโปรโตคอลเลือกเส้นทางที่อาศัย ระยะทางเป็นตัวกำหนด โดยระยะทางในที่นี้ หมายถึง ปัจจัย ดังต่อนี้
- จำนวนของ Hop : Router จะเลือกเส้นทางที่ใช้เพื่อการเดินทางไปสู่ที่สั้นที่สุด โดยมีจำนวนครั้งการก้าวกระโดด น้อยที่สุด เช่น หากท่านเป็น Router ท่านคงไม่เลือกเส้นทางที่จะไปสู่ปลายทาง ที่ห่างออกไป 5 ป้ายรถเมล์ ขณะที่ท่านสามารถเลือกเส้นทางที่ห่างออกไปเพียง 2 ป้ายรถเมล์ (ความแตกต่างในเชิงเปรียบเทียบป้ายรถเมล์ในที่นี้ หมายถึง หากมีป้ายรถเมล์มาก จำนวนครั้งของการจอดก็ยิ่งมาก และแน่นอน ค่า Delay ก็ต้องเพิ่มมากขึ้น เช่นกัน)
- ค่า Bandwidth : Router จะเลือกเส้นทางที่ดีที่สุด โดยถือว่า เส้นทางใดที่มีค่า Bandwidth ซึ่งในที่นี้ คือความเร็วของช่องสัญญาณ เช่น Router จะเลือกเส้นทาง ที่มี Bandwidth 128K มากกว่าที่จะเลือกเส้นทางขนาด 64K อย่างแน่นอน
- ค่า Delay : Router จะทราบว่า ค่า Delay ของเส้นทางแต่ละเส้น ที่เชื่อมต่อกันมีมากน้อยสักเพียงใด โดยอาศัย การส่งข่าวสารไปทักทายกัน แล้วรอคอยคำตอบ ระยะเวลาของการรอคอย ก็คือค่า Delay ที่เกิดขึ้น ที่ Router รับรู้ แล้วนำค่านี้มาทำการคำนวณ ต่อไป
- ค่า Load : ค่า Load ในที่นี้หมายถึง น้ำหนักของกระแสข้อมูลข่าวสารที่ไหลอยู่บนเส้นนี้ ในแต่ละวินาทีที่ผ่านไป หากเปรียบเทียบกับความเป็นจริงในปัจจุบันแล้ว ท่านคงไม่เลือกขับรถไปในเส้นทางที่มีการจราจร ติดขัด หรือจอแจอย่างแน่นอน ถึงแม้จะอยู่ใกล้กว่าก็ตาม
- ค่าความน่าเชื่อถือ (Reliability) ค่าความน่าเชื่อถือนี้ หมายถึงค่าที่แสดง จำนวนครั้งที่เอาแน่นอนไม่ได้กับเส้นทาง โดยเฉพาะเส้นทางที่มีประวัติล่มบ่อยๆ
- ค่า MTU : เป็นค่าที่แสดงขนาดของ Packet ที่ใช้เดินทางบนเส้นทางนั้น ค่าสูงสุดคือไม่เกิน 1500 ไบต์ หากเปรียบเทียบกับชีวิตจริง ก็เปรียบได้กับ เส้นทางที่ถูกกำหนดว่า สามารถบรรทุกของได้หนักประมาณกี่ตัน แน่นอน หากท่านเป็นผู้ขนส่งสินค้า ท่านคงไม่เลือกขับบนเส้นทางที่กำหนดให้สามารถบรรทุกน้ำหนักที่ต่ำ

- ที่กล่าวมานี้ เป็นส่วนหนึ่งที่โปรโตคอลเลือกเส้นทางแบบต่างๆ สั่งให้ Router ทำ โดยโปรโตคอลเลือกเส้นทางบางตัวอาจใช้ จำนวนของ Hop เป็นหลักเกณฑ์ ขณะที่บางตัวอาศัย Bandwidth หรือค่า Delay และ Load อย่างใดอย่างหนึ่ง ขณะที่โปรโตคอลเลือกเส้นทางบางตัวอาจใช้ ทั้ง Bandwidth และค่า Delay แบบผสมผสานกัน ในการคำนวณ ทำให้สามารถตัดสินใจได้ดีขึ้น ทำงานเร็วและแม่นยำขึ้น

- ข้อเสียของ Distance Vector ได้แก่ การที่ Router จะต้องมีการส่งข่าวสารเพื่อหยั่งดู ความมีตัวตนของ Router เพื่อนบ้าน รวมทั้งการปรับปรุงตารางเส้นทางของตนเอง และให้แก่เพื่อนบ้าน อย่างสม่ำเสมอตรงเวลานี่เอง ที่ทำให้ Router ที่ใช้โปรโตคอลเลือกเส้นทางต้องทำงานหนักกว่า Router ที่ถูกกำหนดให้ทำงานแบบ Static Route อีกทั้งยังทำให้ Bandwidth ส่วนหนึ่งของช่องสัญญาณถูกเจียดออกไปใช้งานที่ไม่ใช่เพื่อการส่งข้อมูลจริง

- ตัวอย่างของ โปรโตคอลเลือกเส้นทางแบบ Distance Vector ได้แก่ RIP Version 1 และ 2 IGRP และ EIGRP ของ Cisco เป็นต้น


โปรโตคอลแบบ Link State
- โปรโตคอลเลือกเส้นทางแบบ Link State อาศัยสถานะ การเชื่อมต่อระหว่าง Router เป็นหลักเกณฑ์ ในการตัดสินใจเลือกเส้นทาง โดย จะมีการส่งข่าวสารในลักษณะทักทายกันออกไป เพื่อตรวจสอบหรือหยั่งดูความมีตัวตนของ Router เพื่อนบ้าน เมื่อใดที่ไม่ปรากฏการตอบรับของ Router เพื่อนบ้าน มันจะรีบปรับปรุงตารางเลือกเส้นทางของตนเอง จากนั้นจะรีบประกาศให้ Router ทุกตัวบนเครือข่าย หรือกลุ่มของ Router ตัวแทนที่เชื่อมต่อระหว่างกันทราบ ดังนั้น การเปลี่ยนแปลงใดๆ ที่เกิดขึ้นบนเครือข่าย Router ทุกตัวจะได้รับข่าวสาร ที่ทันเหตุการณ์
- โปรโตคอลแบบ Link State มีประสิทธิภาพในการทำงานที่ดีกว่า Distance Vector ตรงที่ การปรับปรุง ตารางเส้นทางของ Router แต่ละตัวจะเกิดขึ้น ก็ต่อเมื่อมีการเปลี่ยนแปลงเกิดขึ้น เท่านั้น และหากมีการเปลี่ยนแปลงเกิดขึ้นจริง การปรับปรุงตารางเส้นทางก็เป็นเพียงบางส่วนที่เปลี่ยนแปลงจริงเท่านั้น เปรียบเทียบกับ Distance Vector ที่มีการปรับปรุงเป็นห้วงเวลาที่แน่นอน อีกทั้งการปรับปรุงที่เกิดขึ้น เป็นการปรับปรุงใหม่หมดทั้งตาราง ในลักษณะทำสำเนาทับทั้งตาราง ซึ่งทำให้ การปรับปรุงแต่ละครั้ง มีการใช้ Bandwidth ของเส้นทางค่อนข้างมาก


Inter-Domain Gateway Routing Protocol
- เป็น โปรโตคอลเลือกเส้นทาง ที่นำมาใช้เพื่อเชื่อมกลุ่มของ Router จำนวนมากหลายๆกลุ่มเข้าด้วยกัน โดยมี Router อยู่ หนึ่งตัว หรือ มากกว่านั้น ที่เป็นตัวแทนของ Router ทั้งกลุ่ม เพื่อเชื่อมต่อกับ Router อีกกลุ่มหรือหลายๆกลุ่มเข้าด้วยกัน โดย Router ตัวแทนจะใช้ โปรโตคอลเลือกเส้นทาง ที่มีวิธีการเลือกเส้นทางที่แตกต่างออกไปจากที่ได้กล่าวมาแล้วทั้งหมด ตัวอย่างของ โปรโตคอลเลือกเส้นทางแบบนี้ ได้แก่ BGP ซึ่งบรรดา ISP ทั้งหลาย ต่างก็นำมาใช้เพื่อเชื่อมเครือข่ายเข้ากับ อินเตอรเนต หรือระหว่างกัน รายละเอียดการทำงานของ BGP จะได้กล่าวถึงในโอกาสต่อไป

รู้จักกับ Routing Information Protocol (RIP)
- Routing Information Protocol หรือ RIP เป็นโปรโตคอลเลือกเส้นทางประเภท Distance Vector ที่ถูกออกแบบมาให้ใช้กับเครือข่ายขนาด เล็กไปจนถึงขนาดกลาง เป็นโปรโตคอลเลือกเส้นทางมาตรฐานที่ไม่ขึ้นอยู่กับผู้ผลิตรายใด โดยมี RIP Version 1 ที่ได้รับมาตรฐาน RFC 1058
RIP เป็นโปรโตคอลที่เรียบง่าย อีกทั้งยังง่ายต่อการจัดตั้ง แต่ความเรียบง่ายของมัน กลับซ่อนปัญหาที่น่ากลัวไว้อยู่เบื้องหลัง


คุณลักษณะการทำงานของ RIP
- คุณลักษณะของ RIP มีดังต่อไปนี้
> RIP อาศัย ค่าของจำนวน Hop เป็นหลัก เพื่อการเลือกเส้นทาง โดยจำกัดที่ไม่เกิน 15 Hop
> RIP จะส่งข่าวสารเกี่ยวกับการปรับปรุงเส้นทางออกไปทุก 30 วินาที
> การส่งข้อมูลเกี่ยวกับการปรับปรุงตารางเส้นทาง เป็นการส่งออกไปทั้งหมดของตารางทั้งที่เป็นของเก่าและของใหม่
> การส่งข่าวสารเกี่ยวกับการปรับปรุงเส้นทาง จะเกิดขึ้นกับ Router ที่เชื่อมต่อกันโดยตรงเท่านั้น

การทำงานขั้นพื้นฐานของ RIP Version 1
- การทำงานขั้นพื้นฐานของ RIP ค่อนข้างเรียบง่าย ภายใต้กฎกติกา ดังนี้
> เมื่อใดที่ มีการ Boot Router ขึ้น เส้นทางที่ Router จะต้องให้ความสนใจเป็นลำดับแรกได้แก่ เส้นทางที่เชื่อมต่อกับ เครือข่ายปลายทางโดยตรง
> ภายใต้ RIP Version 1 ตัว Router จะทำการ แพร่กระจายข่าวสารเกี่ยวกับเครือข่ายที่มันรู้จักไปทั่วเครือข่ายทุกเครือข่าย ที่เชื่อมต่อกับมันโดยตรง
> Router ที่ทำงานภายใต้ RIP จะรับฟังการแพร่ข่าวสารนี้ โดยข่าวสารที่ใช้แพร่กระจายไปทั่ว (Broadcast) นี้ เป็นข่าวสารเพื่อการปรับปรุงเส้นทาง รวมทั้งการแสดงตัวตนของ Router
> การรับฟังการแพร่ข่าวสารไปทั่วของ Router เพื่อนบ้าน จะทำให้ Router ที่กำลังรับฟังอยู่ สามารถล่วงรู้เส้นทาง ไปสู่เครือข่าย อื่นๆ ที่ตนเองไม่รู้มาก่อน
> RIP ใช้ค่า Metric ประเภท Hop โดยอาศัยค่าที่แสดงจำนวน Hop เป็นหลักเกณฑ์ เพื่อเลือกเส้นทาง โดยมีค่าของ Hop จำกัดอยู่ที่ 15 หมายความว่า จำนวนของ Hop ที่ Router นับได้ต้องไม่เกิน 15 (15 Router ตลอดเส้นทางที่จะเดินทางผ่าน) ส่วน Hop ที่ 16 จะไม่สามารถเดินทางไปถึง
> หาก Router ตัวหนึ่ง เช่น Router A มีการส่งข้อมูลเกี่ยวกับการปรับปรุงเส้นทาง ไปที่ Router B และ Router B จะสมมติว่า Hop ต่อไปของ ของเครือข่าย ที่ Router จะปรับปรุง ได้แก่ Router A พูดง่ายๆก็คือ Router ที่เชื่อมต่อระหว่างกัน จะถือว่า ต่างก็เป็น Hop หนึ่งในตารางเส้นทางของตนเอง
> การส่งข้อมูลเกี่ยวกับการปรับปรุงเส้นทางระหว่าง Router จะกระทำเป็นห้วงเวลาที่แน่นอน



รูปที่ 12 แสดงการใช้ค่า Metric ของ RIP


รูปที่ 13 แสดงการนับจำนวน Hop ของ RIP


- จากรูปที่ 12 จะเห็นว่า Router C เชื่อมต่อโดยตรงกับ Network C เมื่อใดที่ Router C ประกาศเส้นทางไปที่ Router B ค่า Metric ของมันจะเพิ่มขึ้น 1 ค่า เช่นเดียวกันที่ Router B จะเพิ่มค่า Metric เป็น 2 และประกาศเส้นทางไปที่ Router A จากมุมมองของ Router C Router A และ B จะถูกมองเป็น 2 Hop
- จำนวนของ Hop ที่ใช้เดินทางไปสู่ปลายทาง หมายถึง จำนวนของ Router ที่ Packet จะต้องเดินทางผ่าน ไปสู่เครือข่ายปลายทาง อย่างไรก็ดี การนับจำนวน Hop เป็นหลักเพื่อเลือกเส้นทางเดินที่ดีที่สุด ไม่ได้หมายความว่า Router จะได้เส้นทางที่ดีที่สุด เสมอไป ตัวอย่าง เช่น เพื่อให้ Router A เดินทางไปสู่ Router B ตัว RIP จะเลือกเส้นทางการเชื่อมต่อความเร็ว 56K แทนที่จะเลือก เส้นทางความเร็วสูงกว่า อย่าง เช่น 1.5 Mbps เนื่องจากว่า Router A เห็นว่า การเดินทางไปสู่ B โดยผ่าน Router C เป็นการใช้ 2 Hop โดยไม่สนใจว่า การเดินทางอ้อมผ่านทาง Router C จะมีความรวดเร็วกว่า



รูปที่ 14 แสดงการเกิดปัญหา Routing Loop


การเกิดปัญหา Routing Loop
- RIP เป็นตัวอย่างของปัญหาที่เกิดขึ้นบน โปรโตคอลเลือกเส้นทางอย่าง Distance Vector ปัญหาของ Router ที่ทำงานภายใต้ RIP คือการที่ Router ไม่สามารถมองเห็นหรือเข้าใจภาพรวมของเครือข่ายทั้งหมด แต่จะอาศัยข้อมูลข่าวสารที่ได้ รับจาก Router เพื่อนบ้าน ว่า มี Router อยู่กี่ตัว และเชื่อมต่อที่ใดบ้าง ด้วยเหตุนี้ เมื่อใดที่เกิดการเปลี่ยนแปลงเกิดขึ้นบนเครือข่าย Router จะไม่ได้รับการปรับปรุงข่าวสารนี้ ได้พร้อมกันทุกตัว ทำให้ได้รับข้อมูลข่าวสารล่าช้า ทำให้ Router บางตัว หรือส่วนใหญ่ยังเข้าใจว่า การเปลี่ยนแปลงบนเครือข่ายยังไม่เกิดขึ้น ทั้งที่ มีบางเครือข่าย ได้ล่มไปก่อนหน้านี้แล้ว Router เหล่านี้ ก็ยังปรับปรุงข้อมูลเกี่ยวกับเส้นทางเก่า ให้แก่กัน ทำให้เกิดปัญหาที่เรียกว่า Routing Loop โดย Routing Loop เป็นเรื่องของ Packet ที่วิ่งกลับไปกลับมาระหว่าง Router 2 ตัวหรือมากกว่า โดยไม่สามารถหลุดออกไปจากวงจรสะท้อนกลับไปกลับมานี้ได้ บางครั้งฝรั่งเรียกลักษณะนี้ว่า Count to Infinity
- เพื่อหลีกเลี่ยงปัญหานี้ RIP จะใช้กลไกการทำงานหลายประการ ดังนี้
> Count To Infinity
> Split Horizon
> Poison Reverse Update
> Hold Down Counter
> Triggered Updates


ปัญหา Count To Infinity
- RIP จะยอมให้มีจำนวนของ Hop ทั้งหมดบนเส้นทางไม่เกิน 15 Hop เครือข่ายใดที่อยู่บนเส้นทางที่มีจำนวน Hop มากกว่า 15 Hop จะไม่สามารถไปถึงได้ ต่อนี้ เรามาดูว่า Count To Infinity ทำงานอย่างไร จากภาพตัวอย่าง 13 ดังต่อไปนี้
1. สมมติว่า Router A สูญเสียการติดต่อกับเครือข่าย A ทำให้มีการสร้าง Triggered Update ขึ้น (Triggered Update หมายถึงการปรับปรุงตารางเส้นทางทันที โดยไม่ต้องรอให้ถึงคิวหรือถึงเวลาการปรับปรุงเสียก่อน) Router A จะส่งการปรับปรุงนี้ ให้แก่ Router B และ Router C โดยภายใน Triggered Update ในครั้งนี้ เป็นการบอกให้ Router B และ C ได้รับรู้ข้อเท็จจริงว่า Router สูญเสียการติดต่อกับเครือข่าย A ไปแล้ว แต่ ข้อมูลที่ปรับปรุงนี้ จะมี Delay เกิดขึ้นระหว่างที่เดินทางไปสู่ Router B (อาจเกิดจาก CPU ของ Router กำลังยุ่ง หรือการจราจรบนเส้นทางการเชื่อมต่อกำลังติดขัด) แต่ ขณะเดียวกัน ข่าวสารที่ปรับปรุงนี้ อาจไปถึง Router C ก่อน (เนื่องจากเส้นทางโล่ง) เมื่อ Router C ได้รับข้อมูลการปรับปรุงเส้นทางแล้ว ก็รีบแก้ไขตารางเส้นทางทันที โดยเคลียร์ค่า เกี่ยวกับ เส้นทางที่จะเดินทางไปที่ เครือข่าย A ออกไปจากตาราง
2. ขณะที่ Router B ยังไม่ได้รับข่าวสารการปรับปรุงเส้นทางนี้ จาก Router A มันจะส่ง ข่าวสารเกี่ยวกับเส้นทาง อันเป็นของเก่า ออกไปที่ แสดงว่า เครือข่าย A ยังมีตัวตน ออกไป ด้วยจำนวน Hop ที่นับได้คือ 2 และเมื่อ Router C ได้รับการปรับปรุงเส้นทาง Router B อันเป็นของเก่าแล้ว ก็จะเข้าใจว่า นี่เป็นเส้นทางใหม่ที่จะเดินทางไปสู่เครือข่าย (ซึ่งบัดนี้ ยังป่วยอยู่)
3. Router C เมื่อได้รับการปรับปรุงด้วยข้อมูลข่าวสารจาก Router B แล้ว Router C จะส่งข้อมูลที่ปรับปรุงนี้ ออกไปที่ เครือข่าย A ด้วยค่า Hop ที่นับได้คือ 3
4. เมื่อ Router A ได้รับข่าวสารอันเป็นเท็จนี้แล้ว ก็จะส่งข่าวสารที่ปรับปรุงแล้วนี้ ออกไปที่ Router B เพื่อบอกว่า มันสามารถเข้าถึง เครือข่าย A ด้วยจำนวน Hop มีค่าเป็น 4
5. การวนไปมาของข่าวสารที่ใช้ปรับปรุงตารางเส้นทางนี้ จะเกิดขึ้นอย่างไม่จบสิ้นง่ายๆ จนกว่าจะไปถึงค่า Hop 16 ซึ่งเราเรียกว่า Infinity หรืออนันต์ มันจะประกาศว่า Hop สุดท้ายเป็นอันถูกยกเลิก และเพิกถอนออกจากตาราง เส้นทาง


ปัญหา Split-Horizon
- กฎของ Split Horizon ระบุไว้อย่างชัดเจนว่า Router จะต้องไม่ประกาศเส้นทาง กลับไปยัง Router ที่ส่งตารางปรับปรุงมาให้ หมายความว่า Router จะต้องไม่เอาข้อมูลที่ได้รับจาก Router ต้นทาง ส่งกลับไปให้ Router ต้นทาง เช่นกัน ตัวอย่าง เช่น Router A ได้รับการปรับปรุงข้อมูลจาก Router B และ Router A นำข้อมูลปรับปรุงนี้ ส่งต่อไปให้กับ Router C หากมีการใช้ Split Horizon แล้ว Router C จะไม่มีวันที่จะเอาข้อมูลปรับปรุง ส่งไปให้กับ Router B อันเป็นต้นทาง ในกรณีที่มีการเชื่อมต่อกันเป็น Loop แบบรูปที่ 14
- Cisco Router ได้ถูกกำหนดให้ใช้ Split Horizon โดยปริยาย แต่ในบางกรณี ท่านอาจต้อง ยกเลิกการใช้ Split Horizon เนื่องจาก หากมีการเชื่อมต่อ เครือข่ายในรูปแบบ Hub and Spoke อีกทั้ง เป็นการสื่อสารแบบ Non-Broadcast Multiple Access (NBMA) อย่างเช่น การเชื่อมต่อผ่าน Frame Relay เป็นต้น

รูปที่ 15 แสดงการใช้งาน Split Horizon


- จากรูปที่ 15 จะเห็นว่า Router B เชื่อมต่อกับ Router A ผ่านทาง Frame Relay และเส้นทางทั้งสองที่เรียกว่า PVC (Permanent Virtual Circuit) มีจุดสิ้นสุดที่ปลายทั้งสองด้าน ของ Serial Port ของ Router B
- ถ้าหากว่า ไม่มีการเพิกถอนการใช้งาน Split Horizon บน Serial Port ของ Router B แล้ว ตัว Router C จะไม่ได้รับข่าวสารเกี่ยวกับการปรับปรุงเส้นทางจาก Router A อย่างแน่นอน


ปัญหา Poison Reverse
- Poison Reverse มีการทำงานที่คล้ายคลึงกับ Split Horizon โดยอาจทำงานร่วมกัน โดยมีชื่อเรียกว่า Split Horizon With Poison Reverse โดยการทำงานร่วมกันนี้ จะทำให้มีตารางเส้นทางที่เหมือนกัน แต่จะตั้งค่า Metric ให้เป็นค่า Infinity หรือ 16
- การตั้งค่าเป็น Infinity และประกาศค่าของเส้นทางปรับปรุงแบบย้อนกลับอย่างรวดเร็ว อาจทำให้กระบวนการของ Loop ถูกตัดขาด มิเช่นนั้นกลับทำให้ ค่าของเส้นทางที่ไม่ถูกต้อง ถุกจัดเก็บไว้ในตารางเส้นทางจนกว่า จะถึงเวลาขจัดมันออกไป
- จุดด้อยของการใช้ Poison Reverse คือทำให้ตารางเส้นทางมีขนาดใหญ่เกินความจำเป็น


ปัญหา Hold Downs
- RIP มีตัวตั้งเวลาอยู่ตัวหนึ่ง เรียกว่า Hold Down Timer เป็นตัวตั้งเวลาที่ มีไว้เพื่อป้องกันมิให้ Router ทำการรับข้อมูลข่าวสารเกี่ยวกับเส้นทางในช่วงเวลาสั้นๆ หลังจากที่เพิ่งได้เคลียร์เส้นทางที่เปลี่ยนแปลงแล้วออกจากตาราง แนวคิดการใช้ Hold Down คือการทำให้แน่ใจว่า Router ทุกตัวได้รับข่าวสารเกี่ยวกับเส้นทาง ให้เรียบร้อย เสียก่อน อย่าเพิ่งทำการส่งข่าวสารเกี่ยวกับเส้นทางที่ไม่ถูกต้องออกมา
- จากรูปที่ 14 จะเห็นว่า Router B ได้ประกาศข่าวสารเกี่ยวกับเส้นทางที่ปรับปรุงออกมา ซึ่งเป็นข่าวสารที่ไม่ถูกต้อง ไปยัง Router C โดยมีสาเหตุมาจาก ความล่าช้าในการปรับปรุงตารางเส้นทางแก่ Router C แต่ด้วยการใช้ Hold Down Timer เหตุการณ์นี้จะไม่เกิดขึ้นอย่างแน่นอน เนื่องจาก Router C จะยังไม่ยอมรับข้อมูลตารางเส้นทางที่เกี่ยวกับ เครือข่าย A ประมาณ 180 วินาที

ปัญหา Hold Downs
- RIP มีตัวตั้งเวลาอยู่ตัวหนึ่ง เรียกว่า Hold Down Timer เป็นตัวตั้งเวลาที่ มีไว้เพื่อป้องกันมิให้ Router ทำการรับข้อมูลข่าวสารเกี่ยวกับเส้นทางในช่วงเวลาสั้นๆ หลังจากที่เพิ่งได้เคลียร์เส้นทางที่เปลี่ยนแปลงแล้วออกจากตาราง แนวคิดการใช้ Hold Down คือการทำให้แน่ใจว่า Router ทุกตัวได้รับข่าวสารเกี่ยวกับเส้นทาง ให้เรียบร้อย เสียก่อน อย่าเพิ่งทำการส่งข่าวสารเกี่ยวกับเส้นทางที่ไม่ถูกต้องออกมา
- จากรูปที่ 14 จะเห็นว่า Router B ได้ประกาศข่าวสารเกี่ยวกับเส้นทางที่ปรับปรุงออกมา ซึ่งเป็นข่าวสารที่ไม่ถูกต้อง ไปยัง Router C โดยมีสาเหตุมาจาก ความล่าช้าในการปรับปรุงตารางเส้นทางแก่ Router C แต่ด้วยการใช้ Hold Down Timer เหตุการณ์นี้จะไม่เกิดขึ้นอย่างแน่นอน เนื่องจาก Router C จะยังไม่ยอมรับข้อมูลตารางเส้นทางที่เกี่ยวกับ เครือข่าย A ประมาณ 180 วินาที0000


ที่มา : http://webserv.kmitl.ac.th/~s6066504/ciscoroutingprotocol1/ciscoroutingprotocol1.html