Et ass interessant d'Entwécklung vum Filesharing-Netzwierk ze kucken, awer et ass nach méi interessant dorun matzemaachen.
Haut installéiert a lancéiert e modernen NMDC Hub, kritt den nei geprägte Administrateur Zougang zu bal all Entwécklungen an Erfarung, déi an dësem Beräich vu senge Virgänger gesammelt goufen. Et huet e System prett fir Expansioun an Personnalisatioun, och mat der Hëllef vu ville Scripten.
С ADC hubs soss. Den Design vun dësem Protokoll ass geduecht fir erweiterbar ze sinn. Wëllt Dir eng nei Feature? Gutt, bitt et, fördert et, implementéiert et, implementéiert et, benotzt et.
Als Resultat kënnt Dir natierlech e fäerdegen Hub aus der Këscht kréien, awer einfach ze lancéieren an ze vergiessen ass net gutt. Extensibilitéit an engem historesche Kontext implizéiert och d'Präsenz vun enger anerer Zuel vu verschiddene Funktiounen vu Client- a Serversoftware, ofhängeg vun der Versioun. A wat ouni Probleemer fir ee Benotzer funktionnéiert, kann mat dem Client vun engem aneren inkompatibel sinn, an dëst muss berücksichtegt ginn.
Dëst ass geschitt mat IPv6. Den ale Mann NMDC weess net wéi et am Prinzip ze maachen, mee ADC selwer ass prett fir et. Wéi och ëmmer, net all sou einfach.
Just eng kleng Theorie
Den "aktiven" Benotzer kann erakommen Verbindungen akzeptéieren. Eigentlech ass d'Verbindungsufro, déi dovunner kënnt, tatsächlech Invitatioun.
E "passive" Benotzer kann allgemeng nëmmen ausginn Ufroe benotzen. Duerch den Hub hien freet den aktive Benotzer schéckt eng Invitatioun - an d'Verbindung ass etabléiert.
A jo, dëse Mechanismus hänkt net vun der Versioun vum benotzte IP-Protokoll of.
Schwan, Kriibsen a Hiecht
Loosst eis iwwer Client Software schwätzen.
IPv6 Ënnerstëtzung DC++ ass experimentell an der Natur. Et gi keng separat Astellunge fir et, an et war ëmsou méi iwwerraschend fir mech verschidde Betribsmodi fir verschidde Versiounen vun IP ze gesinn, mat passiv just fir de sechsten, awer dëst ass net korrekt.
Et war net méiglech den aktive Modus während der manueller Konfiguratioun ze kréien, och wann explizit en IP-Domain mat engem AAAA-Rekord als WAN benotzt, awer am automatesche Modus mat UPnP huet alles geschafft wéi erwaart.
AirDC++ huet och Ënnerstëtzung fir IPv6 Verbindungen, an et ass komplett getrennt vun IPv4 ëmgesat. Ausserdeem ännert dëse Client d'Benotzertags sou datt d'Operatiounsmodi fir béid IP Protokoller gläichzäiteg ugewise ginn. D'Hubs selwer wëssen net wéi dat (nach) ze maachen, wat schued ass.
Ech muss direkt reservéieren: AirDC++ mécht dat eleng a fir sech. An Zukunft, fir d'Bequemlechkeet, wäert ech Kombinatioune benotzen wéi AP oder AA als Indikatioun fir aktiv oder passiv Operatiounsmodi fir IPv4 respektiv IPv6, anstatt hiren Affichage am richtege Client Tag op der realer Hub. Et ass wichteg.
An eisem Experiment wäerte mir benotzen FlylinkDC++ als Client guer net mat IPv6 vertraut. Et sollt och bemierkt ginn datt d'Ënnerstëtzung NATT fir hien am Moment vun dësem Artikel schreiwen war net iwwerall ëmgesat.
Den Ufank
Als éischt wäerte mir selbstverständlech onméiglech Verbindungen tëscht Benotzer vu verschiddene Versioune vum IP Protokoll kucken. Wäert fir den Test benotzt ginn IPv6 prett Hub mat Ressource A- an AAAA-Rekord fir den Domain Numm als seng Adress handelt.
Maacht weg datt wann Dir (tatsächlech) probéiert e Benotzer mat enger Versioun XNUMX IP Adress ze kontaktéieren, gëtt e Feeler ugewisen.
Wat wichteg ass ass de Verbindungsmodus deen um Hub ugewise gëtt.
Clienten ouni IPv6-Ënnerstëtzung mussen d'Benotzer ugeschloss als kloer passiv gesinn, einfach well den Hub net fir si populéiert I4 oder I6 Feld deementspriechend.
FlylinkDC++ vs. IPv6
A Wierklechkeet ass d'Situatioun méi einfach a gläichzäiteg méi komplex.
AirDC++ vs. IPv6
Méi einfach well IPv6 Virrang iwwer IPv4 huet, an dat ass verständlech. Et ass duerch et (och wann d'Iwwerschrëft verfügbar ass mat der entspriechender Optioun) datt d'Verbindung mam Hub etabléiert gëtt, an den aktive Client bitt et dem passive Client fir d'Verbindung.
Et ass méi schwéier, well wann et Benotzer mat IPv6 Ënnerstëtzung um Hub sinn, awer se strikt iwwer eng IPv4 Adress verbonne sinn, dann ...
... da kënnt Dir mat hinnen verbannen (zoufälleg) ouni iwwerhaapt IPv4 ze hunn.
Notéiert w.e.g. datt de Remote Client sech als Verméigen bezeechent huet, awer als Haftung behandelt gëtt. Firwat?
Geheien hien an engem Schwong
Loosst eis elo probéieren Cliente mat verschiddene, awer allgemeng a punkto IPv4, Sets vun IP Protokoll Ënnerstëtzung mateneen ze verbannen.
Jo, et ass schued datt passiv Benotzer op der Säit fëmmen. Awer dëst kann net gehollef ginn, well hir sichtbar IP Adress net besonnesch wichteg ass - dofir si se Verbëndlechkeete.
Bah! Den aktive Client schéckt passiv Kommando?.. Et wier logesch eng "stuck" Verbindung ze erwaarden, awer nee, et stellt sech ënnert de Konditiounen eraus A4.
Firwat? Mir kontaktéieren den Entwéckler a kréien d'Äntwert:
CTM ass net gutt wann deen anere Benotzer IPv6 net ënnerstëtzt
An Dir kënnt net streiden! Awer dëst erfuerdert intern Logik, onofhängeg vum Hub (kuckt Code hei и hei). Et ass nach onméiglech Passiv ze hëllefen, well
Versich tëscht Clienten mat gemeinsame IPv6 IP Support Sets ze verbannen kucken esou aus. Loosst mech Iech drun erënneren, erreechen PA Ech hunn net gelongen fir DC ++.
An erëm eng Iwwerraschung. Et stellt sech eraus datt de passive Modus fir IPv6, deen DC ++ demonstréiert, entweder e bewosst Fake oder e Feeler ass.
Wat d'nächst?
Momentan ginn et genee zwee Weeër fir all méiglech Problemer ze léisen déi Benotzer a verschiddene Modi verbannen a mat verschiddene Sets vun IP Protokoll Ënnerstëtzung.
Déi éischt ass d'IPv6 ganz ze muten oder, am Géigendeel, en Hub ze kreéieren fir nëmmen doduerch ze schaffen.
Déi zweet ass dëst Erweiderung, déi just un d'Teststadium geet.
Gutt, wann Dir ze faul sidd fir den aktive Modus opzestellen fir an DC ze schaffen, erënnert Iech un:
Wien huet, wat him gëtt, a wien net huet, och wat hie mengt, hie gëtt vun him ewechgeholl. OK. 8:18