Понимание того, как управлять направлением маршрутизации сообщений в сетях типа P2P Chord / Pastry - PullRequest
1 голос
/ 14 мая 2011

Это вопрос о масштабируемом сетевом подходе 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

Я хотел бы узнать хорошее решение, чтобы найти правильное направление маршрутизации ... оно существует? Как Аккорд справляется с этим?

Спасибо.

1 Ответ

2 голосов
/ 14 мая 2011

Если каждый узел запоминает ссылку на следующий, второй, четвертый, восьмой и т. Д., То для поиска любого узла требуется только log (n) время. Я считаю, что это достаточно быстро, чтобы не думать, стоит ли идти по часовой стрелке или по часовой стрелке.

...