Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

Как сделать туннель между двумя серверами?   Найти похожие ветки 

 
RA81 ©   (2006-04-06 08:28) [0]

Проблема возникла такая. Есть два сервера(1 и 2), между ними стоит фаервол который закрывает все протоколы в одну строну и пропускает некоторые в другую. То есть UDP закрыт напрочь в обе стороны. Открыт ТСР в одну сторону, то есть если запрос на создание соединения прийдет от сервера 2 то коннект произойдет и все ок, а если же запрос идет от сервера 1 то ничего не происходит. Так что имеем некую одностороннюю проводимость. Ну так вот... есть проблема передачи UDP пакетов с сервера 1 на сервер 2 и обратно. Подробнее: сервер 1 рассылает UDP пакеты по адресатам но поскольку ip адреса принадлежащие домену под сервером 2 закрыты фаерволом то фаер не пускает туда ничего. Есть задумка отлавливать на сервере 1 пакеты у которых пункт назначения лежит за фаерволом, затем запаковывать их в ТСР пакеты и по заранее установленному соединению передавать на сервер 2 , где их переконверчивать обратно в UDP и посылать адресату. То есть получатель вообще не должен знать что получил пакеты таким путем, ему должно все быть прозрачно....законнектился мол на нужный ip и работаешь.

Предположительно нужно создать программу сервер и клиента. программа-сервер будет принимать соединения от клиентов и передавать данные через фаервол. То есть пользователь запускает программу клиент, она ловит пакеты на нужном порту с нужным адресом назначения и создает ТСР соединение на программу сервер (которая стоит на сервере 2), пойманные пакеты программа-клиент заворачивает в ТСР пакет и передает программе-серверу. Затем программа-сервер передает ТСР пакеты через фаервол на программу сервер которая стоит на сервере 1. Далее пакеты разворачиваются и передаются по нужному адресу и порту. Такая вот схемка выходит.

Возможен вариант конечно когда программа клиент сразу делает ТСР коннект на прогу-сервер 1, то есть напрямую через фаервол. Стоит заметить что скорость сети между сервером 1 и 2 ниже чем в локальных областях.

Проблема состит в том что нужно обеспечить высокую скорость передачи данных...задержка должна быть не более 25-30 милисекунд. Пинг между серверами 1 и 2 где то 2 милисек. если сеть не загружена.

Никогда таким не занимался. Не знаю стоитли возиться с компонентами делфи или сразу делать на API. Мастера подскажите с какого боку подойти к данной проблеме?


 
RA81 ©   (2006-06-07 12:53) [1]

нашел программу которая осуществляет нужное мне дело :). называется zebedee. Нашел чисто случайно когда уже писал руками.



Страницы: 1 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.082 c
1-1158744914
Старик
2006-09-20 13:35
2006.10.29
Почтовый клиент по умолчанию


2-1160914841
_Ламер_
2006-10-15 16:20
2006.10.29
Unicode - что это такое и с чем его едят?


15-1159983160
ArtemESC
2006-10-04 21:32
2006.10.29
#


15-1159915299
Multy
2006-10-04 02:41
2006.10.29
Ну и что это за уродство?


15-1160481444
Petr V. Abramov
2006-10-10 15:57
2006.10.29
Oracle Developer vs Delphi