220 likes | 305 Views
อัพเดทเส้นทางด้วยโปรโตคอลมาตรฐาน. Open Shortest Path First. OSPF. 11. กลไกการอัพเดทเส้นทาง การหา Router ID การอัพเดทบนการเชื่อมต่อแบบ Point-to-Point การอัพเดทบนการเชื่อมต่อแบบ Multiaccess การตั้งค่าแบบ Single-Area. 11-1. ลักษณะเด่นกว่า RIP. ลักษณะเด่น :.
E N D
อัพเดทเส้นทางด้วยโปรโตคอลมาตรฐานอัพเดทเส้นทางด้วยโปรโตคอลมาตรฐาน Open Shortest Path First OSPF 11
กลไกการอัพเดทเส้นทาง • การหา Router ID • การอัพเดทบนการเชื่อมต่อแบบ Point-to-Point • การอัพเดทบนการเชื่อมต่อแบบ Multiaccess • การตั้งค่าแบบ Single-Area 11-1
ลักษณะเด่นกว่า RIP ลักษณะเด่น: • เป็นโปรโตคอลมาตรฐานของ IETF (OSPF version 2) • เป็นแบบ Link State: ใช้อัลกอริทึม Dijkstraคำนวณหา SPT • ไม่มี Loop เพราะคำนวณแล้วจะได้ SPT ตัวเดียวกันทุกเราท์เตอร์ • รองรับเครือข่ายขนาดใหญ่ ด้วยการยุบรวมแยกเป็นลำดับชั้น (Hierarchy) • Convergence เร็วกว่า เพราะติดต่อกับเพื่อนบ้านตลอด (10 วินาที) • ใช้แบนด์วิธเป็น Metric จึงยืดหยุ่นกว่า Hop Count • มีการ Authentication ที่เข้ารหัส MD5 ได้ 11-2
ส่งข้อมูลสภาพลิงค์ระหว่างกันส่งข้อมูลสภาพลิงค์ระหว่างกัน Link State Link State = ข้อมูลสภาพลิงค์ระหว่างตนเองกับเพื่อนบ้าน = Router ID Neighbor ID Cost Shortage Path Tree Neighbor/DB Table R3,R2,65 R2,R1,1 R3,R4,48 R5,R3,65 R1 R2 = 1 R1 R3 = 1 R1 R4 = 48 R1 R5 = R1 R3 R5 = 66 65 R1,R2,1 R1,R3,1 R1,R4,48 R2,R3,65 R3,R4,48 R3,R5,65 R4,R5,48 1 R3,R1,1 R2 Dijkstra Algorithm 65 1 R3 R5 48 R5,R4,48 R1 48 48 R4,R1,48 R4 • ทุกเราท์เตอร์ ส่ง Link State Advertisment (LSA) ของตนเองไปทั่วทั้งกลุ่มเราท์เตอร์เดียวกัน ส่วนหน้าที่การคำนวณเส้นทางจะอยู่ในเราท์เตอร์ตัวเอง 11-3
ส่งข้อมูลสภาพลิงค์ระหว่างกันส่งข้อมูลสภาพลิงค์ระหว่างกัน Link State Shortage Path Tree Neighbor/DB Table R3,R2,65 R2,R1,1 R3,R4,48 R5,R3,65 R1 R2 = 1 R1 R3 = 1 R1 R4 = 48 R1 R5 = R1 R3 R5 = 66 65 R1,R2,1 R1,R3,1 R1,R4,48 R2,R3,65 R3,R4,48 R3,R5,65 R4,R5,48 1 R3,R1,1 R2 Dijkstra Algorithm 65 1 R3 R5 48 R5,R4,48 R1 48 48 R4,R1,48 • จากกลไกด้านบน สิ่งที่เราท์เตอร์ต้องทำจึงได้แก่ • หา Router ID ของตนเอง • หาเราท์เตอร์เพื่อนบ้านของตนเอง • หาค่า Metric หรือ Cost ของลิงค์กับเพื่อนบ้าน • ส่งข้อมูล Link State (LSA) ไปให้เราท์เตอร์อื่นๆ ในกลุ่ม R4 11-4
ไอดีประจำเราท์เตอร์ Router ID Router# show ip interface brief Interface IP Address OK? Method Status Protocol Ethernet0 190.172.32.10 YES NVRAM up up Loopback0 208.149.23.162 YES NVRAM up up Loopback1 208.149.23.194 YES NVRAM up up Serial0 220.173.149.10 YES NVRAM down down Serial1 unassigned YES NVRAM administratively down down • เนื่องจากแต่ละเราท์เตอร์ ต้องมีชื่อ (RouterID) ของตนเอง จึงจะอ้างอิงกับ เราท์เตอร์อื่นๆ ในกลุ่มได้ • เราท์เตอร์จะตั้ง Router ID ของตนเอง ตามตัวแปรเหล่านี้ ตามลำดับ: • ตามการตั้งค่าเอง เช่น Router(config-router)# router-id 1.1.1.1 • ตามไอพีของอินเตอร์เฟสที่เสถียรมากสุด และเปิดใช้งาน ณ เวลาเปิด OSPF • ที่มีค่ามากที่สุด!! • ยึดตามกลุ่มอินเตอร์เฟส Loopback ก่อน (เสถียรที่สุด) • ยึดตามกลุ่มอินเตอร์เฟสปกติ 11-5
Router ID Hello and Dead intervals * Neighbor ID Router Priority DR IP Address BDR IP Address Hello Hello B A C LSA Hello LSA Hello B C ลงทะเบียนเราท์เตอร์เพื่อนบ้าน Adjacency Hello Packet Router A แลกเปลี่ยน Hello Packet เพื่อติดต่อกับเพื่อนบ้าน Neighbor Table Router A A - Loading : Full - • ช่วงเวลา Hello และ Dead Interval ต้องเท่ากันทั้งตัวเองและเพื่อนบ้าน ถึงจะติดต่อเป็นเพื่อนบ้านกันได้ • โดยดีฟอลท์Hello time = 10 sec, Dead Interval = 30 sec • สร้าง Adjacency แล้ว จึงซิงโครไนซ์ LSDB ให้ตรงกัน (Loading) • “Adjacency State: Loading to Full” 11-6
เมตริกซ์ของ OSPF ส่วนกลับ Bandwidth Metric (Cost) = ส่วนกลับของแบนด์วิธ = 108 / {Bandwidth บนอินเตอร์เฟส (หน่วย bit)} = 100 Mbps / Bandwidth (Mbps) • สามารถตั้งค่า Cost ได้เองตามต้องการ (Manual) 11-7
การส่งต่อ Link State Link State Advertisment Neighbor Table R3,R2,65 R2,R1,1 NT: R1 NT: R2 R3,R4,48 R5,R3,65 R1 R1 65 1 R3,R1,1 R2 1 1 48 1 65 1 48 R2 R3 R2 R3 R4 R3 R5 48 R5,R4,48 R1 NT: R3 NT: R4 48 R1 48 48 R3 R4 1 R1 R1 R4,R1,48 48 65 48 R5 R4 R2 R3 48 1 1 1 1 48 48 NT: R5 R2 R2 R3 R3 R4 R4 + 65 65 65 R3 R4 48 R5 R5 R4 65 48 11-8 R5 Shortage Path Tree (SPT) Database Table
OSPF บนเครือข่ายแบบ Point-to-Point R1,R2,65 R2,R1,65 • เป็น Network Type ดีฟอลต์ของอินเทอร์เฟซ Serial • ตัวอย่างเครือข่าย Point-to-Point ที่จะให้ OSPF ทำงาน เช่น • Leased Line ที่เชื่อมต่อด้วยโปรโตคอล HDLC หรือ PPP • Frame-Relay ที่ตั้งค่าให้ใช้ Subinterfaceแบบ Point-to-Point • ไม่มีปัญหาการส่ง LSA ซ้ำทับกัน จึงไม่จำเป็นต้องเลือกตัวแทนเราท์เตอร์ที่คอยรวบรวม LSA (Designate Router; DR) • ส่ง LSA แบบ Multicast 224.0.0.5 11-9
OSPF บนเครือข่ายแบบ Multiaccess RX,RX,XX RX,RX,XX RX,RX,XX RX,RX,XX RX,RX,XX • ตัวอย่างเครือข่าย Broadcast Multiaccessที่จะให้ OSPF ทำงาน ได้แก่ Ethernet LAN ที่เชื่อมต่อเราท์เตอร์หลายตัวผ่าน LAN Switch • มีปัญหาการส่ง LSA ซ้ำทับกัน(เพราะต่างมีจำนวนเพื่อนบ้านเท่ากัน เห็นกันหมดผ่าน LAN)! จำเป็นต้องเลือกตัวแทนเราท์เตอร์ที่คอยรวบรวม LSA (Designate Router; DR)และ DR สำรอง (Backup DR; BDR) 11-10
OSPF บนเครือข่ายแบบ Multiaccess RX,RX,XX RX,RX,XX DR BDR RX,RX,XX RX,RX,XX RX,RX,XX DROTHER DROTHER DROTHER • เลือกเราท์เตอร์ที่เป็นตัวแทนรวบรวม LSA (DR) และตัวสำรอง (BDR) • เราท์เตอร์ตัวอื่นเรียกชื่อเป็น DROTHER(ลูกน้องของ DR) • DROTHER ส่ง LSA ไปรวมยัง DR และ BDR (ผ่านมัลติคาสต์224.0.0.6) • แล้ว DR และ BDR ส่ง LSA ที่สรุปรวมแล้ว ให้ DROTHER ทุกตัว (ผ่านมัลติคาสต์224.0.0.5) • เป็น Network Type ดีฟอลต์ของอินเทอร์เฟซ Ethernet 11-11
การเลือกตัวแทนเราท์เตอร์การเลือกตัวแทนเราท์เตอร์ DR และ BDR • เลือกตามลำดับความสำคัญก่อนหลัง ดังนี้ • ตามค่า Priority ที่ตั้งค่าไว้บนเราท์เตอร์ ด้วยคำสั่ง • Router(config-if)# ipospf priority (เลข Priority) • ถ้าไม่ได้ตั้งค่า Priority บนเราท์เตอร์ตัวใด Priority ตัวนั้นจะเท่ากับ 1 • ถ้าค่า Priority = 0 อินเทอร์เฟซนั้นต้องเป็น Drotherเท่านั้น • ถ้า Priority เท่ากันทั้งหมด จะเลือกจาก Router ID ที่มีค่ามากที่สุด • ตัวรองลงมา จะเลือกเป็น BDR 11-12
BDR DR R1 R4 BDR DR R3 RID 1.1.1.1 RID 7.7.7.7 RID 3.3.3.3 RID 6.6.6.6 การเลือกตัวแทนเราท์เตอร์ DR และ BDR OSPF Network Types:Multiaccess Broadcast Network Group1 OSPF Network Types:Multiaccess Broadcast Network Group2 RID: 2.2.2.2 RID: 5.5.5.5 R5 R2 Fa0/0 Pri:1 10.1.1.2/24 Fa0/0 Pri:1 20.1.1.5/24 RID: 6.6.6.6 RID: 4.4.4.4 RID: 1.1.1.1 Fa0/1 Pri:1 20.1.1.1/24 Fa0/0 Pri:1 10.1.1.4/24 Fa0/0 Pri:10 10.1.1.1/24 Fa0/0 Pri:1 20.1.1.6/24 SW2 SW1 R6 Router ID: R3(config)#interface Loopback0 R3(config-if)#ip add 3.3.3.3 255.255.255.255 R3(config)#router ospf 100 R3(config-router)#router-id 3.3.3.3 Interface Priority: R3(config)#interface fa0/0 R3(config-if)#ip add 10.1.1.3 255.255.255.0 R3(config-if)#ipospf priority 5 Fa0/0 Pri:1 20.1.1.7/24 Fa0/0 Pri:5 10.1.1.3/24 R7 RID: 7.7.7.7 RID: 3.3.3.3 11-13 DR: BDR: DR: BDR:
OSPF กับเฟรมรีเลย์แบบ NBMA DR Frame Relay Network • ปกติ NBMA ไม่รองรับการใช้เราท์ติ้งโปรโตคอล ซึ่งต้องใช้ มัลติคาสต์หรือบรอดคาสต์ เพราะข้อจำกัดเรื่อง Split Horizon • เนื่องจาก DR/BDR สามารถส่ง LSA ที่สรุปแล้วให้แก่ DROTHER อื่นได้ทางอินเตอร์เฟสเดียวกับที่รับมา • ดังนั้น จึงสามารถใช้ OSPF บนเครือข่ายแบบ NBMA ได้ • (แต่ต้องตั้งค่าเพื่อนบ้านให้มันเอง) 11-14
สรุปเครือข่ายที่ต้องใช้ตัวแทนสรุปเครือข่ายที่ต้องใช้ตัวแทน DR/BDR 40.3 40.2 40.4 NBMA NBMA Frame Relay Network 50.2 50.3 DR 50.4 s0 BMA 40.1 s0 20.2 DR s0.1 MP 50.1 60.2 10.3 BDR P2P s0.2 P2P 60.1 30.2 Frame Relay Network P2P 20.1 70.2 s0.3 P2P 70.1 30.1 10.4 10.1 DR s0.4 P2P 80.1 80.2 10.2 11-15
การแยกพื้นที่สำหรับ OSPF แบบ Hierarchy • เพื่อให้คำนวณได้ในวงจำกัด และเกิดเส้นทางที่เสถียรในกลุ่มเราท์เตอร์ขนาดใหญ่ จึงต้องแบ่งกลุ่มออกเป็นพื้นที่ (Area) โดยกลุ่มพื้นที่ย่อยจะต้องเชื่อมต่อกับกลุ่มพื้นที่หลัก หรือ Area 0 • ระหว่าง Area จะสรุปเส้นทางรวมไว้สื่อสารระหว่างกัน 11-16
การตั้งค่า OSPF พื้นที่เดียว Single Area (0) • ตั้งค่าเปิดใช้ OSPF เป็นเราท์ติ้งโปรโตคอลของเราท์เตอร์นี้ Router(config)# router ospf(รหัสโปรเซส ตั้งอย่าให้ซ้ำกันถ้าจะแยกโปรเซส) • ตั้งค่าอินเตอร์เฟสที่อนุญาตการทำงาน (ทั้งการรับส่งอัพเดต และการอัพเดตเครือข่ายบนอินเตอร์เฟส) Router(config-router)# network(network ID) (wildcard-mask) area0 10.1.1.0/30 10.2.2.0/29 router ospf 1 network 10.1.1.0 0.0.0.3 area 0 network 10.2.2.0 0.0.0.7 area 0 หรือเขียนเป็น “network 10.0.0.0 0.255.255.255 area 0” ก็ได้ 11-17
การเปิดใช้บนอินเตอร์เฟสการเปิดใช้บนอินเตอร์เฟส ด้วยคำสั่ง Network • คำสั่ง Network (สำหรับ IGP) คือการสั่งเปิดการทำงานของเราท์ติ้งโปรโตคอลนั้นๆ บนอินเตอร์เฟสที่ “ค่าที่อยู่ไอพี” อยู่ในซับเซ็ตของกลุ่มไอพีในคำสั่งนี้ • ดังนั้น ด้วยความสามารถของ Wildcard Mask ที่ระบุกลุ่มเลขไอพีที่สนใจได้ละเอียด (Arbitrary Bit) จึงสามารถใช้คำสั่ง network ไล่เปิดทีละอินเตอร์เฟสด้วยการใช้ Wildcard 0.0.0.0 ดังนี้ Router(config-router)# network(ที่อยู่ไอพีบนอินเตอร์เฟสนั้น)0.0.0.0area0 แปลว่า สนใจไอพีทั้ง 32 บิต 10.1.1.0/30 10.2.2.0/29 router ospf 1 network 10.1.1.2 0.0.0.0 area 0 network 10.2.2.2 0.0.0.0 area 0 11-18 อินเตอร์เฟส S2 อินเตอร์เฟส S3
การทวนสอบการตั้งค่า • ตรวจดูว่าเราท์เตอร์ใช้ OSPF เป็นเราท์ติ้งโปรโตคอลตามที่ตั้งค่าไว้หรือไม่ Router# show ip protocol • คำสั่งแสดงเส้นทางที่เรียนรู้มาได้ Router# show ip route Codes: I - IGRP derived, R - RIP derived, O - OSPF derived, Gateway of last resort is 10.119.254.240 to network 10.140.0.0 O 10.110.0.0 [110/5] via 10.119.254.6, 0:01:00, Ethernet2 O 10.68.132.0 [110/5] via 10.119.254.6, 0:00:59, Ethernet2 O 10.130.0.0 [110/5] via 10.119.254.6, 0:00:59, Ethernet2 11-19
การทวนสอบการตั้งค่า • ตรวจสอบ Router ID และเลขโปรเซส Router# show ipospf Routing Process "ospf 50" with ID 10.64.0.2 • ตรวจสอบเราท์เตอร์เพื่อนบ้านที่รู้จัก Router# show ipospf neighbor ID Pri State Dead Time Address Interface 10.199.199.137 1 FULL/DR 0:00:31 192.168.80.37 FastEthernet0/0 172.16.48.1 1 FULL/DROTHER 0:00:33 172.16.48.1 FastEthernet0/1 172.16.48.200 1 FULL/DROTHER 0:00:33 172.16.48.200 FastEthernet0/1 10.199.199.137 5 FULL/DR 0:00:33 172.16.48.189 FastEthernet0/1 • ถ้าการเชื่อมต่อเป็นแบบ Point-to-Point เราท์เตอร์แต่ละฝั่งจะให้เพื่อนบ้านอีกฝั่งหนึ่งเป็น DR ของตนเอง โดยไม่มี BDR • ทำให้ต่างฝ่ายต่างใช้ 224.0.0.5 ในการสื่อสารระหว่างกัน 11-20
การแบ่งโหลด Cost เท่า Equal-Cost Load Balance ดีฟอลต์บน Routing Table อนุญาตให้เส้นทางที่ Cost เท่ากันมาแบ่งโหลดกันได้ 4 เส้นทาง แต่เราแก้ไขการตั้งค่าบนเราท์ติ้งโปรโตคอลได้: • OSPF สามารถตั้งค่าให้เราท์แพ๊กเก็ตแบ่งกันระหว่างเส้นทางได้ • แต่ต้องเป็นเส้นทางที่มีค่า Cost (Metric) เท่ากันเท่านั้น • บน OSPF ใช้คำสั่งตั้งค่า Cost บนแต่ละอินเตอร์เฟสเองให้เท่ากันได้! 11-21