68
правок
Изменения
→Роутинг на сетевом уровне
Алгоритм похож на Алгоритм на основе расстояния между устройствами с той разницей, что между каждый узел одной автономной системы не общается с каждым узлом другой автономный системы, между собой общаются только спикеры, за счет чего экономятся ресурсы и решаются описанные выше проблемы для больших сетей.
=== Зачем вообще нужен роутинг ===
В общем случае в сети существует несколько путей для доставки данных от узла А до узла В. При этом скорость доставки данных по этим маршрутам может существенно отличаться в зависимости от пропускной способности каналов, задержек сети, количества вершин на пути, загруженности канала и других характеристик. Для того, чтобы доставка сообщения занимала меньше времени и используются алгоритмы маршрутизации.
==== Пример ====
Представим следующий граф:
[[Файл:simple_net_graph.png]]
Вершины- узлы сети, на ребрах написано ожидаемое время отправки сообщения между узлами. Пусть вершины A и B находятся в Лондоне, а вершины C и D в Нью-Йорке, в связи с чем время доставки сообщения между вершинами A и B или вершинами C и D быстрое, а между вершинами B и D или A и C медленнее.
Теперь представим, что хотим отправить сообщение из вершины B в вершину D. Самый простой способ- отправить напрямую, но он займет 120 мс. Если же отправить по маршруту B -> A -> C -> D, то потратим всего 110 мс, что быстрее, несмотря на большее количество узлов в маршруте. Алгоритмы маршрутизации как раз и используются для улучшения времени передачи таким образом.