Перейти до

Win + Linux PPPoE BRAS - низкая скорость передачи


Рекомендованные сообщения

Всем привет!

 

Столкнулся с проблемой и не могу найти решения. Есть PPPoE (ядерный rp-pppoe.so) BRAS на базе Linux Debian. На нем крутится NAT и шейпинг.

 

1) При подключение с Win XP клиента (ДАЖЕ без шейпинга интерфейса, без ната) скорость передачи данных к клиенту не поднимается выше 30-50Мбит, соединение между ними 100base-T. Измерения скорости проводились торентами и флешевыми тестами.

2) При подключении того-же Win XP клиента через роутер (D-Link DIR-615) + оконечивание PPPoE на этом же роутере, проблема счезает. Даже флешевые тесты показывают скорость в обе стороны приближенную к канальной ~ 97 Мбит/сек.

3) При подключении Linux клиента к BRAS через PPPoE - проблема исчезает, скорость максимально возможная.

 

В настройках сервера PPPoE, параметр MTU установлен в автоматическом режиме. Полез смотреть в сторону TCP MSS. Запустил tcpdump на вэб-сервере и зашел на страницу:

 

 

При подключении из Win XP - MTU на обеих сторонах 1480, рассогласований нет:

 

13:50:00.195943 IP CLIENT_IP.3536 > WEB_SERV_IP.www: S 1746232114:1746232114(0) win 65535 <mss 1440,nop,wscale 2,nop,nop,sackOK>

13:50:00.195981 IP WEB_SERV_IP.www > CLIENT_IP.3536: S 4040982219:4040982219(0) ack 1746232115 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 7>

13:50:00.207458 IP CLIENT_IP.3536 > WEB_SERV_IP.www: . ack 1 win 65340

13:50:00.207664 IP CLIENT_IP.3536 > WEB_SERV_IP.www: P 1:458(457) ack 1 win 65340

13:50:00.207695 IP WEB_SERV_IP.www > CLIENT_IP.3536: . ack 458 win 54

13:50:00.233633 IP WEB_SERV_IP.www > CLIENT_IP.3536: P 1:492(491) ack 458 win 54

13:50:00.233698 IP WEB_SERV_IP.www > CLIENT_IP.3536: F 492:492(0) ack 458 win 54

13:50:00.238783 IP CLIENT_IP.3536 > WEB_SERV_IP.www: . ack 493 win 65217

13:50:00.239080 IP CLIENT_IP.3536 > WEB_SERV_IP.www: F 458:458(0) ack 493 win 65217

13:50:00.239096 IP WEB_SERV_IP.www > CLIENT_IP.3536: . ack 459 win 54

 

При подключении Win XP через DIR-615 - MTU на обеих сторонах 1492, рассогласований нет.

 

13:58:45.950662 IP CLIENT_IP.3048 > WEB_SERV_IP.www: S 3816467849:3816467849(0) win 65535 <mss 1452,nop,wscale 3,nop,nop,timestamp 0 0,nop,nop,sackOK>

13:58:45.950695 IP WEB_SERV_IP.www > CLIENT_IP.3048: S 3692826051:3692826051(0) ack 3816467850 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 7>

13:58:45.951712 IP CLIENT_IP.3048 > WEB_SERV_IP.www: . ack 1 win 32768

13:58:45.952016 IP CLIENT_IP.3048 > WEB_SERV_IP.www: P 1:274(273) ack 1 win 32768

13:58:45.952043 IP WEB_SERV_IP.www > CLIENT_IP.3048: . ack 274 win 54

13:58:45.953054 IP WEB_SERV_IP.www > CLIENT_IP.3048: P 1:1395(1394) ack 274 win 54

13:58:45.953127 IP WEB_SERV_IP.www > CLIENT_IP.3048: F 1395:1395(0) ack 274 win 54

13:58:45.954486 IP CLIENT_IP.3048 > WEB_SERV_IP.www: . ack 1396 win 32593

13:58:45.958107 IP CLIENT_IP.3048 > WEB_SERV_IP.www: F 274:274(0) ack 1396 win 32593

13:58:45.958122 IP WEB_SERV_IP.www > CLIENT_IP.3048: . ack 275 win 54

 

Немного теории:

 

Параметр MTU (Maximum Transmit Unit) отвечает за максимальный размер передаваемого пакета. Если размер пакета будет больше, чем может пропустить маршрутизатор, то он будет разделен, что сразу скажется на скорости и пропускной способности. Если параметр не указать принудительно, значение будет выставлено автоматически и, увы, не всегда рационально. Рассчитывать его следует так. Максимальный размер фрейма Ethernet – 1518 байт, из них 14 – заголовок и 4 – контроль (то есть полезная нагрузка равна 1500 байт). Далее PPPoE отбирает еще 6 байт, а PPP – 2. В итоге значение MTU для PPPoE должно составлять не более 1492.

 

При установлении TCP соединения каждая сторона выставляет параметр Maximum Segment Size (MSS), определяющий максимальный размер TCP сегмента на всем пути. По умолчанию его значение берется, как MTU для исходящего интерфейса минус размер заголовков TCP и IP (40). Исходя из этого, максимальное значение MSS для Ethernet будет равняться 1460, а для PPPoE – 1452.

 

Вопрос по результатам:

 

Почему MSS ack не равен MSS syn ? Хотя в случае через роутер по идее тоже должны быть проблемы, но их нет....

В чем может быть проблема?

 

П.С. Пробовал выставить на BRASe "iptables -A FORWARD -i ppp{NUM} -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1430" но это не изменило значений

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...