Пожалуйста, просто предположите, что приведенный ниже случай таков, и я должен решить его с тем, что у меня есть. Или хотя бы понять, что не так.
Два одинаковых компьютера, соединенных между собой кабелем 10G. Оба компьютера работают под управлением Windows 8.1 Pro
. Компьютер «A» передает потоковое видео через TCP, а компьютер «B» его читает. У стримера есть окно журнала, в котором сообщается, были ли отброшены кадры. И стример, и ридер являются сторонними приложениями, и у меня нет их исходного кода. Все нормально работает. Но, когда я заменяю «B» на компьютер «C», на котором работает Windows 7
, стример сообщает о множестве пропущенных кадров. Группа поддержки сообщила мне, что есть проблемы с сетью, но они не могут мне помочь.
ОБНОВЛЕНИЕ1 ----------------------------- ---------
-------------------------------------------------- -
ОБНОВЛЕНИЕ2 --------------------------------------
Это - это ссылка на вывод Wireshark
.
------------------------------- ---------------------
Пытаюсь понять, что не так с компьютером «С». Я проверил с помощью iperf
и ntttcp
, что у меня есть пропускная способность 10G. Я запустил Wireshark
на "C". Согласно Wireshark
размер TCP-окон
сильно падает до нуля. Наверное, в этом причина. Или одна из причин.
размер TCP-окон
? Если вы думаете, что проблема не в этом, можете ли вы посоветовать, что мне следует проверить? tcp windows size
быть вызвана тем, как стример и считыватель обрабатывают трафик? Как считыватель обрабатывает полученные буферы? Если у вас большой поток между двумя компьютерами, вы можете использовать jumbo-кадры для уменьшения нагрузки на процессор. Если эта технология использовалась на компьютерах A и B, вы должны включить ее на компьютере C. Если компьютеры не подключены напрямую, необходимо включить jumbo-кадры на сетевых коммутаторах.