AS PATH (Autonomous System Path) — это список номеров автономных систем (AS), через которые проходит маршрут в BGP. Это помогает:
-
Избежать петель маршрутизации.
-
Выбирать наилучший маршрут (по кратчайшему пути — меньше AS).
-
Влиять на выбор маршрута (например, «удлинить» путь, чтобы он не использовался).
Пример:
Это означает, что маршрут прошёл через три AS: сначала 65010, потом 65020, затем 65030 (и там находится сеть назначения).
Как AS PATH влияет на выбор маршрута?
BGP по умолчанию предпочитает маршрут с наименьшим количеством AS в пути.
Пример:
-
Путь 1:
65001 65002
— 2 AS -
Путь 2:
65003 65004 65005
— 3 AS
➡️ BGP выберет Путь 1.
Удлинение AS PATH (AS PATH prepending)
Цель:
Сделать маршрут менее предпочтительным, добавив лишние AS в путь. Обычно используется для резервных каналов.
Сценарий:
-
У вас 2 провайдера: ISP1 и ISP2.
-
Вы хотите, чтобы входящий трафик шёл через ISP1, а ISP2 использовался как резерв.
Настройка на маршрутизаторе:
Результат:
-
Через ISP1 маршрут выглядит как:
65000
-
Через ISP2 маршрут выглядит как:
65000 65000 65000 65000
➡️ Большинство соседей будут выбирать маршрут через ISP1.
Фильтрация маршрутов по AS PATH
Цель:
Заблокировать маршруты от определённой AS.
Сценарий:
Вы не хотите принимать маршруты, которые проходят через AS 65066 (например, из-за политических или технических причин).
Настройка:
ip as-path access-list 10 deny _65066_
ip as-path access-list 10 permit .*
route-map FILTER-AS deny 10
match as-path 10
route-map FILTER-AS permit 20
router bgp 65000
neighbor 203.0.113.1 remote-as 65030
neighbor 203.0.113.1 route-map FILTER-AS in
Пояснение:
-
Регулярное выражение
_65066_
означает «AS 65066 есть где-то в пути». -
Такие маршруты будут отклоняться.
-
Все остальные маршруты (
.*
) разрешены.
Маршруты с конкретным началом/концом AS PATH
Вы можете использовать регулярные выражения для тонкой настройки.
Регулярка | Значение |
---|---|
^65001 |
Маршрут начинается с AS 65001 |
65020$ |
Маршрут заканчивается на AS 65020 |
^65010 65020$ |
Только путь: 65010 → 65020 |
Пример: разрешить только маршруты, начинающиеся с 65010:
Итог
Действие | Как помогает |
---|---|
AS PATH prepending | Управляет входящим трафиком (менее предпочтителен) |
Фильтрация по AS PATH | Защита и контроль маршрутов |
Выбор маршрута по длине пути | BGP предпочитает наименьшее количество AS |
Примеры конфигурации под Cisco и Juniper я выложил здесь — ссылка.