- Back to Home »
- BGP »
- BGP - Thuộc tính Metric (6/13 step select route)
Posted by : 86Gems
24 September 2014
Các thuộc tính metric còn được gọi là Multi_exit_discriminator, MED (BGP4) hoặc Inter−As (BGP3) là một gợi ý cho external neighbors về tuyến đường ưu tiên hơn vào một AS. Ta có thể thay đổi metric để chọn một đường tốt nhất để tới một
AS khi có nhiều đường để tới AS đó. Giá trị metric càng thấp thì càng được ưu
tiên.
Không giống như giá trị local preference, giá trị metric được trao
đổi giữa các AS. Một giá trị
metric được mang tới một AS nhưng
không rời khỏi AS đó. Khi một bản
cập nhật vào trong AS cùng một giá
trị metric cụ thể, giá trị này được sử dụng để ra quyết định bên trong AS đó. Khi cập nhật tương tự tới AS thứ
ba, giá trị metric này sẽ được
thiết lập trở về 0 như trong sơ đồ trên. Giá trị metric mặc định là 0.
Theo mặc định thì một router chỉ so
sánh metric cho tuyến đường đến từ
các láng
giềng trong cùng một AS. Để các router so sánh giá trị metric từ các
nước láng giềng
đến từ các AS khác nhau, ta cấu hình lệnh "bgp always-compare-med" .
Trong sơ đồ trên, AS100
là nhận được
thông tin về mạng 180.10.0.0 thông qua ba bộ định tuyến khác nhau: RTC, RTD và RTB. RTC và RTD trong AS300
và RTB là trong AS400.
Giả sử rằng, ta đã thiết lập metric từ RTC
đến là 120, giá trị metric đến từ RTD đến là 200 và từ RTB là 50. Theo mặc định
thì RTA chỉ có thể so sánh metric từ RTC với metric từ RTD và sẽ chọn
RTC sẽ là next hop vì 120 bé hơn 200.
Khi RTA nhận được một bản cập nhật từ RTB với metric 50, nó không thể so sánh
với 120 vì RTC và RTB trong AS khác
nhau (RTA có để lựa chọn dựa trên
một số thuộc tính khác).
Để buộc RTA để so sánh các số liệu ta thêm lệnh bgp always-compare-med vào RTA. Điều này được minh họa trong đoạn cấu hình dưới đây:
RTA#
router bgp 100
neighbor 2.2.2.1 remote−as 300
neighbor 3.3.3.3 remote−as 300
neighbor 4.4.4.3 remote−as 400
....
RTC#
router bgp 300
neighbor 2.2.2.2 remote−as 100
neighbor 2.2.2.2 route−map setmetricout out
neighbor 1.1.1.2 remote−as 300
route−map setmetricout
permit 10
set metric 120
RTD#
router bgp 300
neighbor 3.3.3.2 remote−as 100
neighbor 3.3.3.2 route−map setmetricout out
neighbor 1.1.1.1 remote−as 300
route−map setmetricout
permit 10
set metric 200
RTB#
router bgp 400
neighbor 4.4.4.4 remote−as 100
neighbor 4.4.4.4 route−map setmetricout out
route−map setmetricout
permit 10
set metric 50
Với các cấu hình trên, RTA sẽ chọn RTC như hop kế tiếp, xem xét tất cả các thuộc tính khác đều giống nhau. Để có RTB được tham gia vào
quá trình so sánh metric, chúng ta phải cấu hình RTA như sau:
RTA#
router bgp 100
neighbor 2.2.21 remote−as 300
neighbor 3.3.3.3 remote−as 300
neighbor 4.4.4.3 remote−as 400
bgp always−compare−med
Trong trường hợp này
RTA sẽ chọn RTB là hop tốt nhất để tới mạng 180.10.0.0.
Metric cũng
có thể được đặt khi phân phối lại (redistribute) các tuyến đường vào BGP sử
dụng lệnh default−metric number.
Giả sử trong ví dụ trên là RTB được tham
gia vào mạng thông qua định tuyến tĩnh vào AS100 với cấu hình như sau:
RTB#
router bgp 400
redistribute static
default−metric 50
ip route 180.10.0.0 255.255.0.0 null 0
!−− Causes RTB to send
out 180.10.0.0 with a metric of 50