You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
1.7 KiB
16 lines
1.7 KiB
подсистема роутинга |
|
utun - это сеть узлов. у каждого узла есть собственные локальные подсети. |
|
и узлы обмениваются таблицой маршрутов между собой так чтобы у каждого была актуальная таблица подсетей всех узлов. |
|
маршрутами меняются только те подключения которые взяты из конфига. |
|
инициируется подключение, клиент отправляет свою таблицу. когда сервер принимает таблицу - сервер помечает что по этому маршруту надо обмениваться маршрутами, далее; |
|
- добавляет узел в список рассылки обновлений маршрутов |
|
- отправляет свою таблицу |
|
- добавляет в свою таблицу отсутствующие маршруты |
|
- если что-то добавил: |
|
- рассылает измененные маршруты по списку рассылки |
|
- список рассылки - это linked-list очередей (также на базе ll_queue - каждый элемент = подписчик). один маршрут = одна отправленная кодограмма |
|
|
|
|
|
|
|
при подключении узла или изменении таблицы: узлы обмениваются изменениями таблиц маршрутов. |
|
то есть каждая запись в таблице имеет флаги - кому отправлена. |