İstifadəçiləri Passiv rejimdə birləşdirmək üçün NAT Traversal istifadə

Bu məqalə girişlərdən birinin pulsuz tərcüməsidir DC++ tərtibatçı bloqu.

Müəllifin icazəsi ilə (həmçinin aydınlıq və maraq üçün) onu linklərlə rənglədim və bəzi şəxsi araşdırmalarla tamamladım.

Giriş

Bu anda qoşulan cütün ən azı bir istifadəçisi aktiv rejimdə olmalıdır. NAT keçid mexanizmi aktiv rejim hər iki tərəfdə konfiqurasiya edilmədikdə faydalı olacaq. Bu, adətən, gələn əlaqələri bloklayan bir firewall və ya NAT cihazı ilə bağlıdır.

Hər iki müştəri aktiv rejimdədirsə

Başlayan müştəri öz IP ünvanını və portunu ehtiva edən əmr göndərir $ConnectToMe başqa müştəriyə. Bu məlumatlardan istifadə edərək, əmri alan müştəri təşəbbüskarla əlaqə qurur.

Müştərilərdən biri passiv rejimdə olarsa

Hub vasitəsilə passiv müştəri A əmr göndərir $RevConnectToMe aktiv müştəri Bsonra $ConnectToMe əmri ilə cavab verir.

İstifadəçiləri Passiv rejimdə birləşdirmək üçün NAT Traversal istifadə
Server kimi S yuxarıdakı halda bir DC hub var

Hər iki müştəri passiv rejimdədirsə ADC mərkəzi

Müxtəlif NAT-ların arxasında olan müştərilər A и B mərkəzə qoşuldu S.

İstifadəçiləri Passiv rejimdə birləşdirmək üçün NAT Traversal istifadə
Qovşaqla əlaqə müştəri tərəfdən belə görünür A

Qovşaq 1511 nömrəli portda əlaqələri qəbul edir. Müştəri A 50758 port vasitəsilə şəxsi şəbəkəsindən çıxış əlaqələri yaradır. Qovşaq isə öz növbəsində NAT cihazının ünvanını görür, onunla işləyir və identifikatorlarına uyğun olaraq onu müştərilərə yayımlayır.

Müştəri A serverə göndərir S müştəri ilə əlaqə yaratmaq üçün kömək istəyən mesaj B.

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

Həmçinin passiv rejimdə, müştəri B, bu əmri aldıqdan sonra NAT vasitəsilə hub-a qoşulmaq üçün istifadə edilən şəxsi portunu bildirməlidir.

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

Bu məlumatı aldıqdan sonra müştəri A dərhal müştəri ilə əlaqə yaratmağa çalışır B və öz şəxsi limanı haqqında məlumat verir.

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

Nə maraq var? Maraq, artıq istifadə edilmiş şəxsi port vasitəsilə ümumi ünvana yeni əlaqə yaratmaqla eyni əlaqənin son nöqtəsini dəyişdirməkdir.

İstifadəçiləri Passiv rejimdə birləşdirmək üçün NAT Traversal istifadə
Bingo!

Əlbəttə ki, bu halda müştəri NAT B müştərinin ilk əlaqə sorğusunu rədd etmək hüququna malikdir A, lakin onun öz xahişi məhz bu əlaqənin yaratdığı “çuxur”a daxil olur və əlaqə yaranır.

İstifadəçiləri Passiv rejimdə birləşdirmək üçün NAT Traversal istifadə
Xəbərdarlıq ilə bütün proses üçün uyğun illüstrasiya protokol sessiya tərəfindən açılan ictimai portlardan istifadə etmir NAT-S, həmçinin şəxsi ünvanlar.

Epiloq

Məqalənin (orijinal) yazılması zamanı DC müştərilərinin təxminən yarısı passiv rejimdə işləyir. Bu o deməkdir ki, bütün mümkün əlaqələrin dörddə biri edilə bilməz.

Gələcəkdə DC++ NAT-dan yan keçə biləcəkmövcud əlaqələrdən istifadə etməklə A-S и B-S olsa belə, birbaşa müştəri-müştəri əlaqəsi yaratmaq A и B passiv rejimdədirlər.

Mənbə: www.habr.com

Добавить комментарий