NAT Traversali rakendamine passiivse režiimi kasutajate ühendamiseks

See artikkel on vabalt tõlgitud üks postitus DC++ arendajate blogist.

Autori loal (samuti selguse ja huvi huvides) olen selle värvinud linkidega ja täiendanud isiklike uuringutega.

Sissejuhatus

Praegu peab vähemalt üks ühenduvatest kasutajatest olema aktiivses režiimis. NAT-i 'ümbersuunamise' mehhanism on kasulik, kui ühegi osapoole aktiivne režiim ei ole seadistatud. See juhtub tavaliselt, kui tulekahju seadmed või NAT seadmed blokeerivad sissetulevaid ühendusi.

Kui mõlemad kliendid on aktiivses režiimis

Algataja klient saadab enda IP-aadressi ja sadama sisaldava käsu $ConnectToMe teisele kliendile. Saades need andmed, loob käsklus saanud klient ühenduse algatajaga.

Kui üks kliendist on passiivses režiimis

siis passiivne klient A saadab käsu $RevConnectToMe aktiivsele kliendile B, kes omakorda vastab käsuga $ConnectToMe.

NAT Traversali rakendamine passiivse režiimi kasutajate ühendamiseks
Serverina S toimib antud juhul DC hub

Kui mõlemad kliendid on passiivses režiimis ADC hubis

Erinevate NAT-ide taga olevad kliendid A ja B on hubile ühendatud S.

NAT Traversali rakendamine passiivse režiimi kasutajate ühendamiseks
Nii näeb ühendus hubi poolt kliendi poolt A

Hub aktsepteerib ühendusi pordil 1511. Klient A loob väljaminevaid ühendusi oma privaatvõrgust pordi 50758 kaudu. Hub näeb, mis NAT seadme aadress on, töötab sellega ja edastab klientidele vastavalt nende identifikaatoritele.

Kliendi A saadab serverile S sõnumi, paludes abi kliendiga ühenduse loomisel B.

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

Olles samuti passiivses režiimis, peab klient B, pärast selle käsu saamist, andma teada oma privaatporti, mida kasutatakse hubiga NAT kaudu ühenduse loomiseks.

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

Pärast selle teabe saamist A püüab klient kohe luua ühenduse teise kliendiga B ja annab teada oma privaatporti.

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

Milline on huvi? Huvi on sama ühenduse lõpp-punkti nihkamises, luues uue ühenduse avalikule aadressile, kasutades juba kasutuses olevat privaatporti.

NAT Traversali rakendamine passiivse režiimi kasutajate ühendamiseks
Bingo!

Ilma kahtluseta on NAT kliendil täielik õigus esimest ühenduse taotlust kliente B , kuid tema oma taotlus suundub "auku", mis loodi selle ühenduse kaudu, ja ühendus siiski luuakse. AIllustratsioon, mis sobib kogu protsessile märkusega, et

NAT Traversali rakendamine passiivse režiimi kasutajate ühendamiseks
Иллюстрация, подходящая ко всему процессу с оговоркой, что protokoll ei kasuta avalikke porte, mis on avatud sessiooniga NATS, samuti privaatsed adresid.

Epilog

Käesoleva artikli kirjutamise ajal töötab ligikaudu viisakond DC klientidest passiivses režiimis. See tähendab, et neljandik kõigist võimalikest ühendustest ei saa toimuda.

Edasi DC++ suudab "ümbersõita" NAT-i, kasutades olemasolevaid ühendusi AS ja BS otseühenduse loomiseks klient-klient, isegi kui A ja B asuvad passiivses režiimis.

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster