Я провел простой эксперимент по производительности транспорта TCP. Эксперимент выглядит следующим образом:

Есть две машины, A и B, каждая из которых установлена с Ubuntu 12.04 Server. Я установил "iperf" на любой машине и использую его для проверки скорости транспортировки. A и B подключены через канал 100 Мбит / с. Эксперимент такой:

  1. Я использую iperf для отправки из А в Б, используя режим TCP. В результате с обеих сторон скорость iperf составляет 100 Мбит / с, и она очень стабильна.

  2. Я использую другой процесс iperf для отправки из B в A, используя те же настройки. Результатом является то, что с обеих сторон скорость передачи данных немного ниже, 99 Мбит / с, стабильно. Но это понятно.

  3. Я использую еще один процесс iperf для повторной отправки из А в Б при наличии двух предыдущих потоков трафика. Теперь проводная вещь происходит. Скорость всех трех потоков трафика составляет 50 Мбит / с с обеих сторон. Все тарифы очень стабильны.

Я понимаю причину, по которой поток 1 и поток 3 совместно используют однонаправленное соединение и имеют пропускную способность 50 Мбит / с. Но какова причина того, что обратный поток, поток 2, также подвержен влиянию и также составляет 50 Мбит / с? Разве двунаправленную ссылку не следует рассматривать как две разные ссылки, которые не мешают друг другу?

1 ответ1

0

Я бы положил это -

  1. Трафик подтверждения должен быть принят во внимание, т.е. подтверждение того, что пакеты отправлены ОК.
  2. Сеть Ethernet может быть ограничена количеством пакетов в секунду - вы должны быть в состоянии проверить эту гипотезу, используя Jumbo-кадры и наблюдая, повышается ли ваша производительность.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .