TCP дублирование пакетов при отправке
От: maks1180  
Дата: 02.06.24 12:06
Оценка:
При анализе сетевого трафика заметил что Windows 10 отправляет пакет с данными и сразу же повторный пакет с теми же данными.
Я понял, что это ускоряет работу сетевых приложений, когда пакеты теряются.
Но когда делаю upload больших файлов, скорость падает в 2 раза из-за этого.
Как правильно это технология называется и самое главное как её отключить ?
===============================================
(реклама, удалена модератором)
Отредактировано 02.06.2024 12:11 maks1180 . Предыдущая версия .
Re: TCP дублирование пакетов при отправке
От: Pzz Россия https://github.com/alexpevzner
Дата: 02.06.24 12:32
Оценка:
Здравствуйте, maks1180, Вы писали:

M>При анализе сетевого трафика заметил что Windows 10 отправляет пакет с данными и сразу же повторный пакет с теми же данными.


Вообще-то, так не должно быть. А каким образом это выяснилось?
Re[2]: TCP дублирование пакетов при отправке
От: maks1180  
Дата: 02.06.24 12:59
Оценка:
Pzz>Вообще-то, так не должно быть. А каким образом это выяснилось?

WireShark запустил по другому поводу и увидел.

На этой машине VMWare Workstation Player стоит, может он что-то нарушил в работе стека ?
===============================================
(реклама, удалена модератором)
Отредактировано 02.06.2024 13:06 maks1180 . Предыдущая версия .
Re[3]: TCP дублирование пакетов при отправке
От: Pzz Россия https://github.com/alexpevzner
Дата: 02.06.24 15:25
Оценка:
Здравствуйте, maks1180, Вы писали:

Pzz>>Вообще-то, так не должно быть. А каким образом это выяснилось?


M>WireShark запустил по другому поводу и увидел.


В TCP нет такой штуки, посылать один пакет дважды, "для надежности" или еще зачем. Значит, или почему-то эти пакеты дважды достаются шарку, или кто-то их почему-то дублирует. И я даже не могу навскидку сообразить, кто бы это делал и зачем.

Т.е., надо до предела упростить сетевую конфигурацию, удалив, насколько это возможно, все лишнее, а потом облазить ее всю и искать причину.

Кстати, счетчикам отправленных и принятых пакетов на сетевых интерфейсах я бы доверял. Даже и в венде.

M>На этой машине VMWare Workstation Player стоит, может он что-то нарушил в работе стека ?


Все может быть...
Re[3]: TCP дублирование пакетов при отправке
От: Anton Batenev Россия https://github.com/abbat
Дата: 02.06.24 15:40
Оценка: 7 (1) +6
Здравствуйте, maks1180, Вы писали:

m> На этой машине VMWare Workstation Player стоит, может он что-то нарушил в работе стека ?


Скорее всего первый раз ты видишь пакет уходящим с интерфейса VMWare, второй раз уходящим с интерфейса хоста. Отфильтруй пакеты в WS по источнику.
Re[4]: TCP дублирование пакетов при отправке
От: maks1180  
Дата: 05.06.24 20:37
Оценка:
AB>Скорее всего первый раз ты видишь пакет уходящим с интерфейса VMWare, второй раз уходящим с интерфейса хоста. Отфильтруй пакеты в WS по источнику.

Нет, я с хоста работаю и ставлю фильтр по источнику.
===============================================
(реклама, удалена модератором)
Re[4]: TCP дублирование пакетов при отправке
От: maks1180  
Дата: 05.06.24 20:39
Оценка: :)
Pzz>В TCP нет такой штуки, посылать один пакет дважды, "для надежности" или еще зачем. Значит, или почему-то эти пакеты дважды достаются шарку, или кто-то их почему-то дублирует. И я даже не могу навскидку сообразить, кто бы это делал и зачем.

Хм, может запотентовать ?
Думаю, будет хорошо увеличивать производительность, когда полоса шире чем нужно, но пакеты теряются.
===============================================
(реклама, удалена модератором)
Re[5]: TCP дублирование пакетов при отправке
От: Pzz Россия https://github.com/alexpevzner
Дата: 05.06.24 21:51
Оценка: 11 (2)
Здравствуйте, maks1180, Вы писали:

M>Хм, может запотентовать ?

M>Думаю, будет хорошо увеличивать производительность, когда полоса шире чем нужно, но пакеты теряются.

Я читал статью Google об их экспериментах с QUIC. Это ихний протокол на основе UDP, который ведет себя, как TCP со встроенной семантикой HTTP
Они его усилено продвигают.

Так вот, кроме всего прочего, они экспериментировали с FEH, Forward Error Correction. Это когда помимо обычных пакетов с данными посылаются еще и дополнительные пакеты с кодами коррекции ошибок, и, грубо говоря, если пакеты теряются, то всё равно, какие поймать, лишь бы правильное количество. Другими словами, данные передаются с некоторой избыточностью, т.е. на N пакетов данных проходится M корректирующих, из из этих N+M пакетов любые N годятся, чтобы восстановить изначальные данные вместо того, чтобы делать перепосылку. Ну а степенью избыточности можно управлять. Например, в зависимости от статискики потерь.

В общем, это как на всякий случай посылать каждый пакет дважды, только лучше и гибче.

Так вот, гугловцы пишут, что по их многочисленным замерам, в реальном интернете FEH не улучшает производительность, а в среднем, немного ухудает.

Может и врут, конечно, чтобы отвести конкурентов в сторону от этой замечательной идеи, но вот тем не менее
Re[5]: TCP дублирование пакетов при отправке
От: Pzz Россия https://github.com/alexpevzner
Дата: 06.06.24 07:32
Оценка:
Здравствуйте, maks1180, Вы писали:

M>Хм, может запотентовать ?

M>Думаю, будет хорошо увеличивать производительность, когда полоса шире чем нужно, но пакеты теряются.

И да, вдогонлку. Я понимаю, что ты шутишь, но ты сейчас недоизобрел digital fountain codes.

https://en.wikipedia.org/wiki/Fountain_code

Как я уже говорил, гуглю для раздачи веб-котиков они не зашли, но они вроде как полезны для для медиастриминга.

Их в свое время придумали и запатентовали какие-то евреи из Израиля и пытались торговать патентом. Потом патент выкупил Qualcom и нашел ему применение в сотовой связи. А для всех прочих целей Qualcom сделал этот патент общественно доступным.

Так что по второму разу уже не запатентуешь
Re[6]: TCP дублирование пакетов при отправке
От: AndrewN Россия  
Дата: 14.06.24 15:38
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, maks1180, Вы писали:

Pzz>Так вот, гугловцы пишут, что по их многочисленным замерам, в реальном интернете FEH не улучшает производительность, а в среднем, немного ухудшает.

Потому, что в реальном интернете статистически всё-таки качество соединения не настолько плохое, чтобы НАСТОЛЬКО часто терять пакеты, чтобы эта избыточность начала играть роль.
Т.е. чисто статистически сама избыточность влияет на полосу пропускания гораздо сильнее, чем повторные запросы при относительно редких ошибках.

Думаю, избыточность хороша на поврежденной линии , когда плохой контакт или сильно зашумлено.
Сейчас качество линий связи на достаточно высоком уровне, чтобы на фоне общей картины количество реальных потерь пакетов было ниже плинтуса.
--------------------------------------------------------------
Правильно заданный вопрос содержит в себе половину ответа
Re[7]: TCP дублирование пакетов при отправке
От: Pzz Россия https://github.com/alexpevzner
Дата: 14.06.24 16:59
Оценка:
Здравствуйте, AndrewN, Вы писали:

Pzz>>Так вот, гугловцы пишут, что по их многочисленным замерам, в реальном интернете FEH не улучшает производительность, а в среднем, немного ухудшает.


AN>Потому, что в реальном интернете статистически всё-таки качество соединения не настолько плохое, чтобы НАСТОЛЬКО часто терять пакеты, чтобы эта избыточность начала играть роль.

AN>Т.е. чисто статистически сама избыточность влияет на полосу пропускания гораздо сильнее, чем повторные запросы при относительно редких ошибках.

В целом, да. Есть мнение, что если потери превышают 1%, то TCP просто не работает.

AN>Думаю, избыточность хороша на поврежденной линии , когда плохой контакт или сильно зашумлено.

AN>Сейчас качество линий связи на достаточно высоком уровне, чтобы на фоне общей картины количество реальных потерь пакетов было ниже плинтуса.

И поэтому FEC любят сотовые телефонисты — в их мире процент потерь гораздо больше 1%.
Re: TCP дублирование пакетов при отправке
От: AleksandrN Россия  
Дата: 15.06.24 23:07
Оценка:
Здравствуйте, maks1180, Вы писали:

M>При анализе сетевого трафика заметил что Windows 10 отправляет пакет с данными и сразу же повторный пакет с теми же данными.


Через какое время отправляется повторный пакет и когда приходит подтверждение получения пакета?
Re[6]: TCP дублирование пакетов при отправке
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 16.06.24 04:05
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Как я уже говорил, гуглю для раздачи веб-котиков они не зашли, но они вроде как полезны для для медиастриминга.


Ходят слухи, что и в media не всё так просто. Вроде как у Одноклассников всегда была лучшая доставка видео по России, о чём они регулярно рассказывают с подробностями из года в год.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.