Имеется дома локальная сеть, маршрутизатор DI-824VUP на нем настроен NAT и плюс он WIFI-точка. Маршрутизатор соединен с провайдером по PPPoE (MTU 1492). Скорость по тарифу 10 Мбит/c.
И вот тестирую при одном компе. Один ноут c FreeBSD 8.2 подключенный к данному маршрутизатору. У ноута две карты вайфайная и обычная. По обычной карте (re0 - Gigabit Ethernet NIC(NDIS 6.0) (RTL8168/8111/8111c)) прокачивается заявленная провайдером скорость - 10 Мбит/с, по вафле (wlan0 - Atheros AR9285 Wireless LAN 802.11 a/b/g/n Controller (AR928x)) качает на скорости 5-6 Мбит/c. Но при этом с серверов других провайдеров расположенных в этом же городе где и я, вафля прокачивает 10 Мбит/c.
Учитывая последний факт, сразу закралась мысль, что это какие-то проблемы с фрагментацией пакетов. И где-то мои пакеты не пролазят.
На сетевых картах выставлен MTU 1406 (именно этот MTU выбран из-за того, что DI-824 держит еще VPN). И по расчетам после того как маршрутизатор обернет пакеты NAT или VPN они получатся не больше 1492. Но обычная карта (re0) учитывает этот MTU, а wlan0 на указание MTU плевал. Он вычисляет mss как 1460, именно поэтому на мой взгляд скорость 5-6 Мбит/c, а не 10.

Проверил tcpdump'ом при закачке Яндекса.
При соединении по обычной карте (re0) идет правильный запрос с учетом выставленного MTU на карте 1406, mss выставляется 1366 (1406-40).
Код: Выделить всё
192.168.124.20.24679 > mirror.yandex.ru.http: Flags [S], seq 379317731, win 65535, options [mss 1366,nop,wscale 3,sackOK,TS val 13314 ecr 0]

Код: Выделить всё
192.168.124.21.34851 > mirror.yandex.ru.http: Flags [S], seq 1438938251, win 65535, options [mss 1460,nop,wscale 3,sackOK,TS val 825770 ecr 0]
Код: Выделить всё
wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP mtu 1406"
#ifconfig_re0="DHCP mtu 1406"
Код: Выделить всё
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1406