250 likes | 458 Vues
เราท์ติ้ง โปรโตคอลที่ปรับปรุงใหม่ของ ซิส โก้. Enhanced. Interior Gateway Routing Protocol. 12. กลไกการอัพเดทเส้นทาง การใช้ Auto-Summary การตั้งค่าพื้นฐาน การแบ่งโหลดที่ค่า Cost ไม่เท่ากัน (Unequal Cost Load Balance). 12-1. ลักษณะเด่นของ EIGRP. ลักษณะเด่น :.
E N D
เราท์ติ้งโปรโตคอลที่ปรับปรุงใหม่ของซิสโก้เราท์ติ้งโปรโตคอลที่ปรับปรุงใหม่ของซิสโก้ Enhanced Interior Gateway Routing Protocol 12
กลไกการอัพเดทเส้นทาง • การใช้ Auto-Summary • การตั้งค่าพื้นฐาน • การแบ่งโหลดที่ค่า Cost ไม่เท่ากัน (Unequal Cost Load Balance) 12-1
ลักษณะเด่นของ EIGRP ลักษณะเด่น: • เป็นโปรโตคอลของซิสโก้ (Cisco Proprietary) ที่พัฒนาต่อจาก IGRP • ใช้หลักการ Distance Vector ของ IGRP เดิมมาปรับปรุงใหม่ • ใช้อัลกอริทึม Diffusing Update Algorithm (DUAL) ที่ป้องกันการวนลูป • Convergence เร็วมากที่สุด (ในบรรดา IGP) เพราะมีเส้นทางสำรอง (Feasible Successor) เตรียมไว้ใช้แทนทันที • ประกันการสื่อสารของการอัพเดทเส้นทางด้วย Reliable Transport Protocol (RTP) • รองรับการแบ่งโหลดระหว่างเส้นทางที่มี Cost ไม่เท่ากัน (Unequal Cost Load Balance) • ใช้ค่า Metric หลากหลายได้ แล้วแต่ถ่วงน้ำหนัก • (Composite Metric) 12-2
เส้นทางจากการบอกต่อขั้นสูงเส้นทางจากการบอกต่อขั้นสูง Advance Distance Vector • ใช้อัลกอริทึม diffusing Update (DUAL) ในการคำนวณเส้นทาง Advertised Distance (Reported Distance) R2R5 = 20 เส้นทางที่บอกต่อ Local Distance ระยะถึงเพื่อนบ้าน Neighbor Table R3R5 = 15 Net Hop RD LD 5 5 R2 R5 R2 20 + 5 15 5 R5R3 15 + 5 R3 R5 R5R4 20 + 10 15 R1 20 ระยะเส้นทางที่ดีที่สุด 10 Topology Table เส้นทางสำรอง R4R5 = 20 Net Hop FD* Feasible Successor ระยะถึงเพื่อนบ้าน R4 R5 R2 25 12-3 R5R3 20 Successor *FD = Feasible Distance = RD + LD เส้นทางหลัก
เส้นทางจากการบอกต่อขั้นสูงเส้นทางจากการบอกต่อขั้นสูง Advance Distance Vector • ใช้การบอกต่อเส้นทาง โดยทบบวกค่า Metric เรื่อยๆ เหมือน Distance Vector • แต่ว่า เราท์เตอร์จะคัดเฉพาะเส้นทางที่ดีสุดของเครือข่ายๆ นั้นๆ (Successor) บอกต่อให้เราท์เตอร์ตัวอื่น • นอกจากนี้ ยังคิด Metric ของลิงค์ระหว่างตัวเองกับเพื่อนบ้านมาพิจารณาร่วมด้วย (พฤติกรรมแบบ Link State) • จึงเรียกกลไกของเราท์ติ้งโปรโตคอลแบบนี้ว่า การบอกต่อขั้นสูง (Advance Distance Vector) Advertised Distance R2R5 = 20 ระยะเส้นทางที่ดีที่สุด Local Distance ระยะถึงเพื่อนบ้าน R3R5 = 15 5 5 R2 15 5 R3 R5 15 R1 20 ระยะเส้นทางที่ดีที่สุด 10 R4R5 = 20 ระยะถึงเพื่อนบ้าน R4 12-4
เส้นทางจากการบอกต่อขั้นสูงเส้นทางจากการบอกต่อขั้นสูง Advance Distance Vector • คำจำกัดความที่ควรทราบ: Advertised Distance R2R5 = 20 ระยะเส้นทางที่ดีที่สุด Local Distance Advertised (Reported) Distance ระยะถึงเพื่อนบ้าน R3R5 = 15 • ค่า Cost (Metric) ที่คิดตลอดเส้นทางไปถึงเครือข่ายหนึ่ง ที่ดีที่สุด สำหรับบอกต่อให้เพื่อนบ้าน 5 5 R2 15 5 Local Distance R3 R5 • ค่า Cost (Metric) ของลิงค์ที่เชื่อมต่อระหว่างตนเองกับเพื่อนบ้าน 15 R1 20 ระยะเส้นทางที่ดีที่สุด 10 Feasible Distance (FD) R4R5 = 20 • ค่า Cost (Metric) ของแต่ละเส้นทาง ตั้งแต่ตนเอง ถึงปลายทาง ที่น้อยที่สุด (เป็น Cost ของ Successor) • คิดจาก Advertised + Local Distance แล้วนำมาเทียบกัน ระยะถึงเพื่อนบ้าน R4 12-5
เส้นทางจากการบอกต่อขั้นสูงเส้นทางจากการบอกต่อขั้นสูง Advance Distance Vector • กลไกการเลือกเส้นทาง: Advertised Distance R2R5 = 20 ระยะเส้นทางที่ดีที่สุด หาเราท์เตอร์เพื่อนบ้าน Local Distance ระยะถึงเพื่อนบ้าน R3R5 = 15 5 5 R2 รับเส้นทางจากเพื่อนบ้าน หา Cost ถึงเพื่อนบ้าน 15 5 R3 R5 Local Distance Reported Distance 15 R1 20 คำนวณ Cost ของแต่ละเส้นทาง ระยะเส้นทางที่ดีที่สุด 10 R4R5 = 20 Feasible Distance (FD) ระยะถึงเพื่อนบ้าน R4 12-6 เลือกเส้นทางใช้จริง เลือกเส้นทางสำรอง Successor Feasible Successor
เส้นทางจากการบอกต่อขั้นสูงเส้นทางจากการบอกต่อขั้นสูง Advance Distance Vector • เส้นทาง Successor และ Feasible Successor บนเราท์เตอร์ อยู่บน TopologTable แสดงขึ้นได้โดยใช้คำสั่ง show ipeigrp topologyในโหมดอีนาเบิล Router# show ipeigrp topology IP-EIGRP Topology Table for process 77 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 172.16.90.0 255.255.255.0, 2 successors, FD is 46251776 via 172.16.80.28 (46251776/46226176), Ethernet0 via 172.16.81.28 (46251776/46226176), Ethernet1 via 172.16.80.31 (46277376/46251776), Serial0 Successor Feasible Successor Feasible Distance (FD) Advertised Distance (AD) 12-7
ค่า Metric หลากหลาย • EIGRP แลกเปลี่ยนตัวแปรหลายตัวบนอินเตอร์เฟสขาออกของเราท์เตอร์ต้นทาง เพื่อคำนวณเป็นค่า Cost หรือ Metric ประจำเส้นทางจากเราท์เตอร์ตน ไปถึงเราท์เตอร์ปลายทาง แบ่งเป็นกลุ่มดังนี้: ตัวแปร Default • Bandwidth: จะแลกเปลี่ยนเฉพาะค่าที่น้อยที่สุด ตลอดเส้นทาง • Delay: แลกเปลี่ยนค่าผลบวกสะสมเหมือนปกติ แต่โดยดีฟอลท์จะคงที่ที่ 20,000 sec ต่อ Hop จึงขึ้นกับจำนวน Hop (Hop Count) ตัวแปรทางเลือก • ตัวแปรกลุ่มนี้ไม่ได้ถูกนำมาใช้โดยดีฟอลท์ แต่เราสามารถเลือกนำมาใช้ได้โดยเปลี่ยนค่าตัวแปรถ่วงน้ำหนัก (ค่า K) ประจำตัวแปรนั้นๆ • ได้แก่ Load และ Reliability 12-8
ค่า Metric หลากหลาย • สูตร Metric มาตรฐานของ EIGRP ที่นำตัวแปรดังกล่าวมาคำนวณ คือ Metric= K1*Bandwidth + K2*Bandwidth + K3*Delay * K5 256 - Load Reliability+K4 • โดยค่าถ่วงน้ำหนักดีฟอลท์ ได้แก่ K1 = K3 = 1และ K2 = K4 = L5 = 0 จะได้ว่า Metric = Bandwidth + Delay • หรือเป็นสูตรทางคณิตศาสตร์ว่า: n Metric = 107 Delay + x 256 R1 Rn BW น้อยที่สุด (หน่วย x10 sec) n = 1 (หน่วย kbps) 12-9 *R1 Rnคือ คิดตั้งแต่เราท์เตอร์เจ้าของเครือข่ายเส้นทางนี้ (R1) ถึงเราท์เตอร์ปัจจุบัน (Rn)
ค่า Metric หลากหลาย T1 = 1.544 Mbps • คำนวณจาก R1 R5 (10.1.5.0/24) E1 = 2.048 Mbps Gi0 1. หาตัวแปรที่ R1 ได้รับ R2 • เส้นทาง R1 R2 R3 R5 • BW น้อยที่สุด = 1.544 Mbps • Delay รวม = 3 x 20,000 sec • 10 sec 10.1.5.0/24 R3 R5 R1 E1 = 2.048 Mbps • เส้นทาง R1 R4 R5 • BW น้อยที่สุด = 2.048 Mbps • Delay รวม = 2 x 20,000 sec • 10 sec Fa0 *ทุกเราท์เตอร์ ไม่มีการเปลี่ยนค่าดีเลย์จากดีฟอลท์(20,000 sec) สรุป: เส้นทางที่ดีที่สุดคือ R1R4R5 มี Metric = 2,274,031 2. หา Metric • เส้นทาง R1 R2 R3 R5: = {(107/(1.544 Mbps x 1 kbps/0.001 Mbps)) + (3 x 2,000)} x 256 =3,194,031 R4 12-8 • เส้นทาง R1 R4 R5: = {(107/(2.048 Mbps x 1 kbps/0.001 Mbps)) + (2 x 2,000)} x 256 =2,274,031
การติดต่อเพื่อนบ้าน router eigrp100 network x.x.x.x network z.z.z.z router eigrp100 network x.x.x.x network y.y.y.y • EIGRP ติดต่อกับเพื่อนบ้านทางมัลติคาสต์224.0.0.10 ซึ่งไม่ต้องใช้ค่า Hello Time ที่ตรงกันเหมือนโปรโตคอลอื่น แต่จะใช้ค่าดังต่อไปนี้: • เลขกลุ่มเราท์เตอร์(Autonomous System No.) ต้องตรงกัน จึงจะยอมแลกเปลี่ยนข้อมูลเส้นทางซึ่งกันและกัน • ระบุอยู่ท้ายคำสั่งเปิดใช้ EIGRP: Router(config)# router eigrpxxx • ค่าถ่วงน้ำหนักเมทริกซ์(ค่า K) ต้องตรงกัน เนื่องจากจำเป็นที่เราท์เตอร์ภายในกลุ่มที่ต้องคำนวณค่า Cost เป็นในแนวทางเดียวกัน R1 R2 12-11
กลไกป้องกันวนลูป • เนื่องจากยังมีพฤติกรรมของ Distance Vector จึงต้องมีกลไกป้องกันการวนลูปของเส้นทาง ดังนี้ • Poison Reverse: ส่งข้อมูลเครือข่ายที่เข้าถึงไม่ได้แล้ว ด้วยค่า Metric ที่ใช้ค่า Delay สูงสุดที่สุด (0xFFFFFFFF) • Split Horizon: ห้ามไม่ให้ส่งข้อมูลเส้นทางของเครือข่ายเดิม ออกทางอินเตอร์เฟสที่เคยรับข้อมูลของเส้นทางเครือข่ายนี้เข้ามา • ตามอัลกอริทึม DUAL: โดยจะเลือกเส้นทางนั้นใหม่เมื่อค่า RD >= FD • เพราะค่า FD จะคงที่หลังจากเลือกเส้นทางหลัก (Successor) • แต่ยังรับค่า RD จากเพื่อนบ้านมาอัพเดทอยู่ตลอดเวลา • ดังนั้น เมื่อค่า RD สูงจนเกินกว่าค่า FD ที่คำนวณตอนแรก แสดงว่าเส้นทางดังกล่าวมีปัญหา ต้องรัน DUAL ใหม่ 12-12
การอัพเดทเส้นทางเป็นระบบการอัพเดทเส้นทางเป็นระบบ ด้วย DUAL Topology Table รายการของทุกเส้นทางที่ได้รับ Net Hop FD* RD Net Hop FD* RD Successor R5R3 20 25 < R5R3 20 25 < เส้นทางหลัก Loop! Successor R5 R2 25 20 R5 R2 25 20 เส้นทางสำรอง Feasible Successor R5 R4 30 20 Feasible Successor R5 R4 30 20 คำนวณ DUAL แล้ว ไม่เปลี่ยน ยังรับอัพเดทจากเพื่อนบ้านเรื่อยๆ • อัลกอลิทึม Diffusing Update (Query) ต่างจาก Distance Vector ทั่วไป ตรงที่ บันทึกทุกเส้นทางเก็บไว้ในตาราง Topology • ไว้คอยเลือกเส้นทางใหม่อย่างรวดเร็ว เมื่อพบว่าเส้นทางหลักไม่ใช่เส้นทางที่ดีที่สุด และวนลูป (RD >= FD) • เมื่อหาเส้นทางที่ไม่วนลูปไม่ได้อีก ถึงจะรัน DUAL ใหม่ทั้งหมดอีกครั้ง 12-13
การตั้งค่า EIGRP • ตั้งค่าเปิดใช้ EIGRP บนเราท์เตอร์ โดยกำหนด AS no. ข้างท้ายให้ตรงกับเราท์เตอร์ตัวอื่น • Router(config)# router eigrp(เลข AS) • ใส่คำสั่ง no auto-summary เพื่อไม่ให้ Summarize เส้นทางอื่น ป้องกันปัญหาที่เกิดจากการรวมเครือข่ายที่ไม่ได้อยู่ต่อเนื่องกัน (Discontiguous Network)*** • Router(config-router)# no auto-summary • ตั้งค่าเปิดใช้บนอินเตอร์เฟสที่ต้องการ ด้วยคำสั่ง network (network ID) ซึ่งรองรับสองแบบ • แบบ network (network ID แบบ Classful)เหมือน RIP • แบบ network (network ID) (wildcard mask) เหมือน OSPF ถ้าต้องการเลือกอินเตอร์เฟสให้ละเอียดระดับ Classless 12-14
การตั้งค่า EIGRP การตั้งค่าแบบ Classful • ไม่ใช่การเลือกกลไกการทำงานว่าจะส่งข้อมูลเครือข่ายเป็น Classfulแต่เป็นการเลือกอินเตอร์เฟสที่มีเครือข่ายเป็นซับเซ็ตของเลขที่ประกาศนี้ (เหมือนกรณี RIPv2) EIGRP AS 100 S1 10.1.1.2/30 S0 10.1.1.1/30 Fa0 192.168.2.1/24 Fa0 192.168.1.1/24 router eigrp 100 network 192.168.1.0 network 10.0.0.0 no auto-summary router eigrp 100 network 192.168.2.0 network 10.0.0.0 no auto-summary R1 R1 12-15
การตั้งค่า EIGRP การตั้งค่าแบบระบุ Wildcard • สำหรับเลือกอินเตอร์เฟสละเอียดระดับ Classless เช่น จะไม่เปิดใช้บนอินเตอร์เฟสที่คนละเครือข่ายแบบ Classless EIGRP AS 100 ไม่ต้องการเปิดใช้ EIGRP as 100 ออกทางอินเตอร์เฟสนี้ S1 10.1.1.5/30 EIGRP AS 100 S1 10.1.1.2/30 S0 10.1.1.1/30 Fa0 192.168.2.1/24 Fa0 192.168.1.1/24 router eigrp 100 network 192.168.1.0 0.0.0.255 network 10.1.1.0 0.0.0.3 no auto-summary router eigrp 100 network 192.168.2.0 0.0.0.255 network 10.1.1.0 0.0.0.3 no auto-summary R1 R1 12-16
การทวนสอบการตั้งค่า • ตรวจสอบว่าเราท์เตอร์ใช้ EIGRP เป็นเราท์ติ้งโปรโตคอล • Router# show ip protocols • ตรวจสอบว่าบนตารางเส้นทาง มีเส้นทางที่อัพเดทมาจาก EIGRP แล้ว • Router# show ip route (eigrp) • ตรวจสอบว่า EIGRP ถูกเปิดใช้บนอินเตอร์เฟสใดบ้าง • Router# show ipeigrp interfaces Router# show ipeigrp interfaces IP EIGRP interfaces for process 109 Xmit Queue Mean Pacing Time Multicast Pending Interface Peers Un/Reliable SRTT Un/Reliable Flow Timer Routes S0 0 0/0 0 11/434 0 0 Fa0 1 0/0 337 0/10 0 0 12-17
การทวนสอบการตั้งค่า • ตรวจสอบว่าเราท์เตอร์เพื่อนบ้านที่ติดต่อกันได้ • Router# show ipeigrp neighbors Router# show ipeigrp neighbors IP-EIGRP Neighbors for process 77 Address Interface Holdtime Uptime Q Seq SRTT RTO (secs) (h:m:s) Count Num (ms) (ms) 172.16.81.28 Ethernet1 13 0:00:41 0 11 4 20 172.16.80.28 Ethernet0 14 0:02:01 0 10 12 24 172.16.80.31 Ethernet0 12 0:02:02 0 4 5 20 12-18
การทวนสอบการตั้งค่า • ตรวจสอบ Successor และ Feasible Successor ในตาราง Topology • Router# show ipeigrp topology Router# show ipeigrp topology IP-EIGRP Topology Table for process 77 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 172.16.90.0 255.255.255.0, 2 successors, FD is 46251776 via 172.16.80.28 (46251776/46226176), Ethernet0 via 172.16.81.28 (46251776/46226176), Ethernet1 via 172.16.80.31 (46277376/46251776), Serial0 P 172.16.81.0 255.255.255.0, 2 successors, FD is 307200 via Connected, Ethernet1 via 172.16.81.28 (307200/281600), Ethernet1 via 172.16.80.28 (307200/281600), Ethernet0 via 172.16.80.31 (332800/307200), Serial0 Successor Feasible Successor Successor Feasible Successor 12-19 *ด้วยคำสั่งนี้ จะแสดงแค่ Successor และ Feasible Successor ต่อเครือข่าย
ปัญหาการ Summarize บน Discontiguous Network 192.168.0.0/24 การ Summarize ที่ควรเป็น Route Summarization _.0/27 _.0/26 192.168.0.0/28 _.16/28 _.32/27 _.64/26 • การรวมเส้นทาง เหมาะกับการแบ่งซับเน็ตที่มีความต่อเนื่องกัน • เช่น /24 /25 /26 /27 ช่วยประหยัดการประมวลผล • เรียกลักษณะเครือข่ายที่แบ่งต่อเนื่องกันว่า Contiguous Network R2 R4 R1 R3 12-20
ปัญหาการ Summarize บน Discontiguous Network D 192.168.0.0/24 is a summary, 00:23:20, Serial 0 การ Summarize ที่ควรเป็น ฟีเจอร์ Auto-Summary _.0/27 _.0/26 S0 192.168.0.0/28 _.16/28 _.32/27 _.64/26 • EIGRP มีฟีเจอร์ที่ Summarize เส้นทางอัตโนมัติ เรียกว่า Auto-Summary • ทำงานโดย ไม่ส่ง Subnet Maskจึงรวมเครือข่ายในลักษณะ Classful • ฟีเจอร์นี้ถูกทำงานอัตโนมัติอยู่โดยดีฟอลท์ R2 R4 R1 R3 12-21
ปัญหาการ Summarize บน Discontiguous Network การ Summarize ที่ควรเป็น Discontiguous Network 10.0.0.0/30 192.168.0.128/25 192.168.0.0/25 192.168.0.0 ? 192.168.0.0 ? D 192.168.0.0/24 is a summary, 00:13:00, Null 0 *Null 0 คืออินเตอร์เฟสที่สร้างขึ้นสำหรับ ดรอปแพ๊กเก็ต • ถ้าพบการแบ่งซับเน็ตแบบไม่ต่อเนื่อง (Discontiguous) การ Summarize เส้นทางอัตโนมัติจะทำให้ไม่สามารถหาทางออกได้ กลายเป็นเส้นทางตัน • จึงแนะนำให้ปิดฟีเจอร์นี้ด้วย:Router(config-router)# no auto-summary R1 R1 12-22
การแบ่งโหลด Cost ไม่เท่ากัน Unequal Cost Load Balance • EIGRP เปิดใช้ฟีเจอร์ที่แบ่งโหลดโดยดีฟอลท์ระหว่างเส้นทางที่มีค่า Cost น้อยที่สุด บนแต่ละเครือข่ายปลายทาง (Successor) เหมือน OSPF • ค่าดีฟอลท์คือ แบ่งได้ 4 เส้นทาง และเพิ่มเส้นทางได้สูงสุดถึง 16 เส้นทาง • แต่ EIGRP ให้สามารถแบ่งโหลด (Load Balance) ได้บนเส้นทางที่มี Cost ไม่เท่ากันได้ • โดยให้สมมติค่า Cost กลางที่เกิดจากการคูณค่า Feasible Distance (Cost ของ Successor) ด้วยตัวคูณที่ตั้งค่า (Multiplier) เพื่อกำหนดว่า เส้นทางใดที่มีค่า Cost ต่ำกว่า Cost กลางที่คูณด้วย Multiplier จะนำมาใช้แบ่งโหลด • ค่า Multiplier ดีฟอลท์เป็น 1 (คือแบ่งโหลดเฉพาะระหว่าง Successor ด้วยกัน) 12-23
การแบ่งโหลด Cost ไม่เท่ากัน Unequal Cost Load Balance • ตั้งค่า Multiplier ได้โดยใช้คำสั่ง varience(multiplier) เช่น • Router(config-router)# varience2 การ Summarize ที่ควรเป็น ตัวอย่าง Net Hop FD Adver. D 5 5 R2 แบ่งโหลด R5R3 20 15 15 5 แบ่งโหลด R5 R2 25 20 R3 R5 R5 R4 45 30 15 R1 30 • กำหนดค่า Multiplier = 2 จะได้ค่า Cost กลาง = FD x 2 = 20 x 2 = 40 • พิจารณาจากตาราง Topology จึงพบเส้นทางที่แบ่งโหลดได้ 2 ทาง: • R5 R3 มี Cost = 20 < FD x 2 • R5 R2 มี Cost = 25 < FD x 3 15 R4 12-24