हा लेख मधील एका नोंदीचा मोफत अनुवाद आहे .
लेखकाच्या परवानगीने (आणि स्पष्टता आणि आवडीसाठी), मी काही दुवे आणि काही वैयक्तिक संशोधन जोडले आहे.
परिचय
सध्या, कनेक्टिंग पेअरमधील किमान एक वापरकर्ता सक्रिय मोडमध्ये असणे आवश्यक आहे. जेव्हा दोन्ही बाजूंनी सक्रिय मोड कॉन्फिगर केलेला नसतो तेव्हा NAT ट्रॅव्हर्सल उपयुक्त ठरते. हे सामान्यतः असे घडते कारण येणारे कनेक्शन फायरवॉल किंवा NAT डिव्हाइसद्वारे अवरोधित केले जातात.
जर दोन्ही क्लायंट सक्रिय मोडमध्ये असतील तर
इनिशिएटिंग क्लायंट स्वतःचा आयपी अॅड्रेस आणि पोर्ट असलेली कमांड पाठवतो. दुसऱ्या क्लायंटला. या डेटाचा वापर करून, कमांड प्राप्त करणारा क्लायंट इनिशिएटरशी कनेक्शन स्थापित करतो.
जर एखादा क्लायंट निष्क्रिय मोडमध्ये असेल तर
हबद्वारे, एक निष्क्रिय क्लायंट A आदेश पाठवतो. सक्रिय क्लायंट B, जे नंतर $ConnectToMe कमांडसह प्रतिसाद देते.

सर्व्हर म्हणून S वरील प्रकरणात, डीसी हब उपस्थित आहे
जर दोन्ही क्लायंट निष्क्रिय मोडमध्ये असतील तर
वेगवेगळ्या NAT च्या मागे असलेले क्लायंट A и B हबमध्ये सामील झालो S.

क्लायंटच्या बाजूने हबशी असलेले कनेक्शन असे दिसते. A
हब पोर्ट १५११ वर कनेक्शन स्वीकारतो. क्लायंट A त्याच्या खाजगी नेटवर्कवरून पोर्ट ५०७५८ द्वारे आउटगोइंग कनेक्शन बनवते. हब, त्या बदल्यात, 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, परंतु त्याची स्वतःची विनंती आधीच याच कनेक्शनमुळे निर्माण झालेल्या "छिद्रात" निर्देशित केली जाते आणि शेवटी कनेक्शन स्थापित होते.

संपूर्ण प्रक्रियेला अनुरूप असलेले एक उदाहरण ज्यामध्ये या चेतावणीसह सत्राद्वारे उघडलेले सार्वजनिक पोर्ट वापरत नाही. नॅट-S, तसेच खाजगी पत्ते.
एपिलोग
लिहिण्याच्या वेळी, अंदाजे अर्धे डीसी क्लायंट निष्क्रिय मोडमध्ये काम करतात. याचा अर्थ असा की सर्व संभाव्य कनेक्शनपैकी एक चतुर्थांश कनेक्शन स्थापित केले जाऊ शकत नाहीत.
भविष्यात , विद्यमान कनेक्शन वापरून A-S и B-S थेट क्लायंट-क्लायंट कनेक्शन स्थापित करण्यासाठी, जरी A и B निष्क्रिय मोडमध्ये आहेत.
स्त्रोत: www.habr.com
