Jump to content
Калькуляторы

UDP на Windows Server Потери UDP пакетов в направлении от сервера к клиенту

Коллеги,

нарисовалась странная проблема, теряются UDP пакеты в одном направлении. При чем проблема только с Windows Server 2008 и 2012. С линуксовой машины проблем не видно. Так же тестили с WS 2003, тоже все хорошо.Есть идеи?

 

Report iperf

 

 

[ 4] 0.0- 1.0 sec 2.34 MBytes 19.6 Mbits/sec 0.264 ms 6154/ 7822 (79%)

[ 4] 1.0- 2.0 sec 2.55 MBytes 21.4 Mbits/sec 0.139 ms 5779/ 7596 (76%)

[ 4] 2.0- 3.0 sec 2.55 MBytes 21.4 Mbits/sec 0.319 ms 5968/ 7790 (77%)

[ 4] 3.0- 4.0 sec 2.67 MBytes 22.4 Mbits/sec 0.213 ms 5771/ 7678 (75%)

[ 4] 4.0- 5.0 sec 2.75 MBytes 23.0 Mbits/sec 1311.418 ms 5652/ 7611 (74%)

[ 4] 4.0- 5.0 sec 210 datagrams received out-of-order

[ 4] 5.0- 6.0 sec 2.65 MBytes 22.2 Mbits/sec 1102.742 ms 5793/ 7685 (75%)

[ 4] 5.0- 6.0 sec 285 datagrams received out-of-order

[ 4] 6.0- 7.0 sec 2.62 MBytes 22.0 Mbits/sec 1219.358 ms 5923/ 7791 (76%)

[ 4] 6.0- 7.0 sec 282 datagrams received out-of-order

[ 4] 7.0- 8.0 sec 2.54 MBytes 21.3 Mbits/sec 1428.192 ms 5881/ 7696 (76%)

[ 4] 7.0- 8.0 sec 278 datagrams received out-of-order

[ 4] 8.0- 9.0 sec 2.50 MBytes 21.0 Mbits/sec 2391.167 ms 5811/ 7597 (76%)

[ 4] 8.0- 9.0 sec 354 datagrams received out-of-order

[ 4] 0.0- 9.5 sec 23.9 MBytes 21.0 Mbits/sec 1859.797 ms 54280/71304 (76%)

[ 4] 0.0- 9.5 sec 1530 datagrams received out-of-order

Share this post


Link to post
Share on other sites

Вспомнилось: на какой-то гигабитной встроенной (прошу прощения за такое предположение ;) ) сетевушке под виндой у меня была жуткая потеря пакетов при включенном flow control. Собственно, даже 20 Мбитс не прокачивалось. При выключеном все работало, как часы. На той же машине под линуксом проблем не было.

Share this post


Link to post
Share on other sites

Может быть и обратная ситуация: флоу контроль в венде вырублен и она заливает коммутатор пакетами, когда у него буфер кончается он их дропает. Если управляемый то можно счётчики посмотреть.

Share this post


Link to post
Share on other sites

На винде нет Flowcontrol настроек.

Есть UDPv4/v6 checksum offload, TCPv4/v6 checksum offload, IPv4 checksum offload. Jumbo так же отключены.

На коммутаторе, отключено

Port-channel6 is up, line protocol is up (connected)

input flow-control is off, output flow-control is unsupported

Share this post


Link to post
Share on other sites

Все настройки найдены, они на физ драйвере который на гипервизоре..

Если это виртуальная машина, то настройки нужно и на хосте, и на госте изменять.

Share this post


Link to post
Share on other sites

А на коммутаторе что? (в счётчиках)

Попробуйте включить, но для хоста виртуалки это не самая правильная настройка.

Может ещё дрова дропают, хз как и что там в венде.

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

Share this post


Link to post
Share on other sites

На коммутаторе в счетчиках все чисто. В этом и проблема что не понятно где проблема, есть подозрения что что-то в винде не так работает, вот только я её не очень хорошо знаю.

Подняли новый сервер Windows 2008R2 стэндэлон, ситуация таже. Буферы в винде увиличили, все offload выключины, джумбы тоже.. стандартный mtu проходит без вопросов. Udp больше 50 Мbit/s не разгоняется, пакеты дропаются. Фаерволы вырублены. Чудеса. хотя их не бывает

Share this post


Link to post
Share on other sites

На коммутаторе, отключено

Port-channel6 is up, line protocol is up (connected)

input flow-control is off, output flow-control is unsupported

Дак у вас две сетевухи аггрегированы?

А если одну лямку отключить?

Share this post


Link to post
Share on other sites

Уже отключили, коммутатор так же поменяли c cisco на huawei... симптомы те же.. самое интересно что все тоже самое происходит если виртуалки находятся даже только в в виртуальном свитче... Ощущение что что-то не так с виндой и ее стеком, вот только что пока не ясно...

Share this post


Link to post
Share on other sites

Уже отключили, коммутатор так же поменяли c cisco на huawei... симптомы те же.. самое интересно что все тоже самое происходит если виртуалки находятся даже только в в виртуальном свитче... Ощущение что что-то не так с виндой и ее стеком, вот только что пока не ясно...

А если не объединять сетевухи в гипервизоре а разным виртуалкам дать разные сетевухи/вланы(вроде с таким вариантом проблем не наблюдал) ?

Share this post


Link to post
Share on other sites

Сейчас провел тест между 2008R2 Server и Win7

Хосты в разных VLAN

bin/iperf.exe -c xxx.xxx.xxx.xxx -u -P 1 -i 1 -p 5001 -w 512.0K -l 1500.0B -f m -b 2000.0M -t 20 -T 1
------------------------------------------------------------
Client connecting to xxx.xxx.xxx.xxx, UDP port 5001
Sending 1500 byte datagrams
UDP buffer size: 0.50 MByte
------------------------------------------------------------
[ ID] Interval       Transfer     Bandwidth
[156]  0.0- 1.0 sec  24.0 MBytes   201 Mbits/sec
[156]  1.0- 2.0 sec  21.1 MBytes   177 Mbits/sec
[156]  2.0- 3.0 sec  25.4 MBytes   213 Mbits/sec
[156]  3.0- 4.0 sec  23.6 MBytes   198 Mbits/sec
[156]  4.0- 5.0 sec  26.4 MBytes   222 Mbits/sec
[156]  5.0- 6.0 sec  25.1 MBytes   210 Mbits/sec
[156]  6.0- 7.0 sec  27.2 MBytes   228 Mbits/sec
[156]  7.0- 8.0 sec  24.6 MBytes   207 Mbits/sec
[156]  8.0- 9.0 sec  23.9 MBytes   201 Mbits/sec
[156]  9.0-10.0 sec  27.0 MBytes   227 Mbits/sec
[156] 10.0-11.0 sec  24.6 MBytes   206 Mbits/sec
[156] 11.0-12.0 sec  19.1 MBytes   160 Mbits/sec
[156] 12.0-13.0 sec  27.3 MBytes   229 Mbits/sec
[156] 13.0-14.0 sec  20.1 MBytes   169 Mbits/sec
[156] 14.0-15.0 sec  17.7 MBytes   148 Mbits/sec
[156] 15.0-16.0 sec  13.2 MBytes   111 Mbits/sec
[156] 16.0-17.0 sec  25.9 MBytes   218 Mbits/sec
[156] 17.0-18.0 sec  21.2 MBytes   177 Mbits/sec
[156] 18.0-19.0 sec  26.9 MBytes   226 Mbits/sec
[156] 19.0-20.0 sec  25.5 MBytes   214 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[156]  0.0-20.0 sec   470 MBytes   197 Mbits/sec
[156] WARNING: did not receive ack of last datagram after 10 tries.
[156] Sent 328459 datagrams
Done.

Share this post


Link to post
Share on other sites

Попробуйте на реальном железе.

Если на реальном ОК то дело в сетевой подсистеме/дровах виртуалки под венду.

Share this post


Link to post
Share on other sites

Попробуйте на реальном железе.

На реальном железе проблема та же, сейчас интеловый сервер на тесте с голой виндой 2012 Р2 без апдейтов и других драйверов. Проблема та же, udp dowload с сервера потерь 0% upload потери до 50% скорость больше 50Mbit/s не разгоняется.

Share this post


Link to post
Share on other sites

у меня такое было. Копайте в сторону отключения в драйвере сетевой карты расчета чексумм пакетов.

Share this post


Link to post
Share on other sites

на тесте с голой виндой 2012 Р2 без апдейтов и других драйверов.

На прошлой неделе позвонил знакомый в панике со словами "пинги идут через один". Решилось накатыванием драйверов производителя...

Share this post


Link to post
Share on other sites

Софт ваш?

Общий, iperf

Копайте в сторону отключения в драйвере сетевой карты расчета чексумм пакетов.

Отключено, не помогает.

Share this post


Link to post
Share on other sites

Общий, iperf

В коде нужно добавить проверки на send() / sendto(), вероятно оно вызывает не обращая внимания на ошибки.

Ещё размер сокета натюнить самому, примерно так:

uint32_t buf_size = 2 * 1024 * 1024;

setsockopt(skt, SOL_SOCKET, SO_SNDBUF, &buf_size, sizeof(int));

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.