Nodes.dat for eMule Kad Clients

Kurz und Schmerzlos zum Thema KAD:

1. Es reicht bereits 1 aktiver Kontakt um sich zu verbinden und die nodes.dat zu aktualisieren!

2. Kontakte werden durch Zwangstrennung und dynamische IP irgendwann ungültig.

3. In der nodes.dat werden 200 Kontakte gespeichert um die Wahrscheinlichkeit von Verbindungsproblemen durch ungültige Kontakte möglichst gering zu halten.

4. Ist der Esel jedoch mehrere Tage/Wochen offline ist es durchaus möglich das sämtliche Clients/Nodes in der nodes.dat ungültig sind.

5. Die nodes.dat aktualisiert sich nur automatisch wenn mindestens 1 aktiver Kontakt gefunden wurde!

6. Kontakte können über die Verbindung mit einem ed2k-Server und den damit verbundenen Clients gefunden werden, oder

- per manuellem Bootstrap durch Eingabe von IP/Port im Kad-Fenster, oder

        - per Download aus dem Internent, z.B. nodes.dat.

server.met   server-met   server list   emule server    nodes.dat    nodes.dat

Was ist das Kademlia-Netzwerk ?

Kademlia ist ein Algorithmus zum Aufbau eines dezentralen Peer-to-Peer-Netzwerkes. Es legt Art und Aufbau des Netzes fest, reglementiert die Kommunikation zwischen den Nodes und wie der Austausch von Informationen stattzufinden hat. Grundlage von Kademlia sind das Internet Protocol und das darauf aufbauende, verbindungslose UDP Protocol.

Über einem bestehenden LAN/WAN (also z.B. auch dem Internet) wird ein neues, virtuelles Netzwerk aufgebaut, in dem jeder Node durch eine eindeutige Nummer ("Node-ID") identifiziert wird. Diese Nummer dient nicht nur zu seiner Identifizierung, sondern wird vom Kademlia-Algorithmus gleichzeitig für weitere Zwecke herangezogen.

Das Kademlia-Netzwerk in eMule wurde nach der 0.30e eingeführt. Es ist im Gegensatz zum althergebrachten eD2k-Netz nicht auf Server angewiesen, sondern vermittelt direkt von Client zu Client und bietet so eine dem Quellenaustausch ähnliche Art der Quellenfindung, welche bei schlecht verteilten Dateien sogar Quellen liefern kann, die über Server oder Quellenaustausch erst später oder gar nicht gefunden würden.

Ein weiterer Vorteil bildet sich aus der serverlosen Struktur von Kad heraus. Das Netz ist rechtlich wie auch technisch weniger angreifbar, da keine zentralen Kommunikationsstationen benötigt werden und in diesen Zeiten wird Kad immer mehr zur sichereren Alternative, statt einer bloßen Entlastung der Server, die noch zu seiner Einführung von Bedeutung schien.

Weitere Vorteile liegen vor allem duch die dezentrale Struktur, indem die Resistenz gegen DDoS-Attackten deutlich gesteigert wird. Selbst wenn eine ganze Reihe von Nodes gefloodet wird hat das für das Netz selbst keine allzu großen Auswirkungen, mit der Zeit strickt sich das Netz dann um diese "Löcher" herum neu und das Problem ist gelöst.

Seit der 0.47a sind bereits Codeteile für Kad 2.0 eingearbeitet, die allerdings noch nicht aktiv genutzt werden. Der Nachfolger des bisherigen Kad 1.0 soll mit Protokollverbesserungen und neuen Funktionen aufwarten, welche wahrscheinlich in der 0.47b für den User zugänglich sein werden. Durch die vorgenommenenen Verbesserungen gegenüber dem Kademliaprotokoll aus Overnet, sind beide Netze im Übrigen schon seit geraumer Zeit nicht mehr kompatibel zueinander.

Hat man sich schon einmal erfolgreich über Kademlia verbunden, werden die gefundenen Kontakte in der nodes.dat im eMule config-Ordner gespeichert und beim nächsten Verbinden automatisch wieder geladen. Man könnte sich also wenn nötig durch das Einfügen einer externen nodes.dat Kontaktadressen in seinen Muli holen, was allerdings dadurch erschwert wird, da die enthaltenen Kontakte irgendwann an Gültigkeit verlieren.

 

Was ist Bootstrap ?

Ein Node, der dem Netz beitreten möchte, muss zuerst einen "Bootstrapping" genannnten Prozes durchlaufen: In dieser Phase erhält der Algorithmus vom Benutzer (oder aus einer gespeicherten Liste) die IP eines Nodes, der bereits im Kademlia Netz bekannt ist. War der Node noch nie uvor im Netz, berechnet er so lange zufällige IDs bis er eine findet die noch nicht vergeben wurde. Diese verwendet er bis zum Verlassen des Netzes.

 

Wie setze ich meinen eMule richtig ein ?

Das Kademlia Fenster:


Klick zum vergrössern.  

Kontakte:

ID = Hier steht die Client-ID zu der ihr verbunden seit, bzw. zu der eine Verbindung hergestellt werden soll.

Type = Hier steht, wie oft der Kontakt zu der ID fehlgeschlagen ist, wobei 2 = tot bedeutet.

Contacts = Gibt an, ob bereits ein Kontakt zu der ID erfolgreich hergestellt wurde.

Distance = Hier wird virtuell dargestellt, wie nah die User ID an der eigenen liegt (nicht geographisch sondern mathematisch).
 

Aktuelle Suchanfragen:

Number = Das ist nur eine ID die für interne Aktionen vergeben wird (Suche).

Key = Identisch mit der ID, die ihr aus eurem "Datei" Fenster kennt. Mit ihr werden Dateien im Netzwerk eindeutig identifiziert.

Type = Nachfolgend stehen die verschiedenen Typen:

 

 

Wie suche ich über KAD ?

Die Standardeinstellung der Suche unter eMule ist Server oder Server (Global). Wenn keine Verbindung zu einem ed2k-Server besteht oder der Server ein sog. Fake-Server ist, funktioniert die Suche nicht oder nicht richtig. Deshalb ist darauf zu achten, dass eine Verbindung zum KAD-Netzwerk besteht und die entsprechende Such Methoder ausgewählt wurde.