استخدام NAT Traversal لتوصيل المستخدمين بشكل سلبي

هذه المقالة عبارة عن ترجمة مجانية لأحد إدخالات مدونة مطوري DC ++ .

بإذن من المؤلف (وكذلك من أجل الوضوح والاهتمام ، من أجل أجل) ازدهرت مع الروابط وأضفت بعض البحوث الشخصية.


مقدمة

حاليًا ، يجب أن يكون مستخدم واحد على الأقل من زوج من المستخدمين المتصلين في الوضع النشط. ستكون آلية "تجاوز" NAT مفيدة إذا لم يتم تكوين الوضع النشط على أي من الجانبين. يحدث هذا عادةً لأن جدار الحماية الوارد أو جهاز NAT يحظر الاتصالات الواردة.

إذا كان كلا العملاء في الوضع النشط ، يرسل العميل الذي بدأ

الأمر $ ConnectToMe الذي يحتوي على عنوان IP الخاص به ومنفذ إلى عميل آخر. باستخدام هذه البيانات ، يقوم العميل الذي يتلقى الأمر بإنشاء اتصال مع البادئ.

إذا كان أحد العملاء في الوضع السلبي

عن طريق لوحة الوصل ، يرسل العميل السلبي A الأمر RevConnectToMe $ إلى العميل النشط Bالذي يستجيب بعد ذلك باستخدام الأمر ConnectToMe $.


كخادم S في حالة الأفعال المذكورة أعلاه محور DC

إذا العملاء على حد سواء في الوضع السلبي، و مركز ADC

تقع وراء مختلف عملاء NAT A و B انضم إلى محور S .


لذلك يبدو الاتصال بلوحة الوصل من جانب العميل A ، حيث

يقبل المحور الاتصالات على المنفذ 1511. يقوم العميل A بإجراء اتصالات صادرة من شبكته الخاصة عبر المنفذ 50758. ويرى المحور بدوره عنوان جهاز NAT ويعمل معه ويذيع العملاء وفقًا لمعرفاتهم. يرسل

العميل A إلى الخادم Sرسالة تطلب المساعدة للتواصل مع سرير العميل و . كونه في الوضع السلبي أيضًا ، يجب على العميل B ، بعد تلقي هذا الأمر ، إبلاغ منفذه الخاص المستخدم للاتصال بلوحة الوصل عبر NAT. بعد تلقي هذه المعلومات ، يحاول العميل " أ" على الفور إنشاء اتصال مع العميل " ب" والإبلاغ عن منفذه الخاص.

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



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



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

ما هي الفائدة؟ الاهتمام هو تحويل نقطة نهاية نفس الاتصال من خلال إنشاء اتصال جديد بعنوان عام من خلال المنفذ الخاص المستخدم بالفعل.


البنغو!

بالطبع ، في نفس الوقت ، يحق لـ NAT للعميل B رفض طلب الاتصال الأول من العميل A ، ولكن الطلب الخاص به يندفع بالفعل إلى "الحفرة" التي أنشأها هذا الاتصال ، ويتم تأسيس الاتصال.


رسم توضيحي مناسب للعملية بأكملها مع تحذير من أن البروتوكول لا يستخدم المنافذ العامة التي فتحتها جلسة NAT - S ، بالإضافة إلى العناوين الخاصة.

الخاتمة

في وقت كتابة المقال (الأصلي) ، كان ما يقرب من نصف عملاء DC سلبيين. هذا يعني أنه لا يمكن إجراء ربع جميع الاتصالات الممكنة.

في المستقبل ، سيتمكن DC ++ من "تجاوز" NATباستخدام اتصالات A - S و B - S الحالية لإنشاء اتصال مباشر بين العميل والعميل ، حتى إذا كان A و B في الوضع السلبي.

All Articles