Что такое префикс (Prefix) в BGP?
Создана 20.07.2026
Отредактирована 20.07.2026
Отредактирована 20.07.2026
Префикс (Prefix) в BGP — это сеть назначения (IP-адрес + маска подсети), которую один маршрутизатор объявляет (анонсирует) другим маршрутизаторам.
Это своего рода "вывеска" на доме: "Эти IP-адреса находятся за мной, отправляйте трафик ко мне".
Как выглядит префикс в реальной жизни?
Откройте любой маршрутизатор и введите команду show ip bgp. В колонке Network вы увидите именно префиксы. Вот пример из моей лабораторной работы:
Network Next Hop Metric LocPrf Weight Path *> 1.1.1.1/32 0.0.0.0 0 32768 i *> 2.2.2.2/32 10.0.0.2 0 0 65002 i *> 4.4.4.4/32 10.0.0.10 0 0 65003 i
В этой таблице каждая строка — это отдельный префикс:
- 1.1.1.1/32 — сеть с одним IP-адресом (мой Loopback).
- 2.2.2.2/32 — сеть с одним IP-адресом (провайдер 1).
- 4.4.4.4/32 — сеть с одним IP-адресом (провайдер 2).
Префикс vs Маршрут (Path): В чем разница?
Это два разных понятия, которые часто путают. Запомните раз и навсегда:
| Термин | Что это? | Пример |
|---|---|---|
| Префикс | Что мы анонсируем (сама сеть). | 192.168.1.0/24 |
| Маршрут (Path) | Как до него добраться (атрибуты). | AS_PATH = 65002, Next-Hop = 10.0.0.2 |
Важно: К одному префиксу может вести несколько маршрутов. Например, вы можете получить сеть 8.8.8.0/24 от двух разных провайдеров. Это будет два маршрута (пути) к одному и тому же префиксу. BGP выберет лучший из них.
Что такое длина префикса (маска)?
Число после знака / называется длиной префикса (или маской подсети). Она определяет, сколько IP-адресов входит в эту сеть:
| Префикс | Количество адресов | Пример использования |
|---|---|---|
| /32 | 1 адрес | Loopback-интерфейс маршрутизатора |
| /30 | 4 адреса | Точка-точка между двумя роутерами |
| /24 | 256 адресов | Сеть офиса или небольшого провайдера |
| /0 | Все адреса (0.0.0.0/0) | Дефолтный маршрут (Default route) |
Золотое правило BGP (Самая длинная маска)
Если к одному адресу ведут два разных префикса, BGP (и любой протокол маршрутизации) всегда выберет префикс с самой длинной маской (самым большим числом после /).
Это правило называется Longest Prefix Match. Рассмотрим пример ниже:
*> 10.0.0.0/8 192.168.1.1 0 0 65001 i *> 10.1.0.0/16 192.168.2.1 0 0 65002 i
Если пакет идет к адресу 10.1.5.1:
- Он подходит под оба префикса.
- Но /16 длиннее, чем /8 (16 > 8).
- Будет выбран маршрут через 192.168.2.1 (префикс 10.1.0.0/16).
Где мы используем префиксы в настройках?
1. В команде network:
network 1.1.1.1 mask 255.255.255.255
Мы говорим BGP, какой префикс анонсировать.
2. В фильтрации (Prefix-lists):
ip prefix-list ALLOWED permit 1.1.1.1/32
3. В таблице маршрутизации:
show ip route bgp
Мы видим, какие префиксы были установлены в ядро.
Итог
Префикс — это фундаментальное понятие в BGP. Это сеть, которую вы анонсируете в мир.
Маршрут (Path) — это набор атрибутов, который описывает, как до этой сети добраться.
Запомните: Если видите запись вида 192.168.0.0/16 — это префикс. Если видите via 10.0.0.1, AS 65001 — это маршрут (путь) к нему.