วันเสาร์ที่ 9 สิงหาคม พ.ศ. 2551

"Routing protocol"

Distance-vector Routing Protocol
Distance Vector เป็นโปรโตคอลเลือกเส้นทางที่ Router ใช้เพื่อการสร้างตาราง Routing และจัดการนำแพ็กเก็ต ส่งออก ไปยังเส้นทางที่กำหนด โดย อาศัยข้อมูลเกี่ยวกับระยะทาง เช่น Hop เป็นตัวกำหนดว่า เส้นทางใดเป็นเส้นทางที่ดีที่สุด ที่จะนำแพ็กเก็ตส่งออกไปที่ปลายทาง โดยถือว่า ระยะทางที่ใกล้ที่สุด เป็นเส้นทางที่ดีที่สุด และแอดเดรส ของเครือข่ายปลายทางเป็น VectorDistance Vector บางครั้งจะถูกเรียกว่า "Bellman-Ford Algorithm" ซึ่งโปรโตคอลนี้ จะทำให้ Router แต่ละตัว ที่อยู่บนเครือข่ายจะต้องเรียนรู้ลักษณะของ Network Topology โดยการแลกเปลี่ยน Routing Information ของตัวมันเอง กับ Router ที่เชื่อมต่อกันเป็นเพื่อนบ้าน โดยตัว Router เองจะต้องทำการจัดสร้างตารางการเลือกเส้นทางขึ้นมา โดยเอาข้อมูล ข่าวสารที่ได้รับจากเครือข่ายที่เชื่อมต่อกับมันโดยตรง ( ข้อมูลนี้ครอบคลุมไปถึงระยะทางระหว่าง Router ที่เชื่อมต่อกัน)หลักการทำงาน ได้แก่ การที่ Router จะส่งชุด สำเนาที่เป็น Routing Information ชนิดเต็มขั้นของมันไปยัง Router ตัวอื่นๆ ที่เชื่อมต่ออยู่กับมันโดยตรง ด้วยการแลกเปลี่ยน Routing Information กับ Router ตัวอื่นๆ ที่เชื่อมต่อกับมันโดยตรงนี้เอง ทำให้ Router แต่ละตัว จะรู้จักซึ่งกันและกัน หรือรู้เขารู้เรา กระบวนการแลกเปลี่ยนนี้ จะดำเนินต่อไปเป็นห้วงๆ ของเวลาที่แน่นอน



Link-state Routing Protocol
Link State Routing ถูกเรียกว่า "Shortest Path First (SPF)" Algorithm ด้วย Link State Routing นี้ Router แต่ละตัวจะทำการ Broadcast ข้อมูลข่าวสารออกมายัง Router ที่เชื่อมต่อกับมันโดยตรงแบบเป็นระยะๆ ข้อมูลข่าวสารนี้ยังครอบคลุมไป ถึงสถานะของการเชื่อมต่อระหว่างกันด้วยวิธีการของ Link State นี้ Router แต่ละตัวจะทำการสร้างผังที่สมบูรณ์ของเครือข่ายขึ้น จากข้อมูลที่มันได้รับจาก Router อื่นๆทั้งหมด จากนั้นจะนำมาทำการคำนวณเส้นทางจากผังนี้โดยใช้ Algorithm ที่เรียกว่า Dijkstra Shortest Path AlgorithmRouter จะเฝ้าตรวจสอบดูสถานะของการเชื่อมต่ออย่างต่อเนื่อง โดยการแลกเปลี่ยนระหว่างแพ็กเก็ตกับ Router เพื่อนบ้าน แต่หาก Router ไม่ตอบสนองต่อความพยายามที่จะติดต่อด้วย หลายๆครั้ง การเชื่อมต่อก็จะถือว่าตัดขาดลง แต่ถ้าหากสถานะ ของ Router หรือการเชื่อมต่อเกิดการเปลี่ยนแปลง ข้อมูลข่าวสารนี้จะถูก Broadcast ไปยัง Router ทั้งหมดที่อยู่ในเครือข่ายลักษณะกลไกการทำงานแบบ 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 (OSPF) ถือเป็น เร้าติ้งโปรโตคอล (Routing Protocol) ตัวหนึ่งที่นิยมใช้กันอย่างแพร่หลายมากที่สุดในระบบเน็ตเวิร์ก เนื่องจากมีจุดเด่นในหลายด้าน เช่น การที่ตัวมันเป็น Routing Protocol แบบ Link State, การที่มีอัลกอรึทึมในการค้นหาเส้นทางด้วยตัวเอง ซึ่งเปรียบเสมือนว่า ตัวของ เราเตอร์ที่รัน OSPF ทุกตัวเป็นรูท (Root) หรือ จุดเริ่มต้นของระบบไปยังกิ่งย่อยๆ หรือโหนด (Node) ต่างๆ ซึ่งเป็นเทคนิคในการลดเส้นทางที่วนลูป (Routing Loop) ของการ Routing ได้เป็นอย่างดี รวมถึงความสามารถในการ Convergence หรือ การรับรู้ถึงความเปลี่ยนแปลงใน Topology หรือเส้นทางของ Network ได้อย่างรวดเร็วจนกระทั่งพูดได้เลยว่า แทบจะทันทีที่มีการเปลี่ยนแปลง Topology ขึ้นในระบบ และความสามารถในการรองรับการขยายของระบบ (Scalable) ได้อย่างดีเยี่ยม ซึ่ง ข้อดีดังกล่าวนั้น ทำให้ บรรดา Network Architect ต่างๆ นั้นนิยมเลือก OSPF มาเป็น Routing Protocol หลัก แทนที่ Routing Protocol แบบ Distance Vector เช่น RIP หรือ IGRP ซึ่ง ก่อนที่จะลงถึงรายละเอียดของ OSPF นั้น ก็จะมีการเกริ่นถึง คำที่เกี่ยวข้องภายใน Routing Protocol ของ OSPF เสียก่อน


OSPF TerminologyNeighbor
– หรือ เราเตอร์เพื่อนบ้าน ในที่นี้จะหมายถึง เราเตอร์ที่ รัน Process ของ OSPF ซึ่งทำการเชื่อมต่ออยู่กับเราเตอร์ตัวอื่นๆ ที่รัน OSPF อยู่ด้วยเช่นกัน หรือที่เรียกว่า Adjacent Router (เราเตอร์ที่เชื่อมต่อกัน) ซึ่ง เราเตอร์เพื่อนบ้านกันนี้ จะคอยค้นหากันและกันผ่าน Hello Packet ซึ่งข้อมูลที่เกี่ยวข้องในการเราติ้งจะไม่ถูกส่งผ่านกันจนกว่าจะมีการฟอร์มความสัมพันธ์ระหว่างกันและกัน (Adjacency Forms)Adjacency – หรือ เป็นการฟอร์มความสัมพันธ์กันระหว่างเราเตอร์เพื่อนบ้าน กับ เราเตอร์ที่ทำหน้าที่ที่เรียกว่า Designated Router และ Backup Designated Router (จะกล่าวเรื่องนี้อีกครั้งในช่วงต่อๆไป)


Link
– เป็นการเรียกถึงเน็ตเวิร์กที่รัน OSPF อยู่ หรืออาจหมายถึง Interface ที่ทำการรัน OSPF อยู่ด้วยก็ได้


Interface
หมายถึง พอร์ทที่เชื่อมต่ออยู่กับเราเตอร์ ซึ่งอาจจะเป็น Physical Port

(เช่น อีเธอร์เน็ต) หรืออาจจะเป็น Logical Port (เช่น Sub-Interface ในการเซต Frame-Relay) เมื่ออินเทอร์เฟซนั้นๆ ถูกเซตให้อยู่ใน Process ของ OSPF แล้ว และอินเทอร์เฟซอยู่ในสถานะที่ UP ตัว Process ของ OSPF จะทำการสร้าง Link State Database โดยผ่านทาง Link นี้


Link State Advertisement (LSA)
– เป็น แพคเกตข้อมูลที่ OSPF Process ใช้ในการแลกเปลี่ยนสถานะของอินเทอร์เฟซและลิงค์ในหมู่เราเตอร์ที่รัน OSPF ด้วยกัน ซึ่งจะมีการแยกประเภทของ LSA packet ในช่วงหลังของบทความ

Designated Router (DR)
- เป็นเราเตอร์ที่เป็นจุดศูนย์กลางในการแลกเปลี่ยนข้อมูลหรือสถานะในระหว่างเราเตอร์ด้วยกัน เนื่องจาก การมี เราเตอร์ที่ทำหน้าที่เป็น Centralize ในระบบ จะสามารถช่วยลดปริมาณแพคเกต LSA ที่จะส่งกันในหมู่เราเตอร์ด้วยกันได้ ซึ่ง DR นี้ จะถูกใช้ใน เน็ตเวิร์กที่เป็น Broadcast (Multi-Access) และ Non-Broadcast Multi-Access (เช่น อีเธอร์เน็ต หรือ เฟรมรีเลย์ เท่านั้น)

Backup Designated Router (BDR)
จะถือว่าเป็นเราเตอร์ตัวแทน (Hot Standby) ของ Designated Router (DR) โดยที่ BDR จะคอยรับ Routing Update จากเราเตอร์เพื่อนบ้าน แต่ตัวมันเองจะไม่ทำการ Flood LSA ออกไปเหมือนอย่างที่ DR ทำ จนกระทั่งหากว่า DR ในระบบล่มลงไป BDR จึงจะเข้ามาเป็น DR แทน

OSPF Areas
– ในความหมายของ AREA ใน OSPF จะคล้ายๆกับ เป็น Autonomous System (AS) หนึ่งๆ ซึ่งเหมือนกับเป็นกลุ่มของเราเตอร์ที่รัน OSPF ด้วยกัน และมีขอบเขตในการแลกเปลี่ยนเราติ้งเทเบิลกันภายในกลุ่มของตัวเองเท่านั้นโดยดีฟอล์ต (Default)


Internal Router
– หมายถึง เราเตอร์ที่รัน OSPF แต่ ทุกๆ Interface อยู่ภายใน Area ของตนเท่านั้น หรือ ไม่มี Interface ใดๆ อยู่ภายใน Area อื่น หรือ Routing Protocol อื่นๆ

Area Border Router (ABR)
– หมายถึง เราเตอร์ที่รัน OSPF ที่มีอินเทอร์เฟซอยู่มากกว่า 1 AREA และ ถูกใช้เป็นทางเข้าสำหรับเราติ้งเทเบิลของภายนอก AS ที่จะเข้ามา update ภายใน

Area ด้านในAutonomous System Boundary Router (ASBR)
– หมายถึง เราเตอร์ที่มี อินเทอร์เฟซที่ นอกเหนือจากรัน OSPF แล้ว ยังรันเราติ้งโปรโตคอลอื่นๆ ด้วย เช่น EIGRP, RIP (เราถือว่า เราติ้งโปรโตคอลอื่นๆ ว่าเป็น External Area) และหน้าที่ของ ASBR ก็คือ การถ่ายทอด เราติ้งเทเบิลเข้ามายังใน OSPF Area

Non-Broadcast Multi-Access (NMBA), Broadcast Multi-Access
– หมายถึง เน็ตเวิร์กที่อนุญาตให้มีการ Access มากกว่า 1 Session แต่ไม่มีการ Broadcast Packet เช่น Frame Relay, X.25 และ Broadcast Multi-Access เช่น อีเธอร์เน็ต เป็นต้น

Point-to-Point
– หมายถึงการเชื่อมต่อแบบ จุดต่อจุด เช่น Dedicated Link (T1), PPP เป็นต้น


Router ID
– หมายถึง IP Address ที่ได้ทำการ Assign เพื่อเป็นการ Identify ให้กับเราเตอร์ในการเลือก DR, BDR โดยที่ปกติแล้ว เราเตอร์ใน OSPF จะเลือก DR จาก Router ID ที่ IP Address ที่สูงที่สุดที่เซตใน Loopback Interface แต่ถ้าหากว่า Loopback Interface ไม่ถูกเซตไว้ ก็จะทำการเลือก IP Address ที่สูงสุดใน Physical Interface แทน




ข้อดีของ OSPF

- สนับสนุนการแบ่งเน็ตเวิร์กเป็นลำดับขั้น (Hierarchical Network)
- ใช้อัลกอริทึม ของ Diijkstra (Link State) ในการค้นหาเส้นทาง และป้องกันเราติ้งลูป
- สนับสนุน Classless Routing และ CIDR (Classless Interdomain Routing)
- สามารถทำ Route Summarization เพื่อลดขนาดของเราติ้งเทเบิลได้
- เราติ้งอัพเดตสามารถที่จะควบคุมการส่งได้ ไม่เหมือน Routing Protocol แบบ Distance Vector ที่ต้องส่ง Routing Table ทั้งตัว ออกไปตามช่วงเวลาที่กำหนด ทำให้สูญเสีย แบนด์วิดธ์ไปโดยไม่จำเป็น
- ในการส่ง Routing Update จะทำผ่าน มัลติคาส์ท แอดเดรส (Multicast Address) ซึ่งมีข้อดีคือ ลดผลกระทบต่อ Host หรือ Client อื่นๆ จาก การ บรอดคาสท์ (Broadcast)
- สนับสนุนการทำ Authentication ทั้งแบบ Clear Text และ MD5

ไม่มีความคิดเห็น: