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

Routing Protocol

Routing คือ โปรเซสในการหาเส้นทางจาก source ไปที่ Destination ในระบบ Network กระทำโดย Routing Protocol ที่จะจัดตัว Routing Table สำหรับทุกๆ โนต หรือทุกๆRoutor ลักษณะสัญญาณ Routing Table ประกอบด้วยDestination และ NextNoth(Link Address)ลักษณะของ Routing Protocol ที่ดี
1.Minimize Routing Space(มี่ขนาดเล็ก)ถ้าใหญ่เกินไปจะเกิดโปรเซสมากทำให้ช้า
2.Minimize Control Messagc ถ้ามี Maxtmum จะทำให้เกิด Dver Load
3.Robustness หรือ Deliabitity (คงทน)
4.กำหนด Oblimum Path
4.1- Hop ต่ำ
4.2- Delay ต่ำ
4.3- Cost ต่ำ
- Shotest
- hop
- price
ชนิดของ Routing
- Centrelline Distribution
- Source Base Routing

Distance-vector Routing Protocol
ลักษณะที่สำคัญของการติดต่อแบบ Distance-vector คือ ในแต่ละ Router จะมีข้อมูล routing table เอาไว้พิจารณาเส้นทางการส่งข้อมูล โดยพิจารณาจากระยะทางที่ข้อมูลจะไปถึงปลายทางเป็นหลัก

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

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 Terminology
Neighbor – หรือ เราเตอร์เพื่อนบ้าน ในที่นี้จะหมายถึง เราเตอร์ที่ รัน 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