Zbatimi i NAT Traversal për lidhjen e përdoruesve në modalitetin pasiv

Kyçi i këtij artikulli është një përkthim i lirë i një shënimi në blogun e zhvilluesve të DC++.

Me lejen e autorit (po ashtu për sa për transparencë dhe kuriozitet) unë ia kam ngjyrosur atë me lidhje dhe e kam kompletuar me disa hulumtime personale.

Hyrje

Aktualisht, të paktën një përdorues nga çifti i lidhjeve duhet të jetë në mënyrë aktive. Mekanizmi i "shkallimit" të NAT-it do të jetë i dobishëm në rastin kur asnjëra nga palët nuk është e vendosur në mënyrë aktive. Kjo ndodhi zakonisht për shkak të bllokimit të lidhjeve hyrëse nga një firewall ose një pajisje NAT.

Nëse të dy klientët janë në mënyrë aktive

Klienti-iniciator dërgon një komandë që përmban adresën e tij IP dhe portin $ConnectToMe tek klienti tjetër. Duke përdorur këto të dhëna, klienti që e merr komandën krijon një lidhje me iniciatorin.

Nëse një nga klientët është në mënyrë pasive

Përmes hub-it, klienti pasiv A dërgon komandën $RevConnectToMe klientit aktiv B, i cili më pas përgjigjet me komandën $ConnectToMe.

Zbatimi i NAT Traversal për lidhjen e përdoruesve në modalitetin pasiv
Në këtë rast, S hub-i DC shërben si server

Nëse të dy klientët janë në mënyrë pasive në hub-in ADC

Klientët që ndodhen pas NAT-eve të ndryshme A dhe B kanë hyrë në hub S.

Zbatimi i NAT Traversal për lidhjen e përdoruesve në modalitetin pasiv
Kështu duket lidhja me hub-in nga këndvështrimi i klientit A

Hub-i pranon lidhjet në portin 1511. Klienti A bën lidhje dalëse nga rrjeti i tij privat përmes portit 50758. Hub-i, nga ana e tij, sheh adresën e pajisjes NAT, punon me të dhe transmeton klientëve sipas identifikatorëve të tyre.

KÎ»ÎŻÎżÏ…ent A dĂ«rgon serverit S njĂ« mesazh qĂ« kĂ«rkon ndihmĂ« pĂ«r t'u lidhur me klientin B.

Hub: [Outgoing][178.79.159.147:1511] DRCM AAAA BBBB ADCS/0.10 1649612991

Duke qenë gjithashtu në mënyrë pasive, klienti B, pasi merr këtë komandë, duhet të njoftojë portin e tij privat të përdorur për lidhjen me hub-in nëpërmjet NAT-it.

Hub: [Incoming][178.79.159.147:1511] DNAT BBBB AAAA ADCS/0.10 59566 1649612991

Pas marrjes së kësaj informacioni, klienti A menjëherë përpiqet të krijojë një lidhje me klientin B dhe njofton portin e tij privat.

Qendra:		[Dalëse][178.79.159.147:1511]	 	D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991

Cila është interesimi? Interesi qëndron në zhvendosjen e pikës finale të të njëjtës lidhje duke krijuar një lidhje të re në adresën publike përmes portit privat që është tashmë në përdorim.

Zbatimi i NAT Traversal për lidhjen e përdoruesve në modalitetin pasiv
Bingo!

Sigurisht, në këtë rast NAT-i i klientit B ka të drejtën e plotë të refuzojë kërkesën e parë për lidhje nga klienti A, por kërkesa e tij vetë drejtohet në "vrimën" e krijuar nga kjo lidhje, dhe lidhja është e vendosur.

Zbatimi i NAT Traversal për lidhjen e përdoruesve në modalitetin pasiv
Imazhi, i pĂ«rshtatshĂ«m pĂ«r tĂ« gjithĂ« procesin me rezervimin qĂ« protokolli nuk nuk pĂ«rdor porte publike, tĂ« hapura nga sesioni NAT‒S, si dhe adresa private.

Epilogu

Në momentin e shkrimit (origjinal) të artikullit, rreth gjysma e klientëve të DC po funksionon në mënyrë pasive. Kjo do të thotë se një e katërta e të gjitha lidhjeve të mundshme nuk mund të realizohet.

MĂ« vonĂ« DC++ do tĂ« jetĂ« nĂ« gjendje tĂ« "kaloje" NAT, duke pĂ«rdorur lidhjet ekzistuese A‒S dhe B‒S pĂ«r tĂ« vendosur njĂ« lidhje direkte klient-klient, edhe nĂ«se A dhe B janĂ« nĂ« mĂ«nyrĂ« pasive.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster