É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.
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.
É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.
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.
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.
FlylinkDC++ vs. IPv6
A valóságban a helyzet egyszerűbb és összetettebb is egyben.
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...
... 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.
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.
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
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.
É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