Программное обеспечение «Мой сервер» и «Клиент» работают как в Linux.
Сервер транслирует многоадресную рассылку, Клиент прослушивает многоадресную рассылку.
Мой клиент должен перейти на другой сайт,
и, к сожалению, многоадресная передача между двумя сайтами не разрешена :-(
Как передать многоадресную рассылку между двумя сайтами?
- Через TCP или UDP?
- Какие инструменты посоветуете?
- А как насчет задержки?
Я получил хороший ответ о Cisco конфигурация (GRE),
но одна из сетевых команд не хочет контролировать / поддерживать его,
=> когда передача прерывается, служба поддержки потратит слишком много часов, чтобы разобраться и исправить.
=> Итак, какая должна быть лучшая альтернатива GRE?
Есть ли решение на основе Особенности ядра Linux
или по возможностям сетевой карты? (важна низкая задержка)
Приветствуются примеры использования :-)
В настоящее время: Сервер и клиент на одном сайте
Будущее: Сервер и Клиент, каждый на своем сайте
многоадресный канал: 225.1.0.1:6666
Некоторые маршрутизаторы позволяют туннелировать многоадресный трафик по каналам IP-сети. Оба конца туннеля должны быть настроены соответствующим образом. Cisco, в частности, поддерживает туннелирование многоадресного трафика по каналам GRE. Вот статья о том, как этого добиться Cisco
Это возможно, но использование потокового протокола, такого как TCP, не является хорошей идеей по той причине, что несколько реализаций перегрузки (один раз из TCP, а другой раз из программ, пытающихся использовать UDP разумным образом)[1].
Возможности, которые у вас есть, - это туннельные решения, например OpenVPN + TAP (с транспортом UDP) или GRE, или даже такие вещи, как L2TP. [Интересно, будет ли работать туннелирование IPIP / IP6IP6.]
Я не уверен, что понимаю вашу графику в вашем вопросе, но насколько я понял, вам нужно пересылать многоадресный пакет через TCP? Решение, ориентированное на инструмент, может включать socat
:
Например, канал многоадресной рассылки - 224.1.0.1:6666.
На хосте Сервера (IP = SS.SS.SS.SS):
$socat -v UDP4-RECVFROM:6666,ip-add-membership=224.1.0.1:CC.CC.CC.CC,fork TCP:destination.hostname:4444
На клиентском хосте (IP = CC.CC.CC.CC):
$socat -v TCP-LISTEN:4444,fork UDP4-DATAGRAM:224.1.0.1:6666,range=SS.SS.SS.SS/24
Я позволю вам проверить, как настроить параметры с помощью socat
руководство. Это довольно просто, если вы знаете свою MULTICAST GROUP и IP-адреса вашего сетевого интерфейса. :-)
Решение, ориентированное на ядро Linux:
mrouted
- это демон, который получает любые многоадресные пакеты и сообщает ядру, куда их пересылать. Вам нужно будет перекомпилировать ядро Linux с определенным патчем и правильными параметрами. Затем настройте mrouted
демон. Подробнее читайте в Linux-Mrouted-MiniHOWTO.html .
Хорошая ссылка - это многоадресная рассылка, хорошее чтение.
Надеюсь, поможет.
Стив Миллер написал хорошо руководство по вашему вопросу. Надеюсь, что это поможет вам!