Skip to content

jimmbraddock/hmfp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HMFP - High Mobility Forecast Protocol

Протокол маршрутизации, предназначенный для работы в сетях с высокой подвижностью объектов. Примером такой сети является часть ATN (Airbone Tactical Network). Основная идея заключается в быстром распространении маршрутной информации, а также прогнозирование потери соединения на основе отношения сигнал/шум, полученного узлом от своих соседей.

Типы сообщений и их форматы

Протокол имеет следующие типы сообщений:

  1. HELLO
  2. REPLY
  3. REQUEST
  4. DISCONNECT
  5. NOTIFY

HELLO

Сообщение для обнаружения новых соседей. Узел передает на широковещательный адрес 255.255.255.0 информацию о своей таблице маршрутизации. Никак не влияет на принятие решения о мертвости соседа, потому что отключение будет происходить по другому механизму через DISCONNECT сообщение. Формат заголовка:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Reserved  |      Rtable Size              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Destination Address                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Hop Count |   Reserved    |     Additional Info           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ...                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Destination Address                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Hop Count |   Reserved    |     Additional Info           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
...

Type (1 байт)

Тип сообщения из вышеперечисленных

Reserved (1 байт)

Поле добавлено для выравнивания к 4 байтам. Заполняется нулями.

Rtable Size (2 байта)

Размер последующей таблицы маршрутизации узла

Destination Address (4 байта)

IP адрес назначения.

Hop Count (1 байт)

Количество переходов от узла отправителя до узла назначения.

Additional Info (2 байта)

Дополнительная информация об узле. На всякий случай + выравнивание.


Информационные сообщения

Reply, Request и Disconnect относятся к информационным сообщениям, т.е. таким сообщениям, которые заставляют принимать узел какое-то решение в части качества связи. Reply - ответ на запрос. Request - запрос на эхо ответ. Эхо необходимо для определения уровня сигнал/шум на запрашивающем узле. Disconnect - уведомление о скором разрыве соединения с узлом. Сообщение должно спровоцировать принимающий узел уведомить своих соседей о исчезновении пути до отправителя и поиск нового маршрута.

Формат этих типов сообщений одинаковый и выглядит следующим образом:

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Reserved  |      Additional Info          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type (1 байт)

Тип сообщения

Reserved (1 байт)

Выравнивание

Additional Info (2 байта)

Для дополнительной информации, которую захочет передать разработчик

Notify

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

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Reserved  |      Additional Info          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Disconnect Address                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    

Type (1 байт)

Тип сообщения

Reserved (1 байт)

Выравнивание

Additional Info (2 байта)

Для дополнительной информации, которую захочет передать разработчик

Disconnect Address (4 байта)

Отключаемый узел

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors