CIDR ब्लॉक क्या है? नोटेशन की व्याख्या
CIDR ब्लॉक IP पतों की वह रेंज है जिसे बेस पते और प्रीफ़िक्स लंबाई के रूप में लिखा जाता है, जैसे 192.168.1.0/24, जहाँ स्लैश के बाद की संख्या बताती है कि नेटवर्क की पहचान के लिए शुरुआती कितने बिट तय हैं। CIDR का अर्थ Classless Inter-Domain Routing है, और इसी से रूटिंग तालिकाओं, फ़ायरवॉल नियमों और क्लाउड सिक्योरिटी ग्रुप में नेटवर्क का वर्णन किया जाता है।
CIDR नोटेशन कैसे पढ़ें
IPv4 पते में 32 बिट होते हैं। 192.168.1.0/24 में /24 का मतलब है कि पहले 24 बिट नेटवर्क वाला हिस्सा हैं और बाकी 8 बिट उसके भीतर होस्ट पहचानने के लिए खाली हैं। वे 8 खाली बिट 2^8 = 256 पते देते हैं, जो 192.168.1.0 से 192.168.1.255 तक चलते हैं। यह नियम किसी भी प्रीफ़िक्स पर लागू होता है: ब्लॉक का आकार 2 की घात (32 घटा प्रीफ़िक्स लंबाई) होता है।
/8एक ऑक्टेट तय करता है और इसमें 16,777,216 पते होते हैं, उदाहरण के लिए10.0.0.0/8।/16दो ऑक्टेट तय करता है और इसमें 65,536 पते होते हैं, उदाहरण के लिए172.16.0.0/16।/24में 256 पते होते हैं, और/32ठीक एक पता है।/0हर पता है, जो फ़ायरवॉल नियमों में0.0.0.0/0के रूप में दिखता है और जिसका अर्थ "कहीं से भी" है।
पुराना सबनेट मास्क रूप यही बात कहता है। /24 बराबर 255.255.255.0 है, /16 बराबर 255.255.0.0 है, और /20 बराबर 255.255.240.0 है। IPv6 के लिए यही विचार 128 बिट पर लागू होता है, इसलिए 2001:db8::/32 पहले 32 बिट तय करता है।
CIDR ने क्लासफ़ुल एड्रेसिंग की जगह क्यों ली
CIDR से पहले पतों को निश्चित क्लास में बाँटा जाता था: A, B और C, जिनके प्रीफ़िक्स /8, /16 और /24 थे। जिस संगठन को 2,000 पते चाहिए थे, उसे या तो 65,536 वाला क्लास B लेना पड़ता था, जिसका अधिकांश हिस्सा बेकार जाता था, या कई क्लास C, जिससे रूटिंग तालिकाएँ फूल जाती थीं। CIDR किसी भी प्रीफ़िक्स लंबाई की अनुमति देता है, इसलिए /21 (2,048 पते) सटीक रूप से आवंटित किया जा सकता है। यह पड़ोसी ब्लॉक को संक्षिप्त करने की सुविधा भी देता है: सीमा पर संरेखित दो आसन्न /24 को एक /23 के रूप में घोषित किया जा सकता है, जिससे वैश्विक रूटिंग तालिकाएँ छोटी रहती हैं।
संरेखण और उपयोग योग्य पते
ब्लॉक को ऐसी सीमा से शुरू होना चाहिए जो उसके आकार में फ़िट हो। /24 को ऐसे पते से शुरू होना चाहिए जिसका आखिरी ऑक्टेट 0 हो; /22 को तीसरे ऑक्टेट में 4 के गुणज से शुरू होना चाहिए, जैसे 10.0.4.0/22। इसीलिए 10.0.3.0/22 मान्य नहीं है: यह संरेखित नहीं है और टूल इसे अस्वीकार कर देंगे या चुपचाप असली सीमा पर सामान्यीकृत कर देंगे। सामान्य सबनेट में पहला पता नेटवर्क की पहचान करता है और आखिरी ब्रॉडकास्ट पता होता है, इसलिए /24 में 254 उपयोग योग्य होस्ट पते मिलते हैं। क्लाउड प्रदाता अक्सर प्रति सबनेट कई और पते आरक्षित रखते हैं, इसलिए आकार तय करने से पहले उनके नियम जाँच लें।
व्यवहार में CIDR कहाँ मिलता है
फ़ायरवॉल और अनुमति सूचियाँ सबसे आम मामला हैं। 203.0.113.0/24 की अनुमति देना एक ही प्रविष्टि से 256 पतों की अनुमति देता है। खतरा बहुत व्यापक होने का है: जहाँ /24 अभिप्रेत था वहाँ /16 रखने से हज़ारों असंबंधित होस्ट की अनुमति मिल सकती है। जब आप केवल एक IP जानते हों, तो आसपास के ब्लॉक को ढूँढना एक शोध चरण है, और इसका कुछ हिस्सा ipto से किया जा सकता है। IP रेंज डायरेक्टरी आपको पता स्पेस को /8 और /16 ब्लॉक के अनुसार ब्राउज़ करने देती है, हर एक के लिए देश और ASN विवरण के साथ। ASN लुकअप किसी नेटवर्क को सौंपी गई रेंज दिखाता है, और IP whois लुकअप RDAP के माध्यम से पंजीकृत ब्लॉक लौटाता है, जो बताता है कि संगठन के पास ठीक कौन सी रेंज है।
आरक्षित रेंज भी CIDR में व्यक्त की जाती हैं। 10.0.0.0/8, 172.16.0.0/12 और 192.168.0.0/16 जैसा निजी स्पेस, लूपबैक 127.0.0.0/8 और लिंक-लोकल 169.254.0.0/16 सार्वजनिक स्रोत के रूप में कभी नहीं दिखने चाहिए। बोगॉन IP चेकर बताता है कि कोई पता इनमें से किसी में आता है या नहीं, और ipto IP लुकअप इसी उद्देश्य के लिए bogon और bogon_type फ़ील्ड लौटाता है।
संक्षेपण उल्टी दिशा में भी काम करता है: यह देखने के लिए कि दो रेंज मिल सकती हैं या नहीं, जाँचें कि वे समान आकार की हैं, आसन्न हैं, और पहली संयुक्त ब्लॉक की सीमा पर शुरू होती है। यदि इनमें से कोई शर्त विफल हो, तो आपको एक के बजाय दो प्रविष्टियाँ चाहिए।
आम गलतियाँ
- बेस पते को होस्ट समझ लेना।
192.168.1.0/24नेटवर्क का वर्णन करता है, किसी डिवाइस का नहीं। - एक पते की वजह से पूरी रेंज ब्लॉक करना। साझा होस्टिंग ब्लॉक में एक दुरुपयोगकर्ता होस्ट आसपास के /24 को शत्रुतापूर्ण नहीं बना देता, और उसे ब्लॉक करने से निर्दोष ग्राहक प्रभावित हो सकते हैं।
- IPv6 को भूल जाना। केवल IPv4 रेंज के लिए लिखा गया नियम IPv6 ट्रैफ़िक को बिना फ़िल्टर किए छोड़ देता है।
त्वरित जाँच के लिए, होस्ट बिट गिनें, 2 की उतनी घात निकालें, और अपनी अपेक्षा से मिलाएँ। API दस्तावेज़ दिखाता है कि रेंज डेटा प्रोग्रामैटिक रूप से कैसे प्राप्त करें।