IST · บทที่ 6 OSPF Single Area (ขั้นสูง)

หัวข้อ 17 · 18 นาที

OSPF: cost, DR/BDR และ network type

นึกภาพก่อน

แอปนำทางไม่ได้เลือกเส้นที่ สั้นที่สุด แต่เลือกเส้นที่ เร็วที่สุด: ทางด่วนที่อ้อมกว่าอาจถึงก่อนถนนเล็กที่ตรงกว่า OSPF ทำแบบเดียวกัน: ให้คะแนนแต่ละลิงก์ตามความเร็ว (ยิ่งเร็วยิ่งถูก) แล้วเลือกเส้นทางที่ ผลรวมต่ำสุด

Cost

Cost = Reference bandwidth ÷ Interface bandwidth

  • reference bandwidth default = 100 (Mbps)
  • เปลี่ยนด้วย auto-cost reference-bandwidth 10000
  • ต้องตั้งเท่ากันทุก router ไม่เช่นนั้นแต่ละตัวคิด cost ของเส้นทางเดียวกันไม่เท่ากัน และเลือกเส้นทางไม่สอดคล้องกัน

ทำไมต้องเปลี่ยน reference

ด้วย default 100: ลิงก์ 100 Mbps, 1 Gbps และ 10 Gbps ได้ cost 1 เท่ากันหมด (cost ต่ำสุดคือ 1) OSPF จึงแยกไม่ออกว่าเส้นใดเร็วกว่า

Interfacebandwidthcost ที่ reference 100cost ที่ reference 10000
10 Gbps1000011
1 Gbps1000110
100 Mbps1001100
T11.544646477

ตัวอย่างในสไลด์ (reference 10000):

  • Gigabit 1000 Mbps → 10000 ÷ 1000 = 10
  • T1 1.544 Mbps → 10000 ÷ 1.544 = 6476.68 → 6477

Path selection

OSPF เลือกเส้นทางที่ cost รวมต่ำที่สุดเสมอ — ไม่ได้ดูจำนวน hop

ตัวอย่างในสไลด์:

เส้นทางcost รวม
ผ่าน switch (ลิงก์ Gigabit)10 + 10 = 20
ผ่านลิงก์ตรง Point-to-Point (T1)12,954

แม้ลิงก์ Point-to-Point จะ "ตรง" กว่าในทาง physical แต่ความเร็วต่ำทำให้ cost สูงกว่ามาก OSPF จึงเลือกผ่าน switch เป็นหลัก และ สลับไปใช้ลิงก์ P2P ก็ต่อเมื่อเส้นทางหลักล้มเหลว — นี่คือประโยชน์ของ redundancy

ECMP (Equal-Cost Multi-Path)

ถ้า cost ของสองเส้นทาง เท่ากันพอดี OSPF ติดตั้งทั้งสองเส้น ลง routing table (default สูงสุด 4 เส้นทาง บน Cisco IOS) แล้ว load balance ระหว่างกัน ได้ทั้ง throughput รวมและ redundancy

ขั้นที่ 1 / 8เริ่มต้น

รูปแบบ: R1-R2 bandwidth(Mbps) — หาเส้นทางจาก router หมายเลขต่ำสุดไปหมายเลขสูงสุด

reference bandwidth

หาเส้นทาง R1 → R4 · reference bandwidth = 10000 Mbps

ลิงก์bandwidth (Mbps)cost
R1–R21000?
R2–R41000?
R1–R31.544?
R3–R41.544?
cost = reference ÷ bandwidthT1 = 1.544 Mbps
1.0×

คำอธิบายทีละขั้น

OSPF cost

Cost = Reference bandwidth ÷ Interface bandwidth ค่า reference ตั้งด้วย auto-cost reference-bandwidth (default 100) และต้องตั้งเท่ากันทุก router OSPF เลือกเส้นทางที่ผลรวม cost ต่ำที่สุด ไม่ได้ดูจำนวน hop

ลองใน simulation: preset แรกได้ 20 กับ 12,954 ตามสไลด์ แล้วเปลี่ยน reference เป็น 100 เพื่อดูว่าลิงก์ Gigabit ทั้งหมดกลายเป็น cost 1

DR/BDR election

บนเครือข่ายที่มีหลาย router ต่อ segment เดียว (เช่นผ่าน switch) ถ้าทุกตัวแลก LSA กับทุกตัว จำนวนความสัมพันธ์จะมากเกินไป จึงเลือก DR (Designated Router) เป็นศูนย์กลาง และ BDR (Backup DR) เป็นตัวสำรอง

กติกา

  1. OSPF priority สูงสุด ชนะ (ช่วง 0–255)
  2. ถ้าเท่ากัน → Router ID สูงสุด ชนะ
  3. อันดับสองได้เป็น BDR

ตัวอย่างในสไลด์: R1 (Router ID 1.1.1.1) และ R2 (2.2.2.2) priority 100 เท่ากัน → R2 เป็น DR (Router ID สูงกว่า) · R1 เป็น BDR

Non-preemptive

เมื่อเลือก DR/BDR แล้ว router ใหม่ที่ priority สูงกว่าจะไม่แย่งตำแหน่ง DR คงอยู่จนกว่าจะล่ม หรือจนกว่าจะสั่ง clear ip ospf process

ผลที่ตามมา: ลำดับการเปิดเครื่องมีผล router ที่ขึ้นก่อนอาจได้เป็น DR ทั้งที่ priority ต่ำกว่า

Priority 0

ip ospf priority 0 = ไม่เข้าร่วมการเลือก ไม่เป็นทั้ง DR และ BDR คงสถานะ DROTHER (แต่ยังเป็น full neighbor กับ DR/BDR) ใช้กับ router ที่ทรัพยากรจำกัด หรือ router ขอบเครือข่าย

cisco
interface GigabitEthernet0/1
 ip ospf priority 100

Network type

BroadcastPoint-to-Point
ลักษณะหลาย router บน segment เดียว (multi-access)สอง router เท่านั้น
DR/BDRมีไม่มี
LSAType 1 + Type 2Type 1 เท่านั้น
default บนEthernetserial
คำสั่ง–ip ospf network point-to-point
  • LSA Type 1 (Router LSA): ทุก router สร้าง อธิบายลิงก์ของตัวเอง
  • LSA Type 2 (Network LSA): DR สร้าง อธิบาย segment แบบ multi-access — จึงมีเฉพาะที่ที่มี DR

ลิงก์ Ethernet ที่ต่อ router สองตัวตรงกัน ตั้งเป็น point-to-point ได้เพื่อไม่ต้องเสียเวลาเลือก DR/BDR

ตัวอย่างไล่ทีละขั้น

โจทย์ 1: ตั้ง auto-cost reference-bandwidth 10000 จาก R1 ไป R4 มีสองทาง: R1–R2–R4 (ลิงก์ 1 Gbps สองเส้น) กับ R1–R3–R4 (ลิงก์ 100 Mbps แล้ว 10 Gbps) OSPF เลือกทางใด

  1. 1 Gbps: 10000 ÷ 1000 = 10 → ทางแรก 10 + 10 = 20
  2. 100 Mbps: 10000 ÷ 100 = 100 · 10 Gbps: 10000 ÷ 10000 = 1 → ทางที่สอง 100 + 1 = 101
  3. 20 น้อยกว่า 101 → เลือก R1–R2–R4

ลิงก์ 10 Gbps ในทางที่สองไม่ช่วย เพราะลิงก์ 100 Mbps ถ่วงผลรวม

โจทย์ 2: router สี่ตัวบน segment เดียวกันเปิดพร้อมกัน: A (priority 1, RID 4.4.4.4), B (priority 100, RID 1.1.1.1), C (priority 100, RID 2.2.2.2), D (priority 0, RID 9.9.9.9) ใครเป็น DR และ BDR

  1. D มี priority 0 → ตัดออก (เป็น DROTHER เสมอ แม้ Router ID สูงสุด)
  2. priority สูงสุดคือ 100: B และ C เท่ากัน → เทียบ Router ID: C (2.2.2.2) สูงกว่า B (1.1.1.1)
  3. DR = C · BDR = B · A และ D เป็น DROTHER

ถ้าภายหลังมี router E (priority 200) เข้ามา: ไม่เปลี่ยนอะไร เพราะ non-preemptive

จุดที่มักพลาด

1. กลับสูตร cost

reference ÷ bandwidth (ไม่ใช่ bandwidth ÷ reference) ลิงก์เร็ว cost ต่ำ

2. คิดว่า OSPF เลือกเส้นที่ hop น้อยสุด

เลือก cost รวม ต่ำสุด

3. คิดว่า Router ID ต่ำชนะ DR

สูงสุด ชนะ ทั้ง priority และ Router ID (ตรงข้ามกับ STP)

4. คิดว่า DR ถูกแย่งได้

non-preemptive

5. คิดว่า priority 0 คือ priority ต่ำสุดที่ยังมีสิทธิ์

priority 0 = ไม่มีสิทธิ์เลย

6. ตั้ง reference bandwidth ไม่เท่ากัน

ต้องเท่ากันทุก router

7. คิดว่า Point-to-Point มี DR

ไม่มี และมีแต่ LSA Type 1

ที่มา: OSPF_Single_Area_Advanced.pdf หน้า 2–8