Агрегация каналов | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №20 (415) май 2022 г.

Дата публикации: 23.05.2022

Статья просмотрена: 345 раз

Библиографическое описание:

Вишневецкая, А. А. Агрегация каналов / А. А. Вишневецкая, А. П. Аверченко. — Текст : непосредственный // Молодой ученый. — 2022. — № 20 (415). — С. 125-127. — URL: https://moluch.ru/archive/415/91893/ (дата обращения: 16.12.2024).



Агрегация каналов — это способ объединения множества отдельных (Ethernet) каналов, чтобы они действовали как один логический канал.

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

Еще одна важная причина использования агрегации каналов — обеспечение быстрого и прозрачного восстановления в случае отказа одного из отдельных каналов. Отдельные пакеты сохраняются и пересылаются с одного устройства на другое по одному из каналов. На самом деле протокол обычно пытается удерживать целые сеансы на одном канале. Пакет из следующего вызова может пройти по другому каналу.

Что такое агрегация каналов?

Идея заключается в повышении производительности за счет одновременной передачи нескольких пакетов по разным каналам. Но стандартная агрегация каналов Ethernet никогда не разделяет пакет и не отправляет биты по разным каналам. Официальный стандарт IEEE для агрегации каналов раньше назывался 802.3ad , но теперь называется 802.1AX.

Общая терминология агрегации каналов

— Группа портов, объединенных вместе, называется группой агрегации каналов или LAG. У разных поставщиков свои термины для этой концепции. LAG также может называться port channel , bond или team .

— Группы агрегации каналов также могут быть объединены в один сетевой коммутатор, создавая коммутатор агрегации каналов .

— Правило, определяющее, какие пакеты пересылаются по какому каналу, называется алгоритмом планирования .

— Протокол активного мониторинга, который позволяет устройствам включать или удалять отдельные каналы из LAG, называется протоколом управления агрегацией каналов (LACP).

Алгоритмы планирования

Первое, что важно знать, это то, что все каналы в LAG должны быть типа Ethernet (10/100/1000/10G и т. д.) и все они должны быть идентичными. Например, LACP не может балансировать трафик между двумя каналами Gigabit Ethernet и каналом Ethernet со скоростью 100 Мбит/с. Если вы попытаетесь, устройства откажутся включать другой канал в LAG. Они могут даже отказаться поднимать LAG.

Далее все каналы должны быть настроены одинаково. У вас не может быть сочетания настроек дуплекса, различных конфигураций VLAN или функций очередей.

Вы можете поместить максимум восемь отдельных каналов в группу LAG, хотя некоторые устройства ограничивают и меньшим количеством. Тем не менее, из-за того, что большинство алгоритмов планирования работает просто, вы, как правило, получите лучшую и более равномерную балансировку нагрузки, если будете использовать четное число и предпочтительно степень 2, например 2, 4 или 8.

Важная концепция агрегации каналов заключается в том, что все пакеты, принадлежащие любому отдельному сеансу, должны проходить по одному и тому же каналу. В противном случае вы рискуете получить пакеты не по порядку, что вызывает серьезные проблемы для многих приложений.

Большинство алгоритмов планирования используют своего рода простую хэш-функцию, которая просматривает поля в заголовках уровня 2 и/или уровня 3. Наиболее распространенные хэши включают MAC-адреса источника и получателя, IP-адреса источника и получателя или оба набора адресов.

Многие устройства позволяют выбрать подходящий алгоритм балансировки нагрузки для вашей сети.

Важно отметить, что два устройства, подключенные с помощью агрегации каналов, не должны согласовывать алгоритм балансировки нагрузки [1]. Цель состоит в том, чтобы выбрать алгоритм, который максимально рандомизирует ваши пакеты. Таким образом, вы можете ожидать равномерного использования всех каналов, что обеспечит наилучшую производительность.

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

Однако, если канал представляет собой просто два устройства, которые общаются напрямую друг с другом по агрегированному каналу, тогда алгоритм балансировки нагрузки на основе MAC означает, что весь трафик использует только один из каналов.

Это имеет место, например, если у вас есть два маршрутизатора (или коммутатора уровня 3) или два брандмауэра, или по одному из каждого из них общается по каналу. Вы можете общаться со всем Интернетом, но если все пакеты идут к одному и тому же брандмауэру, это один MAC-адрес. И если все пакеты приходят с одного базового коммутатора, это тоже один MAC-адрес. Таким образом, хэш, основанный только на MAC-адресах, не даст вам никакого преимущества в производительности в таких случаях. В подобных ситуациях полезно использовать IP-адреса в алгоритме балансировки нагрузки.

На коммутаторах Cisco, в зависимости от версии программного обеспечения, команда будет иметь вид «port-channel load-balance » [2].

Вы можете легко определить, подходит ли ваш алгоритм балансировки нагрузки, посмотрев на использование каждого из отдельных каналов в пакете с помощью команды «show interface».

Если вы видите, что один канал постоянно используется более интенсивно, возможно, стоит изменить ваш алгоритм.

Обратите внимание, что когда вы меняете алгоритм на устройстве, вы меняете только то, как это устройство ведет себя при отправке пакетов. Если дисбаланс трафика находится во входящем прямом направлении, представляющем полученные пакеты, то вам необходимо настроить устройство на другом конце.

Протокол управления агрегацией каналов

Большую часть времени вы будете использовать 802.3ad или 802.1AX , также называемый протоколом управления агрегацией каналов или LACP. Существуют также различные проприетарные протоколы агрегации каналов. Перед стандартизацией LACP компания Cisco разработала для некоторых коммутаторов Cisco опцию под названием Port Aggregation Protocol (PAgP). Другие поставщики имеют аналогичные предварительные стандартные протоколы.

PAgP — это проприетарный протокол, не имеющий существенных преимуществ перед стандартным протоколом LACP. Его действительно не следует использовать, если только вы не подключаетесь к очень старому устройству Cisco, которое не поддерживает LACP.

Большой вопрос, на который вам придется ответить при настройке port-channel, заключается в том, следует ли настроить его как активный (или, что эквивалентно, LACP на некоторых устройствах) или просто включенный. Активный вариант означает, что устройство будет активно отслеживать состояние канала и автоматически удалять все неработающие каналы из пакета. Это, безусловно, очень хорошая идея, потому что она обеспечивает отказоустойчивость, а также распределение нагрузки. Так почему же кто-то решил не использовать его? Короткий ответ — совместимость. Если устройство на одной стороне канала решит, что одно из отдельных соединений плохое, то устройство на другом конце должно согласиться. В противном случае одно устройство будет продолжать сбрасывать пакеты по каналу, которую другое устройство не отслеживает.

Версии агрегации каналов с несколькими шасси

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

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

Cisco разработала два разных решения для достижения этой цели. Старое решение под названием Virtual Switching System (VSS). VSS решает проблему, когда два коммутатора выглядят как один, просто заставляя модуль супервизора в одном из коммутаторов управлять обоими физическими устройствами. Модуль супервизора в другом шасси становится резервным.

Более новое решение, доступное на большинстве коммутаторов Nexus, называется Virtual Port Channel (VPC). VPC позволяет спаривать коммутаторы и распределять LAG по ним. Вам необходимо создать специальный канал VPC между двумя коммутаторами, которая позволит им обмениваться всей информацией о состоянии LAG. Это также позволяет пакетам, полученным через LAG на одном коммутаторе, достигать устройств, которые оказались подключенными к другому коммутатору. Затем, чтобы создать группу VPC LAG, вы назначаете портам на обоих коммутаторах один и тот же номер группы каналов и используете этот номер в качестве идентификатора VPC. Затем коммутаторы выясняют, что все эти порты должны быть частью одной LAG.

У VPC есть несколько важных ограничений. Канал VPC сам по себе должен быть LAG (port-channel в терминологии Cisco). И каждый коммутатор может иметь только один такой VPC-линк с одним другим коммутатором Nexus.

Будущее агрегации каналов

Ранее упоминалось, что LACP определен и стандартизирован в 802.3ad и что это протокол, специфичный для Ethernet. На самом деле это уже не так.

В IEEE поняли, что агрегация каналов не является принципиальной концепцией Ethernet, поэтому в 2008 году они переместили ее из группы Ethernet 802.3 в группу стандартов 802.1, первоначально не изменив ее, за исключением названия. Теперь он называется 802.1AX.

Спецификация 802.1AX обновляется. Большая часть проделанной работы направлена ​​на стандартизацию и расширение некоторых концепций мультишасси, разработанных различными поставщиками в качестве собственных решений.

Вероятно, в будущем данного стандарта будут дополнения, такие как, группы LAG, содержащие беспроводные каналы связи, или, возможно, даже набор различных типов физических каналов и скоростей.

Литература:

  1. IEEE 802.1AX-2020 - Standard for Local and metropolitan area networks -- Link Aggregation
  2. Configuring EtherChannel and 802.1Q Trunking Between Catalyst L2 Fixed Configuration Switches and Catalyst Switches Running CatOS. — Текст : электронный // Cisco : [сайт]. — URL: https://www.cisco.com/c/en/us/support/docs/switches/catalyst-4000-series-switches/23408-140.html#lacp_pagp (дата обращения: 20.05.2022).
Основные термины (генерируются автоматически): LAG, LACP, VPC, устройство, агрегация каналов, канал, пакет, IEEE, VSS, коммутатор.


Задать вопрос