नेटवर्क एप्लिकेशन वे कंप्यूटर एप्लिकेशन हैं जो कंप्यूटर नेटवर्क में भाग लेते हैं। ये एप्लिकेशन नेटवर्क में प्लग करके एक-दूसरे से बात करते हैं।
उदाहरण के लिए, जब आप google.com पर जाते हैं, तो आपका ब्राउज़र एक नेटवर्क एप्लिकेशन के रूप में कार्य करता है जो Google के कंप्यूटर पर चल रहे नेटवर्क एप्लिकेशन से बात करने के लिए इंटरनेट का लाभ उठाता है।
आमतौर पर, इस संचार का यांत्रिकी एक एप्लिकेशन डेवलपर से छिपा होता है।
सतह पर, यह संचार एक ही कंप्यूटर पर चल रहे दो एप्लिकेशन के बीच इंटर-प्रोसेस कम्युनिकेशन जैसा लग सकता है। लेकिन, नेटवर्क संचार की चुनौतियों का एक अलग सेट होता है।
उदाहरण के लिए, संचार में कंप्यूटर समय में अनंत काल लग सकता है। पृथ्वी के चारों ओर प्रकाश की यात्रा में 0.1337 सेकंड (2 * 3.14 * 6400 / 300000) लगते हैं। एक मामूली CPU मान लें जो 1GHz पर चलता है, यह 1 सेकंड में 10^9 ऑपरेशन कर सकता है।
मान लीजिए कि प्रक्रियाओं (एक ही मशीन पर चल रही) के संचार में कुछ ऑपरेशन लगते हैं, लगभग 10^-7 - 10^-8 सेकंड। यह पृथ्वी के दूसरी तरफ बैठे कंप्यूटर के साथ संचार समय में ~1 मिलियन गुना धीमा अनुवाद करता है!
यह लेख देखेगा कि नेटवर्क एप्लिकेशन एक-दूसरे से कैसे बात करते हैं, विशेष रूप से इंटरनेट पर। इंटरनेट के उच्च-स्तरीय अवलोकन के लिए, यह लेख देखें।
कंप्यूटर नेटवर्क का परिचय
नेटवर्क संचार में शामिल एक अतिरिक्त जटिलता अंतिम सिस्टम की विविधता है (मोबाइल फोन, लैपटॉप, विंडोज, मैक)। इस जटिलता को अंतरों को अमूर्त करके और प्रोटोकॉल नामक नियमों का एक समान सेट पेश करके प्रबंधित किया जाता है।
प्रोटोकॉल नेटवर्क एप्लिकेशन के बीच संचार के निर्माण खंड हैं। कुछ लोकप्रिय प्रोटोकॉल में HTTP, TCP, IP, SMTP शामिल हैं। जैसे मानव भाषा (जैसे अंग्रेजी) विविध लोगों को सार्थक रूप से संवाद करने में सक्षम बनाती है, प्रोटोकॉल नेटवर्क संचार में इसी अंतर को भरते हैं।
नेटवर्क संचार नेटवर्क में निहित पैमाने और अनिश्चितता के कारण चुनौतीपूर्ण है।
उदाहरण के लिए, लिंक अवरुद्ध हो सकते हैं, जिसके परिणामस्वरूप पैकेट ड्रॉप होते हैं। एक जटिल समस्या को हल करने की एक रणनीति है समस्या को उप-समस्याओं में विभाजित करना, उप-समस्याओं को हल करना, और उन्हें मूल समस्या को हल करने के लिए संयोजित करना।
प्रोटोकॉल स्टैक नेटवर्क संचार को हल करने के लिए इस विचार का उपयोग करता है।
कल्पना करें कि आप पिज्जा बेचने के लिए एक वेबसाइट बना रहे हैं। जब उपयोगकर्ता आपकी वेबसाइट के साथ इंटरैक्ट करता है, तो फ्रंटएंड को आपके बैकएंड सर्वर के साथ संवाद करने की आवश्यकता होती है। क्या यह अच्छा नहीं होगा यदि आप इंटरनेट पर फ्रंटएंड से बैकएंड सर्वर तक डेटा कैसे पास किया जाता है, इसकी चिंता किए बिना अपने ऑनलाइन पिज्जा स्टोर के निर्माण पर ध्यान केंद्रित कर सकें?
प्रोटोकॉल स्टैक हमारे लिए नेटवर्क संचार का ख्याल रखता है। एक एप्लिकेशन (फ्रंटएंड) दूसरे एप्लिकेशन (बैकएंड) के साथ संवाद करने के लिए एप्लिकेशन लेयर का उपयोग करता है।
एप्लिकेशन लेयर नेटवर्क पर सूचना प्रसारित करने के लिए ट्रांसपोर्ट लेयर द्वारा प्रदान की जाने वाली "सेवाओं" का उपयोग करती है। ट्रांसपोर्ट लेयर भी अपनी सेवा समझौते को पूरा करने के लिए नेटवर्क लेयर द्वारा प्रदान की जाने वाली सेवाओं का उपयोग करता है।
इस तरह, उच्च लेयर नेटवर्क पर अन्य एप्लिकेशन के साथ संवाद करने के लिए निचली लेयर द्वारा प्रदान की जाने वाली सेवाओं का उपयोग करती है। फिजिकल लेयर उन तारों का गठन करती है जो विद्युत संकेत ले जाते हैं।
संक्षेप में, प्रोटोकॉल स्टैक में विभिन्न लेयर होती हैं, जहां प्रत्येक लेयर बड़ी समस्या के एक हिस्से को हल करने पर केंद्रित होती है।
प्रोटोकॉल उप-समस्याओं के समाधान का वर्णन करते हैं, जिससे हमें प्रोटोकॉल स्टैक नाम मिलता है। आम तौर पर, प्रोटोकॉल दो संस्थाओं के बीच संचार के नियमों को परिभाषित करते हैं, जैसे:
- संदेशों के प्रकार, उदाहरण के लिए, अनुरोध और प्रतिक्रिया संदेश
- विभिन्न संदेश प्रकारों का सिंटैक्स जैसे संदेशों में फ़ील्ड
- फ़ील्ड का अर्थशास्त्र, यानी फ़ील्ड में जानकारी का अर्थ
- यह निर्धारित करने के नियम कि संदेश कब और कैसे भेजे और प्रतिक्रिया दी जाती है
आइए शीर्ष से शुरू करके प्रोटोकॉल स्टैक में गहराई से गोता लगाएं।
एप्लिकेशन लेयर
व्यावसायिक एप्लिकेशन नेटवर्क पर संवाद करने के लिए एप्लिकेशन लेयर का उपयोग करते हैं। उदाहरण के लिए, आपके ऑनलाइन पिज्जा स्टोर पर ऑर्डर देना एप्लिकेशन लेयर का उपयोग करके किया जाता है। HTTP आपके बैकएंड सर्वर पर जानकारी पोस्ट करने का एक विकल्प है।
एप्लिकेशन लेयर प्रोटोकॉल परिभाषित करते हैं कि विभिन्न अंतिम सिस्टम पर चल रहे एप्लिकेशन एक-दूसरे को संदेश कैसे पास करते हैं। संचार के नियमों (प्रोटोकॉल) के अलावा, एप्लिकेशन को एक-दूसरे को खोजने का एक तरीका भी चाहिए, यानी एक-दूसरे को एड्रेस करने के लिए। एक एप्लिकेशन का पता इस द्वारा परिभाषित किया जाता है:
- IP पता: एक अंतिम सिस्टम को सौंपा गया संख्यात्मक लेबल
- पोर्ट नंबर: एक पहचानकर्ता जो गंतव्य होस्ट में प्राप्त करने वाली प्रक्रिया को निर्दिष्ट करता है। एक ही होस्ट पर कई नेटवर्क एप्लिकेशन चलने के लिए पोर्ट नंबर आवश्यक हैं। उदाहरण के लिए, वेब ब्राउज़र में दो टैब दो अलग-अलग प्रक्रियाओं के रूप में कार्य करते हैं।
एक एप्लिकेशन का पता नेटवर्क पर इसकी पहचान को परिभाषित करता है, और प्रोटोकॉल संचार के नियमों को परिभाषित करता है। साथ में, ये सॉकेट एड्रेस (प्रोटोकॉल प्रकार, IP पता, पोर्ट नंबर) बनाते हैं।
एक सॉकेट एप्लिकेशन लेयर और ट्रांसपोर्ट लेयर के बीच एक इंटरफेस है। यह नेटवर्क में एक प्रवेश बिंदु के रूप में कार्य करता है, यानी एक एप्लिकेशन अपने सॉकेट के माध्यम से संदेश भेजता है और नेटवर्क संदेश प्राप्त करता है।
सारांश में, एप्लिकेशन एप्लिकेशन लेयर प्रोटोकॉल का उपयोग करके एक-दूसरे से बात करते हैं। एप्लिकेशन लेयर अंतिम सिस्टम के बीच डेटा पास करने के लिए ट्रांसपोर्ट लेयर द्वारा प्रदान की जाने वाली सेवाओं पर निर्भर करती है। IP पता और पोर्ट नंबर की जोड़ी एक एप्लिकेशन की पहचान करती है। जानकारी अपने सॉकेट के माध्यम से एक एप्लिकेशन से नेटवर्क में प्रवाहित होती है।
आइए HTTP का उपयोग करके इंटरनेट पर संवाद करने वाले दो एप्लिकेशन का एक उदाहरण देखें।
HTTP एक लोकप्रिय एप्लिकेशन लेयर प्रोटोकॉल है। संचार मेरे वेब ब्राउज़र और एक एप्लिकेशन सर्वर (ilovecookies.com) के बीच है। जब मैं अपने वेब ब्राउज़र में यह पता दर्ज करता हूं, तो यह एप्लिकेशन सर्वर को एक HTTP अनुरोध संदेश भेजता है।
इस अनुरोध संदेश के बारे में कुछ बातें ध्यान देने योग्य हैं:
- अनुरोध का प्रकार GET है
- वह होस्ट जिसे यह संदेश भेजता है, वह है ilovecookies.com (IP पतों का मानव-पठनीय संस्करण जिसे होस्टनाम कहा जाता है)
- स्रोत मशीन विशिष्ट प्रतिक्रिया प्रारूप, भाषाएं, आदि स्वीकार करती है।
यह संरचना HTTP का हिस्सा है जो दो एप्लिकेशन के बीच संचार नियमों को परिभाषित करती है। जब होस्ट एप्लिकेशन इस संदेश को प्राप्त करता है, तो यह एक प्रतिक्रिया संदेश के साथ प्रतिक्रिया करता है।
हम देख सकते हैं कि प्रतिक्रिया संदेश में प्रोटोकॉल-विशिष्ट डेटा जैसे स्टेटस कोड (200), सामग्री प्रकार, आदि और HTML डेटा (फिट करने के लिए काटा गया) शामिल है। अनुरोध-प्रतिक्रिया जोड़ी दो एप्लिकेशन के बीच नेटवर्क संचार का गठन करती है जो सफलतापूर्वक मेरे स्क्रीन पर वेबपेज (ilovecookies.com) को प्रदर्शित करती है।
ट्रांसपोर्ट लेयर
आइए प्रोटोकॉल स्टैक में एक स्तर नीचे जाएं और समझें कि ट्रांसपोर्ट लेयर नेटवर्क संचार में कैसे मदद करती है।
ट्रांसपोर्ट लेयर विभिन्न होस्ट पर चल रहे एप्लिकेशन के बीच तार्किक संचार प्रदान करती है: एक एप्लिकेशन के दृष्टिकोण से, ऐसा लगता है जैसे दो होस्ट सीधे जुड़े हुए हैं। ध्यान दें कि ट्रांसपोर्ट लेयर द्वारा प्रदान किया गया संचार तार्किक है न कि भौतिक: अंतिम होस्ट के बीच कोई सीधा लिंक या तार नहीं है।
ट्रांसपोर्ट लेयर एप्लिकेशन संदेशों को छोटे टुकड़ों में परिवर्तित करती है, प्रत्येक टुकड़े को हेडर वाले ट्रांसपोर्ट संदेश में एनकैप्सुलेट करती है, और टुकड़े को नेटवर्क लेयर में पास करती है।
जानकारी को टुकड़ों में तोड़ने का कारण कुशल नेटवर्क उपयोग है। इंटरनेट इतना विशाल है कि दो अंतिम होस्ट के बीच डेटा प्रसारित करने के लिए कई समानांतर पथ हैं।
उदाहरण के लिए, न्यूयॉर्क और स्टैमफोर्ड के बीच यात्रा करने के दो संभावित पथ हैं। इंटरनेट इस विचार का थोड़ा चरम संस्करण है।
पैकेट्स का सापेक्ष क्रम चंकिंग और कुशल नेटवर्क उपयोग के आसपास एक स्वाभाविक प्रश्न है: टुकड़ों को प्राप्त करने वाले होस्ट पर उचित क्रम में वापस रखने की आवश्यकता है। प्राप्त करने वाले होस्ट में ट्रांसपोर्ट लेयर टुकड़ों को उचित क्रम में वापस सिलाई करने के लिए जिम्मेदार है।
ट्रांसपोर्ट लेयर को अपने कार्यों के लिए प्रासंगिक कुछ अतिरिक्त डेटा की भी आवश्यकता होती है। उदाहरण के लिए, एप्लिकेशन संदेश को वापस सिलाई करने के लिए टुकड़ों में सापेक्ष क्रम संख्या जोड़ी जाती है।
ट्रांसपोर्ट लेयर-विशिष्ट जानकारी का एक और उदाहरण पोर्ट नंबर है। प्राप्त करने वाले होस्ट पर, गंतव्य पोर्ट नंबर संदेश को सही एप्लिकेशन पर रूट करने में मददगार होता है।
इंटरनेट दो ट्रांसपोर्ट लेयर प्रोटोकॉल उपलब्ध कराता है:
- यूजर डेटाग्राम प्रोटोकॉल (UDP)
- ट्रांसमिशन कंट्रोल प्रोटोकॉल (TCP)
दोनों प्रोटोकॉल उन ट्रांसपोर्ट सेवाओं में थोड़ा भिन्न हैं जो वे एप्लिकेशन लेयर को प्रदान करते हैं।
| TCP | UDP |
|---|---|
| विश्वसनीय डेटा ट्रांसफर | अविश्वसनीय डेटा ट्रांसफर |
| पुनः प्रसारण द्वारा खोई या दूषित जानकारी पुनर्प्राप्त की जाती है | खोए या दूषित डेटा को पुनर्प्राप्त करने के लिए कोई तंत्र नहीं |
| विश्वसनीय संचार की कीमत पर उच्च विलंबता | अविश्वसनीय संचार की कीमत पर कम विलंबता |
एक एप्लिकेशन की सेवा आवश्यकताएं तय करती हैं कि आप कौन सा प्रोटोकॉल चुनते हैं। उदाहरण के लिए, एक भुगतान प्रणाली को विश्वसनीय संचार (TCP) की आवश्यकता होगी, जबकि एक वीडियो स्ट्रीमिंग सेवा तेज स्ट्रीमिंग के लिए कुछ जानकारी खोने के साथ ठीक हो सकती है (UDP)।
सारांश में, ट्रांसपोर्ट लेयर एप्लिकेशन संदेशों को टुकड़ों में विभाजित करती है और उन्हें ट्रांसपोर्ट लेयर-विशिष्ट जानकारी वाले संदेशों में एनकैप्सुलेट करती है। टुकड़ों को प्राप्त करने वाले सिस्टम पर सही क्रम में वापस रखकर संदेश को पुनर्निर्मित किया जाता है और पोर्ट नंबर का उपयोग करके उपयुक्त एप्लिकेशन को पास किया जाता है।
आइए मेरे वेब ब्राउज़र और एप्लिकेशन सर्वर के बीच HTTP उदाहरण संचार जारी रखें।
आप नीचे दाईं ओर डिकोड किए गए बाइट्स देख सकते हैं जो मेरे ब्राउज़र द्वारा एप्लिकेशन सर्वर के लिए किए गए HTTP GET अनुरोध को दर्शाते हैं। हम इस पैकेट में HTTP अनुरोध को TCP पेलोड फ़ील्ड के रूप में देखते हैं।
इसके अलावा, पैकेट सापेक्ष क्रम में पहला है जिसका क्रम संख्या 1 है। इसमें मेरे वेब ब्राउज़र पर टैब से जुड़ा पोर्ट नंबर (65012) और एप्लिकेशन सर्वर पर गंतव्य पोर्ट नंबर (80) भी शामिल है।
यहां HTTP प्रतिक्रिया (57 TCP पैकेट) के पहले दो पैकेट प्रदर्शित हैं। दोनों छवियों के नीचे दाईं ओर, हम HTTP-विशिष्ट जानकारी और ilovecookies.com वेबपेज से संबंधित कुछ HTML देख सकते हैं।
आप ट्रांसपोर्ट लेयर-विशिष्ट जानकारी जैसे पोर्ट नंबर और क्रम संख्या भी देख सकते हैं। ध्यान दें कि अनुरोध संदेश पैकेट की तुलना में स्रोत और गंतव्य पोर्ट नंबर उलटे हैं।
नेटवर्क लेयर
ट्रांसपोर्ट लेयर के विपरीत, नेटवर्क लेयर दो अंतिम होस्ट के बीच तार्किक संचार प्रदान करती है। ट्रांसपोर्ट और नेटवर्क लेयर सेवाओं के बीच सूक्ष्म अंतर पर ध्यान दें।
नेटवर्क लेयर ट्रांसपोर्ट लेयर से एक ट्रांसपोर्ट पैकेट लेती है और इसे एक नेटवर्क पैकेट में एनकैप्सुलेट करती है। एनकैप्सुलेशन नेटवर्क लेयर प्रोटोकॉल के कामकाज के लिए विशिष्ट जानकारी जोड़ने में मददगार है।
नेटवर्क लेयर दो होस्ट के बीच डेटा ले जाने के लिए बेस्ट-एफर्ट सेवा (टाइमिंग, सापेक्ष क्रम, अंतिम डिलीवरी की गारंटी नहीं) प्रदान करती है। बेस्ट-एफर्ट सेवा TCP के पीछे प्रेरणा है। चूंकि नेटवर्क लेयर प्रोटोकॉल स्वाभाविक रूप से अविश्वसनीय हैं, TCP में विश्वसनीय डेटा ट्रांसफर सुनिश्चित करने के लिए अतिरिक्त तर्क शामिल है।
नेटवर्क लेयर एक भेजने वाले होस्ट से प्राप्त करने वाले होस्ट तक पैकेट ले जाने के लिए जिम्मेदार है। अंतिम होस्ट के अलावा, नेटवर्क लेयर प्रोटोकॉल राउटर्स पर भी चलते हैं, जो नेटवर्क कोर का हिस्सा हैं। राउटर पैकेट स्विचिंग डिवाइस हैं जो पैकेट फॉरवर्ड करने के लिए जिम्मेदार हैं।
मान लीजिए अंतिम होस्ट 1, अंतिम होस्ट 2 को एक पैकेट भेजना चाहता है। अंतिम होस्ट 1 पैकेट को राउटर को पास करता है। राउटर नेटवर्क पैकेट में जानकारी को देखता है और पता लगाता है कि इसे लिंक 2 पर पैकेट फॉरवर्ड करने की आवश्यकता है, जिससे अंतिम होस्ट 2 जुड़ा हुआ है।
प्रत्येक राउटर में एक फॉरवर्डिंग टेबल होता है जो RAM में संग्रहीत होता है (डायनामिक रूप से निर्मित) पैकेट के लिए सही फॉरवर्डिंग लिंक को हल करने के लिए। उदाहरण के लिए, उपरोक्त सेटअप के लिए रूटिंग टेबल इस तरह दिखाई देगी:
| पता | लिंक |
|---|---|
| 192.168.1.1 | लिंक 1 |
| 168.134.1.1 | लिंक 2 |
| 172.158.1.2 | लिंक 3 |
राउटर नेटवर्क पैकेट से जानकारी (गंतव्य होस्ट पता) का उपयोग करके इस टेबल में इंडेक्स (बिटवाइज़ XOR) करता है। आप अपने कंप्यूटर पर रूटिंग टेबल निम्न कमांड चलाकर देख सकते हैं:
Mac: netstat -nrf inet
Linux: netstat -nr
Windows: Get-NetRoute -AddressFamily IPv4
अपनी रूटिंग टेबल में एक विशेष प्रविष्टि पर ध्यान दें, डिफ़ॉल्ट या 0.0.0.0, जिसे डिफ़ॉल्ट गेटवे कहा जाता है। यदि कोई प्रविष्टि गंतव्य पते से मेल नहीं खाती है तो एक पैकेट डिफ़ॉल्ट गेटवे पर रूट किया जाता है।
इंटरनेट में ऐसे हजारों डिवाइस होते हैं जो दो अंतिम होस्ट के बीच तार्किक संचार को सक्षम करने के लिए पैकेट फॉरवर्ड करते हैं।
चूंकि हर कोई इंटरनेट पर डेटा ले जाने वाले राउटर्स और तारों को साझा करता है, राउटर्स में कतारें होती हैं जो इनकमिंग पैकेट को होल्ड करती हैं जबकि आउटगोइंग पैकेट राउटर द्वारा प्रोसेस (/फॉरवर्ड) किए जाते हैं। यदि कतारें भर जाती हैं तो नेटवर्क लेयर प्रोटोकॉल में अविश्वसनीयता आ जाती है, जो ट्रैफिक बढ़ने पर पैक हो सकती है।
इंटरनेट नेटवर्क प्रोटोकॉल को इंटरनेट प्रोटोकॉल (IP) कहा जाता है। इंटरनेट नेटवर्क लेयर के प्रमुख घटक हैं,
- IP: एड्रेसिंग कन्वेंशन (IPv4, IPv6), पैकेट फॉर्मेट, पैकेट हैंडलिंग कन्वेंशन को परिभाषित करता है
- रूटिंग प्रोटोकॉल: स्रोत से होस्ट तक पैकेट के पथ को निर्धारित करते हैं
- ICMP: पैकेट में त्रुटियों की रिपोर्ट करने और कुछ नेटवर्क लेयर जानकारी के अनुरोधों का जवाब देने की सुविधा
सारांश में, नेटवर्क लेयर दो अंतिम होस्ट के बीच तार्किक संचार प्रदान करती है। नेटवर्क लेयर प्रोटोकॉल अंतिम होस्ट और राउटर्स जैसे नेटवर्क कोर डिवाइस पर चलते हैं। राउटर नेटवर्क पैकेट फॉरवर्ड करते हैं, जो दो अंतिम होस्ट के बीच तार्किक संचार बनाने में मदद करते हैं।
आइए ilovecookies.com के साथ हमारे संचार उदाहरण को जारी रखें।
हमने देखा है कि मेरा वेब ब्राउज़र एक HTTP अनुरोध संदेश (एप्लिकेशन लेयर प्रोटोकॉल) बनाता है और इसे ट्रांसपोर्ट लेयर को पास करता है, जो मेरे वेब ब्राउज़र एप्लिकेशन और एक सर्वर एप्लिकेशन (ilovecookies.com) के बीच एंड-टू-एंड संचार के लिए TCP प्रोटोकॉल का उपयोग करता है।
हम देख सकते हैं कि नेटवर्क पैकेट TCP पैकेट को एनकैप्सुलेट करता है, जो एप्लिकेशन पैकेट को एनकैप्सुलेट करता है। हरा हाइलाइट किया गया टेक्स्ट नेटवर्क पैकेट की सामग्री को दर्शाता है, पीला ट्रांसपोर्ट पैकेट को, और GET से शुरू होने वाला शेष टेक्स्ट एप्लिकेशन पैकेट को।
नेटवर्क पैकेट फ़ील्ड इसके कामकाज के लिए प्रासंगिक हैं। उदाहरण के लिए, स्रोत पता मेरे मशीन का IP पता है, और गंतव्य पता ilovecookies.com सर्वर का पता है।
एनकैप्सुलेशन और पैकेट में निहित लेयर-विशिष्ट जानकारी होस्ट और उन पर चल रहे एप्लिकेशन के बीच तार्किक संचार के विचार से भी संबंधित है।
उदाहरण के लिए, नेटवर्क पैकेट में अंतिम मशीनों के IP पते शामिल होते हैं, जबकि ट्रांसपोर्ट पैकेट में केवल पोर्ट नंबर होते हैं। ट्रांसपोर्ट लेयर अंतिम मशीनों के बीच डेटा ले जाने के लिए नेटवर्क लेयर पर निर्भर करती है। एक बार डेटा प्राप्त करने वाले डिवाइस पर पहुंच जाने पर, ट्रांसपोर्ट लेयर कार्यभार संभालती है और ट्रांसपोर्ट पैकेट में निहित पोर्ट नंबर का उपयोग करके पैकेट को सही एप्लिकेशन पर रूट करती है।
लिंक लेयर
अब तक देखी गई लेयर की तुलना में, लिंक लेयर का दायरा संकीर्ण है: यह एंड-टू-एंड पथ में व्यक्तिगत लिंक पर पैकेट ले जाने के लिए सेवाएं प्रदान करती है।
उदाहरण के लिए, लिंक लाल बिंदीदार रेखाएं हैं (ऊपर के चित्र देखें)। लिंक लेयर पथ में एकल लिंक पर नेटवर्क लेयर पैकेट के नोड-टू-नोड मूवमेंट को सक्षम बनाती है।
एक लिंक-लेयर प्रोटोकॉल परिभाषित करता है:
- लिंक के छोर पर नोड्स के बीच आदान-प्रदान किए गए पैकेट का प्रारूप
- उन नोड्स द्वारा पैकेट पर की गई कार्रवाइयां
एक नेटवर्क एडॉप्टर लिंक लेयर प्रोटोकॉल को लागू करता है। नेटवर्क एडॉप्टर भौतिक हार्डवेयर का गठन करता है जो कंप्यूटर को नेटवर्क से कनेक्ट करने और सूचना का आदान-प्रदान करने में सक्षम बनाता है।
अपने कंप्यूटर में नेटवर्क एडॉप्टर की सूची देखने के लिए इस कमांड को चलाने का प्रयास करें:
Mac: networksetup -listallhardwareports
Linux: lshw -class network -short
Windows: Get-NetAdapter -Name *
आउटपुट में, आप देखेंगे कि प्रत्येक डिवाइस का एक लिंक-लेयर पता होता जिसे MAC पता कहा जाता है। एडॉप्टर के ROM में निर्माण के समय निर्दिष्ट MAC पते होते हैं जिन्हें स्थायी माना जाता है। पथ के साथ प्रत्येक नोड (होस्ट और राउटर) का एक लिंक-लेयर पता होता है।
इससे पहले हमने IP पते के बारे में बात की थी, जो डिवाइस के लिए पहचानकर्ता भी हैं। स्थिति कई पहचानकर्ताओं के होने के समान है: घर का पता और सामाजिक सुरक्षा संख्या। कई कारण हैं कि नोड्स के MAC पते और नेटवर्क-लेयर पते दोनों होते हैं।
- विभिन्न लेयर में प्रोटोकॉल को प्रतिस्थापन योग्य माना जाता है। उदाहरण के लिए, IPX नेटवर्क लेयर पते का उपयोग नहीं करता है।
- IP पते RAM में संग्रहीत होते हैं और हर बार एडॉप्टर के स्थानांतरित या पावर अप होने पर पुनः कॉन्फ़िगर किए जाते हैं, यानी अस्थायी।
- मान लीजिए प्रोटोकॉल MAC पतों को छोड़ देता है। एडॉप्टर को प्राप्त होने वाले प्रत्येक पैकेट को प्रोटोकॉल स्टैक तक पास करना होगा। नेटवर्क लेयर IP पते के मिलान की जांच करेगी। लेकिन, यदि यह बहुत बार किया जाता है तो यह अक्षम हो सकता है: इंटरप्ट पैकेट पास करने में मदद करते हैं जो महंगे हो सकते हैं।
सारांश में, लेयर के लिए नेटवर्क आर्किटेक्चर में काफी हद तक स्वतंत्र बिल्डिंग ब्लॉक होने के लिए, कई लेयर को अपनी एड्रेसिंग स्कीम की आवश्यकता होती है।
एक त्वरित पुनर्कथन के रूप में, हम अब तक तीन प्रकार के पते देख चुके हैं:
- एप्लिकेशन लेयर के लिए होस्टनाम (ilovecookies.com)। इन्हें DNS का उपयोग करके संबंधित IP पतों में परिवर्तित किया जाता है।
- नेटवर्क लेयर के लिए IP पता
- लिंक लेयर के लिए MAC पता
डोमेन नेम सिस्टम की तरह, जो होस्टनाम से IP पते को हल करने में मदद करता है, एड्रेस रिज़ॉल्यूशन प्रोटोकॉल (ARP) IP पते से (गंतव्य) MAC पते निर्धारित करने के लिए उपयोगी है।
ARP RAM में एक टेबल बनाता है जिसमें IP पते से MAC पते का मैपिंग होता है। प्रोटोकॉल में इस टेबल को स्वचालित रूप से बनाने के लिए विनिर्देश शामिल हैं (जैसे एक विशेष पैकेट)।
नेटवर्क लेयर पैकेट और गंतव्य नोड के MAC पते (ARP टेबल से) को लिंक लेयर को पास करती है। लिंक लेयर पैकेट को लिंक-लेयर पैकेट में एनकैप्सुलेट करता है और इसे गंतव्य नोड तक लिंक के साथ ले जाता है।
उपरोक्त सेटअप में मान लीजिए होस्ट 222.222.222.220 दूसरे होस्ट 222.222.222.222 को एक पैकेट भेजना चाहता है। नेटवर्क लेयर ARP का उपयोग करके संबंधित MAC पते को 49-BD-D2-C7-56-A2 के रूप में हल करता है और पैकेट और MAC पते को लिंक लेयर को पास करता है। लिंक लेयर दो होस्ट के बीच लिंक पर पैकेट को ले जाता है।
अब, एक अधिक जटिल परिदृश्य पर विचार करें जहां एक होस्ट किसी दूसरे नेटवर्क पर दूसरे होस्ट को पैकेट भेजना चाहता है। उदाहरण के लिए, मेरे कंप्यूटर से ilovecookies.com तक एक पैकेट मेरे होम नेटवर्क से दूसरे नेटवर्क तक जाता है।
इस तस्वीर के बारे में दो बातें ध्यान देने योग्य हैं। पहला, राउटर के दो IP पते हैं। चूंकि राउटर दो अलग-अलग नेटवर्क में भाग लेता है, इसे संबंधित नेटवर्क में इसकी पहचान करने के लिए दो IP पते की आवश्यकता होती है। अधिक विवरण के लिए, यह देखें।
दूसरा, दो अलग-अलग नेटवर्क को सबनेट के रूप में जाना जाता है। एक सबनेट नेटवर्क डिवाइस का एक तार्किक समूह है जो नेटवर्क डिवाइस प्रबंधन को अधिक सुलभ बनाता है।
मान लीजिए इस सेटअप में होस्ट 222.222.222.222, होस्ट 111.111.111.111 को एक पैकेट भेजना चाहता है, जिसमें क्रॉस-नेटवर्क यात्रा शामिल है। यह अपने सबनेट में गंतव्य होस्ट (111.111.111.111) का पता नहीं लगा पाएगा, और पैकेट को डिफ़ॉल्ट गेटवे (राउटर) पर फॉरवर्ड कर देगा।
नेटवर्क लेयर ARP टेबल का उपयोग करके MAC पते को 88-B2-2F-54-1A-0F के रूप में हल करता है। राउटर अपने रूटिंग टेबल का उपयोग करके पैकेट को दूसरे सबनेट से जुड़े लिंक पर डिलीवर करता है। एक बार फिर, ARP टेबल गंतव्य होस्ट के MAC पते को हल करने में मदद करता है, और पैकेट लिंक के साथ आगे बढ़ता है।
सारांश में, आपके कंप्यूटर हार्डवेयर का हिस्सा एडॉप्टर लिंक लेयर प्रोटोकॉल को लागू करता है। लिंक-लेयर प्रोटोकॉल MAC पते नामक एक एड्रेसिंग स्कीम को परिभाषित करता है, और ARP का उपयोग IP पतों को MAC पतों पर मैप करने के लिए किया जाता है। लिंक-लेयर नेटवर्क लेयर पैकेट को एनकैप्सुलेट करता है और उन्हें एक लिंक पर ले जाता है।
लोकप्रिय लिंक लेयर प्रोटोकॉल में से एक ईथरनेट है। आइए हमारे उदाहरण (ilovecookies.com) को जारी रखें ताकि ईथरनेट प्रोटोकॉल को क्रिया में देख सकें।
हम देख सकते हैं कि ईथरनेट पैकेट में गंतव्य और स्रोत MAC पते (छोड़े गए) होते हैं, और यह IP पैकेट को एनकैप्सुलेट करता है।
सारांश
आइए नीचे दी गई तस्वीर का उपयोग करके इस लेख में हमने जो देखा उसका सारांश प्रस्तुत करें।
दो अलग-अलग सिस्टम (जिन्हें होस्ट कहा जाता है) पर चल रहे कंप्यूटर एप्लिकेशन प्रोटोकॉल का उपयोग करके संवाद करते हैं।
प्रोटोकॉल नियम हैं जो दो होस्ट के बीच संचार को नियंत्रित करते हैं। प्रोटोकॉल स्टैक नेटवर्क संचार की समस्या को हल करने के लिए कई उप-समस्याओं को हल करता है। प्रत्येक लेयर अमूर्त पदानुक्रम में निचली लेयर द्वारा प्रदान की जाने वाली सेवाओं का उपयोग करके एक उप-समस्या को हल करने पर केंद्रित होती है।
एप्लिकेशन लेयर प्रोटोकॉल अमूर्त के उच्चतम स्तर पर काम करते हैं। एक एप्लिकेशन एक एप्लिकेशन प्रोटोकॉल (उदाहरण के लिए HTTP) के नियमों का पालन करने वाले संदेश भेजकर संचार करता है।
DNS का उपयोग होस्टनाम (www.ilovecookies.com) को IP पते पर मैप करने के लिए किया जाता है। इन संदेशों को नेटवर्क पर प्रसारित करने के लिए ट्रांसपोर्ट लेयर का उपयोग करके सॉकेट इंटरफेस के माध्यम से धकेला जाता है।
ट्रांसपोर्ट लेयर विभिन्न होस्ट पर चल रहे दो एप्लिकेशन के बीच तार्किक संचार को उजागर करती है। यह एप्लिकेशन संदेशों को छोटे टुकड़ों में तोड़ती है और उन्हें अतिरिक्त जानकारी (हेडर) वाले पैकेट में एनकैप्सुलेट करती है।
इन पैकेट्स से एप्लिकेशन संदेश बनाया जाता है और पोर्ट नंबर का उपयोग करके सॉकेट इंटरफेस के माध्यम से धकेला जाता है। ये पैकेट नेटवर्क लेयर पर भरोसा करके नेटवर्क पर भेजे जाते हैं।
इसके बाद, नेटवर्क लेयर कार्यभार संभालती है, दो होस्ट के बीच तार्किक संचार प्रदान करती है। यह ट्रांसपोर्ट पैकेट को नेटवर्क पैकेट में भी एनकैप्सुलेट करती है।
इंटरनेट में पैकेट स्विचिंग डिवाइस होते हैं जो RAM में संग्रहीत रूटिंग टेबल और रूटिंग प्रोटोकॉल का उपयोग करके डायनामिक रूप से निर्मित नेटवर्क पैकेट को फॉरवर्ड करते हैं। नेटवर्क लेयर पैकेट को ले जाने के लिए लिंक लेयर पर निर्भर करती है।
लिंक-लेयर व्यक्तिगत लिंक पर पैकेट ले जाने के लिए जिम्मेदार है। हार्डवेयर डिवाइस, जिन्हें एडॉप्टर कहा जाता है, लिंक-लेयर प्रोटोकॉल को लागू करते हैं और उनसे जुड़ा एक स्थायी पता होता है, जिसे MAC पता कहा जाता है। MAC पता इस लेयर के लिए पहचानकर्ता के रूप में कार्य करता है। एड्रेस रिज़ॉल्यूशन प्रोटोकॉल (ARP) IP पतों को MAC पतों पर मैप करता है।
अंत में, लिंक लेयर पैकेट को फिजिकल लेयर को पास करती है, जो उन तारों का गठन करती है जिन पर जानकारी यात्रा करती है।
पढ़ने के लिए धन्यवाद! मुझे आशा है कि आपने आज कंप्यूटर नेटवर्क के बारे में कुछ नया सीखा।
स्रोत
कंप्यूटर नेटवर्किंग: ए टॉप-डाउन अप्रोच, 7वां संस्करण
कंप्यूटर नेटवर्किंग: ए टॉप-डाउन अप्रोच, 7वां संस्करण
James F. Kurose, मैसाचुसेट्स विश्वविद्यालय, एमहर्स्ट Keith Ross
Pearson
Wireshark · Go Deep.
