IPv6 használata speciális közvetlen kapcsolattal

Érdekes figyelni a fájlmegosztó hálózat fejlődését, de még érdekesebb részt venni benne.

Ma egy modern telepítése és elindítása NMDC hub-on az újonnan vert adminisztrátor hozzáfér szinte az összes fejlesztéshez és elődei ezen a területen felhalmozott tapasztalatához. Bővítésre és testreszabásra kész rendszerrel rendelkezik, többek között számos szkript segítségével.

С ADC hubok egyébként. A protokoll kialakításának célja, hogy bővíthető legyen. Új funkciót szeretne? Hát ajánld fel, népszerűsítsd, valósítsd meg, valósítsd meg, használd.

Angolra fordít

Ennek eredményeként természetesen ki lehet venni egy kész hubot a dobozból, de egyszerűen elindítani és elfelejteni nem lesz jó. A bővíthetőség történeti kontextusban azt is jelenti, hogy a kliens- és szerverszoftver változattól függően különböző számú különböző funkciója van jelen. És ami az egyik felhasználó számára problémamentesen működik, az összeférhetetlen a másik kliensével, és ezt figyelembe kell venni.

Ez történt az IPv6-tal. Az öreg NMDC elvileg nem tudja, hogyan kell csinálni, de maga az ADC készen áll rá. Azonban nem minden olyan egyszerű.

Csak egy kis elmélet

Az „aktív” felhasználó fogadhatja a bejövő kapcsolatokat. Valójában az onnan érkező csatlakozási kérelem valójában meghívás.

A „passzív” felhasználó általában csak kimenő kéréseket használhat. A hubon keresztül ő - kérdezi az aktív felhasználó meghívót küld – és a kapcsolat létrejön.

IPv6 használata speciális közvetlen kapcsolattal

És igen, ez a mechanizmus nem függ a használt IP protokoll verziójától.

Hattyú, rák és csuka

Beszéljünk az ügyfélszoftverről.

IPv6 támogatás DC + + kísérleti jellegű. Külön beállításai nincsenek hozzá, és számomra annál is meglepőbb volt, hogy az IP különböző verzióihoz eltérő működési módokat láttam, passzívat csak a hatodiknál, de ez nem pontos.

A kézi konfigurálás során még akkor sem lehetett aktív módot elérni, ha kifejezetten AAAA rekordot tartalmazó IP tartományt használtunk WAN-ként, de UPnP-t használó automatikus módban minden a várt módon működött.

AirDC++ támogatja az IPv6-os kapcsolatokat is, és az IPv4-től teljesen elkülönítve van megvalósítva. Ezenkívül ez a kliens úgy módosítja a felhasználói címkéket, hogy egyszerre jelenítse meg mindkét IP-protokoll működési módját. Maguk a hubok (még) nem tudják, hogyan kell ezt megtenni, ami kár.

Azonnal le kell foglalnom: az AirDC++ ezt egyedül és önmagáért teszi. A jövőben a kényelem kedvéért olyan kombinációkat fogok használni, mint pl AP vagy AA az IPv4 és IPv6 aktív vagy passzív működési módjának jelzéseként, ahelyett, hogy azok megjelennének a valódi kliens címkéjében a valódi hubon. Fontos.

Kísérletünkben használni fogjuk FlylinkDC++ mint kliens, aki egyáltalán nem ismeri az IPv6-ot. Azt is meg kell jegyezni, hogy a támogatás NATT számára a cikk írásakor sehol nem valósult meg.

kezdet

Először is megvizsgáljuk a nyilvánvalóan lehetetlen kapcsolatokat az IP protokoll különböző verzióit használó felhasználók között. A teszthez használják IPv6-kompatibilis hub a domain név A- és AAAA-rekordjaival, amelyek címként működnek.

IPv6 használata speciális közvetlen kapcsolattal

Kérjük, vegye figyelembe, hogy amikor (valójában) XNUMX-os verziójú IP-címmel rendelkező felhasználóval próbál kapcsolatba lépni, hibaüzenet jelenik meg.

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

Emberi fordításban így hangzik

P4: – Kapaszkodhatok beléd?
A6: – Kapaszkodj!
P4: – Az élet fájdalom 0_0

Szükség esetén egy rövid szótár, itt.

És ha fordítva van, és a kapcsolat megindul A4, akkor nem jelenik meg hiba, és a kapcsolat egyszerűen lefagy.

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

Legyen, nem úgy tűnik

Ami fontos, az a hubon megjelenő csatlakozási mód.

Az IPv6-támogatással nem rendelkező ügyfeleknek egyértelműen passzívnak kell tekinteniük a rajta keresztül csatlakozó felhasználókat, egyszerűen azért, mert a hub nem tölti be őket. I4 vagy I6 mezőben ennek megfelelően.

IPv6 használata speciális közvetlen kapcsolattal
FlylinkDC++ vs. IPv6

A valóságban a helyzet egyszerűbb és összetettebb is egyben.

IPv6 használata speciális közvetlen kapcsolattal
AirDC++ vs. IPv6

Könnyebb, mert az IPv6 elsőbbséget élvez az IPv4-el szemben, és ez érthető. Ezen keresztül jön létre a kapcsolat a hubbal (bár a felülírás elérhető a megfelelő opcióval), és az aktív kliens felajánlja azt a passzív kliensnek csatlakozásra.

Nehezebb, mert ha vannak IPv6-támogatással rendelkező felhasználók a hubon, de szigorúan IPv4-címen keresztül csatlakoznak, akkor...

IPv6 használata speciális közvetlen kapcsolattal

... akkor csatlakozhatsz hozzájuk (véletlenszerűen) anélkül, hogy IPv4-ed lenne.

Felhívjuk figyelmét, hogy a távoli ügyfél eszközként jelölte meg magát, de kötelezettségként kezeli. Miért?

Dobd hintába

Most próbáljuk meg a különböző, de az IPv4 szempontjából általános IP-protokoll-támogatással rendelkező klienseket összekapcsolni egymással.

IPv6 használata speciális közvetlen kapcsolattal

Igen, kár, hogy a passzív felhasználóknak a pálya szélén kell dohányozniuk. De ezen nem lehet segíteni, hiszen a látható IP-címük nem különösebben fontos – ezért kötelezettségek.

IPv6 használata speciális közvetlen kapcsolattal

Bah! Az aktív kliens küld passzív parancs?.. Logikus lenne „elakadt” kapcsolatra számítani, de nem, a feltételek mellett kiderül A4.

Miert van az? Felvesszük a kapcsolatot a fejlesztővel, és megkapjuk a választ:

CTM nem jó, ha a másik felhasználó nem támogatja az IPv6-ot

És nem lehet vitatkozni! Ehhez azonban belső logikára van szükség, amely független a hubtól (lásd a kódot itt и itt). A passzívakon továbbra sem lehet segíteni, mert

Aktív mód = TCPx+IPx

A közös IPv6 IP-támogatással rendelkező kliensek közötti csatlakozási kísérletek így néznek ki. Hadd emlékeztesselek, érd el PA DC++-nál nem sikerült.

IPv6 használata speciális közvetlen kapcsolattal

És ismét meglepetés. Kiderült, hogy az IPv6 passzív módja, amelyet a DC++ demonstrál, vagy szándékos hamisítvány, vagy hiba.

Mi a következő lépés?

Jelenleg pontosan kétféleképpen lehet megoldani az összes lehetséges problémát a felhasználók különböző módokban és különböző IP-protokoll-támogatással történő összekapcsolásával.

Az első az IPv6 teljes némítása, vagy fordítva, egy hub létrehozása, amely csak rajta keresztül működik.

A második ez kiterjesztés, amely éppen a tesztelési szakaszhoz közeledik.

Nos, ha túl lusta az aktív mód beállításához a DC-ben való munkavégzéshez, ne feledje:

Akinek van, az adatik neki, akinek pedig nincs, attól még azt is elveszik, amiről azt hiszi, hogy van. RENDBEN. 8:18

Forrás: will.com

Hozzászólás