Įdomu stebėti failų mainų tinklo plėtrą, bet dar įdomiau jame dalyvauti.
Šiandien įrengiant ir paleidžiant modernų NMDC centras, naujai nukaldintas administratorius gauna prieigą prie beveik visų naujovių ir patirties, sukauptos šioje savo pirmtakų srityje. Ji turi sistemą, paruoštą plėsti ir pritaikyti, įskaitant daugybę scenarijų.
С ADC stebulės kitaip. Šio protokolo dizainą galima išplėsti. Ar norite naujos funkcijos? Na, siūlykite, reklamuokite, įgyvendinkite, įgyvendinkite, naudokitės.
Dėl to, žinoma, galite gauti paruoštą stebulę iš dėžutės, tačiau tiesiog jį paleisti ir pamiršti nebus gerai. Išplečiamumas istoriniame kontekste taip pat reiškia skirtingą kliento ir serverio programinės įrangos funkcijų skaičių, priklausomai nuo versijos. Ir tai, kas vienam vartotojui veiks be problemų, gali būti nesuderinama su kito klientu, ir į tai reikia atsižvelgti.
Tai atsitiko su IPv6. Senolis NMDC iš principo nežino, kaip tai padaryti, bet pats ADC tam pasiruošęs. Tačiau ne viskas taip paprasta.
Tik truputis teorijos
„Aktyvus“ vartotojas gali priimti įeinančius ryšius. Tiesą sakant, iš jo gaunama ryšio užklausa iš tikrųjų yra kvietimas.
„Pasyvus“ vartotojas paprastai gali naudoti tik siunčiamas užklausas. Per stebulę jis klausia aktyvus vartotojas išsiunčia kvietimą – ir ryšys užmezgamas.
Ir taip, šis mechanizmas nepriklauso nuo naudojamo IP protokolo versijos.
Gulbė, vėžiai ir lydekos
Pakalbėkime apie kliento programinę įrangą.
IPv6 palaikymas DC ++ yra eksperimentinio pobūdžio. Atskirų nustatymų jai nėra, o mane dar labiau nustebino skirtingų IP versijų darbo režimai, o pasyvus tik šeštajai, bet tai nėra tikslu.
Nebuvo įmanoma gauti aktyvaus režimo rankinio konfigūravimo metu net ir naudojant IP domeną su AAAA įrašu kaip WAN, tačiau automatiniu režimu naudojant UPnP viskas veikė taip, kaip tikėtasi.
AirDC++ taip pat palaiko IPv6 ryšius ir yra įdiegtas visiškai atskirai nuo IPv4. Be to, šis klientas modifikuoja vartotojo žymas taip, kad vienu metu būtų rodomi abiejų IP protokolų veikimo režimai. Patys stebulės nežino, kaip tai padaryti (kol kas), gaila.
Turiu iš karto padaryti rezervaciją: AirDC++ tai daro vienas ir už save. Ateityje patogumo dėlei naudosiu tokius derinius kaip AP arba AA kaip atitinkamai IPv4 ir IPv6 aktyvių arba pasyvių veikimo režimų nuoroda, o ne jų rodymas tikrojo kliento žymoje, esančiame realiame centre. Svarbu.
Savo eksperimente mes naudosime FlylinkDC++ kaip klientas, visiškai nesusipažinęs su IPv6. Taip pat reikėtų pažymėti, kad parama NATT jam šio straipsnio rašymo metu niekur nebuvo įgyvendintas.
Pradėti
Pirmiausia pažvelgsime į akivaizdžiai neįmanomus ryšius tarp skirtingų IP protokolo versijų vartotojų. Bus naudojamas bandymui IPv6 paruoštas centras su išteklių A ir AAAA įrašais domeno vardui, kurie veikia kaip jo adresas.
Atkreipkite dėmesį, kad kai (iš tikrųjų) bandote susisiekti su vartotoju, turinčiu XNUMX versijos IP adresą, rodoma klaida.
Svarbus yra koncentratoriaus rodomas ryšio režimas.
Klientai, neturintys IPv6 palaikymo, turės matyti per jį prisijungusius vartotojus kaip aiškiai pasyvius vien todėl, kad centras jiems neužpildo I4 arba I6 atitinkamai lauke.
FlylinkDC++ vs. IPv6
Iš tikrųjų situacija yra paprastesnė ir kartu sudėtingesnė.
AirDC++ vs. IPv6
Lengviau, nes IPv6 turi viršenybę prieš IPv4, ir tai suprantama. Būtent per jį (nors perrašymas galimas naudojant atitinkamą parinktį) bus užmegztas ryšys su šakotuvu, o aktyvus klientas pasiūlys jį prisijungti pasyviajam klientui.
Tai sudėtingiau, nes jei centre yra vartotojų, palaikančių IPv6, bet jie yra prijungti griežtai per IPv4 adresą, tada...
... tada galite prisijungti prie jų (atsitiktinai) neturėdami IPv4.
Atkreipkite dėmesį, kad nuotolinis klientas nurodė save kaip turtą, bet yra laikomas įsipareigojimu. Kodėl?
Išmesk jį į sūpynes
Dabar pabandykime sujungti klientus su skirtingais, bet įprastais IPv4 IP protokolo palaikymo rinkiniais.
Taip, gaila, kad pasyviems vartotojams tenka rūkyti nuošalyje. Tačiau to negalima padaryti, nes jų matomas IP adresas nėra ypač svarbus – štai kodėl jie yra įsipareigojimai.
Bah! Aktyvus klientas siunčia pasyvi komanda?.. Būtų logiška tikėtis „užstrigusio“ ryšio, bet ne, pasirodo esant sąlygoms A4.
Kodėl taip? Susisiekiame su kūrėju ir gauname atsakymą:
CTM nėra gerai, jei kitas vartotojas nepalaiko IPv6
Ir jūs negalite ginčytis! Tačiau tam reikalinga vidinė logika, nepriklausoma nuo šakotuvo (žr. kodą čia и čia). Vis dar neįmanoma padėti pasyviesiems, nes
Bandymai prisijungti tarp klientų su įprastais IPv6 IP palaikymo rinkiniais atrodo taip. Leiskite jums priminti, pasiekti PA DC++ man nepasisekė.
Ir vėl staigmena. Pasirodo, kad pasyvus IPv6 režimas, kurį demonstruoja DC++, yra arba tyčinis klastotė, arba klaida.
Kas toliau?
Šiuo metu yra lygiai du būdai, kaip išspręsti visas galimas problemas, jungiančias vartotojus skirtingais režimais ir skirtingais IP protokolo palaikymo rinkiniais.
Pirmasis yra visiškai nutildyti IPv6 arba, atvirkščiai, sukurti šakotuvą, kuris veiktų tik per jį.
Antrasis yra toks plėtra, kuri dar tik artėja prie testavimo etapo.
Na, jei esate per daug tingus, kad nustatytumėte aktyvųjį režimą darbui DC, atminkite:
Kas turi, tam bus duota, o kas neturi, iš jo bus atimta net tai, ką jis mano turįs. GERAI. 8:18