Одноадресный ответ на многоадресную рассылку? - PullRequest
1 голос
/ 20 января 2012

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

У меня вопрос: если listener получает многоадресный пакет, может ли он отправлять одноадресный ответ тому процессу, который speaker отправил его, не открывая новый сокет одноадресного стиля?

РЕДАКТИРОВАТЬ: по крайней мере, я могу получить IP-адрес многоадресного пакета speaker и подключиться к порту одноадресного стиля, который процесс может прослушивать, верно?

1 Ответ

3 голосов
/ 23 января 2012

РЕДАКТИРОВАТЬ: по крайней мере, я могу получить IP-адрес многоадресного пакета говорящего и подключиться к некоторому порту в стиле одноадресной рассылки, который процесс может прослушивать, верно?

Многоадресные пакеты (фактически любые IP-пакеты) имеют IP-адрес источника и получателя, единственная разница в многоадресной рассылке состоит в том, что адреса получателей принадлежат группам, а не компьютерам, начиная с 224.0.xx Источником всегда является реальный IP-адрес отправителя (если он не находится за NATв этом случае это будет IP-адрес шлюза.

Это означает, что вы можете извлечь IP отправителя, и IF у этого отправителя есть сокет сервера (== прослушивающий)и все сетевые конфигурации (таблица пересылки и брандмауэр) разрешают доступ к этому сокету, вы сможете инициировать сеанс TCP с ним ...

...