PlAwAnSaI
Administrator
- Router ที่ Support น่าจะเกือบทุกตัว แต่ถ้ารับ Route Internet คิดว่าน่าจะ 3800 อย่างต่ำ แล้วก็ขึ้นอยู่กับ Memory ด้วย
- BGP ย่อมาจาก Border Gateway Protocol เป็น Protocol เลือกเส้นทางประเภท Exterior Gateway Protocol (EGP)
- จะมาพูดถึงกันแบบละเอียด ถ้าคนพิมพ์มีเวลาว่างพอ 555+ สงสัยอะไร หรือผิดพลาดประการใด ก็แจ้งมาได้เลยคับ
- มันเป็น Interdomain Routing, Domain ก็คือ AS เพราะฉะนั้นหลักๆ มันก็จะเอาไว้ใช้เพื่อเชื่อมต่อกับ Router และเครือข่ายที่อยู่ต่าง AS (1 AS ก็คือ 1 ISP น่ะ แหละ)
- โดยหลักการแล้ว AS Number เป็นเลขหมายในทางตรรกะที่กำหนดให้กับ Router ทุกตัวที่ทำงานอยู่ภายใต้ระบบการจัดการเดียวกัน โดย Router เหล่านี้จะมีการแบ่งปัน (Share) ข่าวสารเกี่ยวกับตารางเลือกเส้นทาง และมีการ Update ภายใต้สภาวการณ์ปกติ โดยเฉพาะเมื่อมีการเปลี่ยนแปลงใดๆ เกิดขึ้น มาตรฐานการกำหนดเลขหมาย AS อยู่ภายใต้การดำเนินงานของ Internet Assigned Numbers Authority (IANA) ที่เป็นผู้กำหนดเลขหมาย AS บน Internet โดยเลขหมาย AS นี้สามารถมีได้ตั้งแต่ 1 - 65,535 แบ่งเป็น Public AS Number และ Private AS Number โดยมีเลข 64,512 ไปจนถึง 65,535 ถูกสำรองไว้ให้กับเครือข่ายส่วนตัวที่ไม่ได้ทำงานบน Internet (Private AS Number) เช่นเดียวกับ Private IP Address โดยปัจจุบันนี้ เพิ่มเป็น 4 Byte แล้ว
- ใช้โดย ISP เป็น Routing หลักของโลกใบนี้
- เป็น Protocol เลือกเส้นทางบน Internet ซึ่งปัจจุบันนี้มี Route ถึง 700,000 กว่า Route แล้ว
www.cidr-report.org/as2.0
- ใช้งาน Protocol TCP จึงทำให้มีความปลอดภัย ต้องทำ 3 Way Handshake และใช้ Sliding Window จึงส่งข้อมูลได้เป็นก้อนๆ ไม่เหมือนกับ OSPF และ EIGRP ซึ่งใช้ Protocol UDP ส่งได้ทีละ 1 Packet
- ไม่สนใจ Bandwidth ในการคำนวณหาเส้นทาง จะดูจาก Policy ที่กำหนดไว้เท่านั้น
- เป็น Advanced Distance Vector เพราะพัฒนามาจาก Distance Vector
- จะ Update เมื่อมีการเปลี่ยนแปลงเครือข่ายเกิดขึ้นเท่านั้น ซึ่งเป็นข้อเสียของ TCP จึงต้องมี Hello Message ขึ้นมา ใน BGP จะเรียกว่า Keepalive เข้ามาช่วยตรวจสอบ การมีชีวิตอยู่ของเพื่อนบ้าน สามารถคุยกับอุปกรณ์ยี่ห้ออื่นได้เพราะเป็นมาตรฐานของ RFC
- Metrics เรียกว่า Attributes มีเยอะมาก
- มันจะเลือกเองว่าตัวไหนเป็น Server หรือ Client ในการส่ง Update
- เวลาเปลี่ยน Configure หรือ Policy จะใช้เวลา Update นานเป็นนาที จึงจะเห็นผล ต้อง Clear Routing จึงจะเห็นผลเลย
- เหมาะกับเครือข่ายหรือโครงข่ายที่มีความสลับซับซ้อน ให้ประสิทธิภาพการทำงานมากที่สุดตัวหนึ่ง
- Router ใน AS หนึ่งๆ จะมีการเชื่อมต่อกับ AS อื่นๆ อีกหลายๆ AS ตัว Router ใน AS นั้นๆ จะทำหน้าที่เป็นทางผ่านของ AS อื่นๆ ได้ เช่น AS200 เป็นทางผ่านของ AS100 กับ AS300 โดยจะแยกออกเป็น 2 Protocol ย่อยๆ
- IBGP (Internal BGP) ใช้ส่งระหว่าง Router ที่อยู่ภายใต้ AS ที่มีเลขหมายเดียวกัน
- EBGP (External BGP) ใช้ส่งระหว่าง Router ที่อยู่ภายใต้ AS ที่มีเลขหมายต่างกัน
- Triggered Updates ของ IBGP จะส่งทุกๆ 5 วินาที, EBGP 30 วินาที
- ข้อเสียของมันก็มีคือกิน Resource (CPU, Memory) เพราะต้องสร้าง TCP Session เยอะ และ Update ช้านั่นเอง
- ลักษณะของเครือข่ายจะมี 2 แบบคือ แบบ Single-Homed และ Multihomed
- Single-Homed เป็นการต่อไปยัง ISP รายเดียว ลูกค้าก็จะเป็นพวกลูกค้ารายใหญ่ๆ หรือ ISP รายเล็กๆ จะใช้ BGP ก็ต่อเมื่อ มีหลาย Link หรือต้องการตรวจสอบความผิดปกติของฝั่ง ISP โดยต้องใช้ Private AS Number ถ้าไม่ตามเงื่อนไขนี้ใช้ Static Route ก็ได้
- Multihomed เป็นการต่อไปยัง ISP มากกว่า 1 ราย เช่นในกรณีที่ต้องการทำ Full Backup ใช้ได้แต่ BGP ใช้ Public AS Number และ Public IP Address
- Router ที่ Run BGP จะเป็นแค่ทางผ่านเท่านั้น จึงไม่สามารถควบคุม Routing ที่เป็น Downstream ได้ เป็นแค่ทางเลือกหนึ่งเท่านั้น
- ปกติ Protocol เลือกเส้นทางทั่วไปจะใช้วิธีการเลือกเส้นทางที่ดีที่สุดต่างกัน เช่น RIP จะใช้จำนวน Hop เป็นหลัก ขณะที่ IGRP ใช้ Bandwidth เป็นหลัก ส่วน EIGRP ใช้การผสมผสานกันระหว่าง Bandwidth และ Delay เป็นแนวทางในการเลือกเส้นทาง นอกจากนี้ OSPF ใช้ค่า Cost เป็นหลัก แต่ BGP ใช้ Attribute เป็นหลักในการเลือกเส้นทางที่ดีที่สุด การใช้ Attribute ของ BGP ไม่เพียงแต่ต้องการรับข้อมูลข่าวสารเกี่ยวกับเส้นทางเท่านั้น แต่ใช้เพื่อพิสูจน์เส้นทางที่ดีที่สุดที่จะเดินทางไปสู่ปลายทาง
Best Path Selection Algorithm in order:
BGP สามารถรับการประกาศเส้นทางหลายๆ ชุด จากเส้นทางเดียวกัน โดยเส้นทางหลายๆ ชุดนี้มาจากแหล่งต่างๆ กันหลายแห่งได้ แต่จะเลือกเส้นทางใดเส้นทางหนึ่งที่เห็นว่าดีที่สุด เมื่อเส้นทางที่ดีที่สุดถูกเลือกแล้ว จะนำเส้นทางที่ดีที่สุดที่เลือกแล้วนี้ไปไว้ใน Routing Table จากนั้นก็จะเผยแพร่เส้นทางนี้ไปสู่ Router เพื่อนบ้าน มีข้อพิจารณาอยู่ตามลำดับดังนี้
- BGP next-hop has to be reachable - consider Only (synchronized) route with no AS loops and a valid Next hop - หากเส้นทางระบุปลายทางที่ไม่สามารถเข้าถึงได้ จะมีการยกเลิกการ Update, and then:
- Longest match wins
- Prefer the highest Weight (Local to a router). - ค่า Weight มากสุด (Cisco Proprietary ใช้เฉพาะภายใน Router ตัวเดียวเท่านั้น)
The weight attribute basically a Cisco proprietary technology and considered as the first attribute. The default value of weight is 0 and the range is from 0 to 65535.
(config-router) # neighbor 50.1.1.1 weight 100
- Prefer highest Local preference (Global within AS). - ค่า Local Preference มากสุด (Default เป็น 100)
- Local paths that are sourced by the network or redistribute commands are preferred over local aggregates that are sourced by the aggregate-address command
- Shorter AS-Path length wins
- Prefer the path with the lowest Origin type: IGP < EGP < INCOMPLETE
- Lowest MED
- Prefer eBGP over iBGP
- Lowest IGP metric to the BGP next-hop - BGP next-hop ที่มี Cost IGP น้อยสุด
- Multipath
- Prefer the oldest route (received first) for eBGP paths. - เลือกเส้นทางที่อยู่นานที่สุดสำหรับ eBGP เช่น ในการทำ Dampening
- Prefer the path with the lowest neighbor BGP router ID. - เลือกเส้นทางที่มาจาก Router ที่มีค่า BGP Router ID น้อยสุด
- Minimum cluster list length in BGP RR environments
- Prefer lowest neighbor address
Example:
Router R1#show ip bgp vpnv4 rd 1100:1001 10.30.116.0/23
Code:
(65001 64955 65003) 65089, (Received from a RR-client)<br />
172.16.254.226 (metric 20645) from 172.16.224.236 (172.16.224.236)<br />
Origin IGP, metric 0, localpref 100, valid, confed-internal<br />
Extended Community: RT:1100:1001<br />
mpls labels in/out nolabel/362<br />
<br> (65008 64955 65003) 65089<br />
172.16.254.226 (metric 20645) from 10.131.123.71 (10.131.123.71)<br />
Origin IGP, metric 0, localpref 100, valid, confed-external<br />
Extended Community: RT:1100:1001<br />
mpls labels in/out nolabel/362<br><br>0. The paths should always be valid if see them in the output of "show ip bgp".
Example: Reason that router RT-3 chose router RT-1 as its best path to network 131.25.0.0/16.
Recall the best path selection algorithm:
1. RT-3 is not an exit point
4. same local preference of 100
5. both routes are from IBGP
6. same
7. both are incomplete (EGP > IGP > Incomplete)
8. both MEDs are 0
9. both are IBGP
11. not used because IBGP is used
12. not used
13. the router-id 162.105.11.1 is lower than 165.105.3.2
Cr: Dr.วิรินทร์ & Cisco