Редактировать: похоже, я либо неправильно понял, либо был введен в заблуждениеЭта статья, что, по-видимому, подразумевает, что для эффективного использования дюжины узлов с гигабитными портами требуется коммутатор на 10 Гбит/с. С уточнением, что 10/100/1000 обычно относится к скорости соединения, остальная часть вопроса больше не имеет смысла!
Я новичок в сетевых технологиях, и мне сложно найти ресурсы о том, как трафик маршрутизируется через сеть Ethernet. Насколько я понимаю, большинство гигабитно-совместимых устройств могут обрабатывать полную гигабитную полосу пропускания через один интерфейс, и даже кабели cat6 могут обрабатывать 10 Гбит/с, поэтому ни интерфейсы, ни соединения, скорее всего, не будут ограничивающими скорость компонентами сети. Но мне неясно, как именно применяются существующие ограничения. У меня есть несколько диаграмм для иллюстрации.
Допустим, у меня есть 1 гигабит данных на узле 1, и я хочу отправить по 1/3 гигабита на каждый из остальных узлов.
Сеть A проста и, по-видимому, довольно стандартна. Если предположить, что коммутатор может обрабатывать только 1 Гбит/с чистого трафика (я читал статьи, которые, похоже, подразумевают это, но никогда не видел, чтобы это было указано явно), то ясно, что передача не может быть быстрее 1 секунды, при этом узел 1 отправляет данные со скоростью 1 Гбит/с, а узлы 2-4 получают данные со скоростью 1/3 Гбит/с каждый.
В сети B (два коммутатора) имеет ли место следующее: 1) трафик распределяется через оба коммутатора, поэтому передача выполняется в два раза быстрее, чем в сети A, или 2) сетевой протокол в целом может обрабатывать только 1 Гбит/с данных, а скорость передачи остается неизменной?
В сети C (полностью подключенной), где каждый узел имеет множество интерфейсов, устанавливает ли протокол связи ограничение пропускной способности или единственным узким местом является скорость интерфейса?
Примечание: Я понимаю, что это слишком упрощенный случай, что в некоторых случаях узкими местами могут быть соединения и интерфейсы, и что я проигнорировал множество проблем с накладными расходами, теоретической и реальной пропускной способностью и т. д. Но я не думаю, что это необходимо для вопроса, который я задаю.
решение1
Нет (к «коммутатор может обрабатывать только 1 Гбит/с чистого трафика»).очень в общемна ваш вопрос, ожидайте, чтокаждыйФизический канал может передавать дуплексные данные с заявленной пропускной способностью коммутатора.
Почему
В контексте промышленности показатель скорости (10M/100M/1G)bps напрямую относится к скорости соединения; т.е. в лабораторных условиях линия в это устройствооцененныйработать на максимальной скорости 1 Гбит/с. Это не означает, чтоВОЛЯбыть 1 Гбит/с, что этоне может превышать1 Гбит/с, или даже (обычно) что он можетподдерживать1 Гбит/с в любое время.
Что касается мультиплексирования или переключения данных с одного внутреннего канала устройства на другой, то это, как правило, никогда не является ограничением процессора, поскольку скорость ЦП обычно на порядок превышает скорость канала (1 Гбит/с = 125 МБ/с; 1 ГГц даже на гипотетической 1-байтовой шине все еще > 125 МБ/с; в мире 32-битных и 64-битных шин вы никогда не затормозите работу своего процессора).
Где вы увидите сбой, так это в очереди памяти, что довольно очевидно, если подумать. У вас есть конечный объем памяти, но в 4-портовом коммутаторе 1 Гбит/с у вас есть вероятность, что 3 из ваших портов 1 Гбит/с получают данные, и только 1 1 Гбит/с отправляет данные. Вы явно не сможете поддерживать избыток 2 Гбит/с в своей сетевой очереди очень долго, прежде чем у вас закончится память и вы начнете терять пакеты.
решение2
Скорость соединения (1 Гбит/с) — это скорость физического интерфейса. Протоколы, которые использует сеть, не имеют понятия скорости и не зависят от физической среды, они простоиспользоватьфизическая инфраструктура.
В то время как некоторые переключателиможетбыть ограничены 1 Гбит/с, они могут стать узким местом, когда несколько устройств подключены и говорят независимо. В то время как многопортовые коммутаторы могут не поддерживать передачу 1 Гбит/с в обоих направлениях на каждом портуоднаждыЯ был бы удивлен, если бы они были ограничены общей скоростью в 1 Гбит/с.
Для сети 1, да, насыщенный канал на одном порту ограничит скорость других устройств, пытающихся получить данные с этой машины. Вы фактически получите (1 / (количество передач)), или в вашем случае 1/3 скорости канала.
Для сети 2, если все компьютеры поддерживают и правильно настроены для агрегации каналов (объединение независимых каналов для эмуляции одного пути), то у вас будет эффективная скорость канала 2 Гбит/с для любой данной машины. Если они не поддерживают или не используют агрегацию, то они могут просто использовать тот канал, который они нашли первым работающим. Это зависит от того, как настроена сеть.
Для сети 3 скорость соединения между машинами — это скорость их передачи.
решение3
Предположим, что коммутатор может обрабатывать только 1 Гбит/с сетевого трафика (я читал статьи, которые, похоже, подразумевают это, но я никогда не видел, чтобы это было указано явно)
Это неверное предположение, которое, как я полагаю, вы добавили. У коммутатора будет скорость dataplane, это скорость, с которой он может передавать данные между портами Ethernet. Для моего домашнего коммутатора 1Gb скорость dataplane составляет 16Gbs, и хотя я сомневаюсь, что когда-либо достигну этого, этого достаточно для большинства практических приложений. Для бизнес-целей вам, как правило, понадобятся коммутаторы с более высокими скоростями dataplane в зависимости от ваших требований.
Теперь о «пределе» скоростей — он ограничен интерфейсом, а также длиной и качеством кабеля, количеством пар, подключенных к кабелю, и все это заставляет интерфейс решать, на какой скорости он может подключаться. Если в кабеле cat5e (или лучше) обнаружено 4 пары, интерфейс попытается работать на скорости 1 Гбит/с. Если обнаружено только 2 пары, то он ограничится 100 Мбит/с.