Check-Host.cc

Global SRV Record Checker

जहाँ मानक A और AAAA रिकॉर्ड डोमेन नाम को IP पते में अनुवाद करने तक सीमित हैं, वहीं SRV (Service) रिकॉर्ड काफी अधिक जटिल है। RFC 2782 में परिभाषित, SRV रिकॉर्ड विशिष्ट नेटवर्क अनुप्रयोगों के लिए सटीक होस्टनाम, प्रोटोकॉल, और सटीक पोर्ट नंबर को परिभाषित करने के लिए एक मानकीकृत तरीका स्थापित करता है। वे एंटरप्राइज़ सर्विस डिस्कवरी की रीढ़ हैं, जिनका उपयोग Microsoft Active Directory, SIP/VoIP रूटिंग, XMPP इंस्टेंट मैसेजिंग और बड़े पैमाने पर मल्टीप्लेयर सर्वर आर्किटेक्चर (जैसे _minecraft._tcp.example.com रिज़ॉल्व करना) के लिए भारी मात्रा में किया जाता है।

Syntax और Port Binding

एक SRV रिकॉर्ड को इसकी कठोर स्वरूपण संरचना द्वारा तुरंत पहचाना जा सकता है। रिकॉर्ड का नाम सेवा को दर्शाने वाले अंडरस्कोर से शुरू होना चाहिए, उसके बाद ट्रांसपोर्ट प्रोटोकॉल को दर्शाने वाला अंडरस्कोर, जिसे बेस डोमेन (उदा., _sip._tls.example.com) में जोड़ा जाता है। परिणामी पेलोड कनेक्टिंग क्लाइंट को चार विशिष्ट डेटा पॉइंट प्रदान करता है: प्राथमिकता (Priority), वजन (Weight), लक्ष्य पोर्ट (Port), और विहित लक्ष्य होस्टनाम (Hostname)। यह एडमिनिस्ट्रेटर को गैर-मानक पोर्ट का उपयोग करके एक ही IP पते पर कई अलग-अलग सेवाएं चलाने की अनुमति देता है, जिसके लिए अंतिम-उपयोगकर्ताओं को अपने क्लाइंट में पोर्ट नंबर याद रखने और टाइप करने की आवश्यकता नहीं होती है।

Native Failover और Weighted Load Balancing

SRV रिकॉर्ड की सबसे शक्तिशाली विशेषता इसका देशी, बहु-स्तरीय (Multi-tiered) रूटिंग लॉजिक है। Priority इंटीजर बिल्कुल MX रिकॉर्ड की तरह काम करता है; कनेक्ट करने वाले क्लाइंट हमेशा सबसे पहले सबसे कम प्राथमिकता वाले सर्वर के साथ हैंडशेक पर बातचीत करने का प्रयास करेंगे। यह तत्काल फ़ेलओवर अतिरेक (Failover Redundancy) स्थापित करता है। यदि कई रिकॉर्ड बिल्कुल समान प्राथमिकता साझा करते हैं, तो Weight इंटीजर ट्रिगर हो जाता है। यह एक आनुपातिक लोड बैलेंसर के रूप में कार्य करता है। यदि सर्वर ए का वजन 75 है और सर्वर बी का वजन 25 है, तो क्लाइंट एप्लिकेशन 75% नए कनेक्शन सर्वर ए को रूट करेगा। यह इंजीनियरों को अलग-अलग हार्डवेयर क्षमताओं के क्लस्टर में बुद्धिमानी से ट्रैफ़िक रूट करने की अनुमति देता है।

HTTP SRV Records को क्यों इग्नोर करता है

जूनियर डेवलपर्स का एक सामान्य प्रश्न यह है कि वेब ट्रैफ़िक (HTTP/HTTPS) देशी लोड बैलेंसिंग प्राप्त करने के लिए SRV रिकॉर्ड का उपयोग क्यों नहीं करता है। उत्तर पूरी तरह से ऐतिहासिक है। जब तक SRV रिकॉर्ड का मानकीकरण हुआ, तब तक कड़ाई से पोर्ट 80 पर संचालित होने वाले HTTP और पोर्ट 443 पर HTTPS के वास्तुशिल्प सम्मेलन (Architectural conventions) पहले से ही हर वेब ब्राउज़र में सार्वभौमिक रूप से हार्डकोड किए गए थे। वेब को SRV लुकअप में स्थानांतरित करने से सीमांत लाभ के लिए बड़े पैमाने पर रिज़ॉल्यूशन जुर्माना (अतिरिक्त राउंड-ट्रिप की आवश्यकता) जुड़ जाता। इसके बजाय, HTTP एप्लिकेशन-लेयर लोड बैलेंसर और एनीकास्ट (Anycast) IP रूटिंग पर निर्भर करता है।