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

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

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

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

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

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

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

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

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

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

жжTCP различает между соединения не по номеру локального порта, а по тупле {local_addr,local_port,remote_addr,remote_port} это верно в обе стороны, и на вход и на выход
...
Рейтинг: 0 / 0
16.09.2011, 16:31
    #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
16.09.2011, 16:37
    #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
16.09.2011, 16:38
    #37443919
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много соединений
А вообще если не нравится прямой путь, можете продираться через болото, я не против.
...
Рейтинг: 0 / 0
16.09.2011, 16:56
    #37443970
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много соединений
...
Рейтинг: 0 / 0
16.09.2011, 17:34
    #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
21.09.2011, 11:23
    #37449379
Adekamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много соединений
а обязательно прям вот так именно на одном хосте держать ?
есть же всякие балансеры, можно через днс раскидать на несколько хостов.....
...
Рейтинг: 0 / 0
22.09.2011, 00:49
    #37450888
code8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много соединений
Журавлев Денис,

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

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

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

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

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


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