PDA

View Full Version : hỏi về giải thuật chọn route trong BGP



sinhvienngheo
05-06-2003, 01:57 AM
dưới đây là một đoạn trích từ web site cisco về cách chọn route trong BGP.

"Summary of the BGP Path Selection Process
BGP selects only one path as the best path. When the path is selected, BGP puts the selected path in its routing table and propagates the path to its neighbors. BGP uses the following criteria, in the order presented, to select a path for a destination:

1. If the path specifies a next hop that is inaccessible, drop the update.

2. Prefer the path with the largest weight.

3. If the weights are the same, prefer the path with the largest local preference.

4. If the local preferences are the same, prefer the path that was originated by BGP running on this router.

5. If no route was originated, prefer the route that has the shortest AS_path.

6. If all paths have the same AS_path length, prefer the path with the lowest origin type (where IGP is lower than EGP, and EGP is lower than Incomplete).

7. If the origin codes are the same, prefer the path with the lowest MED attribute.

8. If the paths have the same MED, prefer the external path over the internal path.

9. If the paths are still the same, prefer the path through the closest IGP neighbor.

10. Prefer the path with the lowest IP address, as specified by the BGP router ID.

""

Em hiểu từ bước 1 đến bước 3. Tuy nhiên ở bước 4 em không hiểu "route được tạo ra từ BGP trên chính router đó". Local preference cũng có giá trị trong router. Vậy thì khi hai route có cùng local preference thì làm sao chọn lựa route nào là tốt hơn?

ccie2467
05-06-2003, 04:49 AM
Em doc cai tai lieu BGP Best Path Selection Algorithm
nay no noi ro hon.
http://www.cisco.com/warp/customer/459/25.shtml

Doc phan "How the Best Path Algorithm Works".
Hope it helps

sinhvienngheo
06-06-2003, 03:05 AM
hi anh,

Em đã đọc link trên. Dưới đây là một đoạn trích từ link đó:

"
Prefer the path that was locally originated via a network or aggregate BGP subcommand, or through redistribution from an IGP. Local paths sourced by network/redistribute commands are preferred over local aggregates sourced by the aggregate-address command."

Em biết rằng một path được sinh ra từ lệnh aggregate sẽ tạo ra một route về null0. Và trong bảng route, route-aggregate này sẽ được xem như connected.

Trong khi đó, nếu em redistribute một igp vào bgp thì route được redistributed vào sẽ là một external route (AD=20). Khi đó, connected route chắc chắn sẽ được chọn do có AD=1. Vậy nếu theo đoạn trên thì route có AD=20 sẽ được chọn?

Em đã lý luận sai chổ nào chăng? Em thật sự không hiểu câu tiếng Anh trên.

ccie2467
06-06-2003, 05:11 AM
"aggregate-address" trong BGP không có tạo route to null. Những cái AD em nói là IP routing table. Cisco co route table riêng cho BGP gọi la BGP routing table (show ip bgp). Em dọc cái nầy rất là hay. Coi phần "Routes Announced Using the aggregate-address Command"
http://www.cisco.com/warp/customer/459/bgp_noad.html#topic5

ttp
06-06-2003, 10:35 AM
Anh ccie ơi!

Anh có thể post nội dung cái link này lên đây được không? Em không vào được trang này, mặc dù em đã tạo một account rồi. Cám ơn anh

sinhvienngheo
06-06-2003, 12:27 PM
anh ccie,

cám ơn anh về link. Tuy nhiên theo link này, aggregate vẫn tạo ra một route về null0.

R101#show ip route 192.168.32.0 255.255.252.0 longer-prefixes
[..]
S 192.168.33.0/24 is directly connected, Null0



anh ttp:

dưới đây là nội dung của link đó. Mình gửi lên đây để anh tham khảo.

[Routes Announced Using the aggregate-address Command

BGP allows the aggregation of specific routes into one route using the aggregate-address address mask command. Aggregation applies to routes that exist in the BGP routing table. This is in contrast to the network command, which applies to the routes that exists in IP routing table. Aggregation can be performed if at least one or more of the specific routes of the aggregate address exists in the BGP routing table. For more details on BGP aggregation and its attributes, see Understanding Route Aggregation in BGP.

Troubleshooting Steps


In the above network diagram, R101 is unable to announce the aggregate address 192.168.32.0/22 to R102. Network 192.168.32.0/22 aggregates the following three Class C address spaces:

192.168.33.0/24

192.168.35.0/24

192.168.35.0/24

Confirm that R101 is not announcing 192.168.32.0/22 to R102.

R101#show ip bgp neighbors 10.10.10.2 advertised-routes | include 192.168.32.0
R101#
Check the running configuration.

router bgp 1
[..]
aggregate-address 192.168.32.0 255.255.252.0 summary-only
neighbor 10.10.10.2 remote-as 2
R101 is configured to announce only the aggregate address to R102 using the "summary-only" attribute.

Check the IP routing table.

R101#show ip route 192.168.32.0 255.255.252.0 longer-prefixes
[..]
S 192.168.33.0/24 is directly connected, Null0
The IP routing table has the component route of aggregate 192.168.32.0/22; however for an aggregate address to be announced to a peer, a component route must exist in the BGP routing table rather than in the IP routing table.The IP routing table has the component route of aggregate 192.168.32.0/22; however for an aggregate address to be announced to a peer, a component route must exist in the BGP routing table rather than in the IP routing table.

Check to see if a component route exists in the BGP routing table.

R101#show ip bgp 192.168.32.0 255.255.252.0 longer
R101#
The output confirms that the BGP table does not have a component route, so the next logical step is to ensure that a component route exists in the BGP table.

In this example, a component route 192.168.33.0 is installed into the BGP table using the network command.

R101(config)#router bgp 1
R101(config-router)#network 192.168.33.0

Check to see if the component route exists in the BGP table.

R101#show ip bgp 192.168.32.0 255.255.252.0 longer-prefixes
BGP table version is 8, local router ID is 10.10.20.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path
*> 192.168.32.0/22 0.0.0.0 32768 i
s> 192.168.33.0 0.0.0.0 0 32768 i
R101#
The "s" means that the component route is suppressed due to the "summary-only" argument.

Confirm that the aggregate is being announced to R102.

R101#show ip bgp n 10.10.10.2 advertised-routes | include 192.168.32.0/22
*> 192.168.32.0/22 0.0.0.0


XIn cám ơn,

ccie2467
06-06-2003, 08:23 PM
SVN,
Em dọc kỷ lại cái paragraph ngay ở dưới
R101#show ip route 192.168.32.0 255.255.252.0 longer-prefixes
[..]
S 192.168.33.0/24 is directly connected, Null0

aggregate route (supernet route) 192.168.32.0/22 include 4 class C (32,33,34,35)
Static route shows one class C only, 192.168.33.0/24 to null. Trong cái thí dụ này nó cho biết là có cái COMPONENT ROUTE (.33.0/24) của cái supernet route .32.0/22 trong IP routing table (not in BGP routing table). Cái static route này chỉ là thí dụ, happend to point to null. Nó có thể là any routes from any sources (direct, RIP, OSOF....).
Hope it helps.

ccie2467
06-06-2003, 09:00 PM
Xin lổi tất cả. Lần tới anh sẻ bỏ nội dung lên nếu ngắn. Cảm ơn SVN dã post.
ADMIN uiiiii, nếu tài liệu dài, chỉ cho anh cách dề attached file d ko?

ttp
06-06-2003, 11:59 PM
các anh ơi,

Tại sao em lại không vào được trang cisco này vậy? Em cũng có account và password đúng mà

ttp
07-06-2003, 01:13 AM
SVN ơi,

Cái link này có diagram, sao SVN không post nó lên?

ccie2467
07-06-2003, 02:21 AM
ttp, em cho anh email anh sẻ gửi tài liệu cho.

sinhvienngheo
09-06-2003, 03:34 PM
SVN,
Em dọc kỷ lại cái paragraph ngay ở dưới
R101#show ip route 192.168.32.0 255.255.252.0 longer-prefixes
[..]
S 192.168.33.0/24 is directly connected, Null0

aggregate route (supernet route) 192.168.32.0/22 include 4 class C (32,33,34,35)
Static route shows one class C only, 192.168.33.0/24 to null. Trong cái thí dụ này nó cho biết là có cái COMPONENT ROUTE (.33.0/24) của cái supernet route .32.0/22 trong IP routing table (not in BGP routing table). Cái static route này chỉ là thí dụ, happend to point to null. Nó có thể là any routes from any sources (direct, RIP, OSOF....).
Hope it helps.

cám ơn Anh, em đã kiểm tra lại.
Aggrgate route sẽ có trong bảng BGP và được đưa vào bảng routing với next-hop là router thực hiện aggregate.

dangquangminh
11-09-2004, 06:31 PM
Tóm tắt giải thuật tìm đường đi tốt nhất của BGP:

BGP sẽ gán đường đi hợp lệ đầu tiên như là đường đi tốt nhất hiện có. Sau đó BGP sẽ so sánh đường đi tốt nhất này với đường đi kế tiếp trong danh sách cho đến khi nào hoàn tất tất cả các đường trong danh sách các đường đi hợp lệ. Dưới đây là danh sách các luật được dùng để xác định đường đi tốt nhất.

* Ưu tiên đường đi có trọng số WEIGHT cao nhất. WEIGHT là một thông số do Cisco đưa ra. Thông số này chỉ có ảnh hưởng trong phạm vi nộI bộ của router được cấu hình dùng thông số này.

* Ưu tiên đường đi có LOCAL_PREF cao nhất. Những đường đi không có thuộc tính LOCAL_PREF sẽ có giá trị mặc định là 100.

* Ưu tiên những đường đi có nguồn gốc từ lệnh network hoặc lệnh aggregate hoặc thông qua quá trình redistribution từ một IGP. Các đường đi có nguồn gốc từ lệnh network hoặc lệnh redistribution được ưu tiên hơn những đường đi có nguồn gốc từ lệnh aggregate.

* Ưu tiên những đường đi có thuộc tính AS_PATH ngắn nhất. Bước này sẽ bị bỏ qua nếu biến bgp bestpath as-path được cấu hình. Một tập hợp AS_SET sẽ được đếm từ 1, bất chấp có bao nhiêu AS bên trong tập hợp. Các biến AS_CONFED_SEQUENCE và AS_CONFED_SET sẽ không bao gồm trong AS_PATH.

* Ưu tiên các đường đi có nguồn gốc thấp nhất. IGP thì thấp hơp EGP và EGP thì thấp hơn INCOMPLETE.

* Ưu tiến những đường đi có giá trị MED nhỏ nhất. Sự so sánh này chỉ được thực hiện nếu AS đầu tiên là giống nhau cho cả hai đường đi. Bất cứ một AS con nào của confederation sẽ bị bỏ qua. Nói cách khác, MED được so sánh chỉ nếu giá trị AS đầu tiên trong AS_SEQUENCE là giống nhau. Nếu lệnh bgp always-compare-med được cấu hình, MED được so sánh cho tất cả các đường đi có thể. Nếu dùng chọn lựa này, tất cả các router trong AS phảI được cấu hình vớI chọn lựa bgp always-compare-med, nếu không routing loop sẽ xảy ra. Nếu thông số bgp bestpath med-confed được cấu hình, MED sẽ được so sánh trên tất cả các đường đi mà chỉ chứa biến AS_CONFED_SEQUENCE ( là những đường đi xuất phát từ local confederation). Những đường đi được nhận từ một router láng giềng có giá trị MED là 4,294,967,295 sẽ có giá trị MED thay đổI đến 4,294,967,294 trước khi được chèn vào bảng BGP. Những đường đi được nhận mà không có MED được cấu hình sẽ được gán giá trị MED bằng 0.

* Ưu tiên những đường đi eBGP so vớI iBGP. Nếu đường đi tốt nhất được chọn lựa, qua bước 9.

* Ưu tiên những đường đi có IGP metric thấp nhất đến BGP next-hop.

* Kiểm tra xem có nhiều đường đi dự phòng cần phảI cài đặt vào bảng routing hay không. Nếu cả hai đường đi là từ bên ngoài, ưu tiên đường đi được nhận trước (đường đi cũ nhất). Bước này sẽ bị bỏ qua nếu
-Lệnh bgp best path compare-routerid được dùng
-RouterID là giống nhau cho nhiều đường đi vì các routes được nhận từ cùng 1 router.
-Hiện tại không có một đường đi tốt nhất.

* Ưu tiên những đường đi đến từ BGP router có routerID nhỏ nhất. Giá trị routerID là địa chỉ IP cao nhất trên router. Giá trị này cũng có thể được gán bằng lệnh bgp router-id. Nếu một đường đi chứa 1 route-reflector, thuộc tính Originator ID của Route-Reflector sẽ thay thế cho routerID.

* Nếu RouterID là giống nhau cho nhiều đường đi, ưu tiên đường đi có số cluster là ít nhất. Điều này chỉ đúng trong môi trường BGP route-reflector. Nó cho phép những thành viên trong Route-Reflector thiết lập quan hệ peer vớI các thành viên trong các RR khác.

* Ưu tiên những đường đi đến từ những láng giềng có địa chỉ thấp nhất. Địa chỉ này là địa chỉ được dùng trong lệnh neighbor.