Den hÀr artikeln Àr en fri översÀttning av ett inlÀgg i .
Med författarens tillstÄnd (och för tydlighetens och intressets skull) har jag fÀrglagt den med lÀnkar och lagt till nÄgra personliga insikter.
Introduktion
För nÀrvarande mÄste Ätminstone en anvÀndare i ett par som ansluter vara i aktivt lÀge. NAT-bypass-mekanismen kommer att vara anvÀndbar nÀr inget av parterna har aktivt lÀge instÀllt. Detta sker vanligtvis pÄ grund av att brandvÀggar eller NAT-enheter blockerar inkommande anslutningar.
Om bÄda klienterna Àr i aktivt lÀge
Skickar initiator-klienten ett kommando som innehÄller sin egna IP-adress och port till den andra klienten. Med hjÀlp av dessa uppgifter upprÀttar den mottagande klienten en anslutning med initiatorn.
Om en av klienterna Àr i passivt lÀge
skickar den passiva klienten via hubben A kommandot till den aktiva klienten B, som sedan svarar med kommandot $ConnectToMe.

Som server S agerar DC-hubben i det ovanstÄende fallet.
Om bÄda klienterna Àr i passivt lÀge pÄ
klienterna bakom olika NAT A och B har anslutit sig till hubben. S.

SÄ hÀr ser anslutningen till hubben ut frÄn klientens sida. A
Hubben tar emot anslutningar pÄ port 1511. Klienten A gör utgÄende anslutningar frÄn sitt privata nÀtverk via port 50758. Hubben ser Ä sin sida NAT-enhetens adress, arbetar med den och vidarebefordrar till kunderna enligt deras identifierare.
Klient A skickar till servern S ett meddelande med förfrÄgan att hjÀlpa till att ansluta till klienten. B.
Hub: [Outgoing][178.79.159.147:1511] DRCM AAAA BBBB ADCS/0.10 1649612991
Genom att ocksÄ vara i passivt lÀge BmÄste klienten som fÄr detta kommando informera om sin privata port, som anvÀnds för att ansluta till hubben via NAT.
Hub: [Incoming][178.79.159.147:1511] DNAT BBBB AAAA ADCS/0.10 59566 1649612991
Efter att ha tagit emot denna information A försöker klienten omedelbart ansluta till klienten B och meddelar sin egen privata port.
Hub: [Outgoing][178.79.159.147:1511] D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991Vad Àr intressant? Intresset ligger i att förskjuta slutpunkten för samma anslutning genom att skapa en ny anslutning till en offentlig adress via redan anvÀnd privat port.

Bingo!
SjÀlvklart har NAT för klienten B full rÀtt att avvisa den första anslutningsbegÀran frÄn klienten, Amen redan dess egen begÀran strÀvar in i 'hÄlet' som skapats av just denna anslutning, och kontakten upprÀttas.

En illustration som passar hela processen med förbehĂ„ll för att anvĂ€nder inga offentliga portar som öppnas av sessionen NATâS, samt privata adresser.
Epilog
Vid tidpunkten för skriva (den ursprungliga) artikeln arbetade ungefÀr hÀlften av DC-kunderna i passivt lÀge. Det innebÀr att en fjÀrdedel av alla möjliga anslutningar inte kan genomföras.
Framöver , genom att anvĂ€nda befintliga anslutningar AâS och BâS för att etablera en direkt anslutning klientâklient, Ă€ven om A och B de befinner sig i passivt lĂ€ge.
KĂ€lla: habr.com
