Выбор маршрута
Ситуация с маршрутами у нас такая. Есть BGP-таблица, в которой хранятся абсолютно все маршруты, полученные от соседей.
 То есть если есть у нас несколько маршрутов, до сети 100.0.0.0/23, то все они будут в BGP-таблице, независимо от “плохости” оных:
То есть если есть у нас несколько маршрутов, до сети 100.0.0.0/23, то все они будут в BGP-таблице, независимо от “плохости” оных:

А есть знакомая нам таблица маршрутизации, хранящая только лучшие из лучших. Точно также BGP анонсирует не все приходящие маршруты, а только лучшие. То есть от одного соседа вы никогда не получите два маршрута в одну сеть.
Итак, критерии выбора лучших:
- Максимальное значение Weight (локально для маршрутизатора, только для Cisco) 
- Максимальное значение Local Preference (для всей AS) 
- Предпочесть локальный маршрут маршрутизатора (next hop = 0.0.0.0) 
- Кратчайший путь через автономные системы. (самый короткий AS_PATH) 
- Минимальное значение Origin Code (IGP < EGP < incomplete) 
- Минимальное значение MED (распространяется между автономными системами) 
- Путь eBGP лучше чем путь iBGP 
- Выбрать путь через ближайшего IGP-соседа - Если это условие выполнено, то происходит балансировка нагрузки между несколькими равнозначными линками - Следующие условия могут различаться от вендора к вендору. 
- Выбрать самый старый маршрут для eBGP-пути 
- Выбрать путь через соседа с наименьшим BGP router ID 
- Выбрать путь через соседа с наименьшим IP-адресом 
Как видите, очень много критериев выбора. Причём они довольно сложные и с ходу их все понять непросто. Втягивайтесь потихоньку. О некоторых упомянутых атрибутах мы поговорим ниже, а конкретно на выборе маршрутов остановимся в отдельной статье.
Last updated
