Может ли гигабитный Ethernet теоретически быть быстрее 10/100 мегабитного Ethernet для множества небольших пакетов?

0

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

Поняв Ethernet как последовательное соединение и скорость передачи, ограниченную в основном средой (оптоволокно, медь и т. Д.), Я озадачен. Есть ли теоретическое объяснение феномену, как объяснил продавец, которого я могу пропустить? Мой опыт не совсем аппаратный, поэтому, возможно, в гигабитных стандартах есть меры по оптимизации, которые каким-то образом оптимизируются для этого особого случая.

Итак, если предположить, что мне придется отправлять 1 000 000 пакетов по несколько байт каждый, есть ли причина, почему это может быть быстрее в гигабитном Ethernet, чем в 10/100 мегабитном Ethernet?

Bananenaffe
источник
1
Скорость соединения всегда ограничена средой (точнее, технологией в целом). Это не оказывает особого влияния на небольшие пакеты, в частности. Небольшие пакеты имеют больше издержек по сравнению с полезной нагрузкой.
Daniel B
Я отредактировал вопрос, чтобы сделать его более конкретным, и изменил формулировку, чтобы учесть ваше замечание о скорости передачи
Bananenaffe
1
Не могли бы вы объяснить, почему вы предполагаете, что они не должен работать на разных скоростях? Я имею в виду, что «Gigabit Ethernet» буквально называется так, потому что он работает на скорости 1 Гбит / с, независимо от размера пакета.
grawity
Хорошо, если у меня есть пакет, который составляет 5 КБ, почему это имеет значение, если линия может передавать 10, 100 или 1000 Мбит?
Bananenaffe

Ответы:

5

Скорость передачи пакетов (pps) является прямым результатом деления скорости линии на размер пакета. Как таковой, он масштабируется линейно со скоростью линии.

Минимальный размер кадра Ethernet составляет 84 байта, в то время как максимальный (без учета больших кадров) составляет 1538 байтов. Таким образом, возможны следующие частоты кадров:

  • 100 Мбит / с: 8 127 кадров в секунду до 148 809 кадров в секунду
  • 1 Гбит / с: с 81 274 ф / с до 1 488 096 ф / с

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

Daniel B
источник
Прав ли я, если предположить, что ниже этого порога нет разницы в скорости? То есть при отправке пакетов размером 5000 & lt; 84 байта разницы не должно быть (поскольку оба стандарта поддерживают больше 84 байтовых кадров, чем это)
Bananenaffe
3
Разница в скорости сохраняется, поскольку соединение со скоростью 1 Гбит / с будет выполнено за 1/10 времени по сравнению со 100 Мбит / с. Даже при отправке только одного пакета это займет всего 1/10 времени.
Daniel B
3

если у меня есть пакет, который составляет 5 КБ, почему это будет иметь значение, если линия может передавать 10, 100 или 1000 Мбит?

Линия не измеряется в мегабитах, измеряется в мегабитах в секунду , Это единица измерения, которая в равной степени относится к любому объему данных - точно так же, как «километры в час» - в равной степени для любого расстояния. (Например, 10 метров при скорости 20 км / ч все равно в десять раз быстрее, чем при 2 км / час.)

При желании единицы измерения можно уменьшить - например, 1 км / ч можно преобразовать в ~ 0,27 м / с. Аналогично, 1 Гбит / с можно преобразовать в 1 Кбит / с. Это то же самое значение, но вы можете видеть, что передача 5 килобит со скоростью 1 кбит / мкс (1 Гбит / с) занимает 5 микросекунд - в десять раз быстрее, чем 50 мкс.

[Я уверен, надеюсь, я понял математику правильно]

Итак, если предположить, что мне нужно будет отправить 1 000 000 пакетов по несколько байт каждый, есть ли причина, почему это может быть быстрее в гигабитной сети Ethernet, чем в мегабитной сети Ethernet?

Он называется «Gigabit Ethernet», поскольку его скорость передачи данных составляет 1 Гбит / с (гигабит в секунду). Это на самом деле не емкость, а фиксированная тактовая частота. Например, если вы отправите один гигабит, он будет передан за одну секунду со скоростью 1 Гбит / с. Но если вы отправите 10 мегабит, они будут переданы через 0,01 секунды, все еще на скорости 1 Гбит / с, и ссылка останется бездействующей в течение оставшихся 0,99 секунд

Другими словами, он не меняет передачи в зависимости от размера пакета. Отправляете ли вы X Gb из больших пакетов или X Gb из небольших пакетов, они всегда отправляется с той же скоростью 1 Гбит / с, которая всегда в 10 раз быстрее, чем 100 Мбит / с.

Поняв Ethernet как последовательное соединение и скорость передачи для небольших пакетов, ограниченных в основном средой (оптоволокно, медь и т. Д.),

Не все последовательные соединения работают одинаково. Скорость передачи, которую вы можете достичь на одном носителе, может варьироваться в зависимости от кодирование а также модуляция что вы используете, чтобы положить эти биты на проводе. (Плюс довольно много других вещей, о которых я не знаю.) В дополнение к этому, Gigabit Ethernet (и аналогично USB 3.2, PCI-e, SATA и многие другие последовательные каналы) использует несколько линий для одновременной отправки нескольких блоков данных.

grawity
источник