Korištenje IPv6 u Advanced Direct Connect

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 NMDC 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 ADC hubovima drugačije. Struktura ovog protokola pretpostavlja proširivost. Želiš novu funkciju? Pa dobro – predloži, promoviraj, realiziraj, implementiraj, koristi.

Prevedi na engleski

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.

Korištenje IPv6 u Advanced Direct Connect

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 DC++ 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.

AirDC++ 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 NATT 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 huba spremnog za IPv6 s A- i AAAA zapisa za domensko ime, koje služi kao njegova adresa.

Korištenje IPv6 u Advanced Direct Connect

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 IPsunknown

U 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, ovdje.

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 3871342713

Biti, 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.

Korištenje IPv6 u Advanced Direct Connect
FlylinkDC++ vs. IPv6

U praksi je situacija jednostavnija i složenija istovremeno.

Korištenje IPv6 u Advanced Direct Connect
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...

Korištenje IPv6 u Advanced Direct Connect

… 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.

Korištenje IPv6 u Advanced Direct Connect

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.

Korištenje IPv6 u Advanced Direct Connect

Oh! Aktivni klijent šalje pasivnu komandu?.. Логично было бы ожидать «зависшего» соединения, но нет, оно получается на условиях A4.

Zašto je to tako? Obratimo se developeru i dobijamo odgovor:

CTM 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 ovdje i ovdje). Pasivnim korisnicima se i dalje ne može pomoći, jer

Aktivni način = TCPx + IPx

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.

Korištenje IPv6 u Advanced Direct Connect

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 proširenje, 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

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster