powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Много соединений
15 сообщений из 15, страница 1 из 1
Много соединений
    #37443764
code8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация: хост должен держать открытыми _много_ (больше 64к) "живых" tcp-сессий.

Есть техника, которая реализует это средствами iptables (раскидывает по алиасам какого-нибудь локального интерфейса).

А как еще этого можно достичь ?
...
Рейтинг: 0 / 0
Много соединений
    #37443791
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Много соединений
    #37443832
code8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Денис, спасибо за активность, но это не то... обратите внимание на слово "живых".

Хост должен поддерживать "много живых" соединений. Насколько я понимаю, SO_REUSEADDR - это просто способ "быстро" закрывать сокеты, не дожидаясь подтверждения от peer о закрытии соединения.

Ещё варианты ?
...
Рейтинг: 0 / 0
Много соединений
    #37443870
code8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
code8Денис, спасибо за активность, но это не то... обратите внимание на слово "живых".

Хост должен поддерживать "много живых" соединений. Насколько я понимаю, SO_REUSEADDR - это просто способ "быстро" закрывать сокеты, не дожидаясь подтверждения от peer о закрытии соединения.

Ещё варианты ?

вот ссылочка, где это обсуждается http://stackoverflow.com/questions/3229860/what-is-the-meaning-of-so-reuseaddr-setsockopt-option-linux
...
Рейтинг: 0 / 0
Много соединений
    #37443874
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code8Денис, спасибо за активность, но это не то... обратите внимание на слово "живых".

Хост должен поддерживать "много живых" соединений. Насколько я понимаю, SO_REUSEADDR - это просто способ "быстро" закрывать сокеты, не дожидаясь подтверждения от peer о закрытии соединения.

Ещё варианты ?Прочитайте уже текст. Внимательно.

жжTCP различает между соединения не по номеру локального порта, а по тупле {local_addr,local_port,remote_addr,remote_port} это верно в обе стороны, и на вход и на выход
...
Рейтинг: 0 / 0
Много соединений
    #37443894
code8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис,


This socket option tells the kernel that even if this port is busy (in the TIME_WAIT state), go ahead and reuse it anyway. If it is busy, but with another state, you will still get an address already in use error.
...
Рейтинг: 0 / 0
Много соединений
    #37443914
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code8Журавлев Денис,


This socket option tells the kernel that even if this port is busy (in the TIME_WAIT state), go ahead and reuse it anyway. If it is busy, but with another state, you will still get an address already in use error.тут противоречия нет никакого.
SO_REUSEADDR позволяет использовать занятый сокет, это позволит с одного исходящего порта открыть много соединений.
...
Рейтинг: 0 / 0
Много соединений
    #37443919
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще если не нравится прямой путь, можете продираться через болото, я не против.
...
Рейтинг: 0 / 0
Много соединений
    #37443970
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Много соединений
    #37444063
code8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денисcode8Журавлев Денис,


This socket option tells the kernel that even if this port is busy (in the TIME_WAIT state), go ahead and reuse it anyway. If it is busy, but with another state, you will still get an address already in use error.тут противоречия нет никакого.
SO_REUSEADDR позволяет использовать занятый сокет, это позволит с одного исходящего порта открыть много соединений.

Денис, вам фраза in the TIME_WAIT state что говорит ?
Вы проверяли способ SO_REUSEADDR ? Он работает ? На какой системе ? На какой версии ядра ?
...
Рейтинг: 0 / 0
Много соединений
    #37449379
Фотография Adekamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а обязательно прям вот так именно на одном хосте держать ?
есть же всякие балансеры, можно через днс раскидать на несколько хостов.....
...
Рейтинг: 0 / 0
Много соединений
    #37450888
code8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис,

Да, Денис, Вы правы - это работает! Посыпаю голову пеплом...

http://www.linux.org.ru/forum/development/6762711
...
Рейтинг: 0 / 0
Много соединений
    #37450890
code8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Adekamer,

в нашем случае, это уже, как бы, за балансером должно стоять...
...
Рейтинг: 0 / 0
Много соединений
    #37451010
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code8Журавлев Денис,

Да, Денис, Вы правы - это работает! Посыпаю голову пеплом...
Поздравляю.

code8 http://www.linux.org.ru/forum/development/6762711
Там тоже немало жира и 65тыс сокетов, 32 тыс тредов. Вы надеюсь не собираетесь тред/процесс создавать на каждый сокет?
...
Рейтинг: 0 / 0
Много соединений
    #37451146
Фотография Adekamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по поводу решения - где на один порт несколько сесий - это нифига не верное решение
тк всякие наты и маскеды строят таблицы свои на основе как раз связки ип-порт
а не внутренних заголовков пакетов
поэтому если на пути окажется чтото маскирующее натяшее - то возможен пипец
поэтому кушайте свои 64к и раздербанивайте задачу по разным ИП-хостам
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Много соединений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]