Denne artikkelen er en gratis oversettelse av en av oppføringene i
Med tillatelse fra forfatteren (så vel som for klarhet og interesse) farget jeg den med lenker og supplerte den med litt personlig forskning.
Innledning
Minst én bruker av det koblende paret må være i aktiv modus på dette tidspunktet. NAT-gjennomgangsmekanismen vil være nyttig når den aktive modusen ikke er konfigurert på noen av sidene. Dette skyldes vanligvis at en brannmur eller NAT-enhet blokkerer innkommende tilkoblinger.
Hvis begge klientene er i aktiv modus
Den initierende klienten sender en kommando som inneholder sin egen IP-adresse og port
Hvis en av klientene er i passiv modus
Gjennom navet, en passiv klient A sender en kommando
Som en server S i tilfellet ovenfor er det en DC-hub
Hvis begge klientene er i passiv modus på
Klienter bak ulike NAT-er A и B ble med i navet S.
Slik ser koblingen til huben ut fra klientsiden A
Huben aksepterer tilkoblinger på port 1511. Klient A oppretter utgående tilkoblinger fra sitt private nettverk via port 50758. Huben ser på sin side adressen til NAT-enheten, jobber med den og kringkaster den til klienter i henhold til deres identifikatorer.
kunde A sender til server S melding som ber om hjelp til å koble til en klient B.
Hub: [Outgoing][178.79.159.147:1511] DRCM AAAA BBBB ADCS/0.10 1649612991
Også i passiv modus, klienten B, etter å ha mottatt denne kommandoen, må rapportere sin private port som brukes til å koble til huben via NAT.
Hub: [Incoming][178.79.159.147:1511] DNAT BBBB AAAA ADCS/0.10 59566 1649612991
Etter å ha mottatt denne informasjonen klienten A prøver umiddelbart å etablere en forbindelse med klienten B og rapporterer sin egen private havn.
Hub: [Outgoing][178.79.159.147:1511] D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991
Hva er interessen? Interessen er å flytte endepunktet til samme forbindelse ved å opprette en ny forbindelse til en offentlig adresse gjennom en allerede brukt privat port.
Bingo!
Selvfølgelig, i dette tilfellet klienten NAT B har all rett til å avvise den første tilkoblingsforespørselen fra en klient A, men hans egen forespørsel skynder seg inn i "hullet" skapt av denne forbindelsen, og forbindelsen er etablert.
Illustrasjon passer for hele prosessen med forbehold om at
Epilog
På tidspunktet for skriving av den (originale) artikkelen, jobber omtrent halvparten av DC-klientene i passiv modus. Det betyr at en fjerdedel av alle mulige koblinger ikke kan gjøres.
Lengre
Kilde: www.habr.com