Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.103 c
15-1159938282
TUser
2006-10-04 09:04
2006.10.29
У кого есть файл


15-1160008584
Ketmar
2006-10-05 04:36
2006.10.29
TechnoJocks Object Toolkit для Virtual Pascal


15-1155872282
Loginov Dmitry
2006-08-18 07:38
2006.10.29
Опять за старое :)


3-1157278541
Алексей Петухов
2006-09-03 14:15
2006.10.29
Grid index out of range


15-1160130608
zdm
2006-10-06 14:30
2006.10.29
Mercury





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский