Ad-Hoc управление сетью

Я пишу программу, которая должна создать специальную сеть. После того, как он создан и другие узлы подключены, мне нужен способ определения ip каждого узла в сети (или какой-либо другой способ формирования соединения. Я бы предпочел использовать tcp и / или udp, но мне не нужно ). Как только у меня появится способ подключения к другим узлам, мне нужно определить количество прыжков между этой машиной и узлом, к которому я хочу подключиться.

Я много раз искал эту информацию, но безрезультатно …. Кто-нибудь знает, есть ли уже существующий API для этого? А если нет, то как бы я смог создать свой собственный ….

3

Решение

Я знаю, что этот вопрос довольно старый, но у меня большой опыт в этой области.

Вам нужен специальный протокол маршрутизации, часто называемый протоколом MANET (Mobile Adhoc NETwork). Я хотел бы предложить вам взглянуть на OLSR, который стандартизирован IETF как RFC 7181 и RFC 3636.
Вы можете получить исходный код и двоичные файлы для OLSR по адресу http://www.olsr.org/?q=download.

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

1

Другие решения

Других решений пока нет …