Управление BGP трафиком: AS-Path Prepending, MED, Local Preference и Weight
- Асимметричный трафик: 100% входящего потока идет через медленный резервный канал ISP2.
- Исходящий трафик распределяется некорректно вопреки настройкам маршрутизатора.
- Анонсируемые атрибуты игнорируются транзитными автономными системами в интернете.
- Качели нагрузки (Flapping) из-за несогласованных метрик MED между операторами.
1. Порядок выбора лучшего пути BGP (Best Path Algorithm)
- Weight (Локально для Cisco, наибольшее значение);
- Local Preference (Внутри AS / iBGP, наибольшее значение);
- Local Originated (Маршрут, сгенерированный локально через network/aggregate);
- AS-Path Length (Кратчайшая цепочка AS);
- Origin Code (IGP < EGP < Incomplete);
- MED (Multi-Exit Discriminator, наименьшее значение);
- eBGP над iBGP;
- IGP метрика к BGP NEXT_HOP;
- BGP Router ID (Наименьший).
2. Управление ИСХОДЯЩИМ трафиком (Local Preference / Weight)
# Настройка Local Preference (передается внутри всей iBGP сети)
route-map RM_ISP1_IN permit 10
set local-preference 200
!
route-map RM_ISP2_IN permit 10
set local-preference 100
!
router bgp 65001
neighbor 198.51.100.1 route-map RM_ISP1_IN in
neighbor 203.0.113.1 route-map RM_ISP2_IN in3. Управление ВХОДЯЩИМ трафиком (AS-Path Prepending)
Для того чтобы входящий трафик шел через ISP1, искусственно удлиняем AS-Path в анонсах к резервному ISP2:
route-map RM_ISP2_OUT permit 10
set as-path prepend 65001 65001 65001
!
router bgp 65001
neighbor 203.0.113.1 route-map RM_ISP2_OUT out4. Применение мягкого сброса для применения политик
clear ip bgp * soft Частые вопросы (FAQ)
В чем разница между BGP Weight и Local Preference?
Weight является проприетарным атрибутом Cisco и действует только в пределах одного конкретного роутера. Local Preference передается всем iBGP-соседям внутри одной автономной системы.
Почему AS-Path Prepending не всегда переключает входящий трафик?
Если удаленный оператор выставил для канала со своим апстримом высокий Local Preference, этот атрибут будет иметь приоритет над длиной вашего AS-Path в алгоритме выбора BGP Best Path.
Передается ли атрибут MED в другие автономные системы дальше соседней?
Нет. По умолчанию MED (Multi-Exit Discriminator) передается только в соседнюю AS и не транслируется транзитными провайдерами дальше в глобальный интернет.
Сколько раз безопасно выполнять Prepend своей AS?
Рекомендуется делать от 2 до 4 повторений своего номера AS. Более 5-6 повторений часто отсекаются защитными фильтрами крупных Tier-1 операторов.