Измерение стоимости линии
Дата публикации: 05.06.2010Метки: background, style, text, загрузка, нагрузка, система, таблица

Алгоритм маршрутизации с учетом состояния линии требует от каждого маршрутизатора знания или хотя бы обоснованной оценки задержки для всех линий связи со своими соседями. Наиболее прямой способ определить эту задержку заключается в посылке по линии специального пакета ECHO, на который другая сторона обязана немедленно ответить. Измерив время двойного оборота этого пакета и разделив его на два, отправитель получает приемлемую оценку задержки. Чтобы получить более точный результат, это действие можно повторить несколько раз, после чего вычислить среднее арифметическое. Конечно, такой метод предполагает, что задержки являются симметричными, что не всегда так.
Возникает интересный вопрос: надо ли учитывать нагрузку на линию во время измерения задержки? Чтобы учесть загруженность линии, таймер должен включаться при отправке пакета ECHO. Чтобы игнорировать загрузку, таймер следует включать, когда пакет ECHO достигает начала очереди.
Оба способа могут быть аргументированы. Учет трафика в линии при измерении задержки означает, что когда у маршрутизатора есть выбор между двумя линиями с одинаковой пропускной способностью, маршрут по менее загруженной линии рассматривается как более короткий. Такой выбор приведет к более сбалансированному использованию линий связи и, следовательно, к более эффективной работе системы.

К сожалению, можно привести аргумент и против учета загруженности линии при расчете задержек. Рассмотрим подсеть, показанную на рис. 5.10. Ока разделена на две части — восточную и западную, которые соединены двумя линиями, CF и EI.
Предположим, что основная часть потока данных между востоком и западом использует линию CF. В результате эта линия оказывается сильно загруженной и с большими задержками. Учет времени стояния пакета в очередях при подсчете кратчайшего пути сделает линию EI более привлекательной. После установки Новых таблиц маршрутизации большая часть потока данных между востоком и западом переместится на линию EI, и ситуация повторится с точностью до смены одной линии на другую. Аналогично, после еще одного обновления уже линия CF окажется более привлекательной. В результате таблицы маршрутизации будут страдать от незатухающих колебаний, что сильно снизит эффективность
работы системы. Если же нагрузку не учитывать, то эта проблема не возникнет. Можно поступать по-другому: распределять нагрузку между двумя линиями. Однако такое решение приведет к неполному использованию наилучшего пути. Тем не менее, во избежание колебаний системы при выборе оптимального пути, по-видимому, лучше всего распределять нагрузку между несколькими линиями, пуская определенные части трафика по каждой из них.


