Недавно обратился клиент, который жаловался на низкую скорость download-загрузки на сети 802.11ac. В качестве доказательства он представил Speedtest скрин, на котором upload был равен 200mbps, а download 15-20mbps. В ходе траблшутинга с помощью iPerf мы заметили, что низкий показатель download продолжается только первые 10 секунд теста. Мы попытались разобраться почему...
Низкая скорость загрузки проявлялась только в том случае, если сервер находился за шлюзом провайдера. Если сервер находился в пределах сайта, то скорость загрузки не понижалась.
Мы проверили не происходит ли отбрасывание пакетов на одном из сетевых устройств сайта: точке доступа, коммутаторе или маршрутизаторе. На проводных интерфейсах это проверялось командой display interface <interface>, на беспроводном интерфейсе точки доступа командой dis lmac radio-tx-statistics r 1 в режиме диагностики:
system-view
[HUAWEI] diagnose
[HUAWEI-diagnose]
[HUAWEI-diagnose]dis lmac radio-tx-statistics r 1
Tx stats:
Received from fwd packets : 623
Received from fwd bytes : 99074
Airport successful packets : 623
Airport successful bytes : 116032
Dropped packets total : 0
Dropped packets by air : 0
Dropped packets by software : 0
TotolEncapFail : 0
Потерь не было. Мы также сняли Wireshark дамп, чтобы убедиться, что в TCP потоке (stream) не происходило повторной пересылки и фрагментации пакетов. Этого не происходило: Ethernet payload (MTU) пакетов был стабильным 1500 байт.
Внимание привлек параметр dynamic flow inspection enable в конфигурации vap профиля (не во всех версиях прошивок DFI включен по умолчанию):
wlan
vap-profile name default
dynamic flow inspection enable
Dynamic Flow Inspection (DFI) идентифицирует приложения с трафиком TCP/UDP на основе поведения трафика и гарантирует, что трафик определенных приложений будет пересылаться по нисходящему направлению (downstream) с гарантированной скоростью.
![DFI идентифицирует трафик с помощью программного процесса DFI идентифицирует трафик с помощью программного процесса](https://habrastorage.org/getpro/habr/upload_files/0dd/a16/7a5/0dda167a58031dc67c744ec049d7e6d1.png)
Функции DFI нужно около 10 секунд (в версии прошивки R21), чтобы идентифицировать приложение. В течение этого времемни пакеты пересылаются программным процессом, а не аппаратным процессом пересылки, что влияет на результат Speedtest, скорость тестирования которого тоже составляет около 10 секунд. После идентификации трафик начинает пересылаться аппаратным процессом, но Speedtest к тому времени уже завершен.
Для отключения DFI:
[AC-wlan]vap-profile name testvap
[AC-wlan-vap-prof-testvap] dynamic flow inspection disable
Warning: This operation will make the game-turbo function ineffective. Continue? [Y/N]:y
---
Известны также случаи влияния DFI на чрезменое использование памяти AP.
---
В данном кейсе нам пока не удалось разобраться почему низкая скорость загрузки проявлялась только в том случае, если сервер находился за шлюзом провайдера - если сервер, до которого произволили тест, находился в пределах сайта, то скорость загрузки не понижалась.