The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Обработка в Linux более 64 тысяч одновременных соединений "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Обработка в Linux более 64 тысяч одновременных соединений " +/
Сообщение от User294 (??), 26-Дек-08, 18:35 
>когда соединение принято - появляется еще один порт из диапазона > 1024.

А расскажите пожалуйста, как эта ваша красивая сказка выглядит с точки зрения протокола TCP\IP? С указанием того что кидается в сторону ремоты чтобы уведомить ее о том что пакеты теперь надо слать не на порт 80 вон того сервака на на порт старше 1024 вон того сервака?Распишите по пакетам TCP\IP протокола плиз.Подкрепите это RFCами.И так далее.

Вообще-то то что вы описали насколько я помню актуально только для ИСХОДЯЩИХ соединений и как раз и делается для того чтобы ремота слушающая на одном порту (как это обычно делают сервера) могла соединения отличать, поскольку если вы откроете с одного вашего порта на один и тот же ремотный порт пачку соединений - их пакеты будет просто невозможно отличать (у них совпадают все айпи адреса и все порты и хрен их пакеты отличишь друг от друга).Поэтому когда программы делают множество исходящих соединений - они используют для каждого нового соединения новый локальный порт из диапазона больше чем 1024.Отсюда и ограничение 64K исходящих соединений на 1 айпи адрес.Для ВХОДЯЩИХ соединений такой проблемы не существует и никаких фокусов с портами не требуется: в силу указанного поведения принимающая сторона всегда может отличить соединения друг от друга за счет того что ip:port должны быть всегда разные для всех входящих соединений.Поэтому лимит на входящие соединения - 64K с каждого айпи, а поскольку IP адресов много - можно принять на одном порту немеряно соединений (2^32 IP и 2^16 port это 2^48 битов на перебор, реально несколько меньше из-за резервирования айпи и портов но реальные операционки 1 фиг стушуются гораздо быстрее чем выберется теоретический лимит не столь далекий от 2^48 соединений).

>чтобы как-то различать.

А, простите, почему соединение нельзя отличить по РЕМОТНЫМ хосту и порту?Ремотные клиенты выбирают при конекте новый порт >1024 для этого насколько я помню.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Обработка в Linux более 64 тысяч одновременных соединений , opennews, 24-Дек-08, 16:41  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру