सबनेट हमेशा सन्निहित 1s होते हैं? [डुप्लिकेट]


25

मैं सबनेट मास्क के पीछे मूल आधार को समझता हूं, जैसे कि 255.255.255.0। लेकिन मैंने जो सबनेट उदाहरण देखे हैं, वे बाएं (दाएं से) सन्निहित 1s (HI बिट्स) हैं। उदाहरण के लिए, 255.255.0.0( /16) निम्नलिखित ओकटेट्स में अनुवाद करता है:

11111111 . 11111111 . 00000000 . 00000000

मेरा मानना ​​है कि इन बिट्स को सन्निहित होना चाहिए, क्योंकि सबनेटिंग का पूरा बिंदु होस्ट आईडी और उपलब्ध डिवाइस आईडी की सीमाओं को प्राप्त करना है। लेकिन यह मुझे आश्चर्य है, क्या आपके पास कभी भी 255.17.255.0, या , का सबनेट मास्क हो सकता है :

11111111 . 00010001 . 11111111 . 00000000
  • क्या ऐसा कभी होगा? या सन्निहित 1s के बिना सबनेट के लिए अस्तित्व में आना असंभव है? यदि हां, तो क्यों?
  • अन्यथा, यदि ऐसा करना संभव है, तो आप (कुछ ठोस उदाहरण) क्यों करेंगे?

@MSalters बस इतना है कि आप जानते हैं, स्वचालित टिप्पणी को अब "संभावित डुप्लिकेट ऑफ़ ..." कहने के लिए बदल दिया गया है, इसलिए आपको मैन्युअल रूप से टिप्पणी दर्ज करने की आवश्यकता नहीं है। ;-)
क्रिस जेस्टर-यंग

संक्षिप्त उत्तर: हां, आप सही हैं।
ऑक्टोपस

जवाबों:


18

RFC में अनुभाग 3.1 क्लासलेस इंटर-डोमेन रूटिंग में अनुमत मास्क दिखाता है। रूटिंग को ठीक से काम करने के लिए बिट्स को सन्निहित होना चाहिए।

इसके अलावा जब तार्किक रूप से सोचें तो यह वास्तव में अजीब यादृच्छिक नेटवर्क मास्क का अर्थ नहीं होगा।


28

हां, इसके बारे में सोचने का आसान तरीका यह है कि सबनेट मास्क शुरुआत में हमेशा 1s होता है। यदि एक सबनेट-आकार-संकेतक में बाइनरी प्रतिनिधित्व की शुरुआत में 1s नहीं है, तो मैं कहूंगा कि आधुनिक मानकों का उपयोग करते हुए सबनेट-आकार-संकेतक एक उचित "सबनेट मास्क" नहीं है।

RFC 1219 बताता है कि पहले RFC 950 गैर-सन्निहित बिट्स की अनुमति देता है। वास्तव में, RFC 950 पृष्ठ 15 (धारा 3) में स्पष्ट रूप से एक उदाहरण है, जो "गैर-सन्निहित सबनेट बिट्स" दिखाता है। हालांकि, इस तरह के सबनेट को CIDR अंकन में बदलने का कोई तरीका नहीं है। CIDR- शैली अंकन IPv6 का उपयोग किया गया है (पर) आरएफसी 1884 पेज 7 के बाद से , धारा 2.4 का पहला वाक्य), गैर-सन्निहित बिट्स को व्यापक रूप से एनवी 6 नेटवर्क के लिए कभी भी समर्थित नहीं किया गया था। आरएफसी 1219 की विधि निर्दिष्ट करती है कि "सबनेट बिट्स (मास्क = 1) सबसे महत्वपूर्ण बिट काम से सौंपा गया है। कम से कम "। ( आरएफसी 4632 खंड 3.1 , सामी के उत्तर द्वारा उल्लिखित है, सीआईडीआर संकेतन पर चर्चा करने वाले एक आधिकारिक मानक की ओर इशारा करता है।)

RFC 1878 पृष्ठ 2 के अलावा सभी IPv4 सबनेट के लिए मानक "सबनेट मास्क" संकेतन दिखाता है /0

हालांकि, मैं सामी के जवाब पर थोड़ा विस्तार करने जा रहा हूं, "क्यों" (एक ठोस उदाहरण के साथ, जैसा कि सवाल पूछा गया था) में देख रहा है ...

कुछ पेशेवर-ग्रेड सिस्को उपकरण कुछ "वाइल्डकार्ड मास्क" का समर्थन करते हैं, जो बिट्स को निष्क्रिय करता है। तो एक सामान्य सबनेट को कुछ कहा जाता है द्वारा प्रतिनिधित्व किया जा सकता है 00000000.00000000.00000000.11111111

सिस्को के वाइल्डकार्ड मास्क के साथ, एक नियम नहीं था कि सभी शून्य को पहले जाना था। तो आप उपयोग कर सकते हैं 00000000.00000000.00000000.11111110

यह एक ऐसे समूह का निर्माण करेगा जिसमें सभी समान आईपी पते होंगे।

यह जानना वास्तव में महत्वपूर्ण था, क्योंकि सिस्को के प्रशिक्षण ने इसे कवर किया, और इसलिए सिस्को के पेशेवर प्रमाणपत्रों के लिए परीक्षा प्रक्रिया ऐसी बात के बारे में पूछ सकती है।

हालांकि, मुझे लगता है कि यह ज्यादातर बेकार था। समान-संख्या वाले पते या विषम-संख्या वाले पते का उपयोग करके किसी नेटवर्क को आधे में विभाजित करने के बजाय, आप सामान्य संख्याओं से आधे वाले बड़े संख्याओं का उपयोग करके कम-संख्या वाले पते और उच्च-संख्या वाले पते का उपयोग करके नेटवर्क को आधे में विभाजित कर सकते हैं।

गैर-सन्निहित बिट्स के साथ वाइल्डकार्ड मास्क बहुत उपयोगी नहीं थे, और इसके साथ काम करने के लिए अधिक चुनौतीपूर्ण हो सकता है। सबनेट मास्क बिट 1 को सेट करने की बात यह है कि बिट यह पहचानने में मदद करता है कि डिवाइस किस सबनेट में है। उन बिट्स को पूरे पते पर फैलाने के लिए कोई बाध्यकारी कारण नहीं है, बजाय पते के शुरू में उन्हें अच्छी तरह से समूहीकृत करने के। । इसका परिणाम यह हुआ कि इस प्रकार के मुखौटे का समर्थन बहुत अधिक लाभ के बिना जोड़ा गया जटिलता था।

मुझे लगता है कि सिस्को ने अंततः सहमति व्यक्त की कि इस तरह के गैर-पारंपरिक सबनेट मास्क का कोई मतलब नहीं है, क्योंकि उन्होंने अंततः "वाइल्ड मास्क" के लिए समर्थन छोड़ दिया। पुराने पिक्सेल फायरवॉल "वाइल्डकार्ड मास्क" का समर्थन करते हैं, लेकिन नए एएसए इकाइयां मानक "सबनेट मास्क" का उपयोग करते हैं। ।

मैं मास्क में गैर-सन्निहित "सबनेट बिट्स" के साथ एक नेटवर्क बनाने की कोशिश भी नहीं करूंगा, क्योंकि बहुत सारे सॉफ़्टवेयर नए रुझानों / मानकों का पालन करेंगे, और इस तरह के नेटवर्क डिज़ाइन को अस्वीकार कर देंगे। यहां तक ​​कि अगर मैं पुराने सॉफ्टवेयर का उपयोग कर रहा था, तो मैं शायद अपने नेटवर्क को आसानी से संशोधित करने में सक्षम होना चाहूंगा ताकि नेटवर्क को फिर से डिजाइन किए बिना नए सॉफ्टवेयर का उपयोग करने में सक्षम हो। तो, सन्निहित "सबनेट बिट्स" जाने का एकमात्र तरीका है।

यदि आपको परीक्षण पर सवाल पूछा जाता है, तो मुझे यह कहने में आत्मविश्वास महसूस होगा कि सभी 1s को पते की शुरुआत में होना चाहिए। यही कोई भी संत परीक्षक चाहते हैं कि अधिकांश छात्र इस दिन और उम्र में सीखते रहें।


+1 - केवल 1 बार मैंने सभी के बिना उपयोग किए जाने वाले वाइल्डकार्ड मास्क देखे हैं जो गलत तरीके से दर्ज किए गए मास्क हैं।
मार्क हेंडरसन

2

RFC 950 अध्याय 2.2 में कहता है:

 To support subnets, it is necessary to store one more 32-bit
  quantity, called my_ip_mask.  This is a bit-mask with bits set in
  the fields corresponding to the IP network number, and additional
  bits set corresponding to the subnet number field.

 The code then becomes:

   IF bitwise_and(dg.ip_dest, my_ip_mask)
                               = bitwise_and(my_ip_addr, my_ip_mask)
         THEN
             send_dg_locally(dg, dg.ip_dest)
         ELSE
             send_dg_locally(dg,
                    gateway_to(bitwise_and(dg.ip_dest, my_ip_mask)))

इसलिए प्रस्ताव एक साधारण बिट ऑपरेशन के बारे में था जो सन्निहित बिट्स के बारे में परवाह नहीं करता है।

1985 में, सीपीयू और मेमोरी बहुत अधिक सीमित थे, इसलिए किसी भी अधिक जटिल ऑपरेशन बस समय में फिट नहीं होंगे।

यह अध्याय 3 में और भी स्पष्ट हो जाता है:

और उस नेटवर्क पर एक 3-बिट सबनेट फ़ील्ड उपयोग में है (01011000), अर्थात, एड्रेस मास्क 255.255.255.88 है।

हालाँकि, वे RFC पुराने लग रहे हैं। उदाहरण के लिए विंडोज 7 SP1 पर, इस तरह के सबनेट मास्क को सेट करना संभव नहीं है:

विंडोज 7 पर आवश्यक सबनेट मास्क

Windows XP SP2 पर भी, यह संभव नहीं था:

सबनेट मास्क Windows XP SP2

विंडोज 98 क्लोन रिएक्टोस हालांकि, "अजीब" नेटमास्क स्थापित करने की अनुमति देता है:

रिएक्टोस सबनेट मास्क


1

मैं @Sami Kuhmonen के उत्तर से सहमत हूं:

RFC में अनुभाग 3.1 क्लासलेस इंटर-डोमेन रूटिंग में अनुमत मास्क दिखाता है। रूटिंग को ठीक से काम करने के लिए बिट्स को सन्निहित होना चाहिए। इसके अलावा जब तार्किक रूप से सोचें तो यह वास्तव में अजीब यादृच्छिक नेटवर्क मास्क का अर्थ नहीं होगा।

हालांकि, भले ही यह वांछित या अनुमति नहीं है, फिर भी गैर-लगातार 1 के सबनेट मास्क को परिभाषित करना संभव है। इसके पीछे का कारण:
नेटवर्क आईडी और होस्ट आईडी की गणना बाइनरी ऑपरेशन और एक्सओआर का उपयोग करके आईपी पते और सबनेट मास्क से की जाती है। बाकी सब अप्रासंगिक है।

मैंने उस 2000 साल पहले विन 2000 पर परीक्षण किया है, यह काम करता है। दोनों कंप्यूटरों में 255.160.0.0 मास्क था। वे राउटर के बिना एक लैन में थे, इसलिए मैं राउटर के व्यवहार के बारे में नहीं बता सकता (सामान्य तौर पर आप राउटर के मास्क को केवल वेब इंटरफ़ेस में सेट कर सकते हैं, जो इसे अस्वीकार कर देगा)।
आप नेटवर्क सेटिंग्स के संबंधित क्षेत्र में ऐसे 'अमान्य' सबनेट मास्क भी दर्ज नहीं कर सकते हैं; जीयूआई इसे लेने से इनकार करता है। लेकिन आप इसे सीधे रजिस्ट्री में बदलकर धोखा दे सकते हैं। बाद में रिबूट या अक्षम + एनआईसी को सक्रिय होने के लिए परिवर्तनों को सक्षम करें।
उस सभी का उद्देश्य: उह, शायद कोई नहीं।


साझा करने के लिए धन्यवाद, लेकिन यह स्टैंडअलोन उत्तर के रूप में योग्य नहीं है। यह सामी कुहोमेन के जवाब पर टिप्पणी होनी चाहिए।
7

2
एक टिप्पणी के लिए बहुत लंबा रास्ता ... इसके अलावा मुझे उम्मीद नहीं है कि इसे उत्तर के रूप में चिह्नित किया जाएगा।
टोबियास ने

@agtoever: संपादन और अधिक विवरण जोड़ने के बाद, मुझे लगता है कि यह अब एक स्वसंपूर्ण उत्तर के रूप में योग्य है, क्योंकि इसमें बहुत अधिक जानकारी है जो अन्य उत्तरों का हिस्सा नहीं है।
टोबियास नोज़

"एक कार्यान्वयन पर काम करता है" हालांकि एक अच्छा जवाब नहीं है । और यह सिर्फ "एक ओएस पर काम करता है" नहीं है, नहीं, आपने स्पष्ट रूप से एक नेटवर्क के साथ एक विशेष पीसी का परीक्षण किया (महत्वपूर्ण रूप से)। इसका मतलब है कि आपने यह सत्यापित नहीं किया है कि विंडोज 2000 में सबनेट रूटिंग कोड वास्तव में काम करता है या नहीं, और ठीक वही है जहां नेटवर्क आईडी की जरूरत है। क्या आप दो गैर-आसन्न 255.160.0.0नेटवर्क के बीच मार्ग कर सकते हैं ?
मसलक

@MSalters एक कार्यान्वयन पर काम करता है अभी भी यह काम करता है मतलब है। मैंने कॉन्फ़िगरेशन के सभी संभावित ओएस के लिए बोलने का दावा नहीं किया। इसके अलावा, आपको क्या लगता है कि एक पीसी से दूसरे में पैकेट कैसे मिलते हैं? कंप्यूटर को मार्ग जानना होगा। इसलिए यह गणना की जानी चाहिए कि क्या लक्ष्य कंप्यूटर एक ही सबनेट में है (पैकेट को सीधे भेजें) या बहुत दूर (मार्ग के लिए कॉन्फ़िगर गेटवे को क्वेरी करें)। // नहीं, मुझे नहीं लगता कि मैं ऐसा कोई रूटिंग कर सकता था, क्योंकि इन सबनेट मास्क का उपयोग करने के लिए नहीं था। मैंने दिखाया कि एक मामले में काम किया गया था, लेकिन अलग-अलग सबनेट के बिना। शायद वह भी काम करता है, जो जानता है ...
टोबियास नोज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.