Быстрая сходимость
Живучесть и стабильность
Простота и низкие непроизводительные затраты
Алгоритмы маршрутизации разрабатываются как можно более простыми. Другими словами, алгоритм маршрутизации должен эффективно обеспечивать свои функциональные возможности, с минимальными затратами программного обеспечения и коэффициентом использования. Особенно важна эффективность в том случае, когда программа, реализующая алгоритм маршрутизации, должна работать в компьютере с ограниченными физическими ресурсами.
Алгоритмы маршрутизации должны обладать живучестью. Другими словами, они должны четко функционировать в случае неординарных или непредвиденных обстоятельств, таких как отказы аппаратуры, условия высокой нагрузки и некорректные реализации. Т. к. маршрутизаторы расположены в узловых точках сети, их отказ может вызвать значительные проблемы. Часто наилучшими алгоритмами маршрутизации оказываются те, которые выдержали испытание временем и доказали свою надежность в различных условиях работы сети.
Алгоритмы маршрутизации должны быстро сходиться. Сходимость – это процесс соглашения между всеми маршрутизаторами по оптимальным маршрутам. Когда какое-нибудь событие в сети приводит к тому, что маршруты или отвергаются, или становятся доступными, маршрутизаторы рассылают сообщения об обновлении маршрутизации. Сообщения об обновлении маршрутизации пронизывают сети, стимулируя пересчет оптимальных маршрутов и, в конечном итоге, вынуждая все маршрутизаторы придти к соглашению по этим маршрутам. Алгоритмы маршрутизации, которые сходятся медленно, могут привести к образованию петель маршрутизации или выходу из строя сети.
На рисунке изображена петля маршрутизации. В данном случае в момент времени t1 к маршрутизатору 1 прибывает пакет. Маршрутизатор 1 уже был обновлен и поэтому он знает, что оптимальный маршрут к пункту назначения требует, чтобы следующей остановкой был маршрутизатор 2. Поэтому маршрутизатор 1 пересылает пакет в маршрутизатор 2. Маршрутизатор 2 еще не был обновлен, поэтому он полагает, что следующей оптимальной пересылкой должен быть маршрутизатор 1. Поэтому маршрутизатор 2 пересылает пакет обратно в маршрутизатор 1. Пакет будет продолжать скакать взад и вперед между двумя маршрутизаторами до тех пор, пока маршрутизатор 2 не получит корректировку маршрутизации, или пока число коммутаций данного пакета не превысит допустимого максимального числа.
![]() |