Ovaj članak predstavlja slobodan prijevod jednog od postova u .
Uz dopuštenje autora (kao i iz vizualnih i zanimljivih razloga) obogatio sam ga linkovima i dopunio nekim svojim istraživanjima.
Uvod
Trenutno barem jedan korisnik iz para koji se povezuje mora biti u aktivnom režimu. Mehanizam "obiđenja" NAT-a bit će koristan kada nijedna strana ne ima aktivni režim podešen. Obično se to događa zbog blokiranja ulaznih veza od strane vatrozida ili NAT uređaja.
Ako su oba klijenta u aktivnom režimu
Klijent-inicijator šalje komandu koja sadrži njegov vlastiti IP adresa i port drugom klijentu. Koristeći te podatke, klijent koji je primio komandu uspostavlja vezu s inicijatorom.
Ako je jedan od klijenata u pasivnom režimu
Pasivni klijent preko huba A šalje komandu aktivnom klijentu B, koji tada odgovara komandom $ConnectToMe.

U ulozi servera S u gornjem slučaju djeluje DC hub
Ako su oba klijenta u pasivnom režimu na
Klijenti koji su iza različitih NAT-ova A i B priključili su se na hub S.

Ovako veza s hubom izgleda s perspektive klijenta A
Hub prihvaća veze na portu 1511. Klijent A uspostavlja odlazne veze iz svoje privatne mreže putem porta 50758. Hub, zauzvrat, vidi adresu NAT uređaja, radi s njom i prosljeđuje klijentima u skladu s njihovim identifikatorima.
Klijent A šalje serveru S poruku s molbom za pomoć u povezivanju s klijentom B.
Hub: [Outgoing][178.79.159.147:1511] DRCM AAAA BBBB ADCS/0.10 1649612991
Budući da je također u pasivnom režimu, klijent B, nakon što primi ovu komandu, treba obavijestiti o svom privatnom portu koji se koristi za povezivanje s hubom putem NAT-a.
HUB: [Incoming][178.79.159.147:1511] DNAT BBBB AAAA ADCS/0.10 59566 1649612991
Nakon primanja tih informacija, klijent A odmah pokušava uspostaviti vezu s klijentom B i javlja svoj vlastiti privatni port.
Hub: [Outgoing][178.79.159.147:1511] D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991U čemu je zanimljivost? Zanimljivost je u pomicanju krajnje točke iste veze stvaranjem nove veze na javnoj adresi putem već korištenog privatnog porta.

Bingo!
Bez sumnje, pri tome NAT klijenta B ima potpuno pravo odbiti prvi zahtjev za vezu od klijenta A, ali već njegov vlastiti zahtjev se usmjerava prema „rupi“ koju stvara ovo isto povezivanje, te se veza ipak uspostavlja.

Ilustracija koja odgovara cijelom procesu uz napomenu da ne koristi javne portove otvorene od strane sesije NAT‒S, kao i privatne adrese.
Epilog
U trenutku pisanja (originalnog) članka otprilike polovica DC klijenata radi u pasivnom režimu. To znači da četvrtina svih mogućih veza ne može biti uspostavljena.
U nastavku , koristeći postojeće veze A‒S i B‒S za uspostavljanje direktne veze klijent–klijent, čak i ako A i B su u pasivnom režimu.
Izvor: habr.com
