Freenet: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Рядок 61:
[[Файл:Freenet Request Sequence ZP.svg|thumb|Типова послідовність запиту. Запит передається через мережу від вузла до вузла, досягаючи мертвої кінцевої точки (крок 3) або повтору (крок 7), перш ніж знаходить потрібний файл.]]
 
Протокол Freenet використовує [[key-based routing]] протокол маршрутизації на основі ключів, подібно до [[Розподілена хеш-таблиця|розподілених хеш-таблиць]]. Алгоритм маршрутизації помітно змінився у версії 0.7. До версії 0.7 Freenet використовував евристичний алгоритм, де кожен вузол не мав фіксованого місця, і маршрутизація базувалась на тому, на якому вузлі обслуговувався ключ, найближчий до ключа, який було отримано (у версії 0.3), або той, який оцінюється to як швидший (у версії 0.5). В обох випадках, нові з'єднання інколи додавались до downstream nodes (тобто, вузла, що відповів на запит) коли запити було виконано, і старі вузли відхилялись у порядку найменшого попереднього використання (чи близькому до того). Дослідження Oskar Sandberg (протягом розробки версії 0.7) показує, що це «вкладення шляхів» є критичним, і що дуже простий алгоритм маршрутизації will suffice provided there is path folding.
 
Недоліком цього є те, що аткеру дуже легко знаходити вузли Freenet і з'єднуватися з ними, оскільки кожен вузол безперервно намагається відшукати нові з'єднання. У версії 0.7, Freenet підтримує як режим 'Opennet' (подібний до старих алгоритмів, але простіший), так і '[[Darknet]]' (всі з'єднання вузлів встановлюються вручну, тому лише ваші друзі знають IP-адресу вашого вузла). Darknet менш зручний, але набагато стійкіший до віддалених атакерів.