<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Обработка в Linux более 64 тысяч одновременных соединений </title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/47198.html</link>
    <description>&quot;Allowing more than 64k bound connections (http://www.ioremap.net/node/97)&quot;  - патч (http://marc.info/?l=linux-netdev&amp;m=122963561613278&amp;w=2) позволяющий организовать обработку в Linux более 64 тысяч одновременных соединений через один bind() с указанием нулевого порта (номер порта будет выбран из группы доступных локальных адресов). &lt;br&gt;&lt;br&gt;URL: http://marc.info/?l=linux-netdev&amp;m=122963561613278&amp;w=2&lt;br&gt;Новость: http://www.opennet.ru/opennews/art.shtml?num=19545&lt;br&gt;</description>

<item>
    <title>Обработка в Linux более 64 тысяч одновременных соединений  (Maxim Chirkov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/47198.html#24</link>
    <pubDate>Fri, 26 Dec 2008 17:31:20 GMT</pubDate>
    <description>&amp;gt;Есть такое подозрение что после правки новостей и принятия правок коменты под &lt;br&gt;&amp;gt;новостью сносятся в ноль, что и порождает такие слухи.Было немало прецедентов &lt;br&gt;&lt;br&gt;Скорее всего при правке внимание привлекает повальный оффтопик в комментариях, что и приводит к их удалению ;-) Чаще всего обсуждение вырастает из одного оффтопичного комментария, на который нельзя или нет желания закрывать глаза, а так как приктикуется при удалении сообщения удалять и ответы на него, приходится удалять всю нить. Но такое бывает очень редко, это скорее единичные случаи, как и случаи случайного удаления всей нити вместо одного сообщения в ней, при клике не на той ссылке.&lt;br&gt;&lt;br&gt;Новость с комментариями весьма условно связана, если бы терялась связность - ветка обсуждения все равно оставалась бы висеть в форуме.&lt;br&gt;&lt;br&gt;Для более подробного анализа пришлите ссылку на новость у которой пропали комментарии, я детально по логам прослежу. Для текущей новости все добавленные комментарии на месте, ничего никто не удалял.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Обработка в Linux более 64 тысяч одновременных соединений  (User294)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/47198.html#23</link>
    <pubDate>Fri, 26 Dec 2008 15:45:18 GMT</pubDate>
    <description>&amp;gt;Как было 11 комментариев, так и осталось. В этой ветке модераторы ничего &lt;br&gt;&amp;gt;не удаляли. &lt;br&gt;&lt;br&gt;Есть такое подозрение что после правки новостей и принятия правок коменты под новостью сносятся в ноль, что и порождает такие слухи.Было немало прецедентов когда народ настрочил к новости кучу коментов а потом - бац и их всех и разом нет, при том такое было не раз.Сомнительно чтобы модераторы настолько сурово, кардинально и неоднократно злобствовали - видимо у вас есть какой-то баг, одно из предположений я озвучил.&lt;br&gt;</description>
</item>

<item>
    <title>Обработка в Linux более 64 тысяч одновременных соединений  (User294)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/47198.html#22</link>
    <pubDate>Fri, 26 Dec 2008 15:35:05 GMT</pubDate>
    <description>&amp;gt;когда соединение принято - появляется еще один порт из диапазона &amp;gt; 1024. &lt;br&gt;&lt;br&gt;А расскажите пожалуйста, как эта ваша красивая сказка выглядит с точки зрения протокола TCP&#092;IP? С указанием того что кидается в сторону ремоты чтобы уведомить ее о том что пакеты теперь надо слать не на порт 80 вон того сервака на на порт старше 1024 вон того сервака?Распишите по пакетам TCP&#092;IP протокола плиз.Подкрепите это RFCами.И так далее.&lt;br&gt;&lt;br&gt;Вообще-то то что вы описали насколько я помню актуально только для ИСХОДЯЩИХ соединений и как раз и делается для того чтобы ремота слушающая на одном порту (как это обычно делают сервера) могла соединения отличать, поскольку если вы откроете с одного вашего порта на один и тот же ремотный порт пачку соединений - их пакеты будет просто невозможно отличать (у них совпадают все айпи адреса и все порты и хрен их пакеты отличишь друг от друга).Поэтому когда программы делают множество исходящих соединений - они используют для каждого нового соединения новый локальный порт из диапазона больше чем 1</description>
</item>

<item>
    <title>Обработка в Linux более 64 тысяч одновременных соединений  (Dvorkin)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/47198.html#21</link>
    <pubDate>Fri, 26 Dec 2008 07:33:31 GMT</pubDate>
    <description>ну пал палыч!!!&lt;br&gt;&lt;br&gt;порт для Accept - одна штука.&lt;br&gt;когда соединение принято - появляется еще один порт из диапазона &amp;gt; 1024. чтобы как-то различать.&lt;br&gt;</description>
</item>

<item>
    <title>Обработка в Linux более 64 тысяч одновременных соединений  (User294)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/47198.html#20</link>
    <pubDate>Thu, 25 Dec 2008 23:37:41 GMT</pubDate>
    <description>&amp;gt;А еще лучше написать собственный модуль ядра - сервер и дергать TCP/IP &lt;br&gt;&amp;gt;стэк напрямую =) &lt;br&gt;&lt;br&gt;Боян.Хотя-бы на википедию или в гугл ходите до того как высказать &quot;гениальную&quot; мысль.Просто для проверки того что велосипед не изобрели до вас.Hint: вы далеко не первый кому пришла в голову такая мысль :D&lt;br&gt;&lt;br&gt;&amp;gt;Так можно будет и миллион соединений обработать. &lt;br&gt;&lt;br&gt;Исходящих?Может еще и с одного айпи и даже на один и тот же хост?Ну, попробуйте, ага, потом расскажете как получилось.Интересно правда что вы будете делать для отличения соединений друг от друга потому как портов всего 65К а айпишников... при исходящих соединениях вы не можете рассчитывать что софт не откроет скажем эн конекций на порт 80 вон того сервака, поэтому чтобы гарантированно отличать соединения вам придется ограничиться 65К соединениями на порт, т.к. IP:port назначения у таких соединений имеют право совпадать (скажем юзер в 5 потоков файл с сервера качает) - придется для отличения оных раздавать им разные локальные порты коих всего 65К на каждом из и</description>
</item>

<item>
    <title>Обработка в Linux более 64 тысяч одновременных соединений  (User294)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/47198.html#19</link>
    <pubDate>Thu, 25 Dec 2008 23:23:51 GMT</pubDate>
    <description>&amp;gt;Господа, не имеет значения, входящее соединение, или исходящее.&lt;br&gt;&lt;br&gt;Имеет...&lt;br&gt;&lt;br&gt;&amp;gt;Т.к. для передачи данных необходимы две оконечные точки - локальная и удаленная.&lt;br&gt;&lt;br&gt;Вот на основе этого и посчитайте сколько возможно уникальных (различимых между собой) вариантов конечных точек так и эдак.Впрочем я за вас это уже сделал - просто посмотрите выше...&lt;br&gt;&lt;br&gt;&amp;gt;В IP сетях этими оконечными точками являются сокеты - пары адрес:порт.&lt;br&gt;&lt;br&gt;Не в &quot;IP сетях&quot; а конкретно TCP/IP или UDP/IP.Другие протоколы даже пользуясь услугами IP могут не иметь понятия &quot;порт&quot; вообще.&lt;br&gt;&lt;br&gt;&amp;gt;Для передачи данных по TCP (ведь мы говорим о &quot;соединениях&quot; - UDP не трогаем)&lt;br&gt;&lt;br&gt;А тут не настолько уж принципиально.В конечном итоге TCP - это набор пакетов.UDP тоже.Для сетевого стека главное - определить кому отдавать прилетевшее.Это будет сделано по уникальности src ip:port + dst ip:port.Так?Ну вот и думайте дальше.&lt;br&gt; &lt;br&gt;&amp;gt;- вот и суммарное количество входящих и исходящих TCP соединений существующих &lt;br&gt;&amp;gt;одновременно на одном IP адресе. &lt;br&gt;&lt;br&gt;Какой вы умный.Я именно это</description>
</item>

<item>
    <title>Обработка в Linux более 64 тысяч одновременных соединений  (uldus)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/47198.html#18</link>
    <pubDate>Thu, 25 Dec 2008 11:23:16 GMT</pubDate>
    <description>&amp;gt; Товарищ, читайте Стивенса. На 80 порту только слушающий сокет, во время установки &lt;br&gt;&amp;gt; соединения (accept на серверном сокете) создаётся новый сокет и порт для него выбирается&lt;br&gt;&amp;gt; из резервного диапазона. Через слушающий сокет не передаётся никаких данных.&lt;br&gt;&lt;br&gt;Похоже вам самому не мешало бы Стивенса почитать, вы там что-то недопоняли. При создании нового сокета никакого выделения дополнительного порта на принимающей соединение стороне не происходит.&lt;br&gt;</description>
</item>

<item>
    <title>Обработка в Linux более 64 тысяч одновременных соединений  (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/47198.html#17</link>
    <pubDate>Thu, 25 Dec 2008 11:03:33 GMT</pubDate>
    <description>&amp;gt;Товарищ, читайте Стивенса.&lt;br&gt;&lt;br&gt;Предпочитаю читать код и верить своим тому что вижу в выводе ss или netstat.&lt;br&gt;&lt;br&gt;&amp;gt;На 80 порту только слушающий сокет, во время установки &lt;br&gt;&amp;gt;соединения (accept на серверном сокете) создаётся новый сокет и порт для &lt;br&gt;&amp;gt;него выбирается из резервного диапазона.&lt;br&gt;&lt;br&gt;Какого такого резервного диапазона? И что другая сторона начинала слать на &amp;#171;новый&amp;#187; порт? Ну чушь пишете же ))&lt;br&gt;&lt;br&gt;Может быть 20 лет назад и выдавал accept другой порт, чтобы различать локальные сокеты, но сейчас сокет в linux идентифицируется в хеш таблице 2 адресами и 2 портами. И когда accept создаёт новый сокет, то ЛОКАЛЬНЫЙ АДРЕС И ПОРТ ТАКОЙ ЖЕ как был у listen сокета. Ядро сокеты различает по адресу и порту другой стороны.&lt;br&gt;&lt;br&gt;&amp;gt; Через слушающий сокет не передаётся никаких данных. &lt;br&gt;&lt;br&gt;Да на здоровье, только это не в тему.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Обработка в Linux более 64 тысяч одновременных соединений  (Serega)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/47198.html#16</link>
    <pubDate>Thu, 25 Dec 2008 10:38:24 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Неправда&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Ещё какая правда. Не веришь - посмотри текущие сокеты. &lt;br&gt;&amp;gt;Все апачи занимают один 80 порт. Все ftpd один 21 &lt;br&gt;&amp;gt;У lighttpd каждый сокет имеет локальный порт общий с другими. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Так accept работает. Он возвращает сокет с локальным портом который был у &lt;br&gt;&amp;gt;listen сокета. Отличается только адрес другой стороны. &lt;br&gt;&lt;br&gt;Товарищ, читайте Стивенса. На 80 порту только слушающий сокет, во время установки соединения (accept на серверном сокете) создаётся новый сокет и порт для него выбирается из резервного диапазона. Через слушающий сокет не передаётся никаких данных.&lt;br&gt;</description>
</item>

</channel>
</rss>
