Start of Authority (SOA) Checker
SOA (Start of Authority) रेकॉर्ड कोणत्याही DNS झोनचे ॲडमिनिस्ट्रेटिव्ह हार्ट म्हणून काम करते. हे एक अनिवार्य रेकॉर्ड आहे; व्हॅलिड SOA शिवाय, ग्लोबल राउटिंग टेबलवर डोमेनचे अस्तित्व संपते. SOA पेलोड डोमेनसाठी मुख्य ऑपरेशनल पॅरामीटर्स ठरवतो, कोणता सर्व्हर सत्याचा अंतिम स्रोत आहे हे स्थापित करतो, तो कोण मॅनेज करतो, आणि सेकंदरी, रिडंडंट (redundant) नेमसर्व्हर्स झोन डेटा कसा रेप्लिकेट (replicate) करतील हे ठरवणारी कठोर टाइमिंग मेकॅनिझम्स स्थापित करतो.
झोन सिरीयल नंबर आणि स्टेट रेप्लिकेशन
SOA पेलोडमधील सर्वात क्रिटिकल इंटिजर म्हणजे सिरीयल नंबर. इंडस्ट्रीच्या प्रथेनुसार, हे अनेकदा डेट-स्टॅम्प (date-stamp) म्हणून फॉरमॅट केले जाते (उदा. 24 ऑक्टोबर 2023 रोजी पहिल्या बदलासाठी 2023102401). प्रत्येक वेळी जेव्हा एखादा ॲडमिनिस्ट्रेटर A, MX किंवा TXT रेकॉर्ड बदलतो, तेव्हा हा सिरीयल नंबर वाढवणे (increment) आवश्यक असते. सेकंडरी (स्लेव्ह) नेमसर्व्हर्स प्रायमरी सर्व्हरच्या SOA रेकॉर्डला नियमितपणे पोल (poll) करतात. जर त्यांना त्यांच्या लोकल कॅशेमध्ये स्टोअर केलेल्या नंबरपेक्षा जास्त सिरीयल नंबर आढळला, तर ते अपडेटेड राउटिंग टेबल्स खेचून (pull) आणण्यासाठी तत्काळ AXFR किंवा IXFR झोन ट्रान्सफर ट्रिगर करतात. जर एडिटिंग करताना सिरीयल वाढवला नाही, तर सेकंडरी सर्व्हर्स कधीही सिंक (sync) होणार नाहीत, ज्यामुळे फ्रॅक्चर्ड, इनकन्सिस्टंट DNS रिस्पॉन्स मिळतील.
ॲडमिनिस्ट्रेटिव्ह टाइमिंग: Refresh, Retry, आणि Expire
SOA रेकॉर्ड तीन विशिष्ट टायमर्स डिफाइन करते जे झोनचे रेझिलियन्स (resilience) नियंत्रित करतात:
- Refresh: सेकंडरी सर्व्हर्स प्रायमरी सर्व्हरला सिरीयलमधील बदलांसाठी पोल (poll) करण्यापूर्वी जे अंतर (सेकंदांमध्ये) थांबतात.
- Retry: जर पोल करताना प्रायमरी सर्व्हर ऑफलाईन असेल, तर सेकंडरी सर्व्हर पुन्हा प्रयत्न करण्यापूर्वी किती वेळ थांबेल हे हे ठरवते.
- Expire: जर प्रायमरी सर्व्हर कायमचा ऑफलाईन गेला तर सेकंडरी सर्व्हर कॅश केलेले रेकॉर्ड्स सर्व्ह करणे चालू ठेवेल असा जास्तीत जास्त वेळ. एकदा का हा टायमर गाठला की, सेकंडरी सर्व्हर क्वेरीजना उत्तरे देणे थांबवतो, अत्यंत जुना डेटा सर्व्ह करणे टाळण्यासाठी डोमेन प्रभावीपणे डाऊन करतो.
Negative Caching आणि Minimum TTL
SOA रेकॉर्डचा वारंवार गैरसमज होणारा पॅरामीटर म्हणजे Minimum TTL व्हॅल्यू. ऐतिहासिकदृष्ट्या बेसलाईन कॅशिंग वेळ सेट करण्यासाठी वापरला गेलेला, RFC 2308 ने हा इंटिजर पूर्णपणे निगेटिव्ह कॅशिंग (Negative Caching) साठी रिपर्पज (repurpose) केला. जर एखाद्या युजरने अस्तित्वात नसलेल्या सबडोमेनची क्वेरी केली (उदा. fake.example.com), तर ऑथॉरिटेटिव्ह सर्व्हर NXDOMAIN एररसह प्रतिसाद देतो. रिझॉल्व्हर ते फेल्युअर नक्की किती काळ कॅशे करायचे हे ठरवण्यासाठी SOA Minimum TTL वापरतो. कमी व्हॅल्यू असल्यावर ॲडमिनिस्ट्रेटरने टायपो (typo) पटकन दुरुस्त केल्यास प्रदीर्घ आऊटेजेस (outages) टळतात, तर उच्च व्हॅल्यू असल्यावर ऑथॉरिटेटिव्ह सर्व्हरचे रँडम, अस्तित्वात नसलेल्या सबडोमेन्सना क्वेरी करणाऱ्या DDoS फ्लड्सपासून संरक्षण होते.