MODder
Registriert seit: 28.03.2003
Beiträge: 5.800
| analyzer Details Zunächst mal möchte ich sagen, daß es von meiner Seite aus weder Neid auf den Analyzer gibt, noch, daß ich mich dadurch angegriffen fühle, weil seine erste Version ausgerechnet auf dem Xtreme aufbaute (Tombstone 1.0).
Warum ich auf den Tombstone so reagierte wie ich das tat hat einen einfachen Hintergrund:
Die Art und Weise wie der Mod vorgestellt wurde! Die gesamte Einführungserklärung war darauf angelegt meine Arbeit schlecht zu machen (ich verweise auf Worte wie "dump-leecher-protection"). Wenn ich mir dann anschließend den Sourcecode ansehe und dabei bemerke, daß nicht nur das Konzept nicht aufgehen kann, sondern der gesamte Code dazu noch extrem verbuggt ist (ich erinnere daran, daß der Tombstone in der 1. Version ALLE clients bestraft hat), dann ist wohl einzusehen, daß man mich mit "dump-leecher-protection" nicht zum Freund machen kann. Ich glaube das ist nachvollziehbar.
Zum Thema Analyzer...
Die Argumente "man braucht nicht mehr eine Leecherliste updaten" ist ein gutes, wenn es denn funktionieren würde. Ich wäre der erste der einen funktionierenden Analyzer einbauen würde. Das Problem ist nur, ein Analyzer kann nicht funktionieren. Warum ein Analyzer nicht funktionieren kann:
Zunächst mal sollte man die einzelnen Funktionen des Analyzers splitten, die da wären:
1. Erkennung von Nickdieben
2. Erkennung von Moddieben
3. Erkennung von Spammern
4. Erkennung von FileFakern
5. Erkennung von zu schnellen Reaks
6. Erkennung von XS Exploitern
7. Logging des UL/DLs inklusive differenzierter Gewichtung für PartFile/FullFile/RareFile Traffic
Punkt 1-4 sind schon längst im Xtreme und auch in anderen Mods verbaut... und das weit bevor der Analyzer ins Leben gerufen wurde.
Punkt 5 und 6:
Hierzu muß ich weiter ausholen:
Das ed2k-Netzwerk und damit der offizielle Client bestimmen Regeln wann und wie und wie oft Dateien und Quellen angefragt werden dürfen. Werden diese Regeln nicht eingehalten bannt der offizielle Client. Diese Regeln bestimmen praktisch Minimumzeiten. (Minimumreakzeiten, Minimum-Sourcerequestzeiten). Neben diesen Minimumzeiten definiert der offizielle Client noch seine eigenen Default-Zeiten, quasi Optimumzeiten. Optimumzeiten bedeutet soviel wie: wenn alles normal läuft frägst Du nur alle x-Minuten nach neuen Quellen oder machst einen neuen Filerequest.
Das Problem ist, daß nicht alles immer normal läuf, sondern von vielen Ausnahmen abhängt:
- A4AF-Quellen werden geswappt
- Quellen werden gedroppt und evtl. gleich wieder gefunden
- Files sind gestoppt/pausiert
- ein Client wird neu gestartet
allein diese vier aufgeführten Spezialfälle führen dazu, daß die Defaultzeiten nicht mehr eingehalten werden. Hinzukommt die Tatsache, daß der Code z.b. für Quellenswappen in den emule-Versionen der vergangenen Jahre schon zahlreiche Änderungen erfahren hat. Desweiteren verwenden verschiedene ed2k-Clients (amule, MLDonkey, EDonkey, x-mule, usw. aber auch der Xtreme) unterschiedliche Implementationen für Quellenswapping und damit Reask-Zeiten und Sourceexchangezeiten, was dazu führt, daß man sich keineswegs an den Default-Werten der gerade aktuellen emule 0.46c Version orientieren kann.
Einzig und alleine haben alle ed2k-Clients die Gemeinsamkeit die Minimumzeiten einzuhalten. Es ist auch nicht möglich alle Ausnahmen/Spezialfälle zu berücksichtigen, dazu müßte man die Codes, aller legalen Clients und aller Versionen studieren und gesondert behandeln. Da es ständig neue Versionen gibt ist dies unmöglich. Selbst eine neue emule 0.47 Version könnte wieder eine ganze Reihe neuer Spezialfälle mitsichbringen.
Fazit: es ist falsch Clients pauschal zu bestrafen deren Reask-Zeiten/ XS-Requests vom Defaultwert der 0.46c abweicht, da es viel zu viele Spezialfälle gibt und viel zu viele unterschiedliche Clients mit unterschiedlichen Implemenationen.
Punkt 7:
Dieses Feature des Analyzers kann relativ einfach zusammengefaßt werden in: für jeden hochgeladenen Chunk wird die Score reduziert, bei seltenen Files stärker, bei verbreiteten Files schwächer.
Oder man kann dieses Feature auch so zusammenfassen: Clients, denen Du etwas gibst, die aber nichts zurückgeben werden bestraft.
Ok, dieses Feature bestraft somit tatsächlich 0-Upload-Mods. Es widerspricht aber dem Filesharing-Konzept.
Filesharing bedeutet: ich gebe allen Clients, mit dem Glauben, daß auch sie allen anderen Clients geben.
im Gegensatz zu Filetrading was soviel bedeutet wie:
gibst Du mir so geb ich Dir.
Das ed2k-Netzwerk ist ein Filesharing-Netzwerk und somit sehe ich alle Systeme die zu sehr in Richtung File-Trading tendieren als schädlich an.
Netzwerkschädliche Beispiele zu diesem Punkt:
Beispiel 1:
Der Analyzer-Client hat bereits 75% eines seltenen Files heruntergeladen. Ein anderer Client bekommt nun einen Chunk von ihm. Die Score wird dadurch reduziert. Umso mehr Chunks der Client bekommt, umso mehr wird die Score reduziert und die Wahrscheinlichkeit weitere Chunks zu bekommen sinkt. Dabei wird aber nicht darauf geachtet, daß der Client der die Chunks bekommt gar nichts zurückzugeben hat.
Beispiel 2:
Der Analyzer-Client ist die einzige volle Quelle eines sehr seltenen Files. Da er die Score bei seltenen Files für jeden übertragenen Chunk gleich doppelt reduziert sinkt Wahrscheinlichkeit weitere Chunks von diesem Client zu bekommen enorm. Der Analyzer bleibt also auf seinen Chunks sitzen und es ist vorprogrammiert, daß das File zur Leiche wird.
Beispiel 3:
Ein Releaser releast File A und lädt File B. Da der Releaser höchstwahrscheinlich File A auf Releaseuploadpriorität hat und File B auf niedrigerer Priorität würde der Releaser von einem Analyzer-Client mit jedem erhaltenen Chunk von File B bestraft werden, obwohl er ein fleißiger Sharer ist. Der Analyzer kann nicht erkennen was der Releaser zu anderen Clients hochlädt.
In einem Filesharing-Netzwerk weiß man einfach nicht, ob der Client dem man gibt, anderen Clients weitergibt, man muß sich darauf verlassen.
Beispiel 4:
Ein Leecherclient lädt zu Dir, da er etwas von Dir braucht und Du eine niedrige QR hast (typisches Leecherfeature). Dieser Client würde belohnt werden, obwohl sein Verhalten typisch schädlich ist.
Hinzu kommen GPL-Breaker und anderes "Gesocks", Schädlinge die mit dem Analyzer schon aus Prinzip gar nicht zu erkennen sind weil sie sich nicht durch Uploadverhalten charakterisieren lassen.
Aus diesen besagten Gründen befürworte ich das Konzept des Analyzers nicht.
Als letzten Punkt möchte ich noch das Argument "den Clientanalyzer muß man nicht updaten" widerlegen.
Gesetzt den Fall der Analyzer würde in einen Großteil der Mods einzug halten und auch wie erwartet funktionieren.... was wäre dann der Fall ? Klar, die Leechercoder würden reagieren und ihre Mods so auslegen, daß sie nicht mehr via beschriebenen Methoden identifiziert werden können. Folglich würde der Analyzer nicht mehr greifen.
Zudem ist die Wahrscheinlichkeit groß, daß neue emule-Versionen Codes für oben genannte Spezialfälle ändern. Dies würde verlangen, daß der Analyzer ständig angepaßt werden muß um nicht offizielle clients zu bestrafen.
Das DLP-System ist zwar auf die Notwendigkeit von Updates angewiesen, kann aber identifizierbare Schädlinge viel exakter und früher erkennen. Im Gegensatz zum Analyzer der per Algorithmus einen fragwürdigen Rundumschlag macht kann mittels DLP auf Schädlinge viel individueller eingegangen werden.
Muss wegen neuer Leecherfeatures upgedatet werden, ist es viel simpler z.B. den Erkennungsstring des Schädlings in die DLP aufzunehmen, als sich einen neuen Algorithmus auszudenken und mangels externer Updatefunktion wie bei DLP alle Analyzer-MODs in eine neue Version zu bringen!
Ich gehe davon aus nun alle Fragen geklärt zu haben und wünsche keine öffentliche Diskussion, da das nichtfunktionieren des Analyzers als Fakt anzusehen ist.Jeder der sich darüber nicht im klaren ist sollte meine Ausführungen noch einmal in Ruhe durchdenken.
PS:
- Der Vorschlag bösen Clients oder Clients mit ungültiger Identifizierung eine Message zu schicken muß ich leider ablehnen. Dies Verhalten wollen die offi Devs nicht.
- Anfangs war ich gegenüber Anti-Ghost-Mod auch kritisch eingestellt. Letztendlich hat mich das Verfahren aber überzeugt. Wer es nicht will kann es abschalten.
__________________
Geändert von Xman (18. January 2006 um 16:05 Uhr)
|