Подтвердить что ты не робот

UDP Multicast через Интернет?

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

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

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

Если это уместно, и мой клиент и служба написаны на С#.

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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