Duke përdorur IPv6 me Advanced Direct Connect

Është interesante të shikosh zhvillimin e rrjetit të ndarjes së skedarëve, por është edhe më interesante të marrësh pjesë në të.

Sot, instalimi dhe lansimi i një moderne NMDC qendër, administratori i sapokrijuar ka akses në pothuajse të gjitha zhvillimet dhe përvojën e grumbulluar në këtë fushë të paraardhësve të tij. Ka një sistem të gatshëm për zgjerim dhe personalizim, duke përfshirë ndihmën e skripteve të shumta.

С ADC shpërndarës ndryshe. Dizajni i këtij protokolli synohet të jetë i shtrirë. Dëshironi një veçori të re? Epo, ofroje, promovoje, zbatoje, zbatoje, përdore.

Përkthejeni në anglisht

Si rezultat, ju, natyrisht, mund të merrni një qendër të gatshme nga kutia, por thjesht ta lëshoni atë dhe ta harroni atë nuk do të jetë mirë. Zgjerimi në një kontekst historik nënkupton gjithashtu praninë e një numri të ndryshëm funksionesh të ndryshme të softuerit të klientit dhe serverit, në varësi të versionit. Dhe ajo që do të funksionojë pa probleme për një përdorues mund të jetë e papajtueshme me klientin e një tjetri, dhe kjo duhet të merret parasysh.

Kjo ndodhi me IPv6. Plaku NMDC nuk di ta bëjë atë në parim, por vetë ADC është gati për të. Megjithatë, jo gjithçka kaq e thjeshtë.

Vetëm pak teori

Përdoruesi "aktiv" mund të pranojë lidhjet hyrëse. Në fakt, kërkesa për lidhje që vjen prej saj është në të vërtetë ftesë.

Një përdorues "pasiv" në përgjithësi mund të përdorë vetëm kërkesat dalëse. Përmes qendrës ai pyet përdoruesi aktiv dërgon një ftesë - dhe lidhja vendoset.

Duke përdorur IPv6 me Advanced Direct Connect

Dhe po, ky mekanizëm nuk varet nga versioni i protokollit IP të përdorur.

Mjellma, karavidhe dhe pike

Le të flasim për softuerin e klientit.

Mbështetje IPv6 DC++ ka natyrë eksperimentale. Nuk ka cilësime të veçanta për të, dhe ishte edhe më befasuese për mua të shihja mënyra të ndryshme funksionimi për versione të ndryshme të IP, me pasive vetëm për të gjashtin, por kjo nuk është e saktë.

Nuk ishte e mundur të merrej modaliteti aktiv gjatë konfigurimit manual edhe kur përdorej në mënyrë eksplicite një domen IP me një regjistrim AAAA si WAN, por në modalitetin automatik duke përdorur UPnP gjithçka funksionoi siç pritej.

AirDC++ gjithashtu ka mbështetje për lidhjet IPv6, dhe zbatohet plotësisht veçmas nga IPv4. Për më tepër, ky klient modifikon etiketat e përdoruesve në atë mënyrë që të shfaqë mënyrat e funksionimit për të dy protokollet IP në të njëjtën kohë. Vetë qendrat nuk dinë ta bëjnë këtë (ende), gjë që është për të ardhur keq.

Më duhet të bëj menjëherë një rezervim: AirDC++ e bën këtë vetëm dhe për vete. Në të ardhmen, për lehtësi, do të përdor kombinime si AP ose AA si një tregues i mënyrave aktive ose pasive të funksionimit për IPv4 dhe IPv6, përkatësisht, në vend të shfaqjes së tyre në etiketën reale të klientit në qendër reale. Është e rëndësishme.

Në eksperimentin tonë do të përdorim FlylinkDC++ si klient aspak i njohur me IPv6. Gjithashtu duhet theksuar se mbështetja NATT për të në kohën e shkrimit të këtij artikulli nuk u zbatua askund.

Fillim

Para së gjithash, ne do të shikojmë lidhjet dukshëm të pamundura midis përdoruesve të versioneve të ndryshme të protokollit IP. Do të përdoret për testim Qendra e gatshme për IPv6 me regjistrat e burimit A- dhe AAAA për emrin e domenit që vepron si adresa e tij.

Duke përdorur IPv6 me Advanced Direct Connect

Ju lutemi vini re se kur (në fakt) përpiqeni të kontaktoni një përdorues me një adresë IP të versionit XNUMX, shfaqet një gabim.

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

Në përkthim njerëzor tingëllon si

P4: – A mund të kapem pas jush?
A6: – Ngjitu!
P4: – Jeta është dhimbje 0_0

Një fjalor i shkurtër, nëse është e nevojshme, këtu.

Dhe nëse është anasjelltas, dhe lidhja fillon A4, atëherë nuk shfaqet asnjë gabim dhe lidhja thjesht varet.

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

Bëhu, nuk duket të jetë

Ajo që është e rëndësishme është mënyra e lidhjes e shfaqur në shpërndarës.

Klientët pa mbështetje IPv6 do të duhet t'i shohin përdoruesit e lidhur përmes tij si qartësisht pasivë, thjesht sepse qendra nuk popullohet për ta I4 ose I6 fushë në përputhje me rrethanat.

Duke përdorur IPv6 me Advanced Direct Connect
FlylinkDC++ vs. IPv6

Në realitet, situata është më e thjeshtë dhe më komplekse në të njëjtën kohë.

Duke përdorur IPv6 me Advanced Direct Connect
AirDC++ vs. IPv6

Më e lehtë sepse IPv6 ka përparësi ndaj IPv4, dhe kjo është e kuptueshme. Është përmes tij (edhe pse zëvendësimi është i disponueshëm duke përdorur opsionin përkatës) që lidhja me shpërndarësin do të vendoset dhe klienti aktiv do t'ia ofrojë atë klientit pasiv për lidhje.

Është më e vështirë, sepse nëse ka përdorues me mbështetje IPv6 në qendër, por ata janë të lidhur rreptësisht përmes një adrese IPv4, atëherë...

Duke përdorur IPv6 me Advanced Direct Connect

... atëherë mund të lidheni me to (në mënyrë të rastësishme) pa pasur fare IPv4.

Ju lutemi vini re se klienti në distancë e ka përcaktuar veten si një aktiv, por trajtohet si një detyrim. Pse?

Hidhe atë në një lëkundje

Tani le të përpiqemi të lidhim klientët me grupe të ndryshme, por të zakonshme për sa i përket IPv4, mbështetje të protokollit IP me njëri-tjetrin.

Duke përdorur IPv6 me Advanced Direct Connect

Po, është për të ardhur keq që përdoruesit pasivë duhet të pinë duhan anash. Por kjo nuk mund të ndihmohet, pasi adresa e tyre e dukshme IP nuk është veçanërisht e rëndësishme - kjo është arsyeja pse ato janë detyrime.

Duke përdorur IPv6 me Advanced Direct Connect

Bah! Klienti aktiv dërgon komanda pasive?.. Do të ishte logjike të pritej një lidhje e "mbërthyer", por jo, kjo rezulton në kushtet A4.

Pse eshte ajo? Ne kontaktojmë zhvilluesin dhe marrim përgjigjen:

CTM nuk është mirë nëse përdoruesi tjetër nuk e mbështet IPv6

Dhe nuk mund të debatoni! Por kjo kërkon logjikë të brendshme, të pavarur nga qendra (shih kodin këtu и këtu). Është ende e pamundur të ndihmohen pasivët, sepse

Modaliteti aktiv = TCPx+IPx

Përpjekjet për t'u lidhur ndërmjet klientëve me grupe të zakonshme mbështetëse IP IPv6 duken kështu. Më lejoni t'ju kujtoj, arrini PA Nuk pata sukses për DC++.

Duke përdorur IPv6 me Advanced Direct Connect

Dhe përsëri një surprizë. Rezulton se mënyra pasive për IPv6, të cilën DC++ e demonstron, është ose një falsifikim i qëllimshëm ose një gabim.

Çka më tej?

Aktualisht, ekzistojnë saktësisht dy mënyra për të zgjidhur të gjitha problemet e mundshme që lidhin përdoruesit në mënyra të ndryshme dhe me grupe të ndryshme të mbështetjes së protokollit IP.

E para është të heshtni plotësisht IPv6 ose, anasjelltas, të krijoni një qendër për të punuar vetëm përmes tij.

E dyta është kjo zgjerimi, e cila sapo po i afrohet fazës së testimit.

Epo, nëse jeni shumë dembel për të vendosur modalitetin aktiv për të punuar në DC, mbani mend:

Kush ka, çfarë do t'i jepet, e kush nuk ka, do t'i hiqet edhe ajo që mendon se ka. NE RREGULL. 8:18

Burimi: www.habr.com

Shto një koment