Обсуждение проблемы полу-открытых соединений

Автор Nikolai, 20 Жовтень 2008, 02:36:47

Попередня тема - Наступна тема

Nikolai

Цитата: Olex від 18 Жовтень 2008, 19:51:02
pelik911 проблема решается намного проще, нужно было пропатчить TCPIP.SYS хотя бы на 100 соединений :)  Собственно проблема в том что по умолчанию в винде всего 10 полу-открытых соединений и их слишком мало для торрента (где их бывает и по сотне)
Впервые слышу о таком ограничении. Тебе известно где об этом можно почитать, или загуглить? И что такое "полу-открытое"?
If you do what you have always done, you'll get what you have always got

Xella

#1
Цитата: Nikolai від 20 Жовтень 2008, 02:36:47
Впервые слышу о таком ограничении. Тебе известно где об этом можно почитать, или загуглить? И что такое "полу-открытое"?

Ссылка выше была, но привожу на русском http://half-open.com/home_ru.htm

да и если загуглить "half-open limits " или "tcpip.sys" то информации валом, но вцелом думаю хватит и ссылки выше.

Edd.Dragon

Цитата: Olex від 18 Жовтень 2008, 19:51:02
pelik911 проблема решается намного проще, нужно было пропатчить TCPIP.SYS хотя бы на 100 соединений :)  Собственно проблема в том что по умолчанию в винде всего 10 полу-открытых соединений и их слишком мало для торрента (где их бывает и по сотне)
Ну не 10, а в зависимости от подключения  :P
Так же это количество изменяют всякие тюнеры и даже даунлоадеры (FlashGet например предлагает изменять кол-во подключений в зависимости от выбраной в его настройках скорости канала).

Цитата: Nikolai від 20 Жовтень 2008, 02:36:47
Впервые слышу о таком ограничении.
При слишком большом кол-ве подключений может сильно упасть эффективность использования канала. Так сказать, его КПД. Так же в зависимости от канала надо регулировать размеры пакетов - на слабых GPRS каналах поменьше, тем более если связь нестабильная, при широких стабильных каналах - побольше, чтобы уменьшить процент служебной инфы на единицу полезной.

Xella

Цитата: edd_k від 20 Жовтень 2008, 10:09:19
Ну не 10, а в зависимости от подключения  :P
От подключения чего?  :P Как лимит может зависеть от подключения? Он установлен жестко и составляет 10 незакрытых(полуоткрытых, незавершенных называйте как хочете)
Без искажений на языке оригинала почитайте http://technet.microsoft.com/en-us/library/bb457156.aspx 
раздел Limited number of simultaneous incomplete outbound TCP connection attempts

Цитата: edd_k від 20 Жовтень 2008, 10:09:19
Так же это количество изменяют всякие тюнеры и даже даунлоадеры (FlashGet например предлагает изменять кол-во подключений в зависимости от выбраной в его настройках скорости канала).
Странно нужно устанавливать давнлоадер что бы поменять два байта в sys файле?

Edd.Dragon

Цитата: Olex від 20 Жовтень 2008, 11:29:17
Странно нужно устанавливать давнлоадер что бы поменять два байта в sys файле?
Я к тому, что далеко не факт, что лимит будет равен N, т.к. он уже кем-то мог быть изменен.

Цитата: Olex від 20 Жовтень 2008, 11:29:17
Он установлен жестко и составляет 10 незакрытых(полуоткрытых, незавершенных называйте как хочете)
Без искажений на языке оригинала почитайте http://technet.microsoft.com/en-us/library/bb457156.aspx 
Это ограничение на очередь запросов на подключение, а не на кол-во установленых подключений.

TCP connection attempts, а не TCP connections


Цитата: Olex від 20 Жовтень 2008, 11:29:17
От подключения чего?  :P Как лимит может зависеть от подключения?
Подключения бывают разные, от диалапа до локалки

Xella

Цитата: edd_k від 20 Жовтень 2008, 11:57:44
Я к тому, что далеко не факт, что лимит будет равен N, т.к. он уже кем-то мог быть изменен.
Кем? при изменении нужно подтвердить что вы хотите сохранить нераспознанные версии файлов, да и сомневаюсь я что нормальная программа будет это делать, изменять системные файлы Windows чревато преследованием со стороны Microsoft.  ;)

Цитата: edd_k від 20 Жовтень 2008, 11:57:44
Это ограничение на очередь запросов на подключение, а не на кол-во установленых подключений.
А как установить большее количество исходяших подключений чем  их количество в очереди ???
Цитата: edd_k від 20 Жовтень 2008, 11:57:44
Подключения бывают разные, от диалапа до локалки
В данном случае имеется в виду интернет по протоколу tcp/ip (а чем он реализован протоколу пофиг), а не ограничение на подключение в локальной сети до 10 в prof и 5 в home.


Edd.Dragon

Цитата: Olex від 20 Жовтень 2008, 12:09:18
А как установить большее количество исходяших подключений чем  их количество в очереди ???
Очередь ЗАПРОСОВ на установку соединения.

- Я хочу подключиться!
- Подожди, мы еще предыдущих не подключили!
- И я!
- А ты зайди попозже, нам длинная очередь ждущих не нужна.

Если я правильно перевел. А уже установленых хоть 20 может быть.

ЦитатаКем? при изменении нужно подтвердить что вы хотите сохранить нераспознанные версии файлов,
Так вот, максимальное кол-во одновеременных установленых соединений не меняется через системные файлы, а прописывается в реестре или еще где-то.


Xella

Мы с тобой как глухой с немым разговариваем.

Надеюсь прочтение тобой статьи внесет ясность - http://ru.wikibooks.org/wiki/Event_4226

Ну а пока цитата оттуда:
Цитата
Попытка подключения

Для установления TCP соединения локальный компьютер сперва посылает удалённому компьютеру приглашение к соединению (так называемый SYN пакет).

Состояние, в котором при этом находится локальный компьютер, называют полуоткрытым соединением (англ. half-open connection) или попыткой подключения (англ. connection attempt).

Далее в зависимости от ответа удалённого компьютера полуоткрытое соединение либо закрывается либо переходит в нормальное установленное TCP соединение.

Подробнее про TCP соединения можно прочитать в статье TCP/IP.


Сущность ограничения

Ограничение заключается в том, что компьютеру не разрешается иметь более 10 одновременных полуоткрытых исходящих соединений. При достижении предела новые попытки подключений ставятся в очередь.

Таким образом, фактически ограничена скорость подключения к другим компьютерам.

На количество установленных соединений жесткого предела в системе нет. Кроме того, ограничение никак не затрагивает входящие соединения.

Ограничение введено компанией Microsoft в попытке замедлить распространение вирусов с зараженного компьютера, а также ограничить возможности участия компьютера в DoS-атаках.

Edd.Dragon

#8
Ага, значит под полу-открытыми ты имел вииду именно это.

Тогда почему проблема в этом? Торрент при закачке не держит постоянные подключения, а постоянно переподключает всю сотню тянущих потоков, тем самым постоянно захламляя очередь попыток подключения?

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


Xella

#9
Цитата: edd_k від 20 Жовтень 2008, 13:24:05
Ага, значит под полу-открытыми ты имел вииду именно это.

Тогда почему проблема в этом? Торрент при закачке не держит постоянные подключения, а постоянно переподключает всю сотню тянущих потоков, тем самым постоянно захламляя очередь попыток подключения?

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


Торрент-клиенту в основном пофиг -  у него нет потери скорости (что подтверждает и статья выше), но вот одновременный серфинг с качающим/раздающим на полную торрентом становится нереальным. Почему это происходит описано в статье  ;)

Тема выделена из cFosSpeed — сетевой драйвер для оптимизации канала широкополосного доступа

Edd.Dragon

Т.е. с большой очередью например на канале 512/512 серфинг не будет тормозить когда торрент будет грузить канал на 100%? :)

Xella

Цитата: edd_k від 20 Жовтень 2008, 14:13:23
Т.е. с большой очередью например на канале 512/512 серфинг не будет тормозить когда торрент будет грузить канал на 100%? :)


Да, в большинстве случаев серф будет приемлимым.
В случае забитого под завязку аплоада могут наблюдаться проблемы, но они уже связаны с нехваткой канала.

Nikolai

Ну вы и развели дискуссию)). Сижу вот думаю, то ли идти искать не знаю что в реестре, то ли качать этот патч, то ли и так все на максимальных возможностях, и и-нет должен, обязан тормозить когда качает торрент... :-\ :)
If you do what you have always done, you'll get what you have always got

Edd.Dragon

Цитата: Olex від 20 Жовтень 2008, 14:34:58
Да, в большинстве случаев серф будет приемлимым.
В случае забитого под завязку аплоада могут наблюдаться проблемы, но они уже связаны с нехваткой канала.
Блин, а даунлоад что, с нехваткой канала не может столкнуться? Я тебе с самого начала о чем говорил? Канал перегружен торрентом! В принципе даже в обе стороны, например при ОГО 512-1024 на 512.

Xella

Цитата: edd_k від 20 Жовтень 2008, 19:42:09
Блин, а даунлоад что, с нехваткой канала не может столкнуться? Я тебе с самого начала о чем говорил? Канал перегружен торрентом! В принципе даже в обе стороны, например при ОГО 512-1024 на 512.
блин только не начинай снова, у меня голова болит после вчерашнего и опять тебе что-то объяснять я не буду.
Ты пытаешься обьяснять прописные истины, а речь совсем о другом. Все просто - серфать при любом раскладе с качающим торентом можно, без патча tcpip.sys на 50-100 - это практически нереально.
Не веришь - проверь. Возьми ОГО-4 + Dlink 2500U + utorrent + 20 отдающихся + 2-3 скачивающихся раздач.
В данный момент отвечаю тебе и у меня аплоад забит до 50 кб/с и нормально.


Edd.Dragon

#15
Цитатаи у меня аплоад забит до 50 кб/с и нормально.
300 из 512 - это далеко не полная загрузка канала. А даунлоад тоже небось торрент не забивает на 99%.

У Пелика же ОГО-0.5. И даже если бы был ОГО-1. Торрентом забить даунлоад - раз плюнуть. И тогда твой патч ну ничем не сможет помочь принципиально, т.к. канал не разгрузит и приоритеты подключениям не изменит. У тебя например 20 подключений торрента и несколько от браузера (страничка например на 200 Кб и мелкие картинки, которые больше ждут ответа чем закачиваются). Всем этим подключениям канал надо выдать поровну. В результате на вытягивание странички остается десятая-двадцатая часть канала, т.е. из 512 кбит 25-50 кбит (5 кбайт в сек). Вот и вся арифметика ))

Чтобы этого не было, подключениям браузера нужно выделять больше канала чем "поровну". Ограничить торрент фиксировано - значит использовать канал неэффективно, т.к. браузер то не качает непрерывно. А вот динамически менять ограничения для приложений - решение хорошее, но не всегда просто реализуемо.

Тормоза от непатченого sys-а при указаных тобою выше нескольких десятках подключений в торренте - просто ничто, по стравнению тормозами, когда браузеру перепадает несчастных 25-50 кбит канала. И я уже спрашивал - зачем торренту 50 и более полуоткрытых соединений? Он сидов меняет каждую секунду или те, кто к тебе подключаются постоянно меняются? Если да, т.е. если суммарно скажем 50 подключений и они почти все постоянно меняются - тогда проблема. Если подключения не меняются постоянно, то кто же тогда стопорит очередь на подключение?

Xella

Цитата: edd_k від 21 Жовтень 2008, 10:28:17
300 из 512 - это далеко не полная загрузка канала. А даунлоад тоже небось торрент не забивает на 99%.
это вообще-то 400 и не из 512, УТ для домашних пользователей заявляет ДО 512 в реале больше 55-56 кб не видел.

Цитата: edd_k від 21 Жовтень 2008, 10:28:17
У Пелика же ОГО-0.5. И даже если бы был ОГО-1. Торрентом забить даунлоад - раз плюнуть. И тогда твой патч ну ничем не сможет помочь принципиально, т.к. канал не разгрузит и приоритеты подключениям не изменит. У тебя например 20 подключений торрента и несколько от браузера (страничка например на 200 Кб и мелкие картинки, которые больше ждут ответа чем закачиваются). Всем этим подключениям канал надо выдать поровну. В результате на вытягивание странички остается десятая-двадцатая часть канала, т.е. из 512 кбит 25-50 кбит (5 кбайт в сек). Вот и вся арифметика ))
Но она все же тянеться, полнузок загрузки набегает, запрос уходит, а не попадает в "очередь" еще на уровне системы и у тебя висит белая страница.
Цитата: edd_k від 21 Жовтень 2008, 10:28:17
Тормоза от непатченого sys-а при указаных тобою выше нескольких десятках подключений в торренте - просто ничто, по стравнению тормозами, когда браузеру перепадает несчастных 25-50 кбит канала. И я уже спрашивал - зачем торренту 50 и более полуоткрытых соединений? Он сидов меняет каждую секунду или те, кто к тебе подключаются постоянно меняются? Если да, т.е. если суммарно скажем 50 подключений и они почти все постоянно меняются - тогда проблема. Если подключения не меняются постоянно, то кто же тогда стопорит очередь на подключение?
Раздач в торренте 20, а пиров в каждой раздаче может быть и по 10 а может у одной активной быть и 80-90, причем отдавать мой клиент может только одному из них, а остальные висят ждут своей порции.

ЄЄЄ кстати причем здесь пелик?  пелик решил свою проблему другим способом еще до того как мы узнали о его проблеме.

Напомню все началось с твоего поста

Цитата: edd_k від 20 Жовтень 2008, 10:09:19
Ну не 10, а в зависимости от подключения  :P
Так же это количество изменяют всякие тюнеры и даже даунлоадеры (FlashGet например предлагает изменять кол-во подключений в зависимости от выбраной в его настройках скорости канала).

При слишком большом кол-ве подключений может сильно упасть эффективность использования канала. Так сказать, его КПД. Так же в зависимости от канала надо регулировать размеры пакетов - на слабых GPRS каналах поменьше, тем более если связь нестабильная, при широких стабильных каналах - побольше, чтобы уменьшить процент служебной инфы на единицу полезной.


Про 10 полуоткрытых я тебе вроде рассказал. А дальше нить разговора теряется, и ты опять начинаешь про прописные истины.

В общем начали за здравие а кончили за упокой, я уже даже не знаю как переименовать тему.





Edd.Dragon

Цитата
ЄЄЄ кстати причем здесь пелик?  пелик решил свою проблему другим способом еще до того как мы узнали о его проблеме.
Напомню все началось с твоего поста

:-X Началось с "Твою проблему можно было решить проще" и я пытаюсь понять как увеличение очереди разгрузит перегруженый канал и даст бОльший приоритет одинкому подключению браузера, затерявшемуся в десятках подключений торрента.


ЦитатаРаздач в торренте 20, а пиров в каждой раздаче может быть и по 10 а может у одной активной быть и 80-90
Ну это уже при не слишком большом канале - перебор. Для 4 мбит может и нормально


Цитата: Olex від 21 Жовтень 2008, 11:16:50
это вообще-то 400
Завтыкал...


linuxdrom

Цитата: edd_k від 21 Жовтень 2008, 10:28:17
Тормоза от непатченого sys-а при указаных тобою выше нескольких десятках подключений в торренте - просто ничто, по стравнению тормозами, когда браузеру перепадает несчастных 25-50 кбит канала.
Ты ошибаешься. При 25-50 кбит странички вполне еще грузятся, просто очень медленно. При тормозах из нехватки соединений, вырастает пинг до невероятных величин и тогда совсем все плохо, вплоть до того что браузер просто не дожидается ответа от сервера.

Edd.Dragon

ЦитатаПри 25-50 кбит странички вполне еще грузятся, просто очень медленно.
Это тормоза

ЦитатаПри тормозах из нехватки соединений, вырастает пинг до невероятных величин и тогда совсем все плохо, вплоть до того что браузер просто не дожидается ответа от сервера.
А это уже не тормоза - это ступор. Почти что "Аааа! Нет инета!"

И предложеная Пеликом прога этого бы не решила, т.к. винду она не патчила. Я ж еще раз говорю - обсуждал конкретную цепочку

"проблема - решение - а вот еще такое решение - а это точно решение именно такой проблемы?"

Nikolai

Вот, пропатчил сабжем. Ребутнул два раза. Качаю с торрента (я к 45-ти, ко мне полтора десятка, ап и даун около 30К).

Субъективно вроде бы несколько быстрее работает браузинг. Я, правда, пока только форум смотрел, но время ожидания коннектов сократилось, отсюда и время загрузки (ибо как известно нужно много коннектов per page).
Правда так, процентов на 20-40, не больше.
If you do what you have always done, you'll get what you have always got