Artykuł ten jest darmowym tłumaczeniem jednego z wpisów w
Za zgodą autora (a także dla przejrzystości i zainteresowania) pokolorowałem go linkami i uzupełniłem o własne badania.
Wprowadzenie
Co najmniej jeden użytkownik pary łączącej musi być w tym momencie w trybie aktywnym. Mechanizm przejścia NAT będzie przydatny, gdy po żadnej ze stron nie jest skonfigurowany tryb aktywny. Dzieje się tak zazwyczaj dlatego, że zapora sieciowa lub urządzenie NAT blokują połączenia przychodzące.
Jeśli obaj klienci są w trybie aktywnym
Klient inicjujący wysyła polecenie zawierające swój własny adres IP i port
Jeśli jeden z klientów jest w trybie pasywnym
Poprzez hub, klient pasywny A wysyła polecenie
Jako serwer S w powyższym przypadku jest to koncentrator prądu stałego
Jeśli obaj klienci są w trybie pasywnym
Klienci korzystający z różnych NAT A и B dołączył do hubu S.
Tak wygląda połączenie z hubem od strony klienta A
Koncentrator akceptuje połączenia na porcie 1511. Klient A realizuje połączenia wychodzące ze swojej sieci prywatnej poprzez port 50758. Hub z kolei widzi adres urządzenia NAT, współpracuje z nim i rozsyła go do klientów zgodnie z ich identyfikatorami.
Klient A wysyła na serwer S wiadomość z prośbą o pomoc w połączeniu z klientem B.
Hub: [Outgoing][178.79.159.147:1511] DRCM AAAA BBBB ADCS/0.10 1649612991
Również w trybie pasywnym klient Bpo otrzymaniu tego polecenia musi zgłosić swój prywatny port używany do łączenia się z koncentratorem poprzez NAT.
Hub: [Incoming][178.79.159.147:1511] DNAT BBBB AAAA ADCS/0.10 59566 1649612991
Po otrzymaniu tej informacji Klient A natychmiast próbuje nawiązać połączenie z klientem B i zgłasza swój własny prywatny port.
Hub: [Outgoing][178.79.159.147:1511] D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991
Jakie jest zainteresowanie? Zainteresowanie polega na przesunięciu punktu końcowego tego samego połączenia poprzez utworzenie nowego połączenia z adresem publicznym za pośrednictwem już używanego portu prywatnego.
Bingo!
Oczywiście w tym przypadku klienta NAT B ma pełne prawo odrzucić pierwszą prośbę klienta o połączenie A, ale jego własna prośba wpada do „dziury” utworzonej przez to właśnie połączenie i połączenie zostaje nawiązane.
Ilustracja odpowiednia dla całego procesu z zastrzeżeniem, że
Epilog
W momencie pisania (oryginalnego) artykułu około połowa klientów DC pracuje w trybie pasywnym. Oznacza to, że nie można wykonać jednej czwartej wszystkich możliwych połączeń.
Dalej
Źródło: www.habr.com