260 likes | 450 Views
พื้นฐานการหาเส้นทางข้ามเครือข่าย. Basic of. Routing. 9. หน้าที่ของ เราท์เตอร์ ที่มาของเส้นทาง หลักการเลือกเส้นทางที่ดีที่สุด โปรโตคอลหาเส้นทาง. 9-1. หน้าที่ เราท์เตอร์. หน้าที่ L3 (เมื่ออ่าน IP Header):. เลือกเส้นทางที่ดีที่สุด. (Path Selection/Forwarding).
E N D
พื้นฐานการหาเส้นทางข้ามเครือข่ายพื้นฐานการหาเส้นทางข้ามเครือข่าย Basic of Routing 9
หน้าที่ของเราท์เตอร์ • ที่มาของเส้นทาง • หลักการเลือกเส้นทางที่ดีที่สุด • โปรโตคอลหาเส้นทาง 9-1
หน้าที่เราท์เตอร์ หน้าที่ L3 (เมื่ออ่าน IP Header): เลือกเส้นทางที่ดีที่สุด (Path Selection/Forwarding) • อ่านเลขไอพีปลายทางบนแพ๊กเก็ต • เทียบกับรายการเส้นทางว่าควรฟอร์เวิร์ดออกอินเตอร์เฟสไหนดีที่สุด หน้าที่ L2 (หลังเลือกอินเตอร์เฟสได้): เข้า/ถอดรหัสและส่งต่อเฟรม (Interconnected Switching) • เขียน Frame Header ใหม่ตามข้อมูล ARP บนอินเตอร์เฟส เพื่อฟอร์เวิร์ดต่อยังอุปกรณ์ตัวถัดไปในเครือข่ายเดียวกัน • Switching ยังหมายถึง การเปลี่ยนชนิดโปรโตคอล Data-Link/มาตรฐาน Physical ระหว่างอินเตอร์เฟสด้วย 9-2
Prefix Length-AD-Metric รายการเส้นทาง: ตารางเส้นทาง Network ID Cost Next Hop Routing Table • หาเส้นทางที่ดีที่สุด ถ้าอ้างถึง Next Hop IP ก็ต้องไล่จนรู้อินเตอร์เฟส • โครงสร้างของรายการเส้นทาง: • (ที่มา) (NetworkID) (AD/Metric) (NextHop/อินเตอร์เฟส) เช่น: Router Console Router# show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaGateway of last resort is 10.7.7.110.0.0.0/8 is variably subnetted, 1 subnets, 1 masksR 10.7.7.0/24 [120/2] via 10.1.1.1, 00:14:05D 10.7.7.0/24 [90/21024000] via 10.1.1.1, 00:14:05C 10.1.1.0/24 is directly connected, Serial0C 192.168.0.0/24 is directly connected, Ethernet0 1 R 10.7.7.0/24 [120/2] via 10.1.1.1 2 • มาจากโปรโตคอล RIP • สำหรับไปยังเครือข่าย 10.7.7.0/24 • ค่า AD(RIP)=120, Metric(Hop)=2 • ให้ส่งไปยัง Next Hop IP 10.1.1.1 S0 E0 Des.IP 10.7.7.25 9-3
ที่มาของเส้นทาง • Connected Route: จาก Network ID บนอินเตอร์เฟสของตนเอง • Static Route: จากการตั้งค่าเส้นทางตายตัวบนเราท์เตอร์ • Dynamic Route: คอยอัพเดทจากโปรโตคอลหาเส้นทางอยู่ตลอด • Default Route: เส้นทางสุดท้ายสำหรับแพ๊กเก็ตที่เลือกเส้นทางไม่ได้ RIPv2 Router Console Router# show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaGateway of last resort is 0.0.0.0 of the network 0.0.0.010.0.0.0/8 is variably subnetted, 1 subnets, 1 masksR 10.7.7.0/24 [120/2] via 10.1.1.1, 00:14:05S 11.0.0.0/24 [1/0] via 10.7.8.1C 10.1.1.0/24 is directly connected, Serial0C 192.168.0.0/24 is directly connected, FastEthernet0/0 S0 Fa0/0 Fa0/1 192.168.0.0/24 9-4
เส้นทางจากอินเตอร์เฟสเส้นทางจากอินเตอร์เฟส Directly Connected • เป็นเส้นทางพื้นฐานของเราท์เตอร์ • ต้องมี เพื่อให้รู้อินเตอร์เฟสขาออก • ถูกเลือกใช้เป็นอันดับแรก (ค่า AD = 0) 10.1.1.2/24 S0 192.168.0.1/24 Fa0/0 Fa0/1 192.168.0.0/24 11.0.0.2/24 • C 10.1.1.0/24 is directly connected, Serial0 • C 192.168.0.0/24 is directly connected, FastEthernet0/0 • C 11.0.0.0/24 is directly connected, FastEthernet0/1 9-5
เส้นทางกำหนดตายตัว Static Route • ใช้คำสั่ง ip route (NetworkID) (NetMask) (NextHop/อินเตอร์เฟส) ในโหมดโกลบัลคอนฟิก • เหมาะกับเส้นทางน้อยๆ • ถูกเลือกใช้เป็นอันดับต่อมา (ค่า AD = 1) Router Console 10.1.1.2/24 Router(config)# ip route 52.30.7.0 255.255.255.0 11.0.0.1 S0 192.168.0.1/24 Fa0/0 Fa0/1 192.168.0.0/24 11.0.0.1/24 11.0.0.2/24 9-6 • S 52.30.7.0/24 [1/0] via 11.0.0.1
เส้นทางอัพเดทจากโปรโตคอลเส้นทางอัพเดทจากโปรโตคอล Dynamic Route RIPv2 • ได้รับการอัพเดทจากโปรโตคอลหาเส้นทาง ที่รับเข้าจากแต่ละอินเตอร์เฟส • เหมาะกับเส้นทางเยอะ และเปลี่ยนแปลงบ่อย • มีค่า AD และประเภทของ Metric ตามชนิดโปรโตคอล S0 192.168.0.1/24 Fa0/0 Fa0/1 192.168.0.0/24 11.0.0.1/24 11.0.0.2/24 เวลาที่นับอยู่ แสดงว่าเป็น Dynamic • R 110.10.0.0/24 [120/2] via 10.1.1.1, 00:15:20 • AD = 120 เป็นค่าดีฟอลท์ของ RIP • Metric ของ RIP คือจำนวนเราท์เตอร์ที่ผ่านมา (Hop Count) ดังนั้น ในที่นี้ 110.10.0.0/24 จึงอยู่ห่างออกไป 2 เราท์เตอร์(Hop) 9-7
เส้นทางสุดท้ายของแพ๊กเก็ตเส้นทางสุดท้ายของแพ๊กเก็ต Default Route • ได้จากการตั้งค่า ip route 0.0.0.0 0.0.0.0 (NextHop/อินเตอร์เฟส) • เพื่อให้ทุกแพ๊กเก็ตมีทางไป ไม่ต้องดรอปเมื่อไม่มีเส้นทาง • นิยมใช้กับเครือข่ายที่มีทางออกทางเดียว (Stub) เช่นเกตเวย์ที่ออกอินเตอร์เน็ต Router Console 10.1.1.2/24 Router(config)# ip route 0.0.0.0 0.0.0.0 11.0.0.1 S0 192.168.0.1/24 Fa0/0 Fa0/1 192.168.0.0/24 11.0.0.1/24 11.0.0.2/24 Default Route 9-8 Stub LAN • Gateway of last resort is 11.0.0.1 Internet
หลักการเลือกเส้นทางที่ดีที่สุดหลักการเลือกเส้นทางที่ดีที่สุด PAM • R 10.7.7.0/24 [120/2] Router Console Router# show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaGateway of last resort is 10.7.7.110.0.0.0/8 is variably subnetted, 1 subnets, 1 masksR 10.7.7.0/24 [120/2] via 10.1.1.1, 00:14:05D 10.7.7.0/24 [90/21024000] via 10.1.1.1, 00:14:05C 10.1.1.0/24 is directly connected, Serial0C 192.168.0.0/24 is directly connected, Ethernet0 Prefix Length AD Metric • เราท์เตอร์จะพิจารณาเลือกเส้นทางจากตัวแปรทั้ง 3 ตัวนี้ตามลำดับ: • จำนวนบิตที่เหมือนกันมากที่สุดจากข้างหน้าของเลขไอพี (Longest Match Prefix Length) • ค่าอุปสรรคจากที่มาของเส้นทาง (Administrative Distance) • ค่าตัวแปรจำเพาะที่โปรโตคอลหาเส้นทางใช้ (Metric) S0 E0 Des.IP 10.7.7.25 9-9
จำนวนบิตที่เหมือนกันมากที่สุดจำนวนบิตที่เหมือนกันมากที่สุด Prefix Length (Longest Match) S0 E0 • นำ IP Address ปลายทางของแพ๊กเก็ตขาเข้า มาเทียบหาเส้นทางที่มีจำนวนบิตด้านหน้าตรงกันมากที่สุด • นั่นคือ หา Network ID ที่แคบที่สุดสำหรับ IP Address นั่นเอง (ดู Prefix Length) • R 10.7.0.0/16 [120/3] via 9.2.1.1, 00:15:20 • C 10.7.7.0/24 is directly connected, FastEthernet0 • S 10.7.7.16/28 [1/0] via 11.0.0.1 • D 10.7.8.0/24 [90/6545228] via 192.168.0.254 Des.IP 10.7.7.25 9-10
ค่าอุปสรรคของที่มาเส้นทางค่าอุปสรรคของที่มาเส้นทาง Administrative Distance • บ่งบอกความน่าเชื่อถือ และเสถียรภาพของเส้นทาง • เช่น เส้นทางตายตัวย่อมเสถียรกว่าแบบ Dynamic ฯลฯ S0 E0 • R 10.7.7.16/28 [120/3] via 9.2.1.1, 00:15:20 • C 10.7.7.16/28 is directly connected, FastEthernet0 • S 10.7.7.16/28 [1/0] via 11.0.0.1 • D 10.7.7.16/28 [90/6545228] via 192.168.0.254 Des.IP 10.7.7.25 9-11
ค่าถ่วงน้ำหนักเส้นทางค่าถ่วงน้ำหนักเส้นทาง Metric • เป็นค่าที่โปรโตคอลหาเส้นทางนำมาเลือกเส้นทางที่ดีที่สุดของตนเอง ก่อนส่งให้เราท์เตอร์ • เป็นค่าจำเพาะต่อชนิดโปรโตคอล S1 RIPv2 RIPv2 RIPv2 S0 E0 ข้อมูลของ Router RIP เพิ่มเส้นทางที่ดีที่สุดไปไว้ในตารางของเราท์เตอร์ Des.IP 10.7.7.25 • R 10.7.7.0/24 [120/5] via 10.1.1.1 (Serial0), 00:15:20 9-12
ฝึกการเลือกเส้นทาง 1 Router Console Router# show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaGateway of last resort is 10.7.7.110.0.0.0/8 is variably subnetted, 1 subnets, 1 masksR 10.7.7.0/24 [120/2] via 10.1.1.1, 00:14:05D 10.7.7.0/24 [90/21024000] via 10.1.1.1, 00:14:05C 10.1.1.0/24 is directly connected, Serial0C 192.168.0.0/24 is directly connected, Ethernet0 S 10.7.7.32/27 [1/0] via 125.0.0.1 S 192.168.0.0/24 [1/0] via 125.0.0.1 O 10.7.7.0/24 [110/233399] via 125.0.0.1, 00:05:01 2 3 1 3 4 2 Des.IP Des.IP 192.168.0.132 52.47.9.0 4 Des.IP Des.IP 10.7.7.25 10.7.7.40 9-13
โปรโตคอลหาเส้นทาง Routing Protocol RIPv2 RIPv2 192.168.0.0/24 192.168.1.0/24 192.168.0.0/24 192.168.1.0/24 • เราท์ติ้งโปรโตคอล จะคอยแลกเปลี่ยนข้อมูลของเครือข่ายที่อยู่บนอินเตอร์เฟส (Directly Connected)ที่เราสั่งอนุญาตเท่านั้น! ระหว่างกลุ่มเราท์เตอร์ที่ตั้งค่าให้เป็นกลุ่มเดียวกัน • แต่ละเราท์เตอร์จึงได้รับการอัพเดทข้อมูลเส้นทางตามที่โปรโตคอลระบุ และตามอินเตอร์เฟสที่รับข้อมูลจากโปรโตคอลนั้น เช่น 9-14 • R 10.7.7.0/24 [120/5] via 10.1.1.1 (Serial0), 00:15:20
โปรโตคอลหาเส้นทาง Routing Protocol • เราสามารถแบ่งชนิดของเราท์ติ้งโปรโตคอลได้ตามลักษณะการทำงาน เช่น: ตามขอบเขตการทำงาน: • ใช้ภายในกลุ่มเราท์เตอร์หรือ AS no. เดียวกัน (Interior Gateway Protocol; IGP) ได้แก่ IGRP, RIP, OSPF, EIGRP, IS-IS • ใช้ระหว่างกลุ่มเราท์เตอร์ หรือ AS no. (Exterior Gateway Protocol; EGP)เช่น ข้ามระหว่างประเทศ ได้แก่ BGP การรองรับ Classless: • รองรับเฉพาะClassfulได้แก่ IGRP, RIPv1 • รองรับ Classlessได้แก่ RIPv2, OSPF, EIGRP 9-15
โปรโตคอลหาเส้นทาง Routing Protocol รูปแบบการส่งข้อมูล: • ส่งแบบบรอดคาสต์ได้แก่ RIPv1 • ส่งแบบมัลติคาสต์(224.0.0.xx)ได้แก่ RIPv2, OSPF, EIGRP ใช้ได้เฉพาะอุปกรณ์ซิสโก้: • Cisco Proprietary ได้แก่ IGRP, EIGRP • มาตรฐานสากลได้แก่ RIPv1/v2, OSPF รองรับการยืนยันตน: • ไม่รองรับได้แก่ RIPv1 • รองรับได้แก่ RIPv2, OSPF, EIGRP แบ่งโหลดระหว่างเส้นทาง: • รองรับโหลดเท่ากันได้แก่ RIP,OSPF • รองรับโหลดไม่เท่ากันได้ ได้แก่ EIGRP 9-16
โปรโตคอลหาเส้นทาง Routing Protocol กลไกการหาเส้นทาง: • ส่งข้อมูลทุกเส้นทางแบบบอกต่อๆ กัน (By Rumour) • ได้แก่ IGRP RIPv1/v2 • เรียกชื่ออัลกอริทึมว่า Bellman-Ford • เรียกโปรโตคอลประเภทนี้ว่า Distance Vector • กระจายสภาพลิงค์รอบตัวให้กับทุกเราท์เตอร์ในกลุ่ม (Link State Advertisment) • ได้แก่ OSPF • เรียกชื่ออัลกอริทึมว่า Dijkstra • เรียกโปรโตคอลประเภทนี้ว่า Link State 9-17
โปรโตคอลหาเส้นทาง Routing Protocol กลไกการหาเส้นทาง(ต่อ): • ส่งข้อมูลทุกเส้นทาง เฉพาะที่ดีที่สุด แบบบอกต่อๆ กัน พร้อมนำข้อมูลสภาพลิงค์ที่ติดกับเพื่อนบ้านมาคำนวณด้วย • ได้แก่ EIGRP • เรียกชื่ออัลกอริทึมว่า DUAL (Diffusal Update Algorithm) • เรียกโปรโตคอลประเภทนี้ว่า Hybrid หรือ Advance Distance Vector 9-18
หน้าที่โปรโตคอลหาเส้นทางหน้าที่โปรโตคอลหาเส้นทาง Function ofRouting Protocol เส้นทาง Net 10 Net 10 มาทางนี้ 1 2 เรียนรู้เส้นทาง (Learning) 1 Routing Protocol บอกต่อเส้นทาง (Advertisement) 2 เลือกเส้นทางที่ดีที่สุด (ของตนเอง) 3 Protocol Table เลือกเส้นทางใหม่เมื่อรับทราบการเปลี่ยนแปลง (Convergence) 4 3 Routing Table Net 10 เข้าถึงไม่ได้ 4 Convergence 9-19
เลขที่กลุ่มของเครือข่ายเลขที่กลุ่มของเครือข่าย Autonomous Number • กลุ่มของเราท์เตอร์ที่ใช้ชุดการตั้งค่าเราท์ติ้งโปรโตคอลแบบเดียวกัน • โปรโตคอลที่ทำงานภายใน AS no. เดียวกัน เรียกว่า IGP • โปรโตคอลที่ทำงานระหว่าง AS เรียกว่า EGP ข้อสังเกต: EIGRP เวลาตั้งค่าต้องกำกับ AS no. ด้วย ถ้าพบว่าเราท์เตอร์ใช้คนละ AS no. ก็จะไม่แลกเปลี่ยนข้อมูลเส้นทางกัน เป็นต้น 9-20
กลไกแบบส่งต่อทุกเส้นทางกลไกแบบส่งต่อทุกเส้นทาง Distance Vector Distance = ระยะทาง (จำนวน Hop) Vector = ทิศทาง (อินเตอร์เฟสที่รับเส้นทาง) • ส่งข้อมูลทุกเส้นทางแบบบอกต่อๆ กัน โดยบวกค่า Metric (จำนวน Hop) เมื่อผ่านแต่ละเราท์เตอร์ • ถ้าเครือข่ายใหญ่ จะกินแบนด์วิธมาก (โดยเฉพาะ RIPv1 ที่ส่งแบบ บรอดคาสต์) • ตัวอย่าง: IGRP RIPv1/v2 ด้วยเหตุผลด้านแบนด์วิธ จึงขยายช่วงเวลาที่แลกเปลี่ยนข้อมูล (Hello time) เป็น 30 วินาที 9-21
กลไกแบบใช้สถานะจากทุกลิงค์กลไกแบบใช้สถานะจากทุกลิงค์ Link State • ส่งข้อมูลสภาพของเส้นทาง (แบนด์วิธ การเปิดใช้งาน) ที่เชื่อมต่อกับเพื่อนบ้าน ส่งเป็นแพ๊กเก็ตLink State (ขนาดเล็กมาก)ให้กับทุกเราท์เตอร์ในกลุ่ม • แต่ละเราท์เตอร์จะนำ Link State ที่ได้รับจากทุกเราท์เตอร์มาคำนวณเป็นชุดเส้นทางที่ดีที่สุด (Shortage Path Tree; SPT) ก่อนนำมาใส่ในตารางเส้นทางจริงต่อไป • ด้วยวิธีนี้ จึงประกันได้ว่าไม่เกิด Routing Loop เพราะแต่ละเราท์เตอร์จะมี SPT เหมือนกัน • ตัวอย่าง: OSPF แต่ละเราท์เตอร์จึงต้องมี ID อ้างอิงด้วย (ใช้จากไอพี Loopback ที่มากสุดของตน) 9-22 เพื่อจำกัดวงการคำนวณ SPT จึงแบ่งกลุ่ม (Area) ให้คำนวณยุบรวมเป็นชั้นๆ (Hierarchy)
กลไกแบบรวมทั้งสองแบบ Hybrid เอาเฉพาะที่ดีที่สุด • ก่อนเราท์เตอร์ส่งต่อเส้นทางต่อๆ กัน เหมือน Distance Vector เราท์เตอร์จะคัดเฉพาะเส้นทางที่ดีที่สุดที่ตัวเองมีอยู่ของแต่ละเครือข่ายเท่านั้น • จึงประหยัดแบนด์วิธ ไม่ส่งสะเปะสะปะเหมือน Distance Vector ทั่วไป • เราท์เตอร์ตัวที่ต้องการเส้นทางนำมาใช้จริง จะรวบรวมเส้นทางที่ได้รับจากเพื่อนบ้านไว้ แล้วมาคำนวณกับสถานะลิงค์ (Link State) ที่เชื่อมต่อกับเพื่อนบ้าน เพื่อทำเป็นตารางเส้นทางของตัวเองที่เรียงจากที่ดีที่สุดลงมาก่อน แล้วคัดเอาเส้นทางที่ดีที่สุดส่งให้ตารางเส้นทางจริง EIGRP EIGRP Check Link State S1 S1 S0 Check Link State S0 การรับเส้นทางจากทุกเพื่อนบ้านมาคำนวณร่วมกับสถานะลิงค์ในตารางแยกก่อน จึงเรียกว่า การอัพเดทเส้นทางแบบค่อยๆ รับและอัพเดท (Diffusal Update) 9-23 EIGRP จึงมีรายการเส้นทางสำรองบนตารางตัวเองที่นำมาใช้แทนทันทีได้เมื่อจำเป็น (Feasible Successor)
สรุปคุณสมบัติโปรโตคอลสรุปคุณสมบัติโปรโตคอล ประเภท อัลกอริทึม Metric AD Hello Time ClassLess ไม่รองรับ RIPv1 Distance Vector Bellman-Ford Hop Count 120 30s รองรับ RIPv2 Link State ส่วนกลับของ Bandwidth OSPF Dijkstra รองรับ 110 10s ส่วนกลับของ Bandwidth Hybrid (Advance Distance Vector) EIGRP DUAL รองรับ + 90 10s Delay 9-24
เราท์เตอร์ที่อยู่ติดกันเราท์เตอร์ที่อยู่ติดกัน Neighbor/Adjacency • Neighbor (NB): • เราท์เตอร์ที่อยู่ข้างเคียง • Adjacency (ADJ): • การลงทะเบียนเพื่อนบ้าน เพื่อประกันการสื่อสารระหว่างกัน • สำคัญกับเราท์ติ้งโปรโตคอลประเภท Link-State/Hybrid ADJ NB ADJ NB 9-25