Notkun NAT Traversal til að tengja notendur í óvirkri stillingu

Þessi grein er ókeypis þýðing á einni af færslunum í DC++ verktaki blogg.

Með leyfi höfundar (sem og til glöggvunar og áhuga) litaði ég það með tenglum og bætti við það með persónulegum rannsóknum.

Inngangur

Að minnsta kosti einn notandi tengiparsins verður að vera í virkum ham á þessum tíma. NAT yfirferðarbúnaðurinn mun vera gagnlegur þegar virki hamurinn er ekki stilltur á hvorri hlið. Þetta er venjulega vegna þess að eldveggur eða NAT tæki hindrar komandi tengingar.

Ef báðir viðskiptavinir eru í virkum ham

Upphafsbiðlarinn sendir skipun sem inniheldur sína eigin IP tölu og gátt $ConnectToMe til annars viðskiptavinar. Með því að nota þessi gögn stofnar viðskiptavinurinn sem fékk skipunina tengingu við upphafsmanninn.

Ef einn af viðskiptavinunum er í óvirkri stillingu

Í gegnum miðstöðina, óvirkur viðskiptavinur A sendir skipun $RevConnectToMe virkur viðskiptavinur Bsem svarar síðan með skipuninni $ConnectToMe.

Notkun NAT Traversal til að tengja notendur í óvirkri stillingu
Sem þjónn S í tilvikinu hér að ofan er DC miðstöð

Ef báðir viðskiptavinir eru í óvirkri stillingu ADC miðstöð

Viðskiptavinir á bak við mismunandi NAT A и B gekk til liðs við miðstöðina S.

Notkun NAT Traversal til að tengja notendur í óvirkri stillingu
Svona lítur tengingin við miðstöðina út frá hlið viðskiptavinarins A

Miðstöðin tekur við tengingum á port 1511. Viðskiptavinur A gerir útleiðandi tengingar frá einkaneti sínu um port 50758. Miðstöðin sér aftur heimilisfang NAT tækisins, vinnur með það og sendir það út til viðskiptavina í samræmi við auðkenni þeirra.

Viðskiptavinur A sendir á netþjón S skilaboð þar sem þú biður um aðstoð við að tengjast viðskiptavini B.

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

Einnig í óvirkri ham, viðskiptavinurinn B, eftir að hafa fengið þessa skipun, verður að tilkynna um einkagátt sína sem notuð er til að tengjast miðstöðinni í gegnum NAT.

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

Eftir að hafa fengið þessar upplýsingar viðskiptavinurinn A reynir strax að koma á tengslum við viðskiptavininn B og greinir frá eigin einkahöfn.

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

Hver er áhuginn? Áhuginn felst í því að færa endapunkt sömu tengingar til með því að búa til nýja tengingu við opinbert heimilisfang í gegnum þegar notaða einkahöfn.

Notkun NAT Traversal til að tengja notendur í óvirkri stillingu
Bingó!

Auðvitað, í þessu tilviki viðskiptavinurinn NAT B hefur fullan rétt til að hafna fyrstu tengingarbeiðni frá viðskiptavini A, en hans eigin beiðni hleypur inn í „gatið“ sem skapast af þessari tengingu og tengingin er komin á.

Notkun NAT Traversal til að tengja notendur í óvirkri stillingu
Myndskreyting hentar fyrir allt ferlið með þeim fyrirvara að bókun notar ekki opinberar hafnir sem þingið opnar NAT-S, sem og einkaheimilisföng.

Eftirmáli

Þegar (upprunalega) greinin er skrifuð er um það bil helmingur DC viðskiptavina að vinna í óvirkri stillingu. Þetta þýðir að ekki er hægt að ná fjórðungi allra mögulegra tenginga.

Frekari DC++ mun geta framhjá NATmeð því að nota núverandi tengingar A-S и B-S að koma á beinni tengingu viðskiptavinar og viðskiptavinar, jafnvel þó A и B eru í óvirkri stillingu.

Heimild: www.habr.com

Bæta við athugasemd