UnetStack - протоколы маршрутизации - PullRequest
0 голосов
/ 27 сентября 2018
  1. Как развернуть испытательный стенд для экспериментов с протоколами маршрутизации для связи акустических модемов UnetStack в подводной сети?
  2. Какой модем (модель) больше подходит для этого эксперимента?

1 Ответ

0 голосов
/ 09 октября 2018

Ответ на вопрос Q1

В стеке по умолчанию при загрузке симулятора Unet или модема с поддержкой UnetStack есть два агента, которые относятся к протоколам маршрутизации.

Агент router (org.arl.unet.net.Router) выполняет маршрутизацию пакетов на основе своих таблиц маршрутизации.Закрытия routes, addroute, delroute, delroutesto и delroutes позволяют вручную изменять таблицы маршрутизации.Просто введите help router в оболочке Unet для получения дополнительной информации:

> help router
router - access to routing agent

Examples:
  routes              // display routing table
  routes 2            // display routes to node 2
  addroute 27, 29     // add a route to node 27 via node 29
  delroute 2          // delete route number 2
  delroutesto 27      // delete all routes to node 27
  delroutes           // delete all routes

Parameters:
  MTU - maximum data transfer size
  auto1hop - automatically assume single hop routes
  link - default link to use
  routes - routing table (read-only)

Агент rdp (org.arl.unet.net.RouteDiscoveryProtocol) заполняет таблицу маршрутизации для агента router.Закрытия rreq и trace позволяют вам взаимодействовать с этим агентом.Для получения дополнительной информации введите help rdp:

> help rdp
rdp - access to route discovery protocol agent

Examples:
  rreq 27             // start route discovery to node 27
  rreq 27, 3, 2, 10   // find <3-hop route to node 27 with 2 RREQs 10s apart
  trace 27            // trace current route to node 27

Если вы хотите реализовать собственный протокол маршрутизации, самый простой вариант - создать собственного агента , который заполняет таблицу маршрутизации для * 1027.*.Это делается путем отправки RouteDiscoveryNtf сообщений агенту router.Для многих протоколов маршрутизации этого достаточно и это легко сделать.

Если ваш протокол маршрутизации более сложен и не может быть реализован путем динамического изменения таблиц маршрутизации, вы можете удалить агент router по умолчанию (из * 1035)* file) и вместо этого добавьте собственную реализацию агента маршрутизации.Ваш агент маршрутизации должен поддерживать Службу маршрутизации : Агент маршрутизации по существу принимает дейтаграммы для любого пункта назначения и отправляет их на следующем прыжке.Агент также прослушивает уведомления дейтаграммы от агента Link и перенаправляет их при следующем переходе, если они предназначены для маршрутизации пакетов.Как правило, агент маршрутизации должен добавлять свои собственные заголовки, чтобы знать, какие пакеты и куда направлять, на основе внедряемого протокола.

Ответ на Q2

Любой модем, который поддерживаетUnetStack должен работать.Вот список известных модемов, которые в настоящее время поддерживают UnetStack.

...