МАРШРУТИЗАЦИИ СЕТИ TYMNET
Алгоритм маршрутизации сети TYMNET, первоначально реализованный в 1971 г., основан на методе кратчайшего пути и является адаптивным, как и алгоритмы TYMNET. Однако способы реализации идеи адаптивного выбора кратчайшего пути значительно различаются в этих двух сетях. В сети TYMNET алгоритм маршрутизации является централизованным и осуществляется в некотором специальном узле, называемом супервизором. В сети TYMNET используются виртуальные цепи, и маршрут выбирается только в момент установления виртуальной цепи. Супервизор, получив запрос на установление виртуальной цепи, назначает кратчайший путь, соединяющий узел-отправитель о узлом-адресатом данной виртуальной цепи. Супервизор следит за текущими значениями длин всех линий и вычисляет вое кратчайшие пути. Длина каждой линии зависит не только от нагрузки на этой линии, но и от других факторов, например, от типа линии и типа виртуальной цепи, для которой выбирается маршрут. У этого алгоритма нет тенденции к колебаниям, что обусловлено использованием виртуальных цепей. После выбора пути для данной виртуальной цепи супервизор информирует все узлы на этом пути, и необходимая информация вносится во все узловые маршрутные таблицы. Основным является то, что виртуальной цепи назначается номер канала (или порт) на каждой линии, по которой цепь проходит. В маршрутной таблице каждого узла для каждой виртуальной цепи установлено соответствие между номером канала на приходящей к узлу линии и номером канала на уходящей от узла линии. В первоначальном варианте алгоритма в супервизоре хранятся образцы маршрутных таблиц всех узлов, и он непосредственно читает и обновляет эти таблицы. В существующем варианте узлы сами следят за состоянием своих таблиц. Супервизор устанавливает новую виртуальную цепь путем посылки пакета-"иголки" узлу-отправителю. Пакет-"иголка" содержит маршрутную информацию и сам прокладывает путь по сети, устанавливая тем самым виртуальную цепь, а за ним, как нить за иголкой, следуют информационные пакеты пользователя. Маршрутная информация включает последовательность номеров узлов маршрутного пути и некоторые флаги, указывающие класс цепи. Когда иголка поступает в очередной узел, ее содержимое читается. Если цепь оканчивается в этом узле, она приписывается к порту, соединенному о соответствующим внешним пунктом. В противном случае проверяется следующий узел на маршруте. Если он не известен (вследствие недавнего выхода из строя линии или какой-либо другой ошибки), цепь втягивается назад к своему узлу-отправителю. Если все в порядке - маршрутные таблицы обновляются, и иголка переходит к следующему узлу. Алгоритм TYMNET хорошо показал себя в работе в течение нескольких лет. Несколько его идей применены в сети Codex, имеющей сходную структуру. Алгоритм Codex, однако, является распределенным и более сложным. Слабое место алгоритма TYMNET - его уязвимость к ошибкам и выходам из строя супервизора. Для повышения надежности в сети TYMNET используются узлы, дублирующие работу супервизора. В распределенном варианте, используемом сети Codex, длины всех линий передаются в широковещательном режиме всем узлам (как в сети ARPANET), и каждый узел сам должен отвечать за маршрутизацию цепей, возникающих или заканчивающихся в этом узле.
|