A NAT Traversal használata a felhasználók passzív módban történő összekapcsolására

Ez a cikk az egyik bejegyzés ingyenes fordítása DC++ fejlesztői blog.

A szerzõ engedélyével (valamint az áttekinthetõség és az érdeklõdés kedvéért) linkekkel színesítettem és kiegészítettem néhány személyes kutatással.

Bevezetés

A csatlakozó pár legalább egy felhasználójának aktív módban kell lennie. A NAT bejárási mechanizmus akkor hasznos, ha az aktív mód egyik oldalon sincs konfigurálva. Ennek általában az az oka, hogy egy tűzfal vagy NAT-eszköz blokkolja a bejövő kapcsolatokat.

Ha mindkét kliens aktív módban van

A kezdeményező kliens a saját IP-címét és portját tartalmazó parancsot küld $ConnectToMe egy másik ügyfélnek. Ezen adatok felhasználásával a parancsot fogadó kliens kapcsolatot létesít a kezdeményezővel.

Ha az egyik kliens passzív módban van

A hubon keresztül, passzív ügyfél A parancsot küld $RevConnectToMe aktív ügyfél Bamely ezután a $ConnectToMe paranccsal válaszol.

A NAT Traversal használata a felhasználók passzív módban történő összekapcsolására
Szerverként S a fenti esetben van egy DC hub

Ha mindkét kliens passzív módban van ADC hub

Ügyfelek a különböző NAT-ok mögött A и B csatlakozott a hubhoz S.

A NAT Traversal használata a felhasználók passzív módban történő összekapcsolására
Így néz ki a kapcsolat a hubbal az ügyfél oldaláról A

A hub az 1511-es porton fogad kapcsolatokat. Kliens A Kimenő kapcsolatokat létesít a privát hálózatából az 50758-as porton keresztül. A hub viszont látja a NAT-eszköz címét, együttműködik vele, és azonosítóik szerint továbbítja a klienseknek.

vásárló A elküldi a szervernek S üzenet, amely segítséget kér az ügyféllel való kapcsolattartáshoz B.

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

Passzív módban is a kliens B, miután megkapta ezt a parancsot, jelentenie kell a privát portját, amellyel NAT-on keresztül csatlakozik a hubhoz.

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

Miután megkapta ezt az információt az ügyfél A azonnal megpróbál kapcsolatot létesíteni az ügyféllel B és saját magánkikötőjét jelenti.

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

Mi az érdeklődés? Az az érdek, hogy ugyanazon kapcsolat végpontját eltolja egy új kapcsolat létrehozásával egy nyilvános címre egy már használt privát porton keresztül.

A NAT Traversal használata a felhasználók passzív módban történő összekapcsolására
Bingó!

Természetesen ebben az esetben a kliens NAT B minden joga megvan ahhoz, hogy elutasítsa az ügyfél első csatlakozási kérelmét A, de saját kérése éppen ennek a kapcsolatnak a keletkezett „lyukába” rohan, és a kapcsolat létrejön.

A NAT Traversal használata a felhasználók passzív módban történő összekapcsolására
Illusztráció alkalmas az egész folyamatra azzal a megkötéssel, hogy jegyzőkönyv nem használja a munkamenet által megnyitott nyilvános portokat NATS, valamint privát címeket.

Epilógus

Az (eredeti) cikk írásakor a DC-kliensek körülbelül fele passzív üzemmódban dolgozik. Ez azt jelenti, hogy az összes lehetséges kapcsolat negyedét nem lehet létrehozni.

A jövőben A DC++ képes lesz megkerülni a NAT-otmeglévő kapcsolatok felhasználásával AS и BS közvetlen kliens-kliens kapcsolat kialakítására, még akkor is, ha A и B passzív módban vannak.

Forrás: will.com

Hozzászólás