วันพฤหัสบดีที่ 6 สิงหาคม พ.ศ. 2552

RoutingProtocol

Router Protocol
Routing Protocol คือโพรโทคอลที่ใช้ในการแลกเปลี่ยน routing table ระหว่างอุปกรณ์เครือข่ายต่างๆที่ทำงานในระดับ Network Layer (Layer 3) เช่น Router เพื่อให้อุปกรณ์เหล่านี้สามารถส่งข้อมูล (IP packet) ไปยังคอมพิวเตอร์ปลายทางได้อย่างถูกต้อง โดยที่ผู้ดูแลเครือข่ายไม่ต้องแก้ไขข้อมูล routing table ของอุปกรณ์ต่างๆตลอดเวลา เรียกว่าการทำงานของ Routing Protocol ทำให้เกิดการใช้งาน dynamic routing ต่อระบบเครือข่าย
ประเภทต่างๆของ Routing Algorithmการแบ่งประเภทของ routing algorithm ออกเป็น 2 ประเภทใหญ่ๆคือ ประเภท interior routing protocol และ exterior routing protocol ซึ่งทั้งสองประเภทนี้ก็จะสามารถแยกเป็นย่อยๆได้อีก เช่น
• Static routing, Dynamic రౌటింగ్
• Intradomain రౌటింగ్
, Interdomain రౌటింగ్
• Flat రౌటింగ్
, Hierachical రౌటింగ్
• Centralized రౌటింగ్
, Distributed రౌటింగ్
• Single path రౌటింగ్
, Multipath రౌటింగ్
• Host-intelligent రౌటింగ్
, Router-intelligent రౌటింగ్
• Link-state, Distance vector రౌటింగ్
• Policy రౌటింగ్
ในที่นี้จะขออธิบายบางประเภทเท่านั้น
Interior Routing Protocolในการใช้งาน Interior routing protocol มักจะใช้กับเครือข่ายขนาดเล็กที่มีเครือข่ายขนาดย่ยเชื่อมต่อเป็นสมาชิกอยู่ โดยใช้เป็นเส้นทางการติดต่อการแลกเปลี่ยนข้อมูลภายในกลุ่มสมาชิกด้วยกัน เช่น บริษัทผู้ให้บริการอินเตอร์เน็ต (ISP) จะมีการเชื่อมต่อเครือข่ายย่อยๆ คือเครือข่ายของลูกค้าแบบองค์กรที่องค์กรที่เชื่อมต่อเครือข่ายของตนเข้ากับเครือข่ายของ ISP ทำให้เครือข่ายของลูกค้าอยู่ในเครือข่ายอินเตอร์เน็ตได้ ในการติดต่อส่งผ่านข้อมูลกัน อุปกรณ์ Router จะแลกเปลี่ยนข้อมูล routing table เพื่อให้ทราบว่าเส้นทางใดจะเป็นเส้นทางในการส่งผ่านข้อมูล ตัง Router ของบริษัท ISP จะทำหน้าที่เป็น Router หลักอยู่ในระบบที่เรียกว่า Autonomous System (AS) ที่จะเชื่อมต่อออกไปยังระบบภายนอกและออกสู่อินเตอร์เน็ตต่อไป เรียกได้ว่า Autonomous System นี้เป็นระบบที่ใช้เชื่อมโยระหว่าง Router หลักในแต่ละ Autonomous System ด้วยกันRouter หลักดังกล่าวของ ISP จะมีหมายเลขประจำตัวหรือหมายเลข Autonomous System ที่ไม่ซ้ำกับเรียกว่า AS number ซึ่งสามารถขอหมายเลขนี้ได้ที่ Internic เช่นกัน โดย Router หลักต้องมี AS number จะต้องเป็น Router ที่เชื่อมต่อระหว่าง Router หลักด้วยกันเท่านั้น และมี routing protocol บางชนิดใช้งานค่าหมายเลข AS number นี้ในการแลกเปลี่ยนข้อมูลสถานะของเครือข่ายและข้อมูล routing table ด้วย ในกลไกการระบุเส้นทางประเภท Interior routing protocol ยังมีการแยกย่อยลงไปได้อีกหลายแบบเช่น แบบ Distance-Vector routing protocol และแบบ Link-state routing protocol
Link-state Routing Protocolลักษณะกลไกการทำงานแบบ Link-state routing protocol คือตัว Router จะ Broadcast ข้อมูลการเชื่อมต่อของเครือข่ายตนเองไปให้ Router อื่นๆทราบ ข้อมูลนี้เรียกว่า Link-state ซึ่งเกิดจากการคำนวณ Router ที่จะคำนวณค่าในการเชื่อมต่อโดยพิจารณา Router ของตนเองเป็นหลักในการสร้าง routing table ขึ้นมา ดังนั้นข้อมูล Link-state ที่ส่งออกไปในเครือข่ายของแต่ละ Router จะเป็นข้อมูลที่บอกว่า Router นั้นๆมีการเชื่อมต่ออยู่กับเครือข่ายใดอย่างไร และเส้นทางการส่งที่ดีที่สุดของตนเองเป็นอย่างไร โดยไม่สนใจ Router อื่น และกรณีที่มีการเปลี่ยนแปลงภายในเครือข่าย เช่น มีบางวงจรเชื่อมโยงล่มไปที่จะมีการส่งข้อมูลเฉพาะที่มีการเปลี่ยนแปลงไปให้ ซึ่งมีขนาดไม่ใหญ่มากตัวอย่างโปรโตคอลที่ใช้กลไกแบบ Link-state ได้แก่ โปรโตคอล OSPF (Open Shortest Path First) สำหรับ Interior routing protocol นี้บางแห่งก็เรียกว่า Intradomain routing protocol
Distance-vector Routing Protocolลักษณะที่สำคัญของการติดต่อแบบ Distance-vector คือ ในแต่ละ Router จะมีข้อมูล routing table เอาไว้พิจารณาเส้นทางการส่งข้อมูล โดยพิจารณาจากระยะทางที่ข้อมูลจะไปถึงปลายทางเป็นหลัก ดังรูป

จากรูป Router A จะทราบว่าถ้าต้องการส่งข้อมูลข้ามเครือข่ายไปยังเครื่องที่อยู่ใน Network B แล้วนั้น ข้อมูลจะข้าม Router ไป 1 ครั้ง หรือเรียกว่า 1 hop ในขณะที่ส่งข้อมูลไปยังเครื่องใน Network C ข้อมูลจะต้องข้ามเครือข่ายผ่าน Router A ไปยัง Router B เสียก่อน ทำให้การเดินทางของข้อมูลผ่านเป็น 2 hop อย่างไรก็ตามที่ Router B จะมองเห็น Network B และ Network C อยู่ห่างออกไปโดยการส่งข้อมูล 1 hop และ Network A เป็น2 hop ดังนั้น Router A และ Router B จะมองเห็นภาพของเครือข่ายที่เชื่อมต่ออยู่แตกต่างกันเป็นตารางข้อมูล routing table ของตนเอง จากรูปการส่งข้อมูลตามลักษณะของ Distance-vector routing protocol จะเลือกหาเส้นทางที่ดีที่สุดและมีการคำนวณตาม routing algorithm เพื่อให้ได้ผลลัพธ์ออกมา ซึ่งมักจะเลือกเส้นทางที่ดีที่สุดและมีจำนวน hop น้อยกว่า โดยอุปกรณ์ Router ที่เชื่อมต่อกันมักจะมีการปรับปรุงข้อมูลใน routing table อยู่เป็นระยะๆ ด้วยการ Broadcast ข้อมูลทั้งหมดใน routing table ไปในเครือข่ายตามระยะเวลาที่ตั้งเอาไว้การใช้งานแบบ Distance-vector เหมาะกับเครือข่ายที่มีขนาดไม่ใหญ่มากและมีการเชื่อมต่อที่ไม่ซับซ้อนเกินไป ตัวอย่างโปรโตคอลที่ทำงานเป็นแบบ Distance-vector ได้แก่ โปรโตคอล RIP (Routing Information Protocol) และโปรโตคอล IGRP (Interior Gateway Routing Protocol) เป็นต้น
Exterior Routing Protocolเมื่อเครือข่ายภายใน เช่น เครือข่ายของ ISP ต้องการเชื่อมต่อเข้ากับเครือข่ายหลักภายนอกและออกสู่อินเตอร์เน็ตนั้น จะมีการเชื่อมต่อกันแบบ Exterior Routing Protocol และอาศัยหมายเลย AS number ในการติดต่อกัน การแลกเปลี่ยนข้อมูลระหว่างเครือข่ายเพื่อให้ Router หลักๆในอินเตอร์เน็ตเรียนรู้เส้นทางในการติดต่อส่งข้อมูล จะถือเสมือนว่าเครือข่ายหลักและเครือข่ายบริวารนั้นเป็นหนึ่งเครือข่าย และติดต่อกันเช่นนี้ในแต่ละเครือข่ายที่มีหมายเลข AS ประจำตัว เพราะถ้าทั้งเครือข่ายหลักและเครือข่ายบริวารจะต้องส่งข้อมูล routing table ออกไปให้กับ Router ทุกตัวในอินเตอร์เน็ตแล้ว ก็จะทำให้ช่องสัญญาณที่มีอยู่ไม่เพียงพอและเป็นที่ไม่ถูกต้อง ซึ่งทำให้เครือข่ายติดขัดได้ในบางแห่งก็เรียกโปรโตคอล Exterior Routing Protocol ว่า Interdomain Routing Protocol ซึ่งมีลักษณะการใช้งานตามรูป
จะเห็นว่าเครือข่ายหลักและเครือข่ายบริวารเชื่อมโยงกันอยู่ โดยในที่นี้เครือข่ายหลักอาจจะเป็นบริษัท ISP ที่มี Router หลักคือ Router 1 เชื่อมต่ออยู่กับเครือข่ายบริวารของตน การติดต่อภายในก็จะใช้โปรโตคอลแบบ Interior Routing Protocol เช่น โปรโตคอล OSPF ก็ได้ และ Router1 ทำหน้าที่เป็น Intradomain Router ที่จะมีข้อมูลเส้นทางการส่งผ่านข้อมูลและรู้จัก Router ตัวอื่นๆภายในเครือข่ายของตน มีการกำหนด AS number ให้กับ Router หลักและเชื่อมต่ออกไปยังเครือข่าย หลักอื่นๆ ในที่นี้อาจจะเป็น back bone ของอินเตอร์เน็ตที่อยู่ต่างประเทศก็ได้ โดยด้านรับก็จะต้องมี Router หลักติดต่อรับส่งข้อมูลเช่นเดียวกัน เพื่อทำหน้าที่เรียนรู้และแลกเปลี่ยนข้อมูล routing table โดยใช้โปรโตคอลเดียวกันระหว่างระบบ AS ด้วยกัน ตัวอย่างของ Exterior Routing Protocol ได้แก่ โปรโตคอล BGP (Border Gateway Protocol)จากรูปเราจะเห็นว่า Router 2 และ Router 5 เป็น Router ใน Intradomain ส่วน Router1 เป็น Router หลัก มีการกำหนดค่าหมายเลข AS เป็น AS4000 เชื่อมต่อกับ Router x ที่มี AS number เป็น 4837 ตัวอย่างการใช้งานเชื่อมต่อแบบ Exterior Routing Protocol ของบริษัท ISP ในประเทศไทยจะเป็นดังรูปข้างล่าง ซึ่งบริษัท ISP จะเชื่อมต่อวงจรผ่านบริษัทผู้ให้บริการอินเตอร์เน็ตในต่างประเทศอีกทีหนึ่งโดยใช้ Router หลักเชื่อมต่อกัน