Кратко

  • MULTI_EXIT_DISC — слабая, необязательная и нетранзитивная рекомендация точки входа среди нескольких связей с одним объявляющим AS; малое значение учитывается лишь при равенстве более сильных локальных критериев.
  • Принимающая сеть сохраняет контроль: может удалить или изменить MED до выбора, а обычное правило сравнивает значения только между путями одного соседнего AS.
  • Безопасность требует двустороннего смысла, достаточной видимости кандидатов и рабочих доказательств. Общая шкала из чисел разных сетей способна вызвать противоречивый выбор или устойчивые колебания в определённых топологиях.

AS 65001 соединён с AS 65002 в Москве и Санкт-Петербурге. Для одного префикса 65001 объявляет MED 20 в Петербурге и MED 80 в Москве. При равенстве остальных важных атрибутов он предпочитает принимать трафик в Петербурге — возможно, из-за ёмкости, внутреннего расстояния или ограничения на другой площадке.

65002 всё равно решает сам. Контракт может дать петербургскому пути меньший LOCAL_PREF. Сеть может принимать MED только в отдельных отношениях, удалить атрибут, заменить число или выбирать на маршрутизаторе без видимости альтернативы. Малое число не записывает чужую политику; его оценивает независимо управляемая система.

RFC 4271 воплощает эту скромность в MULTI_EXIT_DISC: необязательное нетранзитивное четырёхоктетное беззнаковое число. При прочем равенстве следует предпочитать меньшую метрику. Полученное по EBGP значение можно передать по IBGP внутри принимающего AS, но нельзя отправлять другому соседнему AS. Совет прекращается на границе отношений, дающих ему смысл.

Права получателя явны. Реализация обязана позволять локально удалить входящий MED до расчёта предпочтения и выбора; на той же стадии можно изменить значение. Отправитель владеет объявлением. Получатель определяет, останется ли число и к какому локальному последствию приведёт.

Слабость создана намеренно. RFC 1773 описывал прежний inter-AS metric как поздний фактор. Удалённый оператор не должен заставлять другую сеть принимать или выталкивать трафик, когда она уже выразила более сильное предпочтение. LOCAL_PREF, длина AS_PATH и ранние этапы сохраняют условность совета.

Поэтому «самый низкий MED всегда выигрывает» неверно. Путь с 10 проиграет пути со 100, если второй имеет лучший LOCAL_PREF или побеждает раньше. RFC 8326 показывает ограничение при обслуживании: увеличение MED не выводит линк, если альтернатива раньше проиграла по LOCAL_PREF или длине AS_PATH.

Обычная область сравнения ещё уже. RFC 4271 сравнивает MED только у маршрутов одного соседнего AS, определяемого по AS_PATH. Три значения AS 65001 могут упорядочить его входы. Маршрут AS 65003, вероятно, использует иную топологию, цены и политику. Двадцать в одних отношениях не обязано быть меньше сорока в других.

MED не задаёт полный порядок. A может победить B из-за общего соседа и меньшего MED; B и C от разных AS переходят к иным критериям. Это не превращает A, B и C в транзитивную последовательность. Важны группировка, победители групп и видимые кандидаты.

IOS XR описывает модель: сгруппировать кандидатов по соседнему AS, выбрать лучший MED внутри каждой группы, затем продолжить отбор среди победителей. Это отражает ограниченную область протокола и объясняет, почему порядок или полнота путей меняет ответ.

Некоторые продукты разрешают сравнивать разные соседние AS. Все числа в одном конкурсе выглядят последовательнее, но фактически расширяют влияние удалённых значений. Juniper предупреждает о шкалах без общего происхождения, RFC 3345 не рекомендует этот приём как общее исправление. Одинаковый числовой тип не доказывает общую единицу.

Получатель может сознательно создать шкалу: переписать все входящие MED собственной политикой или договориться с участниками об известной сервисной метрике. Тогда сравнимость создаёт локальный смысл. Следует зафиксировать группу, вычисление, отсутствие и приоритет; четыре октета из Интернета не несут единицы сами по себе.

Отсутствию MED также нужна политика. Атрибут необязателен, поэтому у одного пути значение есть, у другого нет. Продукты и правила по-разному понимают молчание. Оператор проверяет действующее поведение, не предполагая, что отсутствие всегда равно нулю, бесконечности или выбору одного поставщика.

Видимость кандидатов меняет выбор. Full-mesh IBGP раздаёт больше выходов; Route Reflection и конфедерации снижают нагрузку, не показывая все пути везде. RFC 4456 предупреждает: MED не всегда сравним, IGP-расстояние различается по маршрутизаторам, поэтому некоторые отражённые топологии выбирают иначе, чем полная сетка.

Это не приговор иерархии. Её видимость должна войти в доказательство. Если один reflector видит A и B, другой B и C, а предпочтение нетранзитивно, каждое локально разумное решение может удалить информацию, необходимую в другом месте. Экономия масштаба изменила поверхность решения.

RFC 3345 документирует ограниченные условия устойчивой осцилляции: определённые структуры reflectors или конфедераций, частичная и противоречивая видимость выходов, выбор с MED. В этих условиях поведение детерминировано. Оно не возникает в каждой сети, но и не является случайным физическим шумом.

Меры меняют власть или видимость: перестроить reflectors, дать граничным маршрутизаторам видеть друг друга, установить LOCAL_PREF на входе, нормализовать или удалить MED, ограничить отношения, распределить дополнительные пути. Сравнение всего смешивает несовместимые пространства; удаление всего теряет полезный совет. Исправление отвечает доказанной причине.

RFC 5004 рассматривает более узкое переключение. Если текущий внешний best path и его замена доживают до позднего сравнения идентификаторов, можно сохранить текущий и избежать лишнего перехода. Это сокращает некоторые изменения, но не устраняет все осцилляции RFC 3345.

Порядок прихода тоже важен. RFC 4451 отмечает реализации, где хранение самого старого пути и порядок кандидатов создавали временную недетерминированность. Результат должен следовать заданным входам и политике, а не тому, какой UPDATE первым попал в память. Стабильная обработка всё равно требует проверки маршрута.

Доказательство начинается до трафика. Сохранять исходную входящую route, соседнюю AS-группу, наличие MED, значение после политики, LOCAL_PREF, AS_PATH, видимые кандидаты и причину best path. Сравнивать границы и внутренние решения, а не одно looking glass.

Затем проверять пересылку. Выбор BGP должен создать ожидаемый FIB NEXT_HOP, а телеметрия — показать поток на нужном соединении. Низкий MED на экране не доказывает победу. Best path одного RIB не доказывает путь пакетов другого входа. Тихий линк может означать обход, потерю или отсутствие спроса.

Испытание охватывает обе власти. Ограниченно менять значение отправителя и наблюдать приём и выбор; затем удалить или переписать у получателя и подтвердить локальную политику. Проверить отсутствие, равенство, разные ранние атрибуты, несколько AS, withdrawal выхода, reflection, порядок и rollback. Цель — доказать область совета.

Соглашение важнее синтаксиса. Если клиент ждёт учёта MED на двух приватных соединениях, стороны определяют префиксы, семейства, линии, диапазоны, ранний LOCAL_PREF, отсутствие, право отклонения и телеметрию спора. Без контекста атрибут корректен на проводе и неоднозначен в услуге.

Принцип минимальной начальной спецификации Heng Lu подходит MED. Общий протокол предоставляет малый объект: необязательную метрику, ограниченное распространение, условное сравнение. Он не решает, означает ли число ёмкость, стоимость или политику. Выбор остаётся у сетей, эксплуатирующих маршрутизаторы и несущих последствия.

Приоритет работающего кода задаёт приёмку. Документ и commit — намерение; полученный атрибут, фактическая перезапись, видимые кандидаты, причина выбора, FIB NEXT_HOP и доставленный трафик — система. Если пакеты не вошли через нужную дверь, метрика не получила практической власти.

Суверенитет данных здесь — контроль своего рабочего состояния, не владение удалённым маршрутом. Отправитель описывает предпочтительный вход; получатель следует, когда это соответствует контракту и риску. Координация возможна, потому что никто не отдаёт механизм решений.

MED успешен, когда обе стороны понимают скромность. Малое число рекомендует дверь, но не гарантирует коридор, внутреннюю видимость, согласие сильной политики или реальный поток. Слабость — не незавершённая власть, а защита, позволяющая советовать без управления.

Источники