68
правок
Изменения
→Роутинг на сетевом уровне
В больших сетях топология постоянно изменяется, поэтому необходимо изменять стратегии доставки сообщений в зависимости от этих изменений, а также в зависимости от загруженности сети. Для решения этой задачи существуют алгоритмы маршрутизации, благодаря которым роутер понимает, какому устройству нужно отправить сообщение, чтобы добиться хороших результатов в его доставке.
==== Алгоритмы Алгоритм на основе расстояния между устройствами ====
Используют [[алгоритм Форда-Беллмана]]. Каждому ребру в сети присваивается некоторая цена и узлы выбирают маршрут для отправки данных, используя путь наименьшей цены.
Когда у вершины построен граф, используется специальный протокол, который позволяет понять, доступны ли все соседи вершины. Если с каким-то соседом что-то случилось, то вершина начинает перестраивать свой граф, используя алгоритм, аналогичный алгоритму для изначального построения графа.
==== Path vector algorithm ====Описанные выше алгоритмы хороши для не очень больших сетей. В больших сетях их будет сложно реализовать, потому что придется тратить очень много ресурсов на построение графа сети, причем как ресурсов узлов для вычисления таблиц маршрутизации, так и ресурсов сети для постоянной отправки соседям сообщений о структуре сети.{{Определение|definition ='''Автономная система''' (англ. ''Autonomous system'') - система IP-сетей и маршрутизаторов, управляемая одним или несколькими операторами, имеющими единую политику маршрутизации.}} Path vector protocol используется для взяимодействия нескольких автономных систем. Предполагается, что в каждой из систем есть узел, который отвечает за свою автономную систему (speaker). Speaker создает таблицу маршрутизации для своей автономной системы и отправляет ее соседним автономным системам. Алгоритм похож на [[Алгоритм на основе расстояния между устройствами]] с той разницей, что между каждый узел одной автономной системы не общается с каждым узлом другой автономный системы, между собой общаются только спикеры, за счет чего экономятся ресурсы и решаются описанные выше проблемы для больших сетей.