Главная страница
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.043 c
2-1160480556
mfender
2006-10-10 15:42
2006.10.29
Интерфейсы и reinroduce


15-1160303268
kaif
2006-10-08 14:27
2006.10.29
Клубная культура


6-1149372317
serko
2006-06-04 02:05
2006.10.29
Internet Explorer и Opera


8-1143394276
VasRoG
2006-03-26 21:31
2006.10.29
Большие изображения


15-1159933925
[DUH]
2006-10-04 07:52
2006.10.29
Работа с теодолитом