Zanimljivo je pratiti razvoj mreže za razmjenu datoteka, ali čak je i zanimljivije sudjelovati u tome.
Do danas, postavljajući i pokrećući moderni hub, novi administrator dobiva pristup gotovo svim razvojnim radovima i iskustvu svojih prethodnika u ovom području. Ima sustav spreman za proširenje i prilagodbu, uključujući brojne skripte.
S hubovima drugačije. Struktura ovog protokola pretpostavlja proširivost. Želiš novu funkciju? Pa dobro – predloži, promoviraj, realiziraj, implementiraj, koristi.
Kao posljedica, „iz kutije“ može se, naravno, dobiti gotov hub, ali jednostavno ga pokrenuti i zaboraviti na njega neće biti dobro. Proširivost u povijesnom kontekstu također podrazumijeva prisutnost različitog broja funkcija klijentskog i serverskog softvera, ovisno o verziji. I ono što će raditi bez problema za jednog korisnika može se pokazati nekompatibilnim s klijentom drugog, i to treba uzeti u obzir.
Tako je to bilo i s IPv6. Starac NMDC ga uopće ne podržava, dok je ADC inherentno spreman za njega. Međutim, nije sve tako jednostavno.
Samo malo teorije
„Aktivni“ korisnik može primati dolazne veze. U osnovi, izlazni zahtjev za vezu od njega u stvarnosti je pozivnica.
„Pasivni“ korisnik općenito može koristiti samo izlazne zahtjeve. Putem huba on traži aktivnog korisnika da pošalje pozivnicu – i veza se ostvaruje.

I da, ovaj mehanizam ne ovisi o verziji korištenog IP protokola.
Labud, rak i štuka
Razgovarajmo o klijentskom softveru.
Podrška za IPv6 u ima eksperimentalni karakter. Nema posebnih postavki za njega, i tim je iznenađujuće za mene bilo vidjeti različite načine rada za različite verzije IP, pri čemu je pasivni baš za šestu, ali to nije točno.
Nije bilo moguće dobiti aktivni način pri ručnom postavljanju čak ni pri očiglednoj upotrebi domene s AAAA zapisom kao WAN IP, a u automatskom režimu korištenjem UPnP sve je radilo kako treba.
također podržava IPv6 veze, a implementirana je potpuno odvojeno od IPv4. Štoviše, ovaj klijent modificira oznake korisnika na način da prikazuje radne režime za oba IP protokola istovremeno. Sami hubovi to (za sada) ne mogu, što je šteta.
Odmah treba napomenuti: AirDC++ to čini tako ne samo za sebe. U budućnosti ću koristiti kombinacije poput AP ili AA kao označavanje aktivnih ili pasivnih radnih režima za IPv4 i IPv6, respektivno, a ne njihov prikaz u oznaci stvarnog klijenta na stvarnom hubu. To je važno.
U našem eksperimentu koristit ćemo FlylinkDC++ kao klijent koji ne poznaje IPv6. Također treba napomenuti da podrška nije bila implementirana nigdje u trenutku pisanja ovog članka.
Početak
Prvo, razmotrit ćemo nužno nemoguće veze među korisnicima različitih verzija IP protokola. Za test će se koristiti s A- i AAAA zapisa za domensko ime, koje služi kao njegova adresa.

Obratite pažnju, ovdje pri (stvarnom) pokušaju pristupa korisniku s IP adresom šeste verzije dolazi do greške.
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 IPsunknownU prijevodu na ljudski to zvuči kao
P4: – Mogu li ti se priključiti?
A6: – Priključi se!
P4: – Život boli 0_0
Kratki rječnik, ako nešto, .
A ako obrnuto, i veza inicira A4, tada se greška ne prikazuje, a veza jednostavno "zastane".
Hub: [Outgoing][IPv4:412] DCTM AACX AACU ADCS/0.10 1993 3871342713Biti, a ne činiti se
Što je važno, to je režim veze koji se prikazuje na hubu.
Klijenti bez podrške za IPv6 trebali bi vidjeti povezane korisnike kao isključivo pasivne jednostavno zato što hub ne popunjava I4 ili I6 polje respektivno.

FlylinkDC++ vs. IPv6
U praksi je situacija jednostavnija i složenija istovremeno.

AirDC++ vs. IPv6
Jednostavnije je, jer IPv6 ima prioritet nad IPv4 i to je jasno. Upravo kroz njega (iako je dostupno preusmjeravanje s odgovarajućom opcijom) uspostavit će se veza s hubom, a njegov aktivni klijent će ponuditi vezu pasivnom.
Složenije je, jer ako na hubu postoje korisnici s podrškom za IPv6, ali su povezani isključivo putem IPv4 adrese, tada...

… tako da se s njima možete povezati (nasumično) bez ikakvog IPv4.
Obratite pažnju, daljinski klijent se označava kao aktivan, ali se obrađuje kao pasivan. Zašto?
Tamo ga u ljuljačku
Sada ćemo pokušati povezati klijente koji imaju različite, ali zajedničke IPv4 skupove podrške IP protokolu.

Da, šteta što pasivni korisnici moraju stajati sa strane. No, na to se ne može utjecati, jer njihova vidljiva IP adresa nije od posebnog značaja – to su pasivni.

Oh! Aktivni klijent šalje ?.. Логично было бы ожидать «зависшего» соединения, но нет, оно получается на условиях A4.
Zašto je to tako? Obratimo se developeru i dobijamo odgovor:
nije dobro ako drugi korisnik ne podržava IPv6
I stvarno se ne može raspravljati! No, to zahtijeva već unutarnju, neovisnu logiku od hub-a (vidi kod i ). Pasivnim korisnicima se i dalje ne može pomoći, jer
Aktivni način =
Pokušaji povezivanja između klijenata s zajedničkim IPv6 skupovima podrške IP protokolu izgledaju ovako. Podsjećam, postići PA za DC++ mi nije uspjelo.

I opet iznenađenje. Čini se da pasivni način za IPv6, koji pokazuje DC++, predstavlja ili namjeravanu prevaru, ili grešku.
Što dalje?
Trenutno postoje tačno dva načina za rješavanje svih mogućih problema povezivanja korisnika u različitim režimima i s različitim skupovima podrške IP protokolu.
Prvi – potpuno onemogućiti IPv6 ili, s druge strane, stvoriti hub koji radi isključivo preko njega.
Drugi – ovo , koje tek što je došlo do faze testiranja.
I, dok lijeno podešavate aktivni način za rad u DC-u, zapamtite:
Onome tko ima, bit će dodano, a onome tko nema, oduzet će se i to što misli da ima. Lk. 8:18
Izvor: habr.com
