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

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

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

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

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

решение1

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

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

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

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

решение2

если у меня есть пакет размером 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 и многие другие последовательные соединения) использует несколько линий для одновременной отправки нескольких фрагментов данных.

Связанный контент