Мы рассмотрели атрибут веса (wight) в прошлой статье, теперь рассмотрим LOCAL_PREFERENCE.
LP используется тогда, когда у нас есть два роутера, которые используются для выхода из нашей AS. И атрибут LP указывает на то, через какой роутер будет осуществляться выход. А weight из прошлой статьи указывать через какой интерфейс будет осщуствляться выход. Чем больше LP, тем приоритетнее.
Вот такая идеология.
Давайте сделаем топологию:
Нас будет интересовать AS1.3 и как мы с него достигаем сеток 10.10.10.10/32 и 20.20.20.20/32. Посмотрим что у нас по умолчанию:
Здесь мы видим, что к сети 10-ок мы ходим через AS1.1, а в сеть 20-ок мы ходим через AS1.2, этот выбор на самом деле делается по кратчайшему AS-PATH, так как вес одинаковый, а так же одинаковый LocPrf.
А что если у нас линк, между AS1.2 и AS3 очень медленный, какой-нибудь 256кбит? Ведь BGP не смотрит на пропускную способность.
Тогда мы можем использовать атрибут Local Preference. На роутере AS1.1 поставил LocPrf = 200.
Делается это на AS1.1, на нейборе к AS2 через route-map на in, вот так:
AS1.1(config-route-map)#do sh run | s bgp
router bgp 1
no synchronization
bgp log-neighbor-changes
network 1.1.1.0 mask 255.255.255.0
network 1.1.10.0 mask 255.255.255.0
network 1.1.12.0 mask 255.255.255.0
neighbor 1.1.1.2 remote-as 1
neighbor 1.1.1.2 next-hop-self
neighbor 1.1.10.2 remote-as 2
neighbor 1.1.10.2 route-map LP in
neighbor 1.1.12.3 remote-as 1
neighbor 1.1.12.3 next-hop-self
no auto-summary
AS1.1(config-route-map)#
Описываем route-map
route-map LP permit 10
set local-preference 200
Теперь делаем пересылку апдейтов и получаем:
Мы видим, что теперь в сетки 10-ток и 20-ок мы ходим через AS1.1, так как LocPref у нас равен 200 и является более приоритетным.
Таким образом мы можем управлять исходищм трафиком, через какой роутер мы будем выходить из нашей AS. Если бы на роутере было бы еще два линка, то там с помощью weight возможно определить приоритетность того или иного выхода, как это делали в прошлой статье.