Benotzt NAT Traversal fir Benotzer am passive Modus ze verbannen

Dësen Artikel ass eng gratis Iwwersetzung vun engem vun den Entréen an DC++ Entwéckler Blog.

Mat der Erlaabnis vum Auteur (souwéi fir Kloerheet an Interessi), hunn ech et mat Linken faarweg an ergänzt et mat e puer perséinlech Fuerschung.

Aféierung

Op d'mannst ee Benotzer vum Verbindungspaar muss zu dësem Moment am aktive Modus sinn. Den NAT-Traversalmechanismus wäert nëtzlech sinn wann den aktive Modus op béide Säiten net konfiguréiert ass. Dëst ass normalerweis wéinst enger Firewall oder NAT-Apparat déi Entréeën Verbindungen blockéiert.

Wa béid Clienten am aktive Modus sinn

Den initiéierende Client schéckt e Kommando mat senger eegener IP Adress a Port $ConnectToMe zu engem anere Client. Mat dësen Donnéeën stellt de Client deen de Kommando krut eng Verbindung mam Initiator.

Wann ee vun de Clienten am passive Modus ass

Duerch den Hub, e passive Client A schéckt e Kommando $RevConnectToMe aktiv Client Bdéi dann mam Kommando $ConnectToMe reagéiert.

Benotzt NAT Traversal fir Benotzer am passive Modus ze verbannen
Als Server S am Fall hei uewen gëtt et en DC Hub

Wa béid Clienten am passive Modus sinn ADC Hub

Clienten hannert verschiddene NATs A и B der Hub ugeschloss S.

Benotzt NAT Traversal fir Benotzer am passive Modus ze verbannen
Dëst ass wéi d'Verbindung mam Hub vun der Client Säit ausgesäit A

Den Hub akzeptéiert Verbindungen op Hafen 1511. Client A mécht erausgoen Verbindungen aus sengem privaten Netz iwwer port 50758. Den Hub, am Tour, gesäit d'Adress vun der NAT Apparat, schafft mat et a Sender et un Clienten no hiren Identifikatiounen.

Client A schéckt op de Server S Message froen fir Hëllef mat engem Client ze verbannen B.

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

Och am passive Modus, de Client B, nodeems Dir dëse Kommando kritt hutt, muss säi privaten Hafen mellen, dee benotzt gëtt fir mam Hub iwwer NAT ze verbannen.

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

Nodeems dës Informatioun de Client kritt huet A probéiert direkt eng Verbindung mam Client opzebauen B a Rapport seng eege privat port.

Hub:		[Outgoing][178.79.159.147:1511]	 	D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991

Wat ass den Interessi? Den Interessi ass fir den Endpunkt vun der selwechter Verbindung ze verréckelen andeems Dir eng nei Verbindung mat enger ëffentlecher Adress duerch e scho benotzte privaten Hafen erstellt.

Benotzt NAT Traversal fir Benotzer am passive Modus ze verbannen
Bingo!

Natierlech, an dësem Fall de Client NAT B huet all Recht déi éischt Verbindung Ufro vun engem Client ze refuséieren A, awer seng eege Ufro rennt an d'"Lach" erstallt duerch dës ganz Verbindung, an d'Verbindung ass etabléiert.

Benotzt NAT Traversal fir Benotzer am passive Modus ze verbannen
Illustratioun gëeegent fir de ganze Prozess mat der Opgepasst datt Protokoll benotzt net ëffentlech Häfen déi vun der Sëtzung opgemaach ginn NATS, souwéi privat Adressen.

Epilogue

Zu der Zäit vum Schreiwen vum (Original) Artikel schaffen ongeféier d'Halschent vun den DC Clienten am passive Modus. Dëst bedeit datt e Véierel vun alle méigleche Verbindungen net kënne gemaach ginn.

Weider DC++ wäert fäeg sinn NAT ëmzegoenbenotzt bestehend Verbindungen AS и BS eng direkt Client-Client Verbindung ze etabléieren, och wann A и B sinn am passive Modus.

Source: will.com

Setzt e Commentaire