Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Агрегирование линий связи в локальных сетях






 

 

В целях увеличения пропускной способности и увеличения живучести трактов Ethernet часто применяют агрегирование (объединение) линий связи (физических каналов) между двумя коммуникационными устройствами в один логический канал.

Отличие техники агрегирования линий связи от алгоритма покрывающего дерева достаточно принципиально:

1) Протоколы STP и RSTP переводят избыточные связи в горячий резерв, оставляя в рабочем состоянии только минимальный набор линий, необходимых для связности сегментов сети. В этом случае повышается надежность сети, но не ее производительность.

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

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

Так, на рисунке 6.2 коммутаторы 1 и 2, а также 1 и 3 соединены тремя параллельными линиями связи, что в три раза повышает производительность этих участков сети по сравнению со стандартным вариантом топологии дерева, которая не допускает таких параллельных связей.

 

Рисунок 6.2

Повышение производительности связи между коммутаторами путем агрегирования линий связи в некоторых случаях является более эффективным, чем замена единственной линии связи более скоростной. В то же время вполне возможно, что у таких коммутаторов имеются свободные порты Fast Ethernet, поэтому скорость передачи данных можно было бы повысить, например, до 600 Мбит/с, объединив в агрегированный канал шесть портов Fast Ethernet.

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

Почти все методы агрегирования, применяемые в настоящее время, обладают существенным ограничением — в них учитываются только связи между двумя соседними коммутаторами сети и полностью игнорируется все, что происходит вне этого участка сети. Например, работа транка 1 никак не координируется с работой транка 2, и наличие обычной связи между коммутаторами 2 и 3, которая создает вместе с транками 1 и 2 петлю, не учитывается. Поэтому если администратор сети хочет использовать все топологические возможности объединения узлов сети, технику агрегирования линий связи необходимо применять одновременно с алгоритмом покрывающего дерева.

Поскольку при агрегировании линий между устройствами образуются «петли», то возникает необходимость вести борьбу с «размножением» пакетов»

Чтобы понять проблему «размножения пакетов», рассмотрим работу только одного из фрагментов сети (рисунок 6.2) —тракта между коммутатором 1 и коммутатором 2. Коммутаторы 1 и 2 связаны тремя линиями. В том случае, если коммутатор 1 не рассматривает данные линии как агрегированный канал, возникают проблемы с кадрами двух типов:

1) кадрами с еще не изученными коммутатором уникальными адресами;

2) кадрами, в которых указан широковещательный или групповой адрес.

Алгоритм работы коммутатора требует передавать кадр с неизученным (отсутствующим в таблице продвижения) адресом на все порты, кроме того, с которого кадр был принят. При наличии параллельных каналов такой кадр будет «размножен» в количестве, равном количеству каналов — в приведенном примере коммутатор 2 примет от коммутатора 1 три копии оригинального кадра. При этом происходит еще и зацикливание кадров — они будут постоянно циркулировать между двумя коммутаторами, причем удалить их из сети окажется невозможно, так как в кадрах канального уровня отсутствует поле срока жизни, часто используемое в протоколах верхних уровней, таких как IP.

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

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

С кадрами, у которых адрес назначения изучен, проблем у коммутаторов, связанных параллельными каналами, не возникает — коммутатор передает такой кадр на тот единственный порт, по которому этот кадр впервые пришел от источника.

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

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

Поступающий в коммутатор 1 кадр, адрес назначения которого изучен и связан с идентификатором логического порта, передается на один (и только один!) выходной физический порт, входящий в состав транка. Точно так же коммутатор поступает с неизученными, широковещательными и групповыми адресами — для передачи кадра используется только одна из связей. На порты коммутатора, не входящие в транк, это изменение в логике обработки кадров не распространяется. Благодаря такому решению кадры не дублируются и описанные проблемы не возникают.

ВНИМАНИЕ, сказанное справедливо только тогда, когда агрегированная линия связи сконфигурирована программно в качестве транка с обеих сторон.

Остается открытым вопрос: как произвести выбор порта коммутатора, который нужно использовать для продвижения кадра через транк?

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

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

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

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

Обычно при статическом распределении выбор порта для некоторого сеанса выполняется на основании определенных признаков, имеющихся в поступающих пакетах. Чаще всего акими признаками являются МАС-адреса источника или приемника или оба вместе. Случайный набор МАС-адресов в сети может привести к тому, что через один порт будут проходить несколько десятков сеансов, а через другой — только два -три.

Можно предложить и другие способы распределения сеансов по портам. Например, в соответствии с IP-адресами пакетов, которые инкапсулированы в кадры канального уровня, типами прикладных протоколов (почта по одному порту, веб-трафик по другому и т. д.).

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

Стандартизированное решение для агрегирования портов, реализовано в протоколе LACP (Link Aggregation Control Protocol). Протокол LACP (стандарт IEEE 802.3ad) отсылает LACPDU пакеты через все доступные ему порты. Если протокол обнаруживает на другом конце линии устройство, которое также работает с LACP, он начнет отправлять свои пакеты по тем линиям, на которых протокол включен. Таким образом, оба устройства организуют множество физических соединений и объединяют их в одно логическое соединение.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.