14-05-2024
Агрегация каналов (англ. Link aggregation, Port trunking) или IEEE 802.3ad — технология объединения нескольких физических каналов в один логический. Это способствует не только значительному увеличению пропускной способности магистральных каналов коммутатор—коммутатор или коммутатор—сервер, но и повышению их надежности. Несмотря на существование стандарта IEEE 802.3ad, многие компании ещё используют для своих продуктов патентованные или закрытые технологии.
Главное преимущество агрегации каналов в том, что радикально повышается скорость — суммируется скорость всех используемых адаптеров[1]. Также в случае отказа адаптера трафик посылается следующему работающему адаптеру - без прерывания сервиса. Если же адаптер вновь начинает работать, то через него опять посылают данные.
Использование в параллель несколько Ethernet-адаптеров выглядит так. Допустим - есть два адаптера Ethernet: eth0 и eth1. Их можно объединить в псевдо-Ethernet-адаптер eth3. Система распознает эти агрегированные адаптеры как один. Все агрегированные адаптеры настраиваются на один MAC-адрес, поэтому удалённые серверы обращаются с ними как с одним адаптером. Eth3 можно настроить на один IP-адрес как любой Ethernet адаптер. Из-за этого программы обращаются к нему как к самому обычному адаптеру, скорость которого в два раза выше.
Раньше, до стандарта 802.3ad, был так называемый EtherChannel (закрытая разработка Cisco). Он уступает тем, что требовал настройки на всех коммутаторах. Но плюс его был в том, что он поддерживает разные режимы посылки пакетов, тогда как 802.3ad поддерживает только стандартный.
Также на некоторых платах поддерживается динамическое добавление адаптеров (Dynamic Adapter Membership), что позволяет динамически подключать и отключать адаптеры из агрегированного адаптера без прерывания сервиса для пользователя.
Dynamic Adapter Membership также позволяет создавать сеть EtherChannel на один адаптер, а если он перестанет работать - его можно заменить во время работы сервиса.
Можно превратить EtherChannel в IEEE 802.3ad Link Aggregation или наоборот - чтобы пользователи могли поэкспериментировать с этим функционалом - без необходимости удалять и восстанавливать EtherChannel.
Стандарт IEEE 802.3ad принят в 2000-ом году. Полное название — «802.3ad Link aggregation for parallel links».
Примером может служить сервер с 8 сетевыми 1000-мбитными карточками и свитч, объединяющий эти 8 каналов в один 8 гигабитный канал.
802.3ad намного дешевле, чем одна 10-гигабитная плата, но имеет ограничение — максимальная скорость 8 гигабит/сек.
Агрегация каналов позволяет постепенно увеличивать скорость каналов в системе без необходимости покупать разом дорогостоящие новые платы, более быстрые на порядок.
На практике часто возникает ситуация, что кабелей прокладывают больше, чем будет использоваться в ближайшее время. Это делается из-за того, что стоимость работ по прокладке кабеля намного больше, чем стоимость самого кабеля. Компании тем самым избегают платы за прокладку новых кабелей, если такая ситуация возникнет в будущем. Агрегация каналов может использовать эти каналы, увеличивая пропускную способность системы при небольшой стоимости.
Сетевые карты для скорости передачи данных в 10-гигабит/сек существуют, но пока что дороги и используются только для узкого круга задач. С агрегацией каналов можно создать сеть с пропускной способностью до 8-гигабит/сек, используя намного более дешевые 1-гигабитные коммутаторы.
При использовании 40-50 % портов коммутатора для магистрального канала, обновление коммутатора на другой с большим количеством портов, либо с более высокой скоростью на порт (например новый 10-гигабитный коммутатор), вполне может быть более оправданным решением, нежели простое добавление большего числа коммутаторов. Особенно если старый коммутатор можно использовать в менее загруженной части локальной сети, где быстродействие не так критично.
Агрегация каналов используется не только в коммутаторах. К сетевым адаптерам также можно применять агрегацию каналов.
К сожалению надо отметить, что агрегация адаптеров работает только среди некоторых типов адаптеров одной фирмы. Агрегация устанавливается на уровне драйверов адаптера, то есть ниже уровня операционной системы. Если в будущем предполагается расширение агрегации, то первый адаптер должен иметь возможность объединяться с другими адаптерами. Иначе может быть выгоднее сразу купить новые адаптеры для агрегации, а старые использовать в другом месте.
Обычно все порты при агрегации должны быть одного типа. Например, все порты с медным покрытием (CAT-5E/CAT-6), все порты оптоволокна одномодового (SM) или все многомодового (MM).
Так же все порты должны действовать на одной скорости. Возможно объединить 100-мегабитные порты вместе, но объединить 100-мегабитный порт и гигабитный порт скорее всего не получится, хотя по стандарту 802.3ad смешивать порты с разной скоростью допустимо.
Некоторые бюджетные коммутаторы обычно имеют 24 или 48 10/100-мбитных портов, и два дополнительных порта для магистрального кабеля. Ожидается, что есть один гигабитный магистральный кабель и второй гигабитный порт передает магистральный канал дальше к следующему коммутатору.
Хотя эти два гигабитных порта могут быть агрегированы в один 2-гигабитный канал, нет способа передать этот двух-гигабитный канал дальше другим коммутаторам. Для сети, где максимальная скорость опорной линии в максимуме два гигабита, такое решение приемлемо, когда можно распределить трафик одним удалённым коммутатором с 24 или 48 10/100-мбитным портами. Так же такое решение приемлемо, когда есть много коммутаторов и есть один гигабитный коммутатор, который передаёт весь трафик с других.
Большинство решений для гигабитной агрегации основывается на стандарте IEEE 802.3ad, принятом в 2000-ом году. Однако нестандартизованные протоколы других фирм существовали ещё до принятия этого стандарта. Некоторые из них используются до сих пор. Примеры таких протоколов: Cisco EtherChannel trunking, Adaptec’s Duralink trunking, Nortel MLT MultiLink trunking. Эти протоколы в большинстве своём работают исключительно с продукцией одной компании или продукцией одной линии.
В настоящее время большинство производителей выпускают сетевые устройства с поддержкой стандарта IEEE 802.3ad, что в теории должно обеспечивать возможность совместной работы устройств различных марок. На практике же такие сочетания могут быть неработоспособны, поэтому рекомендуется заранее уточнять о возможности совместной работы тех или иных устройств.
Что такое агрегирование каналов, агрегация каналов на маршрутизаторах.