1. Tổng quan.
Local Preference (Ưu tiên cục bộ) là một trong những thuộc tính BGP quan trọng được sử dụng để ưu tiên đường dẫn đến các destination network. Thuộc tính Local Preference là một giá trị số nguyên không âm (0-4,294,967,295) và được truyền giữa các neighbor BGP trong cùng một Autonomous System (AS).
- Chức Năng của Local Preference:
- Local Preference là một cách để ưu tiên các đường dẫn đến các destination network trong BGP. Nó quyết định đường dẫn mà router BGP sẽ chọn để truyền dữ liệu tới mạng mục tiêu.
- Local Preference không được truyền ra ngoài AS và chỉ áp dụng cho việc quyết định định tuyến tại router local.
- Truyền Giữa Neighbor BGP cùng AS:
- Local Preference được truyền giữa các neighbor BGP cùng AS để thông báo cho các router BGP trong AS về ưu tiên đường dẫn tới các destination network.
- Điều này có nghĩa rằng nó ảnh hưởng đến quyết định định tuyến của tất cả các router BGP trong AS.
- Ưu Tiên Trong Bảng Định Tuyến:
- Khi có nhiều đường dẫn đến cùng một destination network, router BGP sẽ sử dụng Local Preference để quyết định đường dẫn tốt nhất.
- Đường dẫn có Local Preference cao nhất sẽ được ưu tiên hơn trong quá trình định tuyến. Nó được coi là đường dẫn tốt nhất để truyền dữ liệu tới destination network. Nếu có nhiều đường dẫn có cùng giá trị Local Preference cao nhất, các thuộc tính BGP khác như AS Path, Origin, và MED sẽ được sử dụng để xác định đường dẫn tốt nhất trong những trường hợp đó.
- Local Preference ảnh hưởng tới toàn bộ mạng trong AS. Điều này có nghĩa nó có thể được sử dụng để kiểm soát lưu lượng mạng và quyết định cách định tuyến từ các neighbor BGP trong cùng AS. Người quản trị mạng có thể sử dụng Local Preference để ưu tiên các đường dẫn tới các mạng ưa thích hoặc điều hướng lưu lượng qua các đường dẫn cụ thể.
- Local Preference không được truyền ra ngoài AS. Nó chỉ ảnh hưởng đến quyết định định tuyến tại router local và giữa các router BGP trong cùng AS. Các AS khác sẽ không biết về giá trị Local Preference của destination network.
2. Sơ đồ.
3. Cấu hình lựa chọn đường đi với Local Preference.
Bạn hãy cấu hình cơ bản theo hướng dẫn của bài https://wiki.hoanghd.com/bgp-route-selection-process-phan-1-tong-quan-ve-cac-phuong-phap-chon-duong-di-trong-bgp/ trước khi tiếp tục nhé.
Sử dụng thuộc tính Local Preference đảm bảo AS 100 luôn chọn đường đi đến loopback 0 của Router-4 thông qua Router-2 và đi đến loopback 1 của Router-4 thông qua Router-3.
Cấu hình trên Router-2.
configure terminal
ip prefix-list Lo0_R4 permit 172.16.4.0/24
route-map LOCAL_PREF permit 10
match ip address prefix-list Lo0_R4
set local-preference 400
exit
route-map LOCAL_PREF permit 100
router bgp 100
neighbor 172.16.24.4 route-map LOCAL_PREF in
end
clear ip bgp 172.16.24.4 soft in
Cấu hình trên Router-3.
configure terminal
ip prefix-list Lo1_R4 permit 172.16.44.0/24
route-map LOCAL_PREF permit 10
match ip address prefix-list Lo1_R4
set local-preference 400
exit
route-map LOCAL_PREF permit 100
router bgp 100
neighbor 172.16.34.4 route-map LOCAL_PREF in
end
clear ip bgp 172.16.34.4 soft in
Kết quả khi show ip bgp trên Router-1 bạn sẽ thấy tham số LocPrf đã được đánh 400 cho network 172.16.4.0/24 khi đi qua next-hop Router-2 và network 172.16.44.0/24 khi đi qua Router-3.
Router-1#show ip bgp
BGP table version is 8, local router ID is 172.16.11.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*>i 172.16.4.0/24 172.16.2.1 0 400 0 200 i
*> 172.16.11.0/24 0.0.0.0 0 32768 i
*>i 172.16.22.0/24 172.16.2.1 0 100 0 i
*>i 172.16.33.0/24 172.16.3.1 0 100 0 i
*>i 172.16.44.0/24 172.16.3.1 0 400 0 200 i
Trên Router-1 khi show ip route 172.16.4.0 ta thấy next-hop đi theo hướng Router-2.
Router-1#show ip route 172.16.4.0
Routing entry for 172.16.4.0/24
Known via "bgp 100", distance 200, metric 0
Tag 200, type internal
Last update from 172.16.2.1 00:06:04 ago
Routing Descriptor Blocks:
* 172.16.2.1, from 172.16.2.1, 00:06:04 ago
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 200
MPLS label: none
Router-1#traceroute 172.16.4.1 source loopback 1
Type escape sequence to abort.
Tracing the route to 172.16.4.1
VRF info: (vrf in name/id, vrf out name/id)
1 172.16.12.2 1 msec 1 msec 1 msec
2 172.16.24.4 1 msec * 1 msec
Trường hợp đi tới dest là 172.16.44.0 sẽ đi theo hướng Router-3.
Router-1#show ip route 172.16.44.0
Routing entry for 172.16.44.0/24
Known via "bgp 100", distance 200, metric 0
Tag 200, type internal
Last update from 172.16.3.1 00:03:24 ago
Routing Descriptor Blocks:
* 172.16.3.1, from 172.16.3.1, 00:03:24 ago
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 200
MPLS label: none
Router-1#traceroute 172.16.44.1 source loopback 1
Type escape sequence to abort.
Tracing the route to 172.16.44.1
VRF info: (vrf in name/id, vrf out name/id)
1 172.16.13.3 1 msec 1 msec 0 msec
2 172.16.34.4 2 msec * 2 msec