Плохой пинг в вове. Linux. Виндовс крабам читать не стоит.
Автор
Сообщение
wile
0
Плохой пинг в вове. Linux. Виндовс крабам читать не стоит.
Для начала, если кому интересно, исходные данные
посмотреть
посмотреть
Местоположение: Омск, Россия Интернет-провайдер: Вебстрим Проблемы с пингом: всегда ОС: Linux thrashhome 2.6.29-gentoo-r5 #2 SMP Tue Aug 18 18:18:08 OMSST i686 AMD Athlon(tm) 7750 Dual-Core Processor AuthenticAMD GNU/Linux
Данный топик создал для того, чтобы попытаться коллективно исследовать проблему плохого пинга в вове, и возможно её решить.
Имею пинг в игре по кварцу 30.12.2009 в 11:37 дня 300-600мс, что меня совсем не устраивает. Вечером он еще больше ухудшится из-за местных школьников, качающих порно с торрентов.
Попытка решения проблемы номер раз: Т.к. я не использую ОС Windows, то не могу попробовать установить фикс для реестра, поскольку у меня он отсутствует ) Идём другим простым путём. 1) Узнаём адрес сервера, на котором играем а) Коннектимся к вову, пишем
netstat -ant
netstat -ant
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:8010 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:3700 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:3800 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN tcp 0 0 192.168.1.1:35820 62.67.45.53:3724 ESTABLISHED tcp 0 0 192.168.1.1:41021 90.189.192.121:5223 ESTABLISHED tcp 0 0 192.168.1.1:35819 62.67.45.53:3724 ESTABLISHED tcp 0 0 127.0.0.1:3800 192.168.1.1:35819 ESTABLISHED
б) Нас интересуют соединения с портом 3724. в) Очевидно, 62.67.45.53:3724 2) Создаём правило для iptables
tos=0xd0, судя по , "1000 -- minimize delay". 4) Запускаем socat, заходим в игру, смотрим tcpdump и пинг.
вывод tcpdump
вывод tcpdump
14:49:52.098454 IP (tos 0xd0, ttl 64, id 184, offset 0, flags [DF], proto TCP (6), length 52) 192.168.1.1.35820 > 62.67.45.53.blizwow: ., cksum 0xbc96 (correct), 218:218(0) ack 55204 win 1002 14:49:52.352966 IP (tos 0xc8, ttl 44, id 54191, offset 0, flags [DF], proto TCP (6), length 117) 62.67.45.53.blizwow > 192.168.1.1.35820: P 55204:55269(65) ack 218 win 121 14:49:52.353181 IP (tos 0xd0, ttl 64, id 185, offset 0, flags [DF], proto TCP (6), length 52) 192.168.1.1.35820 > 62.67.45.53.blizwow: ., cksum 0xba57 (correct), 218:218(0) ack 55269 win 1002
Видно, что tos в исходящих пакетах = 0xd0, а во входящих (омг) 0xc8.
Расшифровываем:
Расшифровываем:
0xc8 = 11001000, по рфц: первые 3 бита не имеют значение, следующие 4 бита tos = 0100 последний бит = 0.
Омг, tos = "0100 -- maximize throughput", где-то на пути ко мне стоит шейпер, который цуко оптимизирует канал для порноторрентов!
Теперь вопросы к обществу. Я неправ в своих выводах? Что можно сделать в такой ситуации? Есть мысли по прокидывания трафика вова через udp пакеты с помощью чьей-нибудь vds, находящейся ближе к серверам вова (например, через openvpn). Или стоит звонить провайдеру и сразу материться на него?
30 дек 2009, 11:57
newb
0
Re: Плохой пинг в вове. Linux. Виндовс крабам читать не стоит.
wile писал(а):
tos=0xd0, судя по , "1000 -- minimize delay".
1000 = 8 = 0x08.
Упс. Есть сдвиг на один бит. 0xd0 - нормально. Почему не 0xf0?
30 дек 2009, 13:53
wile
0
Re: Плохой пинг в вове. Linux. Виндовс крабам читать не стоит.
Minagushi писал(а):
Красноглазик.
Цитата:
Местоположение: Омск, Россия
Ты себе представляешь трассу до Европы из Омска? Тут может быть виноват как и твой провайдер, так и провайдер твоего провайдера у которого он покупает трафик, что скорее всего. Меняй провайдера. Винда, Линукс имхо пофигу вообще если железо нормальное, а оно у тебя нормальное, так что срать. Что под виндой что под линями.
Да, я забыл показать трассировку.
traceroute to 62.67.45.53
traceroute to 62.67.45.53
traceroute to 62.67.45.53 (62.67.45.53), 30 hops max, 40 byte packets 1 192.168.1.254 (192.168.1.254) 1.316 ms 1.712 ms 2.169 ms 2 * * * 3 ge-4-1-3.osk-dr1.ncc.sibirtelecom.ru (213.228.118.61) 37.479 ms 39.193 ms 41.292 ms 4 ge-0-0-0.osk-bsr1.ncc.sibirtelecom.ru (213.228.118.42) 41.601 ms 42.759 ms ge-1-0-0.osk-bsr1.ncc.sibirtelecom.ru (213.228.118.46) 44.477 ms 5 omk15.transtelecom.net (217.150.46.170) 46.015 ms 46.276 ms 48.202 ms 6 xe-4-2-0-xcr1.amd.cw.net (195.2.21.5) 140.914 ms 124.487 ms 126.271 ms 7 xe-4-2-0-xcr1.amd.cw.net (195.2.21.5) 129.201 ms 129.456 ms 129.689 ms 8 xe-0-1-0.xcr1.lsw.cw.net (195.2.25.101) 134.614 ms xe-4-1-0.xcr1.lsw.cw.net (195.2.25.93) 132.334 ms xe-0-2-0.xcr1.lsw.cw.net (195.2.25.105) 138.932 ms 9 195.50.118.229 (195.50.118.229) 141.154 ms 143.253 ms 144.818 ms 10 ae-34-52.ebr2.London1.Level3.net (4.69.139.97) 146.896 ms 127.118 ms 128.018 ms 11 ae-2-2.ebr2.Amsterdam1.Level3.net (4.69.132.134) 134.890 ms 135.580 ms 137.493 ms 12 ae-1-100.ebr1.Amsterdam1.Level3.net (4.69.141.169) 139.361 ms 136.960 ms 137.109 ms 13 ae-2-2.ebr2.Dusseldorf1.Level3.net (4.69.133.90) 136.636 ms 135.921 ms 137.162 ms 14 ae-21-52.car1.Dusseldorf1.Level3.net (4.69.139.34) 134.682 ms 136.977 ms 135.659 ms
Как видно из трассировки, пинг должен быть около 160-200 (причем сейчас уже близится вечер). А в игре сейчас 400.
Мне доступны три провайдера, у других ситуация ещё хуже - дисконнекты, пинг в вове до 2000мс, падение сети и т.д.
ps: А на винду не вернусь. Не нужны мне эти зависоны, вирусы кривые платные проги и ограниченный системный инструментарий.
Добавлено спустя 6 минут 33 секунды:
newb писал(а):
wile писал(а):
tos=0xd0, судя по , "1000 -- minimize delay".
1000 = 8 = 0x08.
Упс. Есть сдвиг на один бит. 0xd0 - нормально. Почему не 0xf0?
С этим я прогнал ) Взял первые 3 бита от того, что ко мне приходит (0xc8 = 11001000), когда экспериментировал, изменил tos, и получилось 0xd0. И забыл зачем. Раньше было 0x10.
30 дек 2009, 13:56
newb
0
Re: Плохой пинг в вове. Linux. Виндовс крабам читать не стоит.
Похоже на шейпер. Просто так ToS не переписывают.
По трейсу - есть два скачка:
Первый - #3 (или #2, непонятно) - переход от тебя к твоему провайдеру, обусловлен качеством канала связи и загрузкой принимающего узла провайдера. В целом цифры нормальные.
Второй - #6 - переход от твоего провайдеру к провайдеру верхнего уровня, обусловлен загрузкой двух общающихся узлов. Цифры большие. 80ms это очень много. Один из узлов перегружен.
В целом, хотя между тобой и Близзардом и больше чем один провайдер, ToS переписывает скорее всего именно твой. Это первая проблема. Вторая проблема - скачок на 80ms выше.
Звони, разбирайся. Попытка - не пытка. Удачи и с Новым Годом!
(И, да, установка Windows тут не поможет.)
30 дек 2009, 14:16
wile
0
Re: Плохой пинг в вове. Linux. Виндовс крабам читать не стоит.
Kari344 писал(а):
Генту наверное ставил, чтобы перед друзьями понтонуться?
Нет, перед друзьями я понтовался FreeBSD 3.6 в десятом классе, когда держал ноду в фидонете оО
Пробовал дебиан и генту (дистрибы взял у знакомого), второе понравилось больше, на генту и остался.
Но вопрос топика-то не в генту, и не в том, что линукс лучше/хуже винды.
Добавлено спустя 2 минуты 52 секунды:
newb писал(а):
Похоже на шейпер. Просто так ToS не переписывают. Второй - #6 - переход от твоего провайдеру к провайдеру верхнего уровня, обусловлен загрузкой двух общающихся узлов. Цифры большие. 80ms это очень много. Один из узлов перегружен.
Гугление дало знание, что узел 5 находится в Сибири, а узел 6 в Европе. Поэтому такая цифра тоже вполне нормальная.
newb писал(а):
Звони, разбирайся. Попытка - не пытка. Удачи и с Новым Годом! (И, да, установка Windows тут не поможет.)
Спасибо )
30 дек 2009, 14:19
newb
0
Re: Плохой пинг в вове. Linux. Виндовс крабам читать не стоит.
uncle_fedor писал(а):
btw, в wine есть аля реестр из виндуза, попробуй там может фикс прокатит.
Фикс выключает алгоритм Нагла (Nagle). В примере выше это сделано параметром "nodelay" в вызове socat.
Последнее замечание:
Технически, "сервер" общающийся с "клиентом" по TCP (понятия сервер и клиент во многих случаях сильно размыты) не обязан использовать тот же самый ToS, который использует клиент. Больше того, он может использовать разные ToS'ы для разных запросов в пределах одного соединения. Таким образом, переписывание ToS может производиться и Близзардовским сервером. На практике, однако, это делается редко. Переписывают ли ToS сервера WoW я не знаю. Но вот провайдер переписывать ToS не должен ни при каких обстоятельствах.
30 дек 2009, 14:23
wile
0
Re: Плохой пинг в вове. Linux. Виндовс крабам читать не стоит.
Minagushi писал(а):
Цитата:
ps: А на винду не вернусь. Не нужны мне эти зависоны, вирусы кривые платные проги и ограниченный системный инструментарий.
1. Нормально пересобери компьютер. --- 5. Поинтересуйся вопросом, нормально настрой винду и проги. Ты не поверишь какой сказочной тебе покажется эта операционка когда ты приложишь к этому хоть чуть желания и аккуратности =)
На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.