Nggunakake NAT Traversal kanggo nyambungake pangguna ing mode pasif

Artikel iki minangka terjemahan gratis saka salah sawijining entri ing DC++ pangembang blog.

Kanthi ijin saka penulis (uga kanggo kajelasan lan kapentingan), Aku colored karo pranala lan ditambah karo sawetara riset pribadi.

Pambuka

Paling ora siji pangguna saka pasangan sing nyambung kudu aktif ing wektu iki. Mekanisme traversal NAT bakal migunani nalika mode aktif ora dikonfigurasi ing salah siji sisih. Iki biasane amarga firewall utawa piranti NAT mblokir sambungan sing mlebu.

Yen loro klien ing mode aktif

Klien sing miwiti ngirim printah sing ngemot alamat IP lan port dhewe $ConnectToMe menyang klien liyane. Nggunakake data iki, klien sing nampa prentah nggawe sambungan karo inisiator.

Yen salah siji saka klien ing mode pasif

Liwat hub, klien pasif A ngirim prentah $RevConnectToMe klien aktif Bkang banjur nanggapi karo printah $ ConnectToMe.

Nggunakake NAT Traversal kanggo nyambungake pangguna ing mode pasif
Minangka server S ing kasus ndhuwur ana hub DC

Yen loro klien ing mode pasif ing ADC hub

Klien konco NATs beda A ΠΈ B gabung hub S.

Nggunakake NAT Traversal kanggo nyambungake pangguna ing mode pasif
Iki carane sambungan menyang hub katon saka sisih klien A

Hub nampa sambungan ing port 1511. Klien A nggawe sambungan metu saka jaringan pribadi liwat port 50758. hub, ing siji, ndeleng alamat piranti NAT, bisa karo lan siaran kanggo klien miturut pengenal.

Pelanggan A dikirim menyang server S pesen njaluk bantuan kanggo nyambungake karo klien B.

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

Uga ing mode pasif, klien B, Duwe nampa printah iki, kudu laporan port pribadi sing digunakake kanggo nyambung menyang hub liwat NAT.

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

Sawise nampa informasi iki klien A langsung nyoba kanggo nggawe sambungan karo klien B lan laporan port pribadi dhewe.

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

Apa kapentingan? Kapentingan yaiku ngganti titik pungkasan sambungan sing padha kanthi nggawe sambungan anyar menyang alamat umum liwat port pribadi sing wis digunakake.

Nggunakake NAT Traversal kanggo nyambungake pangguna ing mode pasif
Bingo!

Mesthi, ing kasus iki klien NAT B nduweni hak kanggo nolak panjalukan sambungan pisanan saka klien A, nanging panjalukane dhewe cepet-cepet menyang "bolongan" sing digawe dening sambungan iki, lan sambungan kasebut ditetepake.

Nggunakake NAT Traversal kanggo nyambungake pangguna ing mode pasif
Ilustrasi cocok kanggo kabeh proses karo caveat sing protokol ora nggunakake bandar umum dibukak dening sesi NATβ€’S, uga alamat pribadi.

Epilogue

Nalika nulis artikel (asli), kira-kira setengah saka klien DC digunakake ing mode pasif. Iki tegese seprapat kabeh sambungan sing bisa ditindakake ora bisa ditindakake.

Salajengipun DC ++ bakal bisa ngliwati NATnggunakake sambungan sing wis ana Aβ€’S ΠΈ Bβ€’S kanggo nggawe sambungan klien-klien langsung, sanajan A ΠΈ B ana ing mode pasif.

Source: www.habr.com

Add a comment