हालांकि सवाल पूरी तरह से कवर किया गया है। मुझे लगता है कि इस प्रक्रिया को चरण-दर-चरण सर्वोत्तम रूप से वर्णित किया जाना चाहिए।
इस उदाहरण के लिए, मैं एक राउटर के माध्यम से इंटरनेट से जुड़े एक निजी लैन में बैठता हूं। क्योंकि हमारा नेटवर्क एक ही सार्वजनिक आईपी पते को साझा करता है, हम NAT का उपयोग करते हैं।
इसलिए जब मैं उस पृष्ठ का अनुरोध करता हूं superuser.com
जो कई आईपी पैकेट उत्पन्न करेगा। आइए एक नजर डालते हैं।
आईपी पैकेट
स्रोत: 192.168.1.12
(मेरा आईपी)
गंतव्य: 64.34.119.12
(superuser.com)
अब, मेरी प्रणाली सबसे अधिक संभावना है कि वह प्रश्न के समान हो। मेरा अपना आईपी पता ( 192.168.1.12
), एक सबनेट मास्क ( 255.255.255.0
) और एक डिफ़ॉल्ट गेटवे ( 192.168.1.1
) है। अब, क्योंकि मेरे IP पैकेट में मेरा डेस्टिनेशन फ़ील्ड मेरे से भिन्न नेटवर्क की ओर इंगित करता है , इसे मेरे डिफ़ॉल्ट गेटवे (सीधे कंप्यूटर के बजाय) में भेजा जाता है।
लेकिन पैकेट डिफ़ॉल्ट गेटवे तक कैसे पहुंच सकता है, अगर गंतव्य कहीं और पूरी तरह से इंगित करता है?
ईथरनेट
यह आसान है, क्योंकि हम इसके लिए ईथरनेट प्रोटोकॉल के पते का उपयोग करते हैं। हम अपने गंतव्य IP पते को IP पैकेट में और हमारे डिफ़ॉल्ट गेटवे के MAC पते को ईथरनेट फ्रेम में गंतव्य के रूप में सेट करते हैं ।
अब यह सुनिश्चित करेगा कि हमारे डिफ़ॉल्ट गेटवे के लिए पैकेट मिलता है superuser.com
। वाह!
अब प्रवेश द्वार के पास हमारा पैकेट है और वह इसे अपने रास्ते पर भेज सकता है। लेकिन यह सुनिश्चित करने के लिए कि यह जवाब मिलेगा, पहले इसे पैकेट स्रोत पते को बदलने की आवश्यकता है (अन्यथा उनके नेटवर्क पर मेरे आईपी पते के superuser.com
साथ कुछ (संभवतः) गैर-मौजूद डिवाइस पर जवाब भेजने की कोशिश करेंगे । अब ऐसा नहीं होगा। बहुत अच्छा।)
तो मेरा राउटर अपने सार्वजनिक आईपी पते को स्रोत क्षेत्र में रखेगा :
आईपी पैकेट
स्रोत: 92.69.127.243
(मेरा सार्वजनिक आईपी)
गंतव्य: 64.34.119.12
(superuser.com)
अब वही खेल दुनिया के सभी राउटरों के साथ चलता रहता है जब तक कि पैकेट आखिर में नहीं आ जाता है superuser.com
और एक उत्तर उत्पन्न हो जाता है।
उत्तर
उत्तर आईपी पैकेट
स्रोत: 64.34.119.12
(superuser.com)
गंतव्य: 92.69.127.243
(मेरा सार्वजनिक आईपी)
ठीक है, मेरे राउटर को जवाब मिला, अब क्या? मेरे राउटर को अब इसका उत्तर कैसे पता चलेगा 192.168.1.12
?
टीसीपी
खैर, यह वास्तव में काम करता है क्योंकि हमने केवल संचार के आईपी और ईथरनेट भागों को देखा है। क्या यह काम करता है टीसीपी हिस्सा है।
आप सबसे अधिक संभावना जानते हैं कि वेब सर्वर आमतौर पर पोर्ट पर चलते हैं 80
। आईपी में बंदरगाहों की कोई धारणा नहीं है । जो कि टीसीपी से आता है । टीसीपी में हमारे पास (आईपी की तरह) एक स्रोत और गंतव्य बंदरगाह है ।
मेरा TCP पैकेट superuser.com
स्रोत: 192.168.1.12
(मेरा IP)
स्रोत पोर्ट: 11111
(पोर्ट मेरा कंप्यूटर बनाया गया)
गंतव्य: 64.34.119.12
(superuser.com)
गंतव्य पोर्ट:80
जब आपका राउटर उस प्रारंभिक पैकेट (जो superuser.com
पोर्ट पर संबोधित किया जाता है 80
) को भेजता है , तो वह एक नया स्रोत पोर्ट वहां (जैसे 12345
) रखेगा ।
और यह महत्वपूर्ण हिस्सा है! वह उस प्रतिस्थापन को याद रखेगा!
Superuser.com मेरे रूटर के टीसीपी पैकेट
: स्रोत 92.69.127.243
(मेरी सार्वजनिक आईपी)
स्रोत पोर्ट: 12345
(बंदरगाह मेरी रूटर बना हुआ)
गंतव्य: 64.34.119.12
(superuser.com)
गंतव्य पोर्ट:80
तो राउटर द्वारा प्राप्त उत्तर पैकेट वास्तव में इस तरह दिखता है:
Superuser.com से TCP पैकेट का उत्तर दें
Source: 64.34.119.12
(superuser.com)
सोर्स पोर्ट: 80
डेस्टिनेशन: 92.69.127.243
(मेरा सार्वजनिक आईपी)
डेस्टिनेशन पोर्ट: 12345
(पोर्ट मेरा राउटर बना है)
तो अब वह उस पैकेट को प्राप्त करता है और देखता है कि यह एक बंदरगाह के लिए है जिसे पहले याद किया गया था जिसे आईपी पते 192.168.1.12
(मेरा आईपी पता) के लिए NAT संचालन को सौंपा गया था ।
मेरे राऊटर से टीसीपी पैकेट का उत्तर
सोर्स: 64.34.119.12
(superuser.com)
सोर्स पोर्ट: 80
डेस्टिनेशन: 192.168.1.12
(मेरा आईपी)
डेस्टिनेशन पोर्ट: 11111
(मेरा कंप्यूटर बनाया गया पोर्ट)