Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Застревает исходящий трафик  (Прочитано 3577 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн rudwut

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Застревает исходящий трафик
« : 20 Сентября 2010, 11:45:24 »
Ubuntu 10.04 x86-64

При работе через браузеры upload выполняется либо с задержкой где-то в полминуты, либо вообще застревает.
Например, на speedtest.net удается выполнить только тест download, а тест upload застревает намертво на стадии Preparing for upload test.
Аналогично на других сайтах, например на youtube невозможно залить видео.

Работаю в сети через роутер D-Link DI-524, но при работе с этого же компа под Windows такой проблемы нет. (Отсылаю это сообщение тоже и Windows, из Ubuntu не получается)

Я новичок в Linux, подскажите пожалуйста, где какие настройки надо проверить/попереключать, как выяснить почему так происходит.

Заранее спасибо!

Пользователь решил продолжить мысль 20 Сентября 2010, 12:13:11:
Пардон, забыл

ifconfig
(Нажмите, чтобы показать/скрыть)

route
(Нажмите, чтобы показать/скрыть)

cat /etc/resolv.conf
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 20 Сентября 2010, 12:13:11 от rudwut »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #1 : 20 Сентября 2010, 12:28:39 »
окошки на этой же машине?

Оффлайн rudwut

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #2 : 20 Сентября 2010, 12:32:58 »
Да, речь об одной и той же машине. На ней и Ubuntu и Windows

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #3 : 20 Сентября 2010, 15:05:02 »
Вообще похоже на проблему с MTU (Maximum Transmit Unit). По идее, когда какой-либо пакет не пролазит где-то на промежуточном роутере, то от него должен прийти icmp пакет, извещающий об этом и содержащий максимальный размер кадра. На основе этой информации система должна сгенерировать новый пакет, меньшего размера. Так вот, если где-то режется icmp то естественно будут траблы. На убунте файрволы никакие не поднимал? Что говорит sudo iptables-save ?

Оффлайн rudwut

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #4 : 20 Сентября 2010, 16:38:24 »
На убунте файерволов не поднимал, команда
Цитировать
sudo iptables-save
никакого вывода не дала (я что-то не так сделал? может какие ключи нужны?)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #5 : 20 Сентября 2010, 16:40:44 »
никакого вывода не дала
Значит всё чисто.

Тогда пробуй крутить MTU на интерфейсе в сторону уменьшения, методом научного тыка...... Или основываясь на максимальном размере проходящего пинга до узла назначения...

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #6 : 20 Сентября 2010, 16:44:48 »
tracepath вам в помощь.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн rudwut

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #7 : 20 Сентября 2010, 16:49:47 »
Тогда пробуй крутить MTU на интерфейсе в сторону уменьшения, методом научного тыка...... Или основываясь на максимальном размере проходящего пинга до узла назначения...

Зашел в роутер посмотреть значение MTU, там (почему-то) стояло 1500. Изменил на дефолтное 1492 - проблема решилась. Спасибо!

Но пара ламерских вопросов осталась:

1. Почему Windows mtu=1500 хавает, а Ubuntu нет? Где в убунте это можно настроить?
2. Как правильно подобрать оптимальное значение mtu?

Спасибо

Пользователь решил продолжить мысль 20 Сентября 2010, 16:57:27:
Вот вывод команды tracepath yandex.ru

(Нажмите, чтобы показать/скрыть)

Где-то 1500, где-то 1492 - что к чему относится?
И что означает Resume: pmtu 1492 hops 10 back 54 ?
Чисто для самообразования!  :coolsmiley:
« Последнее редактирование: 20 Сентября 2010, 16:58:49 от rudwut »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #8 : 20 Сентября 2010, 17:16:17 »
http://translate.google.ru/?client=opera&oe=utf-8&ie=UTF-8&sa=N&hl=en#auto|ru|Resume:%20pmtu%201492%20hops %2010%20back%2054

Это и есть ответ.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #9 : 20 Сентября 2010, 19:18:59 »
стояло 1500. Изменил на дефолтное 1492 - проблема решилась.
VPN? Тады твой роутер скорее всего и являлся чёрной дырой (black hole router)

1. Почему Windows mtu=1500 хавает, а Ubuntu нет? Где в убунте это можно настроить?
Хз, первым делом копать надо снятием дампов трафика. Возможно, что mtu в венде подкручен или пакеты формируются с другими параметрами mss. Потом нужно ковырнуть механизм "black hole router detection". И в Ubuntu и на венде этот механизм есть, только надо удостоверится, что он работает. В Linuxе за это отвечает параметр sysctl net.ipv4.tcp_mtu_probing, но возможно в Ubuntu оно отключено. Возможные значения данного параметра: 0: disabled, 1: enabled when black hole detected, 2: always enabled.


2. Как правильно подобрать оптимальное значение mtu?
Подбирается пингом ping -s размер_пинга -M do ya.ru, где размер пинга это MTU минус 28 байт ip и icmp echo заголовков.

Где-то 1500, где-то 1492 - что к чему относится?
Начали пакетом 1500, это на твоём интерфейсе. Потом дошли до твоего роутера, который нам сказал, что 1500 это дофига и надо бы снизить до 1492...

И что означает Resume: pmtu 1492 hops 10 back 54 ?
1492 это path mtu, т.е. полученный от роутеров максимальный размер пакета по этому пути. hops 10 означает, что прошли 10 роутеров, которые изменили значение ttl -1. back 54 это вероятное количество роутеров по пути назад. Вычисляется по томуже ttl... Более подробно, см. man tracepath


Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #10 : 20 Сентября 2010, 21:51:15 »
2. Как правильно подобрать оптимальное значение mtu?
Подбирается пингом ping -s размер_пинга -M do ya.ru, где размер пинга это MTU минус 28 байт ip и icmp echo заголовков.

Вообще-то для этого есть tracepath... И пингами яндекса мало что можно сделать, до него обычно самый большой pmtu, так как он часто оказывается прямо налево от раздающей точки.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #11 : 20 Сентября 2010, 22:08:41 »
Вообще-то для этого есть tracepath...
Утилита tracepath роутеры-"чёрные дыры" не пробивает. Она pmtu определяет на основе ответов от роутеров типа icmp destination-unreachable и если он зарезан где-то  на одном из роутеров по пути, то tracepath тут не помощник:

(Нажмите, чтобы показать/скрыть)

И пингами яндекса мало что можно сделать, до него обычно самый большой pmtu, так как он часто оказывается прямо налево от раздающей точки.
Ну это да, пинговать ессно нужно проблемнй хост. Это я скопипастил как было, в качестве примера.

ЗЫ. У меня появилось небольшое ощущение дежавю ;)
« Последнее редактирование: 20 Сентября 2010, 22:13:08 от Mam(O)n »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #12 : 20 Сентября 2010, 22:34:54 »
Не так часто попадаются именно чёрные дыры, на моей практике, по крайней мере.
www.sony.net пока единственный.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #13 : 20 Сентября 2010, 23:07:20 »
А если нет дыр, то и нет проблем с mtu, хинты отправляемые через icmp помогут сформировать пакет правильного размера, если только не режутся локальным файрволом... В дебрях инета такое действительно редкость, но на моей практике очень часто попадаются горе-админы в местных сетях, которые рубят весь им непонятный icmp трафик на шлюзе... Или возмем, например, случай, описаный в данном топике. Из за неверно выставленного mtu на ppp интерфейсе роутера, пакеты роутер принимал, а вот дальше они не уходили и данный хоп становился "черной дырой". А такие случаи не редки, и у нас на форуме не раз проскакивали. Самое простое было бы настроить роутер правильно, но не всегда есть возможность им управлять и вычислить максимальный реальный размер mtu тут можно только пингом или подстваив наиболее популярные значения и tracepath в общем то в этих делах бесполезная утилита.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Застревает исходящий трафик
« Ответ #14 : 20 Сентября 2010, 23:37:43 »
Проблем нет, есть задержки, порой серьёзные, при установлении связи с удалёнными хостами.

Пример из жизни - у меня ноуты к серверу коннектятся через изолированную сеть и получают сервер и инет по PPP.
Многие жаловались на тормоза. После пары экспериментов, нашел решение - в виндовом VPN подключении в реестре создать
MTU=dword32:(MTU интерфейса на сервере - 40).
После этого всё забегало быстро и красиво.
« Последнее редактирование: 20 Сентября 2010, 23:40:49 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.033 секунд. Запросов: 23.