Я понимаю, что для некоторых это может показаться глупым вопросом, но меня всегда это интересовало.
Допустим, у нас есть два гигабитных коммутатора, и все устройства в сети также гигабитные.
Если 10 компьютеров, подключенных к коммутатору A, должны передавать большие объемы данных на сервер на коммутаторе B (одновременно), ограничивается ли максимальная скорость передачи каждого соединения пропускной способностью соединения между двумя коммутаторами?
Другими словами, сможет ли каждый компьютер передавать данные со скоростью только один гигабит, разделенный на 10 машин, пытающихся использовать «мост» между коммутаторами?
Если да, существуют ли какие-либо обходные пути, чтобы каждое устройство могло использовать максимальную скорость от точки к точке?
Да. Использование одного кабеля для «каскадирования» нескольких коммутаторов Ethernet вместе создает узкие места. Однако, действительно ли эти узкие места вызывают низкую производительность, можно определить только путем мониторинга трафика по этим ссылкам. (Вам действительно следует отслеживать статистику трафика для каждого порта. Это еще одна причина, по которой это хорошая идея.)
Коммутатор Ethernet имеет ограниченную, но обычно очень большую внутреннюю полосу пропускания для выполнения своей работы. Это называется пропускная способность коммутационной фабрики и сегодня может быть довольно большим даже на коммутаторах Gigabit Ethernet очень низкого уровня (например, Dell PowerConnect 6248 имеет коммутационную матрицу 184 Гбит / с). Сохранение трафика между портами одного и того же коммутатора обычно означает (с современными 24- и 48-портовыми коммутаторами Ethernet), что сам коммутатор не будет «блокировать» фреймы, передаваемые на полной скорости провода между подключенными устройствами.
Однако неизменно вам понадобится больше портов, чем может предоставить один коммутатор.
Когда вы каскадируете (или, как некоторые говорят, «кучу») коммутаторы с перекрестными кабелями, вы не расширяете коммутационную матрицу от коммутаторов друг к другу. Вы, безусловно, подключаете коммутаторы, и трафик будет идти, но только с пропускной способностью, обеспечиваемой портами, соединяющими коммутаторы. Если от одного коммутатора к другому необходимо передать больше трафика, чем может поддерживать один соединительный кабель, кадры будут отброшены.
Соединители стекирования обычно используются для обеспечения более высокоскоростных межкомпонентных соединений между коммутаторами. Таким образом, вы можете подключить несколько коммутаторов с гораздо менее жестким ограничением полосы пропускания между коммутаторами. (Снова используя серию Dell PowerConnect 6200 в качестве примера, их соединения стека ограничены по длине до 0,5 метра, но работают на скорости 40 Гбит / с). Это по-прежнему не расширяет коммутационную матрицу, но обычно обеспечивает значительно более высокую производительность по сравнению с одним каскадным соединением между коммутаторами.
Были некоторые коммутаторы (на ум приходят коммутаторы Intel 500 Series 10/100), которые фактически расширяли коммутационную матрицу между коммутаторами через соединители стека, но я не знаю ни одного, имеющего такую возможность сегодня.
Один из вариантов, о котором упоминали другие авторы, - это использование механизмов агрегации каналов для «связывания» нескольких портов вместе. Это использует больше портов на каждом коммутаторе, но может увеличить пропускную способность между коммутаторами. Помните, что разные протоколы агрегации каналов используют разные алгоритмы для «балансировки» трафика по ссылкам в группе агрегации, и вам необходимо отслеживать счетчики трафика на отдельных интерфейсах в группе агрегации, чтобы гарантировать, что балансировка действительно происходит. (Обычно для достижения «балансирующего» эффекта используется какой-то хэш адресов источника / назначения. Это делается для того, чтобы кадры Ethernet приходили в одном порядке, поскольку кадры между одним источником и местом назначения всегда перемещаются через одни и те же интерфейсы, и имеет дополнительное преимущество в том, что не требует постановки в очередь или мониторинга потоков трафика на портах-членах группы агрегации.)
Вся эта озабоченность по поводу пропускной способности коммутации между портами является одним из аргументов в пользу использования коммутаторов на базе шасси. Все линейные карты, например, в коммутаторе Cisco Catalyst 6513, используют одну и ту же структуру коммутации (хотя некоторые линейные карты могут сами иметь независимую матрицу). Вы можете вставить множество портов в это шасси и получить большую пропускную способность между портами, чем в каскадной или даже стекированной конфигурации дискретных коммутаторов.
короткий ответ: да, это может быть узкое место
немного лучший ответ: попробуйте объединение портов, чтобы добавить больше ссылок между коммутаторами.
более личный ответ: ... вполне вероятно, что он вам не понадобится. Это зависит много от того, как работают ваши пользователи; но очень редко у вас есть много пользователей, которые загружают данные примерно 100% времени. Более вероятно, что каждая ссылка будет бездействовать примерно 95% времени, что будет означать, что эта ссылка, используемая 10 пользователями, будет бездействовать примерно 50% времени, а два пользователя будут активно использовать ее только 1,8% времени.
Если вы используете один из портов 1 Гбит / с для соединения двух коммутаторов, то да, общая доступная пропускная способность будет составлять 1 Гбит / 10 + некоторые накладные расходы. Таким образом, общая пропускная способность составит около 0,8 Гбит / с.
Если ваши коммутаторы поддерживают это, вы можете использовать модуль стекирования. Обычно это обеспечивает гораздо более высокую пропускную способность почти со скоростью объединительной платы коммутатора.
Если ваш коммутатор поддерживает это, вы также можете использовать агрегирование ссылок.
Однако здесь есть еще одна проблема: если ваш сервер подключен к порту 1 ГБ, не имеет значения, используете ли вы коммутаторы с помощью другого метода, поскольку ваш сервер сможет передавать / получать данные только со скоростью 1 ГБ / с.
Лучшим вариантом было бы использовать модуль стекирования для ваших коммутаторов и подключить сервер к каналу 10 ГБ. Это также предполагает, что ваш сервер сможет обрабатывать такой объем данных. Типичные серверные RAID-массивы поддерживают только стабильную пропускную способность около 700 Мбит / с в течение длительного периода времени.
В приведенном вами примере; Что у вас есть десять клиентов на коммутаторе A и сервер на коммутаторе B; все подключения (клиент к коммутатору, коммутатор к коммутатору и сервер к коммутатору) имеют размер 1 ГБ, узкое место (и) будет там, где весь трафик направляется в один порт. Если ваш сервер не имеет соединения со скоростью, превышающей 1 ГБ, не имеет большого значения, какой переключатель для переключения подключения, если окончательное соединение от коммутатора к серверу все еще составляет всего 1 ГБ.
Идеальный порядок конфигурации был бы; Один переключатель для всех устройств. При использовании нескольких коммутаторов и при их наличии используйте порты, предназначенные для подключения коммутатора к коммутатору, чтобы увеличить пропускную способность. Если использование нескольких коммутаторов и порты межсоединения недоступны, вы можете связать несколько портов, чтобы увеличить пропускную способность между коммутаторами.
Если вы используете управляемые коммутаторы (те, в которые вы можете каким-либо образом войти), возможно, вы можете объединить несколько портов коммутатора для увеличения пропускной способности.
Многие стандартные гигабитные коммутаторы не имеют ограничений между портами одного и того же коммутатора. То есть, если у вас есть 10 портов коммутатора, все они могут использоваться на полной скорости без каких-либо проблем.
Если вы используете один из этих портов для подключения к другому коммутатору, то да, связь между этими двумя коммутаторами замедляется. Однако компьютеры, использующие один коммутатор, не замедлят свою работу, и люди начнут бороться за пропускную способность только тогда, когда трафик пересекает этот единственный межкоммутаторный кабель.
Если вы обнаружите, что это слишком ограничивает, вам придется использовать управляемый коммутатор на обоих концах и объединить порты коммутатора вместе, чтобы получить 2, 3, 4, любую скорость, которая вам нужна. Или купите коммутатор очень высокого класса и используйте между коммутаторами 10 гигабайт. Скорее всего, объединение множества портов на 1 гигабайт будет дешевле.
Если (и только если) оба коммутатора поддерживают подключение нескольких портов с задержкой / магистралью для создания соединения с одной шириной, вы можете затем подключиться от 2 до максимально разрешенного количества портов для создания агрегации каналов.
Предупреждение, вы не просто соединяете кабели, и все готово! Вам необходимо настроить порты на обеих сторонах и только затем подключать их, иначе вы рискуете верным широковещательным штормом, который может вывести из строя оба ваших коммутатора.
Это возможное узкое место. Некоторые коммутаторы позволяют объединить полосу пропускания с несколькими портами, например, 3X 1 Гбит / с или 4X1 Гбит / с. Операционная система коммутатора будет иметь способ сделать это, и он варьируется от коммутатора к коммутатору, поскольку у каждого поставщика есть свой способ сделать это. Иногда для этой функции также используются разные названия. Проверьте руководства для вашей марки и модели, чтобы узнать, поддерживается ли это.
Ответ положительный.
Возможные обходные пути включают использование нескольких гигабитных каналов между коммутаторами или более быстрого канала между коммутаторами. Оба варианта требуют поддержки со стороны коммутаторов, и при объединении нескольких каналов может оказаться проблематичным разделить нагрузку между ними.
Другими словами, сможет ли каждый компьютер передавать данные со скоростью только один гигабит, разделенный на 10 машин, пытающихся использовать «мост» между коммутаторами?
да
Вы должны спросить себя, как часто это происходит на самом деле. В вашей конкретной сети это теоретическое узкое место, которое не вызывает никаких реальных проблем, или настоящее узкое место, на устранение которого стоит потратить серьезные деньги.
Также, если все компьютеры обращаются к одному и тому же серверу, соединение с сервером будет таким же узким местом, как и соединение между коммутаторами.
Если да, существуют ли какие-либо обходные пути, чтобы каждое устройство могло использовать максимальную скорость от точки к точке?
Есть решения, но они будут стоить вам. Попрощайтесь с грязными дешевыми неуправляемыми гигабитными коммутаторами.
Сначала вы можете попробовать создать один коммутатор, который будет больше по размеру. Многие семейства коммутаторов имеют соединители «стека», которые работают быстрее, чем типичные интерфейсы Ethernet, хотя в некоторых случаях они все же могут быть узким местом. Если вы хотите стать более элитным, у вас есть коммутаторы на шасси, которые (по цене) могут разместить большое количество портов на нескольких линейных картах с очень быстрым соединением на задней панели. В конце концов, вы достигнете точки, когда размещение большего количества портов на одном коммутаторе просто не является решением проблемы либо потому, что вам нужно слишком много портов, либо потому, что вам нужны порты в разных местах, и вам не нужна гора кабелей ...
Во-вторых, вы можете посмотреть более быстрые варианты Ethernet. 10-гигабитный Ethernet теперь широко доступен. 40 гигабит и 100 гигабит также доступны по цене.
В-третьих, вы можете посмотреть агрегацию ссылок. Агрегация каналов - полезный инструмент, но из-за ограничений конструкции вы вряд ли увидите 100% -ное использование всех портов в группе агрегации.
Если вам нужно более двух коммутаторов, вы также можете начать рассматривать топологии, отличные от дерева. К сожалению, Ethernet на самом деле не был предназначен для этого, поэтому решения по его поддержке в некоторой степени «надеты».