Dit artikel is in fergese oersetting fan ien fan 'e yngongen yn .
Mei tastimming fan de skriuwer (lykas foar de dúdlikens en ynteresse) haw ik it ynkleure mei keppelings en oanfolle mei wat persoanlik ûndersyk.
Ynlieding
Op syn minst ien brûker fan it ferbinende pear moat op dit stuit yn aktive modus wêze. It NAT-traversalmeganisme sil nuttich wêze as de aktive modus oan beide kanten net is konfigureare. Dit komt normaal troch in firewall of NAT-apparaat dat ynkommende ferbiningen blokkearret.
As beide kliïnten binne yn aktive modus
De inisjearjende kliïnt stjoert in kommando mei syn eigen IP-adres en poarte nei in oare klant. Mei help fan dizze gegevens stelt de kliïnt dy't it kommando krige in ferbining mei de inisjatyfnimmer.
As ien fan de kliïnten is yn passive modus
Troch de hub, in passive klant A stjoert in kommando aktive klant Bdy't dan reagearret mei it kommando $ConnectToMe.

As tsjinner S yn it gefal hjirboppe is der in DC hub
As beide kliïnten binne yn passive modus op
Klanten efter ferskate NATs A и B kaam by de hub S.

Dit is hoe't de ferbining mei de hub sjocht fan 'e kant fan' e kliïnt A
De hub akseptearret ferbinings op haven 1511. Client A makket útgeande ferbinings út syn privee netwurk fia haven 50758. De hub, op syn beurt, sjocht it adres fan de NAT apparaat, wurket mei it en stjoert it nei kliïnten neffens harren identifiers.
Klant A stjoert nei tsjinner S berjocht freget om help by it ferbinen mei in klant B.
Hub: [Outgoing][178.79.159.147:1511] DRCM AAAA BBBB ADCS/0.10 1649612991
Ek yn passive modus, de kliïnt B, hawwen ûntfongen dit kommando, moat rapportearje syn privee haven brûkt om te ferbinen mei de hub fia NAT.
Hub: [Incoming][178.79.159.147:1511] DNAT BBBB AAAA ADCS/0.10 59566 1649612991
Nei ûntfangst fan dizze ynformaasje de klant A besiket fuortendaliks in ferbining te meitsjen mei de klant B en rapportearret syn eigen privee haven.
Hub: [Outgoing][178.79.159.147:1511] D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991Wat is de belangstelling? It belang is om it einpunt fan deselde ferbining te ferskowen troch in nije ferbining te meitsjen nei in iepenbier adres fia in al brûkte priveehaven.

Bingo!
Fansels, yn dit gefal de klant NAT B hat alle rjocht om it earste ferbiningsfersyk fan in kliïnt te wegerjen A, mar syn eigen fersyk rint yn 'e "gat" makke troch dizze tige ferbining, en de ferbining is fêstlein.

Yllustraasje geskikt foar it hiele proses mei de caveat dat brûkt gjin iepenbiere havens iepene troch de sesje NAT‒S, lykas privee adressen.
Epilogue
Op it momint fan it skriuwen fan it (orizjinele) artikel wurket sawat de helte fan 'e DC-kliïnten yn passive modus. Dat betsjut dat in kwart fan alle mooglike ferbinings net makke wurde kin.
Fierder mei help fan besteande ferbinings A‒S и B‒S om in direkte klant-kliïnt ferbining te meitsjen, sels as A и B binne yn passive modus.
Boarne: www.habr.com
