Бұл мақала жазбалардың бірінің тегін аудармасы .
Автордың рұқсатымен (сонымен қатар түсінікті және қызығушылық үшін) мен кейбір сілтемелер мен жеке зерттеулерді қостым.
Кіріспе
Қазіргі уақытта қосылатын жұптағы кем дегенде бір пайдаланушы белсенді режимде болуы керек. NAT өтуі екі тараптың да белсенді режимі конфигурацияланбаған кезде пайдалы. Бұл әдетте кіріс қосылымдар брандмауэр немесе NAT құрылғысы арқылы блокталғандықтан орын алады.
Екі клиент белсенді режимде болса
Бастауыш клиент өзінің IP мекенжайы мен порты бар пәрменді жібереді басқа клиентке. Осы деректерді пайдалана отырып, пәрменді алатын клиент бастамашымен байланыс орнатады.
Клиенттердің бірі пассивті режимде болса
Хаб арқылы пассивті клиент A пәрмен жібереді белсенді клиент B, содан кейін ол $ConnectToMe пәрменімен жауап береді.

Сервер ретінде S жоғарыдағы жағдайда тұрақты ток концентраторы бар
Екі клиент те пассивті режимде болса
Әртүрлі NAT артында орналасқан клиенттер A и B хабқа қосылды S.

Клиент жағынан хабқа қосылу осылай көрінеді. A
Хаб 1511 портындағы қосылымдарды қабылдайды. Клиент A 50758 порты арқылы өзінің жеке желісінен шығыс қосылымдарды жасайды. Хаб өз кезегінде NAT құрылғысының мекенжайын көреді, онымен жұмыс істейді және олардың идентификаторларына сәйкес клиенттерге хабар таратады.
Клиент A серверге жібереді S клиентпен байланысуға көмек сұрайтын хабарлама B.
Hub: [Outgoing][178.79.159.147:1511] DRCM AAAA BBBB ADCS/0.10 1649612991
Пассивті режимде бола отырып, клиент B, осы пәрменді алғаннан кейін NAT арқылы хабқа қосылу үшін пайдаланылған жеке порты туралы хабарлауы керек.
Hub: [Incoming][178.79.159.147:1511] DNAT BBBB AAAA ADCS/0.10 59566 1649612991
Осы ақпаратты алғаннан кейін клиент A бірден клиентпен байланыс орнатуға тырысады B және өзінің жеке порты туралы хабарлайды.
Hub: [Outgoing][178.79.159.147:1511] D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991
Мұның мәні неде? Мәселе бұрыннан пайдаланылған жеке порт арқылы жалпы мекенжайға жаңа қосылым жасау арқылы бірдей қосылымның соңғы нүктесін ауыстыру болып табылады.

Бинго!
Әрине, бұл жағдайда клиенттің NAT B клиенттің бірінші қосылу сұрауынан бас тартуға толық құқығы бар A, бірақ оның өз өтініші дәл осы байланыс арқылы жасалған «тесікке» бағытталған және байланыс ақыры орнатылды.

Ескертумен бірге бүкіл процеске сәйкес келетін иллюстрация сеанс ашқан жалпы порттарды пайдаланбайды NAT-S, сонымен қатар жеке мекенжайлар.
Эпилогия
Жазу кезінде тұрақты ток тұтынушыларының шамамен жартысы пассивті режимде жұмыс істейді. Бұл барлық мүмкін болатын байланыстардың төрттен бірін орнату мүмкін емес дегенді білдіреді.
Болашақта , бар қосылымдарды пайдалану A-S и B-S тікелей клиент-клиент байланысын орнату үшін, тіпті егер A и B пассивті режимде болады.
Ақпарат көзі: www.habr.com
