UDP Multicast через Интернет? - PullRequest
21 голосов
/ 18 июня 2010

Я не уверен, как лучше подойти к моей проблеме.У меня есть служба с запусками на удаленной машине с получением и обработкой пакетов UDP.Я хочу, чтобы служба могла повторно отправлять эти пакеты всем, кто хочет их получить (может быть никто, обычно это будет одна машина, но может быть больше)

Я полагал, что многоадресная рассылка UDP будетв идеале - сервис может отправлять в группу многоадресной рассылки, и не имеет значения, сколько получателей зарегистрировалось, или даже если их нет.

Тем не менее, я хочу иметь возможность получить доступ к этому через Интернет, и, насколько я понимаю, это практически невозможно с UDP Multicasting.Есть ли другой метод, который я мог бы использовать для достижения этой цели?

При необходимости и мой клиент, и служба написаны на C #.

Ответы [ 2 ]

20 голосов
/ 19 июня 2010

В общем случае это невозможно, поскольку многоадресные пакеты не маршрутизируются.

Есть некоторые методы, чтобы обойти это (DVMRP, MOSPF и другие), но все они требуют, чтобы вы могли настроить все маршрутизаторы между вашим сервером и клиентами (или создать туннель). Существуют магистральные сети (Abilene, Mbone) с поддержкой многоадресной передачи, но они представляют наибольший интерес для университетов и тому подобное. Интернет обычного потребителя не имеет многоадресной рассылки.

К сожалению, вам нужна двухточечная связь. Но вы находитесь в хорошей компании, Интернет, радио и телевидение - все делают точка-точка, передавая одни и те же данные много раз. Потеря пропускной способности.

11 голосов
/ 26 июня 2010

Предпочтительным способом является использование наложения многоадресной рассылки, то есть использование TCP-соединений между одноранговыми узлами и реализация семантики многоадресной рассылки выше.

Многие маршрутизаторы IPv4 не поддерживают многоадресную рассылку или отключили ее, IPv6 должен поддерживать многоадресную рассылку, а семантика широковещательной передачи была удалена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...