- Bounding mikrotik увеличение пропускной способности
- Настройка BONDING
- Bonding MikroTik — увеличиваем скорость Wi-Fi канала
- Настройка Bonding
- Тестирование связи
- Мониторинг связи
- Sysadminium
- MikroTik Bonding
- Резюме
- Создание Bondong интерфейса
- Вкладка General
- Вкладка Bonding
- Режимы bonding
- 802.3ad
- balance-xor
- balance-rr
- active-backup
- broadcast
- balance-tlb
- balance-alb
Bounding mikrotik увеличение пропускной способности
Секреты настройки
файрвола через
Настройка BONDING
Дома: [CCR1009-7G-1C-1S+] [CRS112-8P-4S-IN] [wAP ac] [RB260GS]
Не дома: [RB4011iGS+] [CRS326-24G-2S+RM] [wAP 60ad] [cAP ac].
. [hEX] [hAP ac²] [hAP ac lite] [hAP mini] [RB260GS]
И да, все вышесказанное касается агрегации 802.3ad
Микротик умеет и round-robin, когда пакеты просто отсылаются по очереди в каждый интерфейс, тогда возможно достичь максимальной пропускной способности и для одного соединения, но:
1) устройство на другом конце тоже должно это уметь.
2) пропадает отказоустойчивость — при потере одного линка половина пакетов будет уходить в никуда.
3) в теории могут быть проблемы с тем, что большее количество пакетов будет приходить в неправильной последовательности.
Так что если нет какой-то жизненной необходимости, то лучше так, как сейчас оставить.
Дома: [CCR1009-7G-1C-1S+] [CRS112-8P-4S-IN] [wAP ac] [RB260GS]
Не дома: [RB4011iGS+] [CRS326-24G-2S+RM] [wAP 60ad] [cAP ac].
. [hEX] [hAP ac²] [hAP ac lite] [hAP mini] [RB260GS]
Я думаю, что не всё так однозначно.
В настройках микротика указано: transmit-hash-policy=layer-2-and-3
Т.е. результат хеш функции будет будет определять канал на основе мак и ip адресов отправителя и получателя.
Результатом вычислений должен быть выбор 1 или 2 канала ( 0 или 1).
Может получиться, что каких-то пар (источник+получатель) будет больше на одном канале, на другом, соответственно, будет меньше . Поэтому каналы равномерно вряд ли будут загружаться, если только участников на 1 канал и на 2 будет поровну и они одновременно будут качать чего-нибудь в одинаковом количестве.
Можно жешь предположить, что у одного устройства, в результате вычислений, обмен идёт по 1 каналу, а у другого по 2.
Но один тянет сразу 3 фильма, а другой 1. В результате первый канал буде загружен больше второго.
На мой взгляд, лучше было бы вычислять канал по ip адресу — у наса он фиксированный(для вычисления используются и src и dst адреса), а у других бы чередовался на чёт/не чёт.
Но layer-3-and-4 использует помимо ip ещё и номер порта. Неизвестно получится равномерно или нет.
В общем, у меня одни предположения 🙂
Вот тут https://wiki.mikrotik.com/wiki/Manual:I . ng#802.3ad описаны другие методы балансировки, но нет уверенности,
что их поддерживает nas. Поэтому, как уже сказали, сильно я бы не заморачивался. Только бы мониторил нагрузку на каналы при разных значениях transmit-hash-policy и выбрал бы более менее оптимальный.
А у меня возник вопрос — метод балансировки же должен быть одинаковым и на микротике и на насе. А если они разные?
Может быть перекос в виде передачи по одному каналу, а приём по другому из-за разных методов балансировки?
Что там за нас, какие там есть настройки LACP?
Bonding MikroTik — увеличиваем скорость Wi-Fi канала
В операционной системе MikroTik RouterOS есть функция Bonding, позволяющая увеличить пропускную способность Wi-Fi за счет объединения нескольких Wi-Fi каналов в один.
Допустим у вас стоит задача получить Wi-Fi канал с пропускной способностью 200 Мбит/с. Для этого необходимо установить два Wi-Fi моста со скоростью 100 Мбит/с каждый и объединить их в единый канал с помощью роутеров MikroTik или компьютеров x86 с установленной операционной системой RouterOS. Bonding довольно требователен к ресурсам, поэтому необходимо использовать мощные роутеры MikroTik или компьютеры.
При объединении Wi-Fi каналов необходимо чтобы их скорости были одинаковые, поскольку склеивание будет происходить по менее скоростному каналу. Например, если у вас один беспроводной канал имеет скорость 90 Мбит/с, а второй — 30 Мбит/с, то после объединения общая скорость получится 60 Мбит/с.
Настройка Bonding
Принцип работы Bonding заключается в следующем: создаются несколько виртуальных EoIP интерфейсов, после чего они объединяются в единый Wi-Fi канал.
Рассмотрим пример, как объединить два беспроводных моста, чтобы увеличить скорость Wi-Fi канала.
У нас есть два роутера R1 и R2. Каждый роутер имеет два беспроводных интерфейса wlan0 и wlan1, которым назначены свои IP адреса.
Bounding может работать только на канальном уровне OSI Layer 2, поэтому нам необходимо создать EoIP интерфейсы на каждом беспроводном интерфейсе wlan0 и wlan1. Для этого выполните в терминале следующие команды:
Далее добавляем интерфейс bounding и делаем EoIP интерфейсы как slaves (ведомым)
В заключении назначаем IP адреса bounding интерфейсу:
Тестирование связи
Теперь оба маршрутизатора могут связаться друг с другом, используя IP адреса из подсети 192.168.0.0/24. Чтобы проверить работоспособность бондинга, выполните в терминале следующие команды:
В итоге вы увидите трафик, который равномерно распределяется между двумя EoIP интерфейсами:
Мониторинг связи
Если использовать выше описанную конфигурацию, то при отказе работы одного из Wi-Fi каналов, происходит падение пропускной способности на интерфейсе bonding. Чтобы отследить проблемы со связью, необходимо выполнять мониторинг соединений. Это делается в большинстве конфигураций bounding. Для включения ARP мониторинга выполните в терминале следующие команды:
Sysadminium
База знаний системного администратора
MikroTik Bonding
Познакомимся с Bonding интерфейсами на роутерах Mikrotik. Bonding – это логические интерфейсы, которые позволяют объединить в себя несколько физических портов для балансировки и отказоустойчивости.
Резюме
Про Bonding интерфейсы документацию на английском языке вы можете почитать перейдя по этой ссылке. Но для тех кому легче читать на русском языке я подготовил такую статью.
Bonding – это технология, которая позволяет объединять несколько физических интерфейсов в один виртуальный. В зависимости от режима бондинга эта технология может расширить пропускную способность канала используя балансировку трафика, или усилить отказоустойчивость за счет резервирования линков.
Создание Bondong интерфейса
Чтобы создать Bondong интерфейс, выберите пункт меню “Interfaces” и в открывшемся окне нажмите кнопку “+“, а затем выберите “Bonding“:
Вкладка General
На вкладке “General” нужно будет выполнить основную настройку добавляемого интерфейса.
Name – придумайте имя для нового интерфейса.
MTU – укажите MTU, который не должен превысить L2 MTU подчинённых интерфейсов и по умолчанию равен 1500.
ARP – настройте протокол ARP:
- disabled – интерфейс не будет использовать ARP;
- enabled – интерфейс будет использовать ARP;
- proxy-arp – интерфейс будет использовать функцию прокси ARP;
- local-proxy-arp – интерфейс будет использовать функцию локального прокси ARP;
- reply-only – интерфейс будет использовать только статичные ARP записи (добавленные вручную), динамически таблица ARP не будет заполняться;
ARP Timeout – время, в течение которого запись ARP хранится в таблице ARP, если с IP-адреса не будет получено никаких пакетов за это время, то запись удаляется. Значение auto равно значению arp-timeout в IP / Settings (30 сек).
Forced. MAC Address – здесь вы можете установить статичный mac адрес для создаваемого Bonding интерфейса. Но по умолчанию mac адрес отберётся у первого подчинённого физического интерфейса, а ему присвоится новое значение автоматически.
Вкладка Bonding
А на этой вкладке делаются основные настройки бондинка.
Slaves – подчинённые физические порты, обычно 2 и больше;
Mode – режим бондинга: 802.3ad (lacp), active backup, balance alb, balance rr, balance tlb, balance xor, broadcast. Каждый из режимов я опишу ниже.
Primary – первичный интерфейс для бондинга. Если primary не указан, то в качестве основного будет использоваться первый. Эту настройку можно выбрать только для некоторых режимов бондинга:
- active-backup – какой интерфейс будет рабочим;
- balance-tlb – какой интерфейс должен принимать весь трафик;
- balance-alb – какой интерфейс должен получать несбалансированный трафик (трафик, не относящийся к IPv4).
Link Monitor – режим мониторинга подчинённых линков:
- arp – вы можете задать ip адреса и если они будут отвечать на arp запросы, то линк считается доступным. Можно задать несколько ip адресов;
- mii – мониторит только статус линка, но не проверяет возможность передачи по нему трафика. Этот вид мониторинга считается предпочтительным так-как может заметить потерю линка почти мгновенно;
Transmit Hash Policy – политика выбора передающего устройства основываясь на хеше. Эта настройка нужна только для режимов balance-xor и 802.3ad, а другие режимы не смотрят на неё:
- Layer-2 – алгоритм использует XOR аппаратных MAC-адресов;
- Layer-2-and-3 – алгоритм использует XOR MAC-адресов и IP-адресов для генерации хэша. Для не IP трафика будет работать также как Layer-2;
- Level-3-and-4 – использует информацию протокола верхнего уровня для генерации хэша. Этот алгоритм не полностью соответствует стандарту 802.3ad.
Min. Links – здесь вы можете указать, сколько подчинённых линков должно быть поднято, чтобы bonding включился.
Down Delay – если обнаружен сбой соединения, то bonding отключается на это время. Это свойство действует только для mii мониторинга.
Up Delay – если подчинённый линк был поднят, то bonding интерфейс отключиться на это время, а затем включится. Это свойство действует только для mii мониторинга.
LACP Rate – в режиме lacp все линки обмениваются служебной информацией, можно указать интервал обмена в 30 секунд или в 1 секунду.
MII Interval – по умолчанию MII проверяет линки каждые 100 ms, а здесь вы можете задать другое время интервала.
На вкладках “Status” и “Traffic” вы ничего не настраиваете, а просто наблюдаете за работой бондинг интерфейса.
Режимы bonding
802.3ad
Режим 802.3ad – это стандарт IEEE, также называемый LACP (Link Aggregation Control Protocol). Он включает автоматическую настройку агрегации, поэтому требуется минимальная настройка коммутатора. Этот стандарт также требует, чтобы кадры доставлялись по порядку, и соединения не должны видеть неправильную последовательность пакетов. Стандарт также требует, чтобы все устройства в совокупности работали с одинаковой скоростью и в дуплексном режиме.
LACP балансирует исходящий трафик по активным физическим портам на основе Transmit Hash Policy и принимает входящий трафик с любого активного порта. Хэш включает в себя адрес источника и назначения (mac) и если присутствует тег VLAN то тег VLAN. А также адрес источника и назначения IPv4 / IPv6. Хеш рассчитывается в зависимости от параметра политики хеширования. Для этого режима мониторинг ARP не рекомендуется, поскольку ответы ARP могут поступать на один подчиненный порт из-за политики хэширования. Это может привести к несбалансированному передаваемому трафику, поэтому рекомендуется мониторинг MII.
Режим хеширования “layer 3 and 4” не полностью совместим с LACP.
balance-xor
В этом режиме исходящий трафик по активным портам балансируется на основе хешированной информации заголовка протокола и принимается входящий трафик с любого активного порта. Этот режим очень похож на LACP, за исключением того, что он не стандартизирован и работает только с политикой хеширования layer 3 and 4 .
balance-rr
Пакеты передаются в последовательном порядке от первого доступного физического порта до последнего. Balance-rr – единственный режим, который отправляет пакеты через несколько интерфейсов, принадлежащих одному и тому же TCP / IP-соединению.
При использовании нескольких каналов передачи и приема, пакеты часто принимаются не по порядку, что приводит к повторной передаче сегментов, для других протоколов, таких как UDP. Это не проблема, если клиентское приложение может допускать приём пакетов с нарушением порядка.
Многие коммутаторы не поддерживают balance-rr.
active-backup
В этом режиме для передачи пакетов используется только одно активное устройство. Дополнительное подчиненное устройство становится активным только в случае отказа основного устройства.
MAC-адрес bonding интерфейса отображается на активном порту, чтобы не запутать коммутатор.
Режим active-backup – лучший выбор для HA с несколькими соединенными между собой коммутаторами.
Мониторинг ARP в этом режиме не будет работать правильно, если оба маршрутизатора подключены напрямую. В таких случаях необходимо использовать мониторинг MII или установить коммутатор между маршрутизаторами.
broadcast
Все физические подчинённые порты передают одни и те же пакеты в пункт назначения для обеспечения отказоустойчивости. Но этот режим не обеспечивает балансировку нагрузки.
balance-tlb
В этом режиме исходящий трафик балансируется по передающим подчинённым портам. При этом каждое соединение может иметь разную скорость и не требуется особой конфигурации коммутатора. Обратной стороной этого режима является то, что поддерживается только мониторинг канала MII (мониторинг канала ARP игнорируется при настройке), а входящий трафик не сбалансирован. То есть весь входящий трафик будет использовать линк, который настроен, как основной (Primary).
balance-alb
Режим в основном такой же, как и balance-tlb, но входящий трафик IPv4 также сбалансирован. Также поддерживается только мониторинг канала MII. Дополнительным недостатком этого режима является то, что для него требуется возможность драйвера устройства изменять MAC-адрес.