Рубрики

oggCanonпожеланияsymbian 9студентыudp"интернет магазиныаналитическая геометрияпиратыасфальтредактированиеяпринципынастроениеSporelurkmoreAreala

UDP редирект

интернет, tcp, qt, С++, udp
Суть вопроса: пользователь подключается к серверу по определенному ip и port, его нужно переадресовать на другой айпи и порт, как это реализовать средствами C++ (можно использовать библиотеки Qt)
если писать самому на обычных сокетах, появляется масса проблем - что делать с адресом отправителя? с ответами?
самое правильное решение - это ничего не писать на C++, а сделать средствами NATa (iptables на линуксе, ipfw/pf на FreeBSD).

> Если делать через NAT, трафик будет проходить с первого сервера на второй, а мне нужна просто переадресация на второй, чтобы трафик напрямую шел на второй сервер

ах, вот что ты имеешь в виду под переадресацией - заставить пользователя слать пакеты на другой сервер.
ну тогда это надо предусмотреть в вышележащем протоколе. сами по себе ни tcp, ни udp не предусматривают механизма перенаправления, это делают вышележащие протоколы - например в HTTP сервер может ответить кодом 301 или 302 с указанием альтернативного адреса и клиент повторит запрос по указанному новому адресу. в DNS сервер может выдать NS запись, что означает "я сам ответа не знаю, спроси у вот этих серверов".
так что в общем случае такой "переадресатор" сделать невозможно в виду отсутствия соответствующего механизма.
Вернуться на главную Вернуться в раздел
© 2010 Никита Кирилловский Карта сайта
Сайт создан в системе uCoz