Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > создать более чем 65к исходящих коннектов


Автор: fray 16.4.2011, 18:33
Как можно организовать более чем 65536 исходящих коннектов с одной машины ?
Наверное можно подключить еще одну сетевую карту и использовать ее адрес для создания новых коннекетов, но мне это не подходит, так как может понадобится более, чем 2*65536 коннектов, да и нет возможности подключать дополнительные карты.
А можно ли создать "виртуальные" сетевые интерфейсы ? 
Если да, то как это делается ?
Спасибо !

Автор: Фантом 16.4.2011, 19:16
Хм... такие вопросы обычно принято сопровождать внятными объяснениями, зачем это понадобилось. 

Автор: fray 16.4.2011, 19:32
Цитата(Фантом @ 16.4.2011,  19:16)
Хм... такие вопросы обычно принято сопровождать внятными объяснениями, зачем это понадобилось.

По моему это академический вопрос, хочу иметь клиент который держит более чем 65к коннектов. 

Автор: Фантом 16.4.2011, 21:18
Это не является внятным объяснением.

Автор: fray 16.4.2011, 23:19
Цитата(Фантом @ 16.4.2011,  21:18)
Это не является внятным объяснением.

Это еще почему ?
это делается просто настройкой операционной системы, программирование на Си тут не причем, так что вопрос не туда.
Всем спасибо !  

Автор: xvr 18.4.2011, 12:39
Цитата(fray @  16.4.2011,  18:33 Найти цитируемый пост)
Как можно организовать более чем 65536 исходящих коннектов с одной машины ?

Под IPv4 - никак. Для каждого исходящего конекта сетевой стек создает локальный порт, а их всего 65К (16 бит на номер порта)

Цитата(fray @  16.4.2011,  18:33 Найти цитируемый пост)
Наверное можно подключить еще одну сетевую карту и использовать ее адрес для создания новых коннекетов,


Цитата

Для того, что бы родить ребенка, требуется 9 месяцев, вне зависимости от количества женщин, к этому привлеченных.

Ну если вы только сможете на отдельной карте поднять свой собственный IP стек  smile 

Автор: fray 23.4.2011, 20:18
Цитата(xvr @ 18.4.2011,  12:39)
Цитата(fray @  16.4.2011,  18:33 Найти цитируемый пост)
Как можно организовать более чем 65536 исходящих коннектов с одной машины ?

Под IPv4 - никак. Для каждого исходящего конекта сетевой стек создает локальный порт, а их всего 65К (16 бит на номер порта)

Цитата(fray @  16.4.2011,  18:33 Найти цитируемый пост)
Наверное можно подключить еще одну сетевую карту и использовать ее адрес для создания новых коннекетов,


Цитата

Для того, что бы родить ребенка, требуется 9 месяцев, вне зависимости от количества женщин, к этому привлеченных.

Ну если вы только сможете на отдельной карте поднять свой собственный IP стек  smile

Вы считаете что это невозможно ?  Что-то вроде виртуальной машины на еще одной сетевухе, которая бы работала как драйвер в основной системе и предоставляла эти самые заветные дополнительные соединения. smile

Автор: xvr 24.4.2011, 08:20
Цитата(fray @  23.4.2011,  20:18 Найти цитируемый пост)
Вы считаете что это невозможно ?

Возможно, но только на разных IP. Теоретически это можно сделать даже на одной сетевухе, но вот как это будет выглядеть на практике - не подскажу  smile 

Автор: MAKCim 24.4.2011, 09:24
можно еще придумать что-то типа nat на уровне
http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/net/ipv4/tcp_ipv4.c#L1617
но это из области извращений  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)