Это вопрос о масштабируемом сетевом подходе P2P: логическое кольцо net ovrlay.
Рассмотрим контекст P2P-сетей. Есть N компьютеров, которые связаны друг с другом через кольцо.
Каждый узел имеет таблицу маршрутизации, запоминающую предшественника и узел-преемник.
Это самый простой случай, когда в таблицах маршрутизации хранятся только предшественник и преемник.
Каждому узлу предоставляется идентификатор, который является числом.
Кольцо организовано так, что восходящие номера назначаются по часовой стрелке.
Итак, у нас может быть такая ситуация: * - 12 - 13 - 45 - 55 - 180 - 255 - *
Эта сеть имеет 6 узлов, и они соединены в круг.
Когда узел должен отправить сообщение другому узлу, используются таблицы маршрутизации, если универсальный узел имеет входящее сообщение, он смотрит на адрес dest и, если не в своей таблице маршрутизации, преемник или предшественник будет до маршрутизации.
Теперь давайте рассмотрим этот пример.
В моей простой сети узел 13 хочет отправить сообщение узлу 255.
Поскольку каждый узел может видеть только предшественника и преемника, каждый узел не может рассматривать глобальную сеть, в P2P фактически узел может видеть только часть сети. Таким образом, узел 13 должен принять решение: куда направить сообщение (поскольку пункт назначения не находится в его окрестности)? Должно ли сообщение быть отправлено 45 или 12? (по часовой стрелке или против часовой стрелки?).
Что ж, очевидно, что отправка на 12 - лучшее решение, но как узел 13 может это знать?
Самое простое решение было бы: всегда идти по часовой стрелке, но в этом случае очень близкий узел будет достигнут за такое же время ..... пока он находился за углом ....
Как с этим справиться?
PS:
Существует решение типа Fingering
, применяемое к подходам на основе маршрутизации по часовой стрелке.
Fingering помещает в таблицу маршрутизации другие адреса для создания переходных ссылок ...
Это решение, которое можно использовать, но только с маршрутизацией по часовой стрелке ...
http://en.wikipedia.org/wiki/File:Chord_route.png
Я хотел бы узнать хорошее решение, чтобы найти правильное направление маршрутизации ... оно существует? Как Аккорд справляется с этим?
Спасибо.