Я провел простой эксперимент по производительности транспорта TCP. Эксперимент выглядит следующим образом:
Есть две машины, A и B, каждая из которых установлена с Ubuntu 12.04 Server. Я установил "iperf" на любой машине и использую его для проверки скорости транспортировки. A и B подключены через канал 100 Мбит / с. Эксперимент такой:
Я использую iperf для отправки из А в Б, используя режим TCP. В результате с обеих сторон скорость iperf составляет 100 Мбит / с, и она очень стабильна.
Я использую другой процесс iperf для отправки из B в A, используя те же настройки. Результатом является то, что с обеих сторон скорость передачи данных немного ниже, 99 Мбит / с, стабильно. Но это понятно.
Я использую еще один процесс iperf для повторной отправки из А в Б при наличии двух предыдущих потоков трафика. Теперь проводная вещь происходит. Скорость всех трех потоков трафика составляет 50 Мбит / с с обеих сторон. Все тарифы очень стабильны.
Я понимаю причину, по которой поток 1 и поток 3 совместно используют однонаправленное соединение и имеют пропускную способность 50 Мбит / с. Но какова причина того, что обратный поток, поток 2, также подвержен влиянию и также составляет 50 Мбит / с? Разве двунаправленную ссылку не следует рассматривать как две разные ссылки, которые не мешают друг другу?