Асимметричная маршрутизация с использованием нескольких сетевых путей

В этой статье объясняется, как сетевой трафик может проходить по разным путям, если между исходным и целевым сетевыми расположениями есть несколько маршрутов.

Есть два понятия, которые необходимо знать, чтобы понять асимметричную маршрутизацию. Первое — влияние нескольких сетевых путей. Второе — как такие устройства, как брандмауэр, сохраняют состояние. Устройства такого типа называются устройствами с отслеживанием состояния. При объединении этих двух факторов можно создать сценарий, в котором сетевой трафик удаляется устройством с отслеживанием состояния. Трафик удаляется, если оказывается, что он не является генерируется не из самого себя.

Несколько сетевых путей

Когда в корпоративной сети есть только одно подключение к Интернету через поставщика интернет-услуг, весь трафик, поступающий из Интернета и обратно, проходит по одному и тому же пути. Часто компании приобретают несколько каналов , чтобы создать избыточные пути для повышения работоспособности сети. Такой тип конфигурации позволяет трафику выходить по одной интернет-ссылке и возвращаться по другой. Такой сценарий называется асимметричной маршрутизацией. При асимметричной маршрутизации обратный сетевой трафик проходит по пути, отличающемуся от исходного.

Сеть с несколькими путями

Хотя асимметричная маршрутизация обычно происходит при переходе в Интернет. Это также происходит при введении сочетания нескольких путей. Первый пример: у вас есть интернет-путь и частный путь, который ведет к тому же назначению. Второй пример: несколько закрытых путей, которые также будут вести к одному месту назначения.

Каждый маршрутизатор, расположенный вдоль пути между источником и назначением, вычисляет оптимальный путь для достижения места назначения. Определение лучшего возможного пути маршрутизатором основывается на двух основных факторах.

  • Маршрутизация между внешними сетями реализуется с помощью протокола маршрутизации BGP. BGP принимает объявления от соседей и запускает их в несколько этапов, чтобы определить оптимальный путь к целевому расположению. Оптимальный путь сохраняется в таблице маршрутизации.
  • На пути маршрутизации влияет длина маски подсети, связанной с маршрутом. Если маршрутизатор получает несколько объявлений для одного IP-адреса, маршрутизатор выбирает путь с более длинной маской подсети, так как он считается более конкретным маршрутом.

Устройства с отслеживанием состояния

Маршрутизаторы анализируют IP-заголовок пакета в рамках задач маршрутизации. Некоторые устройства анализируют пакет более подробно. Как правило, эти устройства рассматривают заголовки на уровне 4 (протокол TCP либо UDP) или даже на уровне 7 (слой приложения). Это либо устройства для обеспечения безопасности, либо устройства для оптимизации пропускной способности.

Распространенным примером устройства с отслеживанием состояния является брандмауэр. Брандмауэр разрешает или отклоняет пакеты для передачи через свои интерфейсы на основе различных критериев. Эти критерии включают протокол, порт TCP/UDP и заголовки URL-адресов, но не ограничиваются ими. Такой уровень проверки пакетов может многократно увеличить нагрузку на устройство.

Для повышения производительности брандмауэр проверяет первый пакет из потока. Если у пакета есть разрешение на проход через интерфейс, брандмауэр сохраняет информацию о потоке в своей таблице состояний. Разрешение для всех исходящих пакетов, связанных с этим потоком, зависит от первоначального решения. Пакет, который является частью существующего потока, может поступать в тот брандмауэр, от которого он не был получен. Так как пакет не содержит предыдущих сведений о состоянии первоначального потока, брандмауэр удаляет пакет.

Асимметричная маршрутизация с помощью ExpressRoute

При подключении к Майкрософт через Azure ExpressRoute в сеть вносятся следующие изменения.

  • Существует несколько подключений к Майкрософт. Одно из них — существующее подключение к Интернету, а другое — подключение через ExpressRoute. Определенный трафик, предназначенный для корпорации Майкрософт, может проходить через интернет-подключение, но возвращаться через подключение ExpressRoute. Это также может произойти, если трафик проходит через ExpressRoute, но возвращается по интернет-пути.
  • Вы получили более конкретные IP-адреса из канала ExpressRoute. Поэтому, когда трафик из вашей сети поступает в корпорацию Майкрософт для служб, предлагаемых через ExpressRoute, маршрутизаторы всегда предпочитают подключение ExpressRoute.

Чтобы понять влияние этих двух изменений на сеть, давайте рассмотрим несколько сценариев. Например, у вас есть канал для Интернета и вы используете все службы Майкрософт через Интернет. Трафик из вашей сети в Майкрософт и обратно проходит через одно и то же интернет-подключение, а также через брандмауэр. Брандмауэр записывает поток, когда видит первый пакет. Поскольку поток существует в таблице состояний, все принимаемые пакеты этого диалога разрешены.

Асимметричная маршрутизация с помощью ExpressRoute

Затем вы выводите канал ExpressRoute для использования служб, предлагаемых корпорацией Майкрософт через ExpressRoute. Все остальные службы Майкрософт будут и дальше использоваться через Интернет. Разверните отдельный брандмауэр на границе, подключенной к ExpressRoute. Корпорация Майкрософт объявит вашей сети более конкретные префиксы для определенных служб, используемых через ExpressRoute. Инфраструктура маршрутизации выберет ExpressRoute в качестве предпочтительного пути для этих префиксов.

Если вы не объявите общедоступные IP-адреса в корпорацию Майкрософт через ExpressRoute. Корпорация Майкрософт взаимодействует с общедоступными IP-адресами через Интернет. Трафик, отправляемый из вашей сети в корпорацию Майкрософт, использует подключение ExpressRoute, а обратный трафик от Майкрософт — путь к Интернету. Когда брандмауэр на границе видит пакет ответа для потока, о которых он не знает, он удаляет эти пакеты.

Если вы решили объявить один и тот же пул преобразования сетевых адресов (NAT) для ExpressRoute и для Интернета. Аналогичные проблемы возникают с клиентами в сети на частных IP-адресах. Запросы для таких служб, как Центр обновления Windows, будут проходить через Интернет, так как IP-адреса для этих служб не объявляются через ExpressRoute. Однако обратный трафик возвращается через ExpressRoute. Так как корпорация Майкрософт получила IP-адрес с той же маской подсети из Интернета и ExpressRoute, предпочтительным путем всегда является ExpressRoute. Если брандмауэр или другое устройство с отслеживанием состояния на границе сети, перед которой установлено подключение ExpressRoute, не имеет предварительных сведений о потоке, эти пакеты будут удалены.

Решения при асимметричной маршрутизации

Существует два доступных способа для решения проблемы асимметричной маршрутизации. Первый — с помощью маршрутизации, второй — с помощью преобразования сетевых адресов на основе источника (SNAT).

Маршрутизация

Убедитесь, что общедоступные IP-адреса объявляются для соответствующих подключений к глобальной сети (WAN). Например, если вы хотите использовать Интернет для трафика проверки подлинности и ExpressRoute для почтового трафика. Не объявляйте общедоступные IP-адреса службы федерации Active Directory (AD FS) через ExpressRoute. Точно так же ваш локальный сервер AD FS не должен быть доступным для IP-адресов, которые маршрутизатор получает через ExpressRoute. Маршруты, полученные через ExpressRoute, являются более определенными, поэтому ExpressRoute будет предпочтительным путем для трафика проверки подлинности, направляемого в Майкрософт. Если вы не обращаете внимание на то, как происходит маршрутизация в сети, могут возникнуть проблемы с асимметричной маршрутизацией.

Если вы хотите использовать ExpressRoute для проверки подлинности, убедитесь в том, что общедоступные IP-адреса AD FS объявляются через ExpressRoute без NAT. При такой настройке трафик, поступающий от корпорации Майкрософт, переходит на локальный сервер AD FS, который переходит по ExpressRoute. Обратный трафик из сети, поступающий в Корпорацию Майкрософт, использует ExpressRoute, так как это предпочтительный маршрут через Интернет.

NAT на основе источника

Другим способом решения проблемы с асимметричной маршрутизацией является использование SNAT. Например, вы решили не объявлять общедоступный IP-адрес локального сервера SMTP через ExpressRoute. Вместо этого вы планируете использовать Интернет для обмена данными такого типа. Запрос от Майкрософт на ваш локальный SMTP-сервер проходит через Интернет. С помощью SNAT входящий запрос перенаправляется на внутренний IP-адрес. Обратный трафик с SMTP-сервера направляется в пограничный брандмауэр (который используется для NAT), а не через ExpressRoute. В результате обратный трафик принимает путь к Интернету.

Конфигурация сети во время SNAT

Обнаружение асимметричной маршрутизации

Лучшим подтверждением того, что сетевой трафик проходит по ожидаемому пути, является трассировка маршрута. Если вы ожидаете, что трафик от вашего локального SMTP-сервера в Майкрософт будет проходить через Интернет, ожидаемым маршрутом при трассировке будет маршрут от SMTP-сервера к Microsoft 365. Ее результат подтвердит, что трафик из вашей сети действительно направляется к Интернету, а не к ExpressRoute.