FAQ eD2k-Kademlia-pl

From AMule Project FAQ
Revision as of 00:54, 18 January 2006 by 213.192.121.4 (Talk)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

F.A.Q. o eD2k-Kademlia

English | Español | Italiano | Deutsche | Français | Nederlands | Polski

Czym jest ED2K?

ED2K jest protokołem oryginalnie używanym przez klienta P2P (Peer-to-Peer) eDonkey2000, stąd nazwa. Jest oparty na protokole klient-serwer, z możliwościa wymiany źródeł pomiędzy klientami.

Sieć ED2K jest siecią opartą na serwerach, tak jak wiele innych sieci P2P takich jak Kazaa (Kazaa jest oparta na serwerach, ale ukrywa przed użytkownikiem połączenie z nim), co oznacza, że pierwszą rzeczą którą powinieneś zrobić po uruchomieniu aMule jest podłączenie do serwera (ręcznie albo automatycznie).

Po podłączeniu do serwera, klient sieci może wyszukiwać dowolne pliki, zarówno lokalnie (serwer do którego jesteśmy podłączeni), albo globalnie (wszystkie serwery). Serwer zwraca klientowi listę wszystkich plików spełniających parametry wyszukiwania.

Kiedy użytkownik rozpoczyna ściąganie, klient wysyła do serwera zapytanie o źródła, na które serwer odpowiada w formie adresów IP klientów, które zgłosiły posiadanie danego pliku. Następnie, klient zdalny rozpocznie wysyłanie całej części do ciebie, kiedy tylko staniesz się pierwszym w jego kolejce. Kiedy cała część zostanie przesłana, zostaniesz przesunięty na koniec jego kolejki. W ten sposób rożne częsci zostają rozprzestrzenione po całej sieci ED2K, więc nawet jeśli w danym momencie żaden klient nie ma całego pliku, możliwe jest skompletowanie go, poprzez sciąganie rożnych części od różnych osób (użytkowicy czesto przestają udostępniać dany plik, kiedy tylko sami go ściągną).

Warto zauważyć, że w danym momencie klient wysyła tylko jedną część do innego klienta. Nawet, jeśli dany klient jest w kolejce wysyłania do dwóch rożnych plików od tego samego użytkownika i stanie się pierwszym w obu, wysyłany będzie tylko jeden plik (wysyłanie drugiego, w zależności od aplikacji ED2K używanej przez klienta, najprawdopodobniej pozostanie z najwyższym priorytetem, ale nie zacznie się dopóki tamta część nie zostanie pomyślnie przesłana).

Jeśli obaj użytkownicy maja HighID (zobacz Czym jest HighID i LowID?) transfer będzie następował bezpośrednio od jednego do drugiego klienta (Peer-to-Peer), ale jeśli jeden z nich ma LowID, połączenie będzie zestawione poprzez serwer, ponieważ LowID nie potrafią przyjmować połączeń przychodzących. Wynika z tego ze, dwa klienty z LowId nie mogą się ze sobą połączyć.


Czym jest Kademlia?

Kademlia powstała drogą naturalnej ewolucji z sieci ED2K. Kademlia jest przyszłościa. Zobacz Czy są jakieś ograniczenia sieći ED2K? dla dalszych informacji, na temat dlaczego Kademlia jest niezbędna.

Jako, że Kademlia jest siecią zdecentalizowaną, usuwa ona wąskie gardło, jakim była wcześniej potrzeba serwerów (chociaż Lugdunum zrobił bardzo dobrą pracę redukując tą potrzebę). Teraz, zamiast łaczyć się do serwera, po prostu łączysz się z innym klientem (ze znamym adresem IP i portem), który obsługuje sieć Kademlia. Jest to nazywane Boot Strapping-iem.

Kiedy jesteś już podłączony, w zależności od tego czy możesz przyjmować połączenia przychodzące, dostajesz status "open" lub "firewalled", który jest podobny do HighID i LowID znanych z sieci ED2K. Naspępnie przydzialane jest ci ID.

W czasie wyszukiwania, każdy klient działa jak mały serwer, odpowiadający za pewne słowa kluczowe i żrodła. To zwiększa złożonośc wyszukiwania, ponieważ teraz nie ma już centralnego serwera do zapytań, a zamiast tego twoje zapytanie musi zostać rozpropagowane w sieci.

Kademlia jest obsługiwana przez aMule od versji 2.1.0