Att följa utvecklingen av fildelningsnÀtverket Àr intressant, men att delta i det Àr Ànnu mer intressant.
Idag, nÀr man installerar och startar en modern hub, fÄr den nyblivne administratören tillgÄng till praktiskt taget all kunskap och erfarenhet som hans föregÄngare samlat pÄ sig inom detta omrÄde. Han har ett system som Àr redo för utvidgning och anpassning, inklusive genom mÄnga skript.
Med hubar pĂ„ annat sĂ€tt. Strukturen för denna protokoll förutsĂ€tter utvidgbarhet. Vill du ha en ny funktion? Tja, dĂ„ â föreslĂ„, driva pĂ„, implementera, införa, anvĂ€nd.
Som en följd kan man sÄklart fÄ en fÀrdig hub "ur lÄdan", men det skulle inte vara bra att bara starta den och glömma bort den. Utvidgbarhet i historiskt sammanhang förutsÀtter dessutom olika funktioner för klient- och serverprogramvara beroende pÄ version. Och det som fungerar utan problem för en anvÀndare kan visa sig vara inkompatibelt med klienten hos en annan, vilket man mÄste ta hÀnsyn till.
SÄ har det ocksÄ gÄtt med IPv6. Den Àldste NMDC kan i princip inte hantera det, medan ADC i sig sjÀlv Àr redo för det. Men allt Àr inte sÄ enkelt.
Lite teori
En "aktiv" anvÀndare kan ta emot inkommande anslutningar. Egentligen Àr en begÀran om anslutning frÄn honom ett inbjudan.
"Passiv" anvĂ€ndare kan i allmĂ€nhet endast anvĂ€nda utgĂ„ende begĂ€rningar. Genom huben ber den aktiva anvĂ€ndaren att skicka en inbjudan â och dĂ„ fĂ„r man en anslutning.

Och ja, denna mekanism beror inte pÄ vilken version av IP-protokollet som anvÀnds.
Svanen, rÀkan och gÀddan
LÄt oss prata om klientprogramvaran.
Stödet för IPv6 i Àr experimentellt. Det finns inga sÀrskilda instÀllningar för det, och det Àr desto mer förvÄnande för mig att se olika driftsÀtt för olika versioner av IP, dÀr den passiva just Àr för den sjÀtte, men det Àr osÀkert.
Att fÄ aktivt lÀge vid manuell instÀllning lyckades inte ens med en tydlig anvÀndning av en domÀn med AAAA-post som WAN IP, men i automatisk lÀge med UPnP fungerade allt som det skulle.
har ocksÄ stöd för IPv6-anslutningar, och det Àr implementerat helt separat frÄn IPv4. Dessutom modifierar denna klient anvÀndartaggene sÄ att den visar driftlÀgen för bÄda IP-protokollen samtidigt. SjÀlva hubbarna kan inte göra detta (Ànnu), vilket Àr synd.
Jag mÄste genast klargöra: AirDC++ gör sÄ hÀr enbart för sig sjÀlv. För att underlÀtta kommer jag hÀdanefter att anvÀnda kombinationer som AP eller AA som indikation pÄ aktiva eller passiva driftlÀgen för IPv4 och IPv6 respektive, snarare Àn deras visning i taggen för den verkliga klienten pÄ en verklig hub. Det Àr viktigt.
I vÄrt experiment kommer vi att anvÀnda FlylinkDC++ som klient, helt okÀnd med IPv6. Det bör ocksÄ noteras att stödet för för den var inte implementerat nÄgonstans vid tidpunkten för detta skrivande.
Början
Vi börjar med att övervÀga uppenbart omöjliga anslutningar mellan anvÀndare med olika versioner av IP-protokollet. För testet kommer med resurs-A- och AAAA-poster för domÀnnamnet, som fungerar som dess adress.

Observera att hÀr, vid (verkligt) försök att kontakta en anvÀndare med en IP-adress av sjÀtte versionen, returneras ett fel.
Hub: [UtgÄende][IPv4:412] DRCM AACX AACU ADCS/0.10 337151563
Hub: [Inkommande][IPv4:412] DCTM AACU AACX ADCS/0.10 1988 337151563
Hub: [UtgĂ„ende][IPv4:412] DSTA AACX AACU 240 IPsunknownĂversatt till mĂ€nskligt lĂ„ter det som
P4: â Kan jag koppla mig till dig?
A6: â Koppla gĂ€rna!
P4: â Livet Ă€r smĂ€rtsamt 0_0
En kort ordlista, ifall det behövs, .
Och omvÀnt, om anslutningen initieras A4, kommer inget fel att visas, och anslutningen hÀnger bara.
Hub: [UtgÄende][IPv4:412] DCTM AACX AACU ADCS/0.10 1993 3871342713Att vara, inte att verka
Det viktiga Àr det visade anslutningslÀget pÄ hubben.
Klienter utan stöd för IPv6 mÄste se anslutna anvÀndare via den som entydigt passiva helt enkelt eftersom hubben inte fyller i I4 eller I6 fÀltet dÀrefter.

FlylinkDC++ vs. IPv6
I praktiken Àr situationen bÄde enklare och mer komplicerad.

AirDC++ vs. IPv6
Enklare eftersom IPv6 har företrÀde framför IPv4, och det Àr förstÄeligt. Det Àr genom det (Àven om en motsvarande option finns för att ÄsidosÀtta det) som anslutning till hubben kommer att etableras, och dess aktiva klient kommer att erbjuda anslutning till den passiva.
Mer komplicerat eftersom om det finns anvĂ€ndare med stöd för IPv6 pĂ„ hubben, men de Ă€r anslutna strikt via en IPv4-adress, dĂ„âŠ

⊠sÄ kan de kopplas samman (slumpliktigt) utan att ha IPv4.
Observera att den fjÀrrklienten identifierade sig som en aktiv, men hanteras som passiv. Varför?
In i gungstolen med honom
Nu ska vi försöka koppla samman klienter med olika, men gemensamma i delar av IPv4, protokollstödsuppsÀttningar.

Ja, det Ă€r synd att passiva anvĂ€ndare fĂ„r stĂ„ Ă„t sidan. Men det gĂ„r inte att hjĂ€lpa, eftersom deras synliga IP-adress inte har nĂ„gon större betydelse â det Ă€r just dĂ€rför de Ă€r passiva.

Oj! Den aktiva klienten skickar ?.. ĐĐŸĐłĐžŃĐœĐŸ бŃĐ»ĐŸ Đ±Ń ĐŸĐ¶ĐžĐŽĐ°ŃŃ Â«Đ·Đ°ĐČĐžŃŃĐ”ĐłĐŸÂ» ŃĐŸĐ”ĐŽĐžĐœĐ”ĐœĐžŃ, ĐœĐŸ ĐœĐ”Ń, ĐŸĐœĐŸ ĐżĐŸĐ»ŃŃаДŃŃŃ ĐœĐ° ŃŃĐ»ĐŸĐČĐžŃŃ
A4.
Varför Àr det sÄ? Vi vÀnder oss till utvecklaren och fÄr svaret:
Àr inte bra om den andra anvÀndaren inte stöder IPv6
Och det gÄr inte att motsÀga! Men det krÀver redan intern logik som Àr oberoende av hubben (se koden och ). Passiva kan fortfarande inte hjÀlpas, eftersom
Aktiv lÀge =
Försök att koppla samman klienter med gemensamma i delar av IPv6, protokollstödsuppsÀttningar ser ut pÄ följande sÀtt. Jag pÄminner om att uppnÄ PA för DC++ har jag inte lyckats.

Och igen en överraskning. Det visar sig att det passiva lÀget för IPv6, som DC++ visar, Àr antingen en avsiktlig bluff eller en bugg.
Vad hÀnder hÀrnÀst?
För nÀrvarande finns det exakt tvÄ sÀtt att lösa alla möjliga anslutningsproblem för anvÀndare i olika lÀgen och med olika protokollstödsuppsÀttningar.
Det första â att helt dĂ€mpa IPv6 eller, Ă„ sin sida, skapa en hub för att arbeta enbart genom det.
Det andra â Ă€r detta , som just nu Ă€r pĂ„ vĂ€g till teststadiet.
Och glöm inte att, nÀr du latar dig med att konfigurera aktiv lÀge för arbete i DC:
Den som har, ska fÄ, och den som inte har, ska bli berövad Àven det han tror sig ha. Lk. 8:18
KĂ€lla: habr.com
