linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • Симулятор
  • База знаний
  • Собеседование
home/linux/how/bgp

how/network

BGP - как интернет договаривается о маршрутах

Тысячи независимых сетей (AS) объединены в интернет. Никто не знает «всю карту» - каждая AS просто рассказывает соседям что она умеет достать. Из этого складывается весь маршрутинг планеты.

Интернет - это не один большой роутер. Это ~100 000 независимых сетей, каждая со своим оператором (Google, Cloudflare, твой провайдер, корпоративная сеть банка). Каждая такая сеть называется AS (Autonomous System) и имеет свой номер.

Между AS работает BGP (Border Gateway Protocol) - протокол, по которому AS рассказывают друг другу какие префиксы они могут доставить и через какой путь. Из этих рассказов каждая AS строит свою картину «как достать любой префикс в интернете».

Нажми ▶ - посмотрим как один префикс 1.1.1.0/24 распространяется по сети из 5 AS, и как AS_PATH становится критерием выбора пути.

step 1/7·00 · AS1 владеет префиксом, остальные не знают
AS1AS645011.1.1.0/24✓ learnedAS2AS64502AS3AS64503AS5AS64505AS4AS64504AS1 владеет префиксом 1.1.1.0/24. остальные AS пока не знают как до него добраться

§ шаги

  1. AS1 - это, например, Cloudflare. У них есть префикс 1.1.1.0/24. Они его владелец - могут официально объявлять куда угодно.

    Остальные 4 AS пока не знают как до него добраться. Их [[routing-table|routing-таблицы]] не содержат маршрута к этому префиксу. До запуска BGP-объявлений интернет не знает о 1.1.1.0/24.

итого

Что важно запомнить:

  • AS = независимая сеть с собственным номером (16- или 32-битным). У большой компании может быть много AS: AWS использует AS16509, AS14618 и десятки других для разных регионов
  • BGP UPDATE содержит префикс + AS_PATH (список AS через которые объявление прошло). Каждая AS добавляет свой номер в начало при пропагации
  • Defence от петель: если AS видит свой номер в AS_PATH - она игнорирует объявление. Так petли невозможны на уровне BGP
  • Path selection делается по списку атрибутов в порядке: LOCAL_PREF → AS_PATH length → ORIGIN → MED → eBGP/iBGP → IGP cost. AS_PATH length - самый известный, но операторы часто переопределяют через LOCAL_PREF
  • AS_PATH prepending - техника, когда AS добавляет себя несколько раз в начало (искусственно удлиняет путь). Используется чтобы направить входящий трафик через предпочтительный путь
  • BGP hijacking - когда AS объявляет чужой префикс. Реальная атака (или ошибка): в 2018 году AS 7007 объявил пол-интернета на пару часов. Защита - RPKI (Resource PKI), валидирует кто имеет право объявлять префикс
  • Полная BGP-таблица интернета сейчас - ~950 000 префиксов, занимает несколько ГБ памяти на роутерах. Поэтому маленькие роутеры (типа домашних) BGP не делают вообще

Если хочется глубже - есть bgp статья в KB и продвинутый урок advanced-08-bgp-minimal где можно собрать BGP-сессию между двумя контейнерами.

§ копнуть в базу знаний

  • bgpBGP - расширенная статья
  • routing-tablerouting table - куда BGP пишет результаты
  • ip-forwardingip_forward - основа форвардинга

§ попробовать руками

  • ›advanced-08-bgp-minimal- BGP - собрать сессию между нодами
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки