IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Настройка роутера, Помощь в нестандартых ситуациях
FlyingDutchman
сообщение 17.10.2014, 23:07
Сообщение #1


Очень активный
************

Группа: Пользователи
Сообщений: 481
Регистрация: 16.12.2006
Пользователь №: 380



Добрый день!
Сразу к делу. Есть у меня роутер, сделанный на базе x86-Ubuntu. На нем настроен NAT, за ним - десктопный компьютер. Пробую померить скорость работы с помощью iperf. На внешней машине (расположена довольно далеко) запускаю iperf:
Код
iperf -s -i 1

Потом на роутере тоже:
Код
root@bee:~# iperf -c elab.[censored].net -n 20M -m
------------------------------------------------------------
Client connecting to elab.[censored].net, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 46.32.это.я port 36789 connected with 145.100.это.он port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 2.1 sec  20.0 MBytes  78.8 Mbits/sec
[  3] MSS size 1448 bytes (MTU 1500 bytes, ethernet)

Как видим скорость приличная. Здорово. Теперь запускаем тот же тест с компьютера за натом:
Код
iperf -c elab.[censored].net -n 20M -m
------------------------------------------------------------
Client connecting to elab.[censored].net, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.112 port 46074 connected with 145.100.это.он port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-25.6 sec  20.0 MBytes  6.56 Mbits/sec
[  3] MSS size 1428 bytes (MTU 1500 bytes, ethernet)


Скорость упала больше чев 10 раз! Вот думаю с чего это так? При этом speedtest.net показывает что туда, что сюда в районе 80 (ну это питерский сервер), запускаю браузер вестимо на десктопе тем что за натом.

Вот что это такое и почему, а? Есть искушенные люди?
Перейти в начало страницы
 
+Цитировать сообщение
alexey.shamashov
сообщение 17.10.2014, 23:13
Сообщение #2


Путиноид
************

Группа: Пользователи
Сообщений: 1544
Регистрация: 28.8.2010
Из: Кронштадт
Пользователь №: 8212



А у вас сетевые карты на какие максимальные скорости рассчитаны? Может в этом дело? Ведь на прием и на передачу у них могут быть разные скорости.


--------------------
Cдам гараж в Ломоносове рядом с ж/д. Писать в личку.
ЗЫ Любители платных опросов тусуются здесь
@alexeyshamashov
Перейти в начало страницы
 
+Цитировать сообщение
FlyingDutchman
сообщение 17.10.2014, 23:19
Сообщение #3


Очень активный
************

Группа: Пользователи
Сообщений: 481
Регистрация: 16.12.2006
Пользователь №: 380



100 Мегабит, FD. Мамка ECM-CX700, судя по спецификации там RTL8101L. Убунта использует драйвер 8139too
Да и это не объясняет почему speedtest показывает красивые цифры.

Вот еще просьбочка такая. Если кто может мне дать шелл в пределах нашей сети, то можно потестить аналогичным образом. Будет по крайней мере ясно режется ли скорость на моей убунте или где-то в пути. Админы! Можно попросить запустить где-нибудь iperf -s и сказать мне где? Можно в сэндбоксе, мне только посмотреть!
Перейти в начало страницы
 
+Цитировать сообщение
virtual9900
сообщение 18.10.2014, 0:23
Сообщение #4


Хитиновый жучок
************

Группа: Пользователи
Сообщений: 1382
Регистрация: 9.1.2008
Пользователь №: 2265



Цитата(FlyingDutchman @ 18.10.2014, 0:33) *
Будет по крайней мере ясно режется ли скорость на моей убунте или где-то в пути.

Можно попробовать через такой переходник обойти роутер, тока MAC поменять на тестируемом компе (клонировать с роутера).


Еще есть предложение от знакомой (руководитель + инженер-разработчик сетевых технологий):
Цитата
Я бы для начала на UDP померяла. Оно надежнее. Еще может быть проблема в разных MTU на рутере и десктопе - идет фрагментация и скорость падает.


--------------------

PGP Key fingerprint = 3AC4 1A2D 036E 4B5E 6DDC 46E8 4458 E619 A18C 9DD2
Перейти в начало страницы
 
+Цитировать сообщение
FlyingDutchman
сообщение 18.10.2014, 1:09
Сообщение #5


Очень активный
************

Группа: Пользователи
Сообщений: 481
Регистрация: 16.12.2006
Пользователь №: 380



Цитата(virtual9900 @ 18.10.2014, 1:23) *
Еще есть предложение от знакомой (руководитель + инженер-разработчик сетевых технологий):

с MTU колдовал, не особо помогает. Вообще похоже проблема на уровне карты (растет overrun, на роутере со стороны десктопа особенно), но странная проблема. Если не играть с натом, то что с одной, что с другой стороны можно получить почти максимальную скорость (например если запустить тест между десктопом и роутером, или роутером и внешним компом). Думаю что если завести soсks на роутере, то запустить как-то тесты через него, то получим хорошую скорость. Странно это все как-то..
Жаль карточку не поменять, встроенная она.
Перейти в начало страницы
 
+Цитировать сообщение
ArcsinX
сообщение 18.10.2014, 11:01
Сообщение #6


Очень активный
************

Группа: Пользователи
Сообщений: 1039
Регистрация: 21.1.2012
Пользователь №: 9654



Вижу разный размер дефолтного TCP окна. Размер окна точно можно задавать в параметрах (не помню букву).
Далее, попробуй тестировать UDP траффик вместо TCP (изменится ли ситуация?). Для этого надо параметр -u добавить (и на сервере и на клиенте). И ещё, когда используешь UDP, надо указывать скорость соединения (т.к. в случае с UDP она может некорректно определяеться) -b 101M или как-то так.
Ещё попробуй несколько пакетов посылать
Перейти в начало страницы
 
+Цитировать сообщение
FlyingDutchman
сообщение 18.10.2014, 11:42
Сообщение #7


Очень активный
************

Группа: Пользователи
Сообщений: 481
Регистрация: 16.12.2006
Пользователь №: 380



Цитата(ArcsinX @ 18.10.2014, 12:01) *
И ещё, когда используешь UDP, надо указывать скорость соединения (т.к. в случае с UDP она может некорректно определяеться) -b 101M или как-то так.
Хмм.. А вот теперь начинается интересное: при использовании UDP получается занять канал почти целиком, находясь при этом за NATом. Скорость за 90Mb. Становится понятно почему speedtest говорит о таких хороших скоростях.

UPD
похоже причина найдена, хотя и непонятна: MTU>1200 за натом, внутри приватной сети, категорически вредит скорости работы tcp
Перейти в начало страницы
 
+Цитировать сообщение
virtual9900
сообщение 18.10.2014, 12:27
Сообщение #8


Хитиновый жучок
************

Группа: Пользователи
Сообщений: 1382
Регистрация: 9.1.2008
Пользователь №: 2265



Цитата(FlyingDutchman @ 18.10.2014, 12:42) *
похоже причина найдена, хотя и непонятна: MTU>1200 за натом, внутри приватной сети, категорически вредит скорости работы tcp

Зависимость эффективной скорости от длин заголовков и MTU в Ethernet сети.


--------------------

PGP Key fingerprint = 3AC4 1A2D 036E 4B5E 6DDC 46E8 4458 E619 A18C 9DD2
Перейти в начало страницы
 
+Цитировать сообщение
FlyingDutchman
сообщение 18.10.2014, 12:42
Сообщение #9


Очень активный
************

Группа: Пользователи
Сообщений: 481
Регистрация: 16.12.2006
Пользователь №: 380



это я смотрел уже. MTU в Ethernet сетях обычно 1500, а обычное правило увеличениея пропускной способности как раз его увеличивать. А у меня наблюдается прямо противоположная картика (до определенного значения конечно
Перейти в начало страницы
 
+Цитировать сообщение
ArcsinX
сообщение 18.10.2014, 12:53
Сообщение #10


Очень активный
************

Группа: Пользователи
Сообщений: 1039
Регистрация: 21.1.2012
Пользователь №: 9654



Цитата(FlyingDutchman @ 18.10.2014, 13:42) *
это я смотрел уже. MTU в Ethernet сетях обычно 1500, а обычное правило увеличениея пропускной способности как раз его увеличивать.
увеличивать надо, если на всём пути пакета MTU больше.
А если на каком-то узле MTU маленькое, ну скажем 1200, то отправленный туда пакет 1500 разбивается на 2: 1200 и 300, хотя оптимальнее для пропускной способности было бы посылать 2 раза по 1200 (и собственно затраты времени на фрагментацию). Таким образом скорость режется.

То есть ещё раз: какое MTU на роутере? Оно точно 1500?

Можешь определить минимальное MTU до необходимого хоста тулзой tracepath
что-то типа tracepath -n elab.[censored].net
Перейти в начало страницы
 
+Цитировать сообщение
virtual9900
сообщение 18.10.2014, 13:09
Сообщение #11


Хитиновый жучок
************

Группа: Пользователи
Сообщений: 1382
Регистрация: 9.1.2008
Пользователь №: 2265



Цитата(ArcsinX @ 18.10.2014, 13:53) *
увеличивать надо, если на всём пути пакета MTU больше.
А если на каком-то узле MTU маленькое, ну скажем 1200, то отправленный туда пакет 1500 разбивается на 2: 1200 и 300, хотя оптимальнее для пропускной способности было бы посылать 2 раза по 1200 (и собственно затраты времени на фрагментацию). Таким образом скорость режется.

Ну или ковырять драйвер, увеличивать буфер direct memory access (DMA). Если это реально (есть сурцы). Обычно там круглые значения (512, 1024).


--------------------

PGP Key fingerprint = 3AC4 1A2D 036E 4B5E 6DDC 46E8 4458 E619 A18C 9DD2
Перейти в начало страницы
 
+Цитировать сообщение
FlyingDutchman
сообщение 18.10.2014, 16:28
Сообщение #12


Очень активный
************

Группа: Пользователи
Сообщений: 481
Регистрация: 16.12.2006
Пользователь №: 380



проблема похоже в карте или драйвере. на всем пути MTU 1500, но при нем скорость падает катастрофически и возникают overruns. Принуждая к более низкому mtu получаем приемлемое решение. Хотя возникают проблемы с IPv6
Перейти в начало страницы
 
+Цитировать сообщение
virtual9900
сообщение 18.10.2014, 16:47
Сообщение #13


Хитиновый жучок
************

Группа: Пользователи
Сообщений: 1382
Регистрация: 9.1.2008
Пользователь №: 2265



Можно модель сетевой платы? На каком она чипсете?
Ссылки, если есть.


--------------------

PGP Key fingerprint = 3AC4 1A2D 036E 4B5E 6DDC 46E8 4458 E619 A18C 9DD2
Перейти в начало страницы
 
+Цитировать сообщение
ArcsinX
сообщение 18.10.2014, 17:26
Сообщение #14


Очень активный
************

Группа: Пользователи
Сообщений: 1039
Регистрация: 21.1.2012
Пользователь №: 9654



А пробовал замерить скорость между роутером и компом?
Ну так же
iperf -s ...
запускаешь на роутере,
iperf ...
на компе

Или наоборот, сервер на компе, клиент на роутере. Интересно, изменится ли что-нибудь
Перейти в начало страницы
 
+Цитировать сообщение
FlyingDutchman
сообщение 18.10.2014, 18:24
Сообщение #15


Очень активный
************

Группа: Пользователи
Сообщений: 481
Регистрация: 16.12.2006
Пользователь №: 380



@virtual9900: RTL8101L, согласно спецификации. Это встроенные карточки в дуал-NIC микро-ATX мамку.
@ArcsinX: так делал же. Все работает очень хорошо и на дефотном MTU. Проблемы возникают при роутинге между ними.
Перейти в начало страницы
 
+Цитировать сообщение
ArcsinX
сообщение 18.10.2014, 23:29
Сообщение #16


Очень активный
************

Группа: Пользователи
Сообщений: 1039
Регистрация: 21.1.2012
Пользователь №: 9654



Цитата(FlyingDutchman @ 18.10.2014, 19:24) *
Все работает очень хорошо и на дефотном MTU. Проблемы возникают при роутинге между ними.
На самом деле странно как-то. Ну то есть сетевая карта нормально оправляет и получает пакеты от роутера, не думаю что дело в ней.
А overrun'ы появляются именно на компе, а не на роутере? Ну то есть я готов поверить, что роутер может не успевать обрабатывать пакеты, т.к. у роутеров всегда слабое железо.
Кстати, то что при наличии overrun'ов скорость TCP падает многократно -- ожидаемое поведение, т.к. протокол подразумевает подтверждение доставленных данных и перепосылает их при неудачной доставке. Т.е. потерянные пакеты (в данном случае overrun) будут через некоторое время опять отправлены.

Попробуй ещё воткнуть кабель напрямую в комп, посмотреть что будет выдавать iperf к внешнему хосту.
Перейти в начало страницы
 
+Цитировать сообщение
FlyingDutchman
сообщение 19.10.2014, 1:16
Сообщение #17


Очень активный
************

Группа: Пользователи
Сообщений: 481
Регистрация: 16.12.2006
Пользователь №: 380



Экспериментально выяснено что страдают большие кадры. Поскольку выставлять MTU<1200 не хочется ввиду того, что экспериментирую с IPv6, а там минимальный MTU должен быть выше 1280, решил проблему (если так можно сказать, по-колумбовски), принуждая выставлять маленький MSS:
на роутере, eth1 - внутренний интерфейс
Код
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o eth1 -j TCPMSS --set-mss 1130

экспериментально выяснил что при этом MSS tcp работает приемлемо:
Код
iperf -c elab.[censored].net -n 100M -m
------------------------------------------------------------
Client connecting to elab.[censored].net, TCP port 5001
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.112 port 44398 connected with 145.100.132.135 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.3 sec   100 MBytes  81.1 Mbits/sec
[  3] MSS size 1118 bytes (MTU 1158 bytes, unknown interface)
Перейти в начало страницы
 
+Цитировать сообщение
goreckyi
сообщение 22.10.2014, 10:42
Сообщение #18


Наш новый абонент


Группа: Пользователи
Сообщений: 1
Регистрация: 22.10.2014
Пользователь №: 12504



Цитата(ArcsinX @ 19.10.2014, 0:29) *
Попробуй ещё воткнуть кабель напрямую в комп, посмотреть что будет выдавать iperf к внешнему хосту.


это нужно было сделать в самом начале...
Перейти в начало страницы
 
+Цитировать сообщение
virtual9900
сообщение 4.11.2015, 8:56
Сообщение #19


Хитиновый жучок
************

Группа: Пользователи
Сообщений: 1382
Регистрация: 9.1.2008
Пользователь №: 2265



А как с этим:
Известные проблемы
"Хост знает значение MTU для собственного (возможно и своих соседей) интерфейса, но минимальное значение MTU для всех узлов сети обычно неизвестно. Другая потенциальная проблема заключается в том, что протоколы более высокого уровня могут создавать пакеты большего размера, не поддерживаемые другими узлами сети. .."
huh.gif Или тебе только для локалки это надо?

Цитата(FlyingDutchman @ 19.10.2014, 2:16) *
решил проблему (если так можно сказать, по-колумбовски), принуждая выставлять маленький MSS:
на роутере, eth1 - внутренний интерфейс
Код
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o eth1 -j TCPMSS --set-mss 1130

экспериментально выяснил что при этом MSS tcp работает приемлемо:
Код
iperf -c elab.[censored].net -n 100M -m
------------------------------------------------------------
Client connecting to elab.[censored].net, TCP port 5001
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.112 port 44398 connected with 145.100.132.135 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.3 sec   100 MBytes  81.1 Mbits/sec
[  3] MSS size 1118 bytes (MTU 1158 bytes, unknown interface)


--------------------

PGP Key fingerprint = 3AC4 1A2D 036E 4B5E 6DDC 46E8 4458 E619 A18C 9DD2
Перейти в начало страницы
 
+Цитировать сообщение
Sergo
сообщение 4.11.2015, 12:54
Сообщение #20


Люблю INFO-LAN
************

Группа: Главные администраторы
Сообщений: 25620
Регистрация: 24.9.2006
Из: Петергоф, Рамбов, Красносельский
Пользователь №: 37



А слабо роутер настроить сразу на VPN или TOR, чтобы не чувствовать запретов РосКомНадзора?


--------------------
Перейти в начало страницы
 
+Цитировать сообщение

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 12.12.2017, 9:27