Смекни!
smekni.com

Распределенные алгоритмы (стр. 35 из 85)

Как метки узлов и каналов в префиксной маршрутизации предпочтительнее использовать строки чем целые числа, используемые в интервальной маршрутизации. Пусть S ­– алфавит; в последствии метка будет строкой над S, s обозначает пустую строку, и S* множество строк над S. Для отбора канала для передачи пакета, алгоритм рассматривает все каналы которые являются префиксами адреса пункта назначения. Выбирается самая длинная из этих меток, и выбранный канал используется для передачи пакета. На пример, предположим что узел имеет каналы с метками aabb, abba, aab, aabc, и aa, и должен переслать пакет с адресом aabbc. Метки каналов aabb, aab, и aa являются префиксами aabbc, и самая длинная из этих трех меток aabb, следовательно узел передаст пакет через канал помеченный aabb. Алгоритм передачи дан как Алгоритм 4.20. Мы пишем a <b для обозначения что a префикс b.

Определение 4.38 Схема префиксной разметки (над S) для сети G это:

(1) обозначение различными строками из S* узлов G; и

(2) Для каждого узла, означивание различными строками каналов данного узла.

Алгоритм префиксной маршрутизация предпалагает что схема префиксной разметки (PLS) дана, и перенаправляет пакеты Алгоритмом 4.20.

Определение 4.39 Схема префиксной разметки приемлема если все пакеты в конечном счете достигнут своих пунктов назначения.

Теорема 4.40 Для каждой связной сети G существует приемлемая схема PLS .

Доказательство. Мы определим класс схем префиксной разметки и докажем, как и в Теореме 4.25, что схемы в этом классе приемлемы. Пусть T обозначает произвольное дерево охвата в G.

Определение 4.41 Дерево Т схемы PLS для G это схема префиксной разметки при которой выполняются следующие правила.

(1) Метка корня – s.

(2) Если w сын u то 1w расширяет lu одним символом; т.е., если u1, ..., uk сын u в T то 1ui = luai где a1, . . . , ak k различных символов из S.

(3) Если uw ветвь то auw = lw

(4) Если w сын u то auw = lw.

(5) Если w отец uто auw= s если u не имеет ветви к корню: в этом случае, auw = lw

В дереве PLS каждый узел исключая корень имеет канал помеченный s, и этот канал соединяет узел с предком (отцом узла или корнем дерева). Заметим что для каждого канала uw, auw = lw или auw = s. Для всех u и v, v предок у тогда и только тогда когда lv < lu.

Нужно показать что пакет никогда не "вклинивается" в узел отличный от его пункта назначения, который, каждый узел отличный от пункт назначения может перенаправить пакет используя Алгоритм 4.20.

Лемма 4.42 Для всех узлоа u и vтаких что u ¹ v существует канал в u помеченный префиксом lv.

Доказательство. Если u не корень T то u имеет канал помеченный s, который является префиксом lv. Если u корень тогда v не является корнем, и v ÎT[u] . Если w сын u такой что vÎT[w] то по построению auw < lv. []

Следующие три леммы имеют отношение к ситуации когда узел u передает пакет для узла v к узлу w (соседу u) используя Алгоритм 4.20.

Лемма 4.43 Если u Î T[v] то w предок u.

Доказательство. Если auv == s то w предок u как упоминалось выше. Если auw = lwто, так как auw<lv, также lw<lv Это подразумевает что w предок v, и также u.[]

Лемма 4.44 Если u предок v то w предок v, ближе к v чем u.

Доказательство. Пусть w' будет сыном u таким что v Î T[w'] тогда auw’ =lw не пустой префикс lv. Так как auw самый длинный префикс (в u) lv, то auw’< auw < lv, таким образом w предок v ниже u. []

Лемма 4.45 Если uÏ T[v], то w предок v или dT(w, v) < dT(u, v).

Доказательство. Если auw =s то w отец u или корень; отец u ближе к v чем u потому что u ÏT[v], и корень – предок v. Если auw = lw то , так как auw < lv, w – предок v. []

Пусть depth будет обозначать глубину T, т.е., число переходов в самом длинном простом пути от корня к листьям. Может быть показано каждый пакет с пункт назначения v прибудет в свой пункт назначения за не более чем 2 - depth переходов. Если пакет создан в предке v то v достигнется не более чем depth переходов по лемме 4.44. Если пакет создан в поддереве T[v] тогда предок v достигнется за не более чем depth переходов по лемме 4.43, после которых v достигнется за другие depth переходов по предыдущему замечанию. (По причине того что путь содержит только предков источника в этом случае, его длина ограничена также depth .) Во всех других случаях предок v достигнется в пределах depth переходов по лемме 4.45, после которого v достигнется в пределах других depth переходов. (Таким образом, в этом случае длина пути ограничена 2 depth.) Это завершает Доказательство Теоремы 4.40

[]

Следствие 4.46 Для каждой сети G с диаметром DG (измеренным в переходах) существует схема префиксной разметки которая доставляет все пакеты за не более чем 2DG переходов.

Доказательство. Воспользуемся деревом PLS что качается дерева выбранного в Лемме 4.22. []

Мы включили обсуждение схему разметки деревьев с грубым анализом его пространственных требований. Как и раньше, depth – глубина T, и пусть k будет максимальным количеством сыновей дюбого узла T. Тогдаe самая длинная метка состоит из depth символов, и S должен содержать (по крайней мере) k символов, метка может храниться в depth • log A бит. Таблица маршрутизации a узла с deg каналами хронится в 0(deg* depth * log k) бит.

Несколько другая схема префиксной разметки бала предложена Бэккером. [BLT93]. Его статья также характеризует класс топологий который допускает оптимальные схемы префиксной разметки когда веса связей могут меняться динамически.

4.5 Иерархическая маршрутизация

Путь сокращения различных параметров стоимости метода маршрутизации - использование иерархического разделения сети и метода ассоциативной иерархической маршрутизации. Цель в большинстве случаев состоит в том, чтобы использовать факт, что многие связи в сетях компьютеров являются локальными, то есть, между узлами на относительно малых расстояниях друг от друга. Некоторые из параметров стоимости метода маршрутизации зависят от размера полной сети скорее чем длина выбранного пути, почему, мы теперь объясним

(1) Длина адресов. Так как каждый из N узлов имеет отличный от других адрес, каждый адрес состоит из по крайней мере log N бит; может потребоваться даже больше бит если существует информация включенная в адреса, такая как в префиксной маршрутизации.

(2) Размер таблицы маршрутизации. В методах маршрутизации описываемые в разделах 4.2 и 4.3, таблица содержит ссылку на каждый узел, и таким образом имеет линейный размер.

(3) Цена табличного поиска. Цена простого табличного поиска больше для большей таблицы маршрутизации или для больших адресов. Полное время табличного поиска для обработки простого сообщения также зависит от количества обращений к таблице.

В методе иерархической маршрутизации , сеть разделена на кластера, каждый кластер есть связное подмножество узлов. Если источник и пункт назначения пакета в одном кластере, цена передачи сообщения низка, потому что пакет маршрутизируется внутри кластера, кластер трактуется как небольшая изолированная сеть. Для метода описанного в разделе 4.5.1, в каждом кластере зафиксирован простой узел (центр кластера) который может делать наиболее сложные маршрутизационные решения необходимые для пересылки пакетов в другие кластера. Таким образом, большие таблицы маршрутизации и манипуляция длинными адресами необходима только в центрах. Каждый кластер сам может разделиться на подкластеры для многоуровневого деления узлов.

Не необходимо но желательно чтобы каждая коммутация между кластерами велась через центр; этот тип конструкции имеет такой недостаток что весь кластер становится уязвимым на отказ центра. Лентферт [LUST89] описал метод иерархической маршрутизации в котором все узлы в равной степени могут посылать сообщения другим кластерам. Также метод использует только маленькие таблицы, потому что ссылки на кластеры к которым узел не принадлежит трактуется как простой узел. Овербух [ABNLP90] использует парадигму иерархической маршрутизации для конструирования класса схем маршрутизации которые всегда балансируют между эффективностью и пространственными требованиями.

4.5.1 Уменьшение количества решений маршрутизации

Все обсужденные методы маршрутизации требуют чтобы решения маршрутизации делались в каждом промежуточном узле, что подразумевает что для маршрута длиной l происходит l обращений к таблицам маршрутизации. Для стратегий минимального количества шагов l ограничено диаметром сети, но в общем, стратегии маршрутизация без циклов (такие как интервальная маршрутизация) N—1 – лучшая граница которая может быть достигнута. В этом разделе мы обсудим метод с помощью которого табличные поиски могут быть уменьшены.

Мы будем использовать следующую лемму, которая подразумевает существование подходящего разбиения сети на связные кластера.