212
должны следовать по кратчайшим маршрутам) и малоизбыточ-
ным (т.е. пакетыдолжны иметь короткие заголовки).
Он также должен быть масштабируемым (т.е. хорошим для
сетей любого размера) и многосторонним (т.е. хорошим для любой
топологии сети). Вдобавок, если он предназначен для работы на
недорогом, быстром оборудовании, хороший алгоритм маршрути-
зации должен быть
простым. Простота вдвойне важна, когда вы
используете быстрый маршрутизатор червячного канала, во избе-
жание ухудшения времени ожидания сети. Не существует алго-
ритмов, полностью удовлетворяющих всем этим требованиям.
Одним стандартным решением является таблица маршрути-
зации, которая включает в себя в виде списка все узлы сети и все
их соединения, подобно телефонному
справочнику; этот алгоритм
является завершенным, оптимальным и многосторонним, но не
дешевым, быстрым или масштабируемым. Другим общим реше-
нием является побитное разрушение, в котором каждый узел сети,
которого достигает сообщение, "глотает" один бит из заголовка
сообщения; этот алгоритм является завершенным, дешевым, быст-
рым и оптимальным, но не многосторонним или масштабируемым,
поэтому он
предназначается для структуры типа двоичное дерево
фиксированного размера.
INMOS избрал сравнительно новый алгоритм, называемый
интервальной маршрутизацией (рис.50), который является завер-
шенным, свободным от взаимоблокировок, недорогим, быстрым и
масштабируемым, могущим быть близким к оптимальному или
многосторонним, в зависимости от того, как он используется. Ка-
ждый транспьютер (или другой узел назначения, такой, как
межсе-
тевой шлюз или переферийный чип) маркируется номером, так
сеть из N транспьютеров будет маркирована 0,1,2... N-1. Этот но-
мер используется как адрес назначения в заголовках пакетов.
В каждом переключателе маршрута каждый физический
коммуникационный канал маркируется интервалом возможных
величин заголовка, и пакеты передаются через тот канал, интервал
которого попадают величины их заголовков.
Описание
интервала (0,3) должно интерпретироваться как
указание на то, что величина заголовка пакета должна больше или
равна 0 и меньше 3, для того, чтобы лежать в этом интервале. Ин-