Поставщику программного обеспечения, с которым я работаю, требуются гигабитные соединения Ethernet для классической установки программного обеспечения клиент-сервер. На мой удивленный вопрос, почему им нужно было передавать такой большой объем данных между клиентом и сервером, продавец ответил, что они не передают большие, но много маленьких пакетов. Он сказал мне, что по их опыту, это работает намного быстрее на гигабитных, чем на 10 или 100 мегабитных соединениях.
Поняв Ethernet как последовательное соединение и скорость передачи, ограниченную в основном средой (оптоволокно, медь и т. Д.), Я озадачен. Есть ли теоретическое объяснение феномену, как объяснил продавец, которого я могу пропустить? Мой опыт не совсем аппаратный, поэтому, возможно, в гигабитных стандартах есть меры по оптимизации, которые каким-то образом оптимизируются для этого особого случая.
Итак, если предположить, что мне придется отправлять 1 000 000 пакетов по несколько байт каждый, есть ли причина, почему это может быть быстрее в гигабитном Ethernet, чем в 10/100 мегабитном Ethernet?
источник
Ответы:
Скорость передачи пакетов (pps) является прямым результатом деления скорости линии на размер пакета. Как таковой, он масштабируется линейно со скоростью линии.
Минимальный размер кадра Ethernet составляет 84 байта, в то время как максимальный (без учета больших кадров) составляет 1538 байтов. Таким образом, возможны следующие частоты кадров:
Большая пропускная способность всегда лучше с точки зрения пропускной способности. Это может быть хуже с точки зрения задержки и, вероятно, будет использовать больше энергии.
источник
Линия не измеряется в мегабитах, измеряется в мегабитах в секунду , Это единица измерения, которая в равной степени относится к любому объему данных - точно так же, как «километры в час» - в равной степени для любого расстояния. (Например, 10 метров при скорости 20 км / ч все равно в десять раз быстрее, чем при 2 км / час.)
При желании единицы измерения можно уменьшить - например, 1 км / ч можно преобразовать в ~ 0,27 м / с. Аналогично, 1 Гбит / с можно преобразовать в 1 Кбит / с. Это то же самое значение, но вы можете видеть, что передача 5 килобит со скоростью 1 кбит / мкс (1 Гбит / с) занимает 5 микросекунд - в десять раз быстрее, чем 50 мкс.
[Я уверен, надеюсь, я понял математику правильно]
Он называется «Gigabit Ethernet», поскольку его скорость передачи данных составляет 1 Гбит / с (гигабит в секунду). Это на самом деле не емкость, а фиксированная тактовая частота. Например, если вы отправите один гигабит, он будет передан за одну секунду со скоростью 1 Гбит / с. Но если вы отправите 10 мегабит, они будут переданы через 0,01 секунды, все еще на скорости 1 Гбит / с, и ссылка останется бездействующей в течение оставшихся 0,99 секунд
Другими словами, он не меняет передачи в зависимости от размера пакета. Отправляете ли вы X Gb из больших пакетов или X Gb из небольших пакетов, они всегда отправляется с той же скоростью 1 Гбит / с, которая всегда в 10 раз быстрее, чем 100 Мбит / с.
Не все последовательные соединения работают одинаково. Скорость передачи, которую вы можете достичь на одном носителе, может варьироваться в зависимости от кодирование а также модуляция что вы используете, чтобы положить эти биты на проводе. (Плюс довольно много других вещей, о которых я не знаю.) В дополнение к этому, Gigabit Ethernet (и аналогично USB 3.2, PCI-e, SATA и многие другие последовательные каналы) использует несколько линий для одновременной отправки нескольких блоков данных.
источник