[Из песочницы] Балансировка трафика в IP-сетях оператора

В статье рассмотрен способ организации балансировки трафика на границе сети при следующих условиях:

  • транспортный протокол: IPv4;
  • протокол динамической маршрутизации OSPFv2 [1, 2];
  • исходящий и входящий трафик одного пользовательского IP-адреса проходит через один и тот же шлюз услуг и через один и тот же NAT-маршрутизатор [3];
  • балансировка трафика осуществляется между 2 шлюзами услуг (BNG [4]);
  • балансировка трафика осуществляется между 2 NAT-маршрутизаторами, не использующих динамическую маршрутизацию;


Подключенный пользовательский сегмент сети рассмотрен на примере беспроводных сетей стандарта IEEE 802.11 [5] с использованием контроллеров. Решение включает в себя уровни агрегации и распределения, уровень радиопокрытия.

Решаемые задачи:

  • балансировка трафика в точке подключения пользовательских устройств к сети;
  • равномерное распределение пользовательского трафика между BNG;
  • обеспечение симметричной маршрутизации входящего и исходящего трафика при использовании NAT.


Уровень распределения представляет собой пограничный компонент сети, выполняющий следующие основные функции:

  • подключение контроллеров беспроводного доступа;
  • маршрутизация и управление потоками трафика;
  • сопряжение с другими сетями.


Уровень контроллеров беспроводного доступа — группа контроллеров, которые выполняют следующие основные функции:

  • точка агрегации трафика от точек доступа и беспроводных пользователей;
  • обеспечение роуминга беспроводных пользователей между контроллерами;
  • управление точками доступа.


Уровень радиопокрытия — точки доступа, размещенные на объектах.

Центр предоставления услуг (ЦПУ) — обеспечивает подключение контроллеров к сети передачи данных, управление и контроль предоставляемых пользователям, подключение к сети Интернет, трансляцию IP-адресов.

С точки зрения маршрутизации, IP-cеть разделена на несколько сегментов маршрутизации: пользовательский сегмент, сегмент точек доступа и сегмент управления. В данной статье рассматривается только пользовательский сегмент маршрутизации.

Балансировка пользовательского трафика в точке подключения к сети


Балансировка выполняется путем распределения пользовательских устройств между виртуальными сетями (VLAN). Для этой цели на уровне УКБД точки доступа разделены на группы (до 10–15 точек доступа на группу). Каждой группе для пользовательских устройств выделяется VLAN ID и подсеть IP-адресов емкостью не менее 2–4 сетей класса C (большая емкость необходима для учета неактивных пользовательских подключений и особенностей применения протокола DHCP: «lease time» [6]). Это позволяет разделить используемые IP-сети на две больших группы для дальнейшего суммирования маршрутной информации и балансировки трафика между шлюзами услуг на 3-м уровне модели OSI (см. рисунок 1).

Использование VRF на уровне распределения


Использование нескольких VRF позволяет назначить разные пары основного/резервного шлюзов услуг для беспроводных пользователей, подключенных к одному маршрутизатору уровня распределения пользовательские интерфейсы разнесены в разные виртуальные таблицы маршрутизации (VRF Lite [9]):

WUsers1 — для пользователей, использующих в качестве основного шлюза услуг маршрутизатор ЦПУ SG-01, а в качестве резервного шлюза услуг маршрутизатор ЦПУ SG-02;
WUsers2 — для пользователей, использующих в качестве основного шлюза услуг маршрутизатор ЦПУ SG-02, а в качестве резервного шлюза услуг маршрутизатор ЦПУ SG-01.
Выбор пары основного/резервного шлюзов услуг в VRF WUsers1 и WUsers2 реализуется посредством динамической маршрутизации и назначения разных стоимостей на виртуальные каналы связи. Использование VRF на УР показано рисунке 2.

Динамическая маршрутизация


В предложенном решении используется протокол динамической маршрутизации OSPFv2 [1] и расширение Multi-Instance [2]. Основные использованные параметры конфигурации протокола OSPF показаны на рисунках 1–5.

Балансировка нагрузки на уровне распределения


IP-сети, назначенные виртуальным каналам (VLAN) пользователей, в пределах каждого из маршрутизаторов УР распределены по двум VRF. Таким образом, беспроводные пользователи, в зависимости от того, в какую IP-сеть (VLAN) они были определены контроллерами беспроводного доступа, попадают в разные VRF и используют разные пары основного/резервного шлюзов услуг, обеспечивая распределение нагрузки между шлюзами услуг.

В случае выхода из строя одного из маршрутизаторов УР, все пользователи будут переключены на оставшийся в работе маршрутизатор УР с повторным подключением к сети в новую IP-сеть (VLAN) и получением IP-адреса из новой IP-сети. IP-сети переключившихся беспроводных пользователей также распределены по 2-м VRF. Таким образом, на УР сохраняет распределение нагрузки между шлюзами услуг, независимо от того факта, что в какой-то времени момент функционирует только один маршрутизатор уровня распределения.

В предложенном методе распределения сетевого трафика беспроводных пользователей между шлюзами услуг равномерность распределения нагрузки в основном будет определяться 2-мя механизмами:

  • механизм распределения беспроводных пользователей между пользовательскими виртуальными сетями (VLAN);
  • механизм распределения пользовательских IP-сетей между VRF.


Распределение пользовательских IP-сетей между VRF выполняется на маршрутизаторах УР.
В целях обеспечения резервирования линий связи, каждый шлюз услуг подключается к сетевой инфраструктуре двумя физическими линиями связи.

Резервирование подключения шлюза услуг может быть организовано, с использованием дублированных виртуальных каналов связи, находящихся в разных IP-подсетях и терминируемых на разных физических портах шлюза услуг.

Схема маршрутизации на уровне распределения показана на рисунках 1 и 2.

Маршрутизация трафика между уровнем распределения и ЦПУ


Организация связи между коммутаторами УР и шлюзами услуг ЦПУ возможна одним из следующих методов:

На 2-м уровне модели OSI, без использования промежуточного «L3-хопа».
С использованием промежуточного «L3-хопа».
Первое решение требует больше ресурсов (VLAN ID, STP).
При использовании второго метода в роли промежуточных маршрутизаторов может выступать стек коммутаторов, на котором создаются 2 VRF.

Это решение позволяет значительно уменьшить число виртуальных каналов (VLAN), необходимых для организации связи между шлюзами услуг ЦПУ и УР.

Схема организации связи между маршрутизаторами УР и шлюзами услуг ЦПУ показана на рисунке 3. Равная метрика протокола OSPF, назначенная на параллельные виртуальные каналы связи позволяет обеспечить распределение трафика беспроводных пользователей между виртуальными каналами связи и, как следствие, обеспечить балансировку трафика между физическими линиями связи.

NAT в ЦПУ


NAT-маршрутизаторы осуществляют трансляцию (преобразование) частных IP-адресов (Network Address Translation, NAT) в публичные IP-адреса. Для реализации механизма трансляции IP-адресов необходимо выделение диапазона (pool) уникальных публичных IP-адресов. Для пары маршрутизаторов формируются NAT-группы (NAT-group [12]), в каждой из которых один маршрутизатор выбран основным (активным), другой резервным. В случае выхода из строя основного маршрутизатора, резервный становится активным, продолжая обслуживание пользовательских сессий.

Маршрутизация между шлюзами услуг и NAT-маршрутизаторами


При использовании NAT-маршрутизаторов учитываются следующие ограничения:

  • на NAT-маршрутизаторах используются только статические маршруты;
  • на каждую NAT-группу выделяется по две виртуальных сети (VLAN): inside VLAN и outside VLAN;


Inside VLAN используется для связи с шлюзами услуг ЦПУ. Outside VLAN используется для связи с граничными BGP-маршрутизаторами.

В целях повышения отказоустойчивости, для подключения каждого BNG используются по два физических интерфейса. Вследствие различных ограничений, для каждого интерфейса создается один виртуальных канал точка-точка и выделяется VLAN ID для связи с NAT-маршрутизаторами.

Для связи маршрутизаторов NAT-группы с шлюзом услуг используется один виртуальный канал связи (VLAN). Для связи шлюза услуг с NAT-группой используются 2 виртуальных канала (в целях резервирования физических линий связи шлюза услуг). Таким образом, возникает необходимость в организации промежуточного «L3-узла» (далее ЦПУ ASBR) между BNG и NAT-маршрутизаторами. Роль промежуточного маршрутизатора может выполнять стек коммутаторов, обеспечивающий подключение BNG и NAT-маршрутизаторов, на котором для этой цели создаются 2 VRF (VRF Lite [9]): Users1_out и Users2_out.

Для каждого из VRF (Users1_out и Users2_out) на стеке коммутаторов запускаются независимые OSPF-процессы [2]. Виртуальные каналы связи между шлюзами услуг и VRF Users1_out и Users2_out стека коммутаторов входят в 0-ю (магистральную) зону OSPF.

Для маршрутизации использована статическая маршрутизация:

  • в VRF Users1_out — статический маршрут по умолчанию через виртуальный IP-адрес NAT-group1;
  • в VRF Users2_out — статический маршрут по умолчанию через виртуальный IP-адрес NAT-group2;
  • для первого NAT-маршрутизатора— статические маршруты на IP-сети беспроводных пользователей через IP-адрес VRF Users1_out;
  • для второго NAT-маршрутизатора — статические маршруты на IP-сети беспроводных пользователей через IP-адрес VRF Users2_out.


В предлагаемой схеме маршрутизации в VRF Users1_out и Users2_out стек коммутаторов является граничным маршрутизатором автономной системы (ASBR), рассылающим маршрут по умолчанию в сегмент беспроводных пользователей. Для этого в OSPF-процессах VRF Users1_out и Users2_out включается функция рассылки маршрута по умолчанию (default information originate).

Схема с использованием промежуточного «L3-узла» представлена на рисунке 4.
Равная метрика протокола OSPF, назначенная на параллельные виртуальные каналы связи позволяет обеспечить распределение трафика беспроводных пользователей между виртуальными каналами связи и, как следствие, балансировку трафика между физическими линиями связи, через которые шлюзы услуг ЦПУ подключены к стеку коммутаторов.

ASBR ЦПУ является пограничным маршрутизатором для протокола OSPF и используется для перераспределения маршрутов из других сегментов маршрутизации, NAT-пулов IP-адресов и сети Интернет.

Маршрутизация и балансировка трафика между ASBR ЦПУ и NAT-маршрутизаторами


Между ASBR ЦПУ и NAT-маршрутизаторами создаются виртуальные каналы связи как показано на рисунке 5. Отказоустойчивость шлюзов по умолчанию можно реализовать с использованием механизма HSRP (Hot Standby Router Protocol [11]).

На интерфейсах NAT-маршрутизаторов используются две HSRP-группы. Первая HSRP-группа отвечает за работу шлюза по умолчания для NAT-group1, вторая HSRP-группа отвечает за работу шлюза по умолчания для NAT-group2, как показано на рисунке 5.

Маршрутизация между NAT-маршрутизаторами и граничными маршрутизаторами сети


В предложенном решении маршрутизация выполнена с использованием статической маршрутизации и протокола HSRP на маршрутизаторах границы сети (outside-router, см. рисунок 6).

Между NAT-маршрутизаторами и граничными маршрутизаторами создаются виртуальные каналы связи. Отказоустойчивость шлюзов по умолчанию на граничных маршрутизаторах можно реализовать с использованием механизма HSRP или аналогичного, в зависимости от возможностей используемого оборудования. Для этой цели используются две HSRP-группы.
Схема маршрутизации показана на рисунке 6.

Рисунок 1. VRF беспроводных пользователей на уровне распределения, суммирование маршрутов на IP-подсети пользователей.
p1fj-e54thl8nrre4eb_ik0j1rc.png

Рисунок 2. Маршрутизация на уровне распределения.
_nm3tth6ikzldzgdwzgxqfaxt6i.png

Рисунок 3. Маршрутизация между уровнем распределения и ЦПУ.
6kmtoxarxx2dgvywzumybel_w3c.png

Рисунок 4. Маршрутизация между BNG и ЦПУ ASBR.
m_5latoyye41toygehvqbmabo-m.png

Рисунок 5. Маршрутизация между ЦПУ ASBR и NAT-маршрутизаторами.
wgyb_itxxprzdqyi__rmhtdb_1m.png

Рисунок 6. Маршрутизация на границе сети.
d2lbupcfefqqfo1xpq2onnsoc80.png

Источники
[1] J. Moy (Ascend Communications), Request for Comments: 2328 «OSPF Version 2», April 1998.
[2] A. Lindem (Ericsson), A. Roy, S. Mirtorabi (Cisco Systems) Request for Comments: 6549, OSPFv2 Multi-Instance Extensions, March 2012
[3] S. Wadhwa (Alcatel-Lucent), J. Moisand (Juniper Networks), T. Haag (Deutsche Telekom), N. Voigt (Nokia Siemens Networks), T. Taylor, Ed. (Huawei Technologies) Request for Comments: 6320, Protocol for Access Node Control Mechanism in Broadband Networks, October 2011
[4] P. Srisuresh (Jasmine Networks), K. Egevang (Intel Corporation) Request for Comments: 3022, Traditional NAT, January 2001
[5] IEEE 802.11, «Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications», 1997.
[6] R. Droms (Bucknell University) Request for Comments 2131, Dynamic Host Configuration Protocol, March 1997
[7] AP Group VLANs with Wireless LAN Controllers Configuration Example, www.cisco.com, 2008
[8] L. Andersson, T. Madsen (Acreo AB) Request for Comments 4026, Provider Provisioned Virtual Private Network (VPN) Terminology
[9] Configuring VRF-lite, Cisco web site [Online]. Available: www.cisco.com
[10] Y. Rekhter T.J. Watson Research Center, IBM Corp. T. Li, cisco Systems Editors, Request for Comments 1518, An Architecture for IP Address Allocation with CIDR, September 1993
[11] T. Li (Juniper Networks), B. Cole (Juniper Networks) P. Morton (Cisco Systems), D. Li (Cisco Systems), Request for Comments 2281: Cisco Hot Standby Router Protocol (HSRP), March 1998
[12] NAT Examples and Reference, Cisco web site [Online]. Available: www.cisco.com
[13] «Создание беспроводных публичных сетей» 2008–2010 гг», step.ru/projects/industrys/telecom

© Habrahabr.ru