Reklama
Dzisiaj jest 9 stycznia 2025 r.
Chcę dodać własny artykuł
Reklama
Reklama
Reklama

Kademlia

Kademlia – Protokół P2P

Kademlia to protokół komunikacyjny umożliwiający wyszukiwanie zawartości w sieciach peer-to-peer (P2P) bez konieczności korzystania z centralnego serwera. Oparty jest na algorytmie rozproszonej tablicy mieszającej (DHT), co zapewnia mu decentralizację i odporność na awarie w dużej skali.

Reklama

Podstawowe cechy Kademlii

Struktura sieci Kademlia przypomina drzewo binarne, w którym każdy węzeł ma unikatowy identyfikator (nodeID). Protokół został zaprojektowany przez Petara Maymounkova i Davida Mazieresa.

Terminologia

W Kademlii wyróżnia się trzy kluczowe elementy:

Reklama
  • Element alfa: Liczba reprezentująca stopień równoległych połączeń (zwykle 3).
  • Element B: Rozmiar kluczy identyfikujących węzły (standardowo 160 bitów).
  • Element k: Maksymalna liczba kontaktów przechowywanych w jednym pojemniku (zazwyczaj 20).

Węzeł w Kademlii

Węzeł to użytkownik sieci, który posiada nodeID oraz adres IP. Węzły współpracują ze sobą, przechowując informacje o danych. W przypadku potrzeby odnalezienia wartości, węzeł szuka jej na najbliższych węzłach.

ID węzła (nodeID) i Klucze

ID węzła jest 160-bitową liczbą binarną, wybieraną losowo. Klucze przypisane do danych również mają długość B, a pary są przechowywane na najbliższych węzłach.

Dystans: metryka XOR

Dystans między kluczami lub ID węzłów określany jest poprzez operację XOR, co pozwala na ustalenie bliskości między nimi.

Organizacja kontaktów – k-pojemniki

Węzły grupują swoje kontakty w k-pojemnikach, które przechowują informacje o maksymalnie k kontaktach, organizowanych według dystansu. Kontakty są sortowane według ostatniej komunikacji, co pozwala na efektywne zarządzanie połączeniami.

Procedury Kademlii

Protokół Kademlia definiuje cztery główne procedury:

  • PING: Umożliwia weryfikację aktywności węzła.
  • STORE: Umożliwia przechowywanie par .
  • FIND_NODE: Pozwala na lokalizację najbliższych węzłów do podanego klucza.
  • FIND_VALUE: Służy do wyszukiwania wartości przypisanej do danego klucza.

Oprogramowanie P2P wykorzystujące Kademlię

  • VarVar – pierwszy klient obsługujący Kademlię
  • eMule (od wersji 0.42)
  • Sieć overnet
  • RevConnect – klient Direct Connect z rozszerzeniami Kademlii

Różne aplikacje P2P nie są ze sobą kompatybilne, co podkreśla unikalność każdej z sieci.

Reklama
Reklama