NAT कई निजी IPv4 पतों पर एक सार्वजनिक IPv4 पता कैसे साझा करता है [बंद]


10

मुझे लगता है कि यह एक बहुत ही शास्त्रीय सवाल है, लेकिन, मुझे लगा कि मेरे पास कुछ पृष्ठभूमि है, मेरे पास वेब में सही ढंग से खोजने और समझने के लिए पर्याप्त शब्दावली नहीं है।

मान लीजिए कि मेरे पास 192.168.0.1 (IP.1) और 192.168.0.2 (IP.2) के साथ एक होम नेटवर्क है और हम दोनों काउंटर स्ट्राइक को बिल्कुल एक ही बाहर के सर्वर से मार रहे हैं।

मेरे होम राउटर को कैसे पता चलेगा कि IP1 पैकेट कहां जाता है? मैं अक्सर NAT और xxx.xxx/y एड्रेस के साथ सामान पढ़ता हूं। ** टीसीपी / आईपी स्टैक में / y भाग कहाँ लिखा जाता है?

क्या हमें इसके लिए बिल्कुल NAT की जरूरत है? विकिपीडिया लेख से मुझे जो समझ में आया है वह यह है कि NAT को IP पतों को अनुकूलित करने के लिए बनाया जाता है, जब कुछ कंप्यूटर बंद हो जाते हैं। क्या यह केवल 1 सार्वजनिक आईपी के साथ 5 उपकरणों को जोड़ने की अनुमति देता है?


एक-से-कई को आपके सवालों का जवाब देना चाहिए। इसके अलावा, होम नेटवर्किंग और प्रवेश-स्तर-शिक्षा प्रश्न, इस साइट के लिए सबसे उपयुक्त नहीं हैं।
क्रेग कॉन्स्टेंटाइन

जवाबों:


14

(निम्नलिखित के लिए, मैं किसी भी DNS लुकअप या दो कार्रवाई को अनदेखा करूंगा, क्योंकि यह NAT कहानी के लिए प्रासंगिक हिस्सा नहीं है।)

कोई भी टीसीपी कनेक्शन चार भागों का एक हिस्सा है:

<source IP> <source port> <destination IP> <destination port>

संक्षेप में: गंतव्य आईपी का उपयोग पैकेट को सही मशीन पर लाने के लिए किया जाता है, गंतव्य पोर्ट का उपयोग उस मशीन पर सही कार्यक्रम / सत्र के लिए पैकेट प्राप्त करने के लिए किया जाता है। स्रोत आईपी का उपयोग किसी भी उत्तर को भेजने के लिए किया जाता है। समान स्रोत पोर्ट के लिए जाता है। जब कोई उत्तर भेजा जाता है, तो स्रोत और गंतव्य बस अदला-बदली होते हैं।

आइए बिना किसी NAT के दो कंप्यूटरों से शुरुआत करें:

  • कंप्यूटर में IP है 1.1.1.1
  • वेबसर्वर के पास IP है 3.3.3.3
  • HTTP के लिए मानक पोर्ट है 80

जब एक कंप्यूटर एक वेबपेज के लिए पूछता है, तो यह पहली बार यादृच्छिक श्रेणी (1024-65535) से एक यादृच्छिक अप्रयुक्त पोर्टनंबर का चयन करता है। चलो चुन लेते हैं 2345। फिर निम्न अनुक्रम होगा: कंप्यूटर को इसके साथ पैकेट भेजें: स्रोत आईपी 1.1.1.1, स्रोत बंदरगाह 2345, गंतव्य आईपी 3.3.3.3, गंतव्य बंदरगाह 80। पैकेट वेबसर्वर में आते हैं, यह देखता है कि यह स्वयं का आईपी और पोर्ट है 80, इसलिए यह जानता है कि यह एक वेबपेज के लिए एक अनुरोध है। वेबसर्वर फिर वेबपेज को पैकेट में सोर्स आईपी 3.3.3.3, सोर्स पोर्ट 80, डेस्टिनेशन आईपी 1.1.1.1, डेस्टिनेशन पोर्ट के साथ भेजता है 2345। कंप्यूटर इन पैकेट्स को फिर से पढ़ता है, और जानता है कि पोर्टबुक के कारण यह अनुरोधित वेबपेज है 2345

ये पोर्ट संयोजन अक्सर इस तरह लिखे जाते हैं: 1.1.1.1:2345और 3.3.3.3:80

अब, इंटरनेट पर कंप्यूटरों की संख्या उपलब्ध IPv4 पतों की संख्या से अधिक है। पता स्थान को संरक्षित करने के लिए, निजी पता सीमाओं का एक सेट पेश किया गया था, जिसे स्वतंत्र रूप से पता साझा करने के लिए उपयोग किया जा सकता है। इन रांगियों को RFC1918 के रूप में जाना जाता है और ये निम्नलिखित हैं:

  • 192.168.0.0 - 192.168.255.255
  • 172.16.0.0 - 172.31.255.255
  • 10.0.0.0 - 10.255.255.255

ये पते इंटरनेट रूटिंग टेबल में कहीं नहीं हैं, इसलिए यदि आप इंटरनेट की रीढ़ पर इन श्रेणियों में एक गंतव्य के साथ एक पैकेट भेजते हैं, तो वे बस गिर जाएंगे। ऐसा इसलिए है क्योंकि लाखों लोग एक ही पते का उपयोग करते हैं। इन पतों का अनुवाद इंटरनेट के लिए उपयोगी किसी चीज़ के लिए किया जाना चाहिए। यह वह जगह है जहाँ नेटवर्क पता अनुवाद आता है:

हमारे पास दो कंप्यूटर हैं:

  • 192.168.0.1और बी:192.168.0.2
  • उनके प्रवेश द्वार के पास एक सार्वजनिक आईपी है 1.1.1.1
  • हम उसी वेबसर्वर को रखते हैं।
  • दोनों कंप्यूटर एक ही सर्वर से एक ही वेबपेज चाहते हैं।

पहले दोनों कंप्यूटर एक यादृच्छिक पोर्ट का चयन करते हैं: मान लीजिए: 192.168.0.1:2345और 192.168.0.2:5432

कंप्यूटर A इसे स्रोत 192.168.0.1:2345और गंतव्य के साथ पैकेट भेजता है 3.3.3.3:80। प्रवेश द्वार इस पैकेट को स्रोत 1.1.1.1:2345गंतव्य में अनुवाद करता है 3.3.3.3:80और याद रखता है कि इस संयोजन के किसी भी उत्तर को जाता है 192.168.0.1। तो, जब यह स्रोत के साथ एक उत्तर प्राप्त करता है 3.3.3.3:80और गंतव्य 1.1.1.1:2345है, यह इसके स्रोत के लिए अनुवाद करेगा 3.3.3.3:80और गंतव्य 192.168.0.1:2345और पर पैकेट भेज।

कंप्यूटर B इसे स्रोत 192.168.0.2:5432और गंतव्य के साथ पैकेट भेजता है 3.3.3.3:80। प्रवेश द्वार इस पैकेट को स्रोत 1.1.1.1:5432गंतव्य में अनुवाद करता है 3.3.3.3:80और याद रखता है कि इस संयोजन के किसी भी उत्तर को जाता है 192.168.0.2। तो, जब यह स्रोत के साथ एक उत्तर प्राप्त करता है 3.3.3.3:80और गंतव्य 1.1.1.1:5432है, यह इसके स्रोत के लिए अनुवाद करेगा 3.3.3.3:80और गंतव्य 192.168.0.2:5432और पर पैकेट भेज।

यदि दोनों कंप्यूटर एक ही स्रोत पोर्ट नंबर का चयन करने के लिए होते हैं, तो गेटवे बस एक और मुक्त यादृच्छिक स्रोत पोर्ट नंबर चुन लेगा, और पोर्ट नंबर का अनुवाद करना भी याद रखेगा। इसे कभी-कभी PAT (पोर्ट एड्रेस ट्रांसलेशन) के रूप में संदर्भित किया जाता है। यह मूल रूप से NAT का सबसेट है।

इस सब के लिए कई कार्यान्वयन हैं। गेटवे को केवल "कंप्यूटर एक्स यूज़्ड सोर्स पोर्ट वाई" याद हो सकता है और पोर्ट वाई के साथ कंप्यूटर एक्स के साथ कुछ भी अग्रेषित किया जा सकता है। यह भी याद रख सकता है कि कंप्यूटर एक्स ने सोर्स पोर्ट वाई और डेस्टिनेशन जेड का उपयोग किया है और पोर्ट जेड से पोर्ट वाई के लिए केवल कुछ भी आगे है। कंप्यूटर X. या ऐसा विकल्प है कि यह पूरे टपल को याद रखता है और केवल कंप्यूटर एक्स को ट्रैफ़िक भेजता है जो पूरे स्रोत / गंतव्य आईपी और पोर्ट से मेल खाता है।


धन्यवाद। मैंने सोचा था कि कोई भी ग्राहक इसके पोर्ट 80 के साथ दूसरे पोर्ट 80 पर भेजेगा। मुझे लगता है कि बहुत सारे गैर-विशेषज्ञ समान मानते हैं।
निकोलस जोजोल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.