Uporaba IPv6 v Advanced Direct Connect

Opazovanje razvoja omrežja za izmenjavo datotek je zanimivo, toda še bolj zanimivo je sodelovati vanj.

Danes, s postavitvijo in zagonjem sodobnega NMDC huba, novopečeni administrator dobi dostop praktično do vseh znanj in nabranih izkušenj njegovih predhodnikov. Ima sistem, ki je pripravljen na širitev in prilagajanje, vključno s številnimi skripti.

Z ADC hubov drugače. Struktura tega protokola predvideva razširljivost. Želiš novo funkcijo? No, predlagaj, promoviraj, uresničuj, implementiraj, uporabljaj.

Translate to English

Zato je 'iz omare' mogoče, seveda, dobiti pripravljen hub, vendar pa ga preprosto zagnati in pozabiti nanj ne bi bilo prav. Razširljivost v zgodovinskem kontekstu vključuje tudi prisotnost različnih številčnih funkcij odjemalškega in strežniškega programske opreme odvisno od verzije. In to, kar bo brez težav delovalo pri enem uporabniku, je lahko nezdružljivo z odjemalcem drugega, kar je treba upoštevati.

Tako se je zgodilo tudi z IPv6. Stari NMDC ga v osnovi ne podpira, medtem ko je ADC sam po sebi pripravljen. Vendar pa ni vse tako preprosto.

Še malo teorije

‘Aktiven’ uporabnik lahko sprejema vhodne povezave. V resnici je njegovo odhodno povpraševanje za povezavo pravzaprav povabilo.

‘Pasiven’ uporabnik lahko v splošnem primeru uporablja le odhodne zahtevke. Preko huba on prosi aktivnega uporabnika, da pošlje povabilo – in povezava se tako vzpostavi.

Uporaba IPv6 v Advanced Direct Connect

Ja, ta mehanizem ni odvisen od uporabljene različice IP protokola.

Labod, rak in ščuka

Pogovorimo se o odjemalski programski opremi.

Podpora IPv6 v DC++ je eksperimentalna. Nimamo posebnih nastavitev zanj, in toliko bolj me je presenetila različna delovna načina za različne različice IP, pri čemer je pasivna prav za šesto, a to ni natančno.

Pri ročnem nastavljanju ni bilo mogoče doseči aktivnega načina niti ob očitni uporabi domene z AAAA zapisom kot WAN IP, medtem ko je v samodejnem načinu z uporabo UPnP vse delovalo takole.

AirDC++ tudi šteje podporo za IPv6 povezave, ki je ločeno implementirana od IPv4. Poleg tega ta odjemalec prilagaja oznake uporabnikov tako, da hkrati prikaže načine delovanja za oba IP protokola. Samo hubi tega (za zdaj) še ne zmorejo, kar je škoda.

Takoj moram omeniti: AirDC++ to stori tudi zanj. V nadaljevanju bom za enostavnost uporabljal kombinacije, kot so AP ili AA kot oznako za aktivne ali pasivne načine delovanja za IPv4 in IPv6, ustrezno, in ne za njihovo prikazovanje v oznaki pravega odjemalca na pravem hubu. To je pomembno.

V našem eksperimentu bomo uporabili FlylinkDC++ kot odjemalca, ki sploh ne pozna IPv6. Prav tako je treba omeniti, da podpora NATT zanj v trenutku pisanja tega članka še ni bila implementirana nikjer.

Začetek

Najprej bomo obravnavali očitno nemogoče povezave med uporabniki različnih različic protokola IP. Za test bomo uporabili IPv6 pripravljen hub z A- in AAAA zapisi za domeno, ki deluje kot njegova naslovna oznaka.

Uporaba IPv6 v Advanced Direct Connect

Upoštevajte, da tukaj ob (dejanskem) poskusu povezovanja do uporabnika z IP naslovom različice šest pride do napake.

Hub:	[Outgoing][IPv4:412]	 	DRCM AACX AACU ADCS/0.10 337151563
Hub:	[Incoming][IPv4:412]	 	DCTM AACU AACX ADCS/0.10 1988 337151563
Hub:	[Outgoing][IPv4:412]	 	DSTA AACX AACU 240 IPsunknown

V prevodu na človeščino to zveni kot

P4: – Lahko se prilepim k tebi?
A6: – Prilepi se!
P4: – Življenje je bolečina 0_0

Kratka slovnica, če kaj, ovde.

In če obratno, in povezavo iniciira A4, potem napake ni in povezava se preprosto 'zavisi'.

Hub:	[Outgoing][IPv4:412]	 	DCTM AACX AACU ADCS/0.10 1993 3871342713

Biti, ne pa izgledati

Pomembno je, kakšen način povezave je prikazan na hubu.

Odjemalci brez podpore IPv6 bodo povezane uporabnike videli kot nedvoumno pasivne samo zato, ker hub zanje ne izpolnjuje I4 ili I6 ustrezno polje.

Uporaba IPv6 v Advanced Direct Connect
FlylinkDC++ proti IPv6

V resnici pa je situacija preprostejša in hkrati bolj zapletena.

Uporaba IPv6 v Advanced Direct Connect
AirDC++ proti IPv6

Preprostejša, ker ima IPv6 prednost pred IPv4, in to je jasno. Povezava z hubom bo vzpostavljena natančno preko njega (čeprav obstaja možnost nadomeščanja), aktivni odjemalec pa bo ponudil povezavo pasivnemu.

Bolj zapletena, ker, če na hubu obstajajo uporabniki s podporo IPv6, vendar so povezani zgolj preko IPv4 naslova, potem…

Uporaba IPv6 v Advanced Direct Connect

… potem se z njimi lahko povežete (naključno), brez da bi imeli IPv4.

Upoštevajte, da je oddaljeni odjemalec označil sebe kot aktivnega, obravnava pa se kot pasivnega. Zakaj?

Tja ga v gugalnico

Zdaj bomo poskusili povezati odjemalce z različnimi, a skupnimi nabori podpore protokola IP v okviru IPv4.

Uporaba IPv6 v Advanced Direct Connect

Ja, škoda, da pasivni uporabniki morajo čakati na strani. A tega ni mogoče odpraviti, saj njihov vidni IP-naslov nima posebnega pomena – zato so pač pasivni.

Uporaba IPv6 v Advanced Direct Connect

Oh! Aktiven odjemalec pošilja pasivno naročilo?.. Логично было бы ожидать «зависшего» соединения, но нет, оно получается на условиях A4.

Zakaj tako? Obrnemo se na razvijalca in dobimo odgovor:

CTM ni dobro, če drugi uporabnik ne podpira IPv6

In težko bi ugovarjali! A to zahteva že notranjo, neodvisno od vozlišča logiko (glejte kodo ovde in ovde). Pasivnim pa spet ni mogoče pomagati, ker

Aktivni način = TCPx + IPx

Poskusi povezovanja med odjemalci z skupnimi nabori podpore protokola IP v okviru IPv6 izgledajo tako. Spominjam, da doseči PA za DC++ mi ni uspelo.

Uporaba IPv6 v Advanced Direct Connect

In spet presenečenje. Izkazalo se je, da je pasivni način za IPv6, ki ga prikazuje DC++, bodisi namerna prevara bodisi napaka.

Kaj zdaj?

Trenutno obstajata natančno dva načina za reševanje vseh možnih težav povezovanja uporabnikov v različnih načinih in z različnimi nabori podpore protokola IP.

Prvi je, da popolnoma utišate IPv6 ali pa, nasprotno, ustvarite vozlišče, ki deluje samo prek njega.

Drugi – to je razširitev, kar se šele približuje fazi testiranja.

In ko se leno pripravljate na aktivni način dela v DC, ne pozabite:

Komu je dano, tistemu bo dano, a kdor nima, mu bo vzeto tudi to, kar misli, da ima. Lk. 8:18

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster