DNS लुकअप ऑर्डर कैसे निर्धारित किया जाता है?


20

उदाहरण के लिए: हमने पंजीकृत डोमेन नाम domain.com और रजिस्ट्रार सर्वर पर नाम सर्वर रिकॉर्ड जोड़ा है:
ns1.domain.com।
ns2.domain.com।
ns3.domain.com।

से अधिक हम domain.com की तलाश में हैं । हमें सभी 3 नाम सर्वर एड्रेसस मिलते हैं।
1. उस सर्वर में से कौन सा आगे और क्यों अनुरोध किया जाएगा?
2. क्या जोन फाइल के मामलों में NS रिकॉर्ड का आदेश है?
3. क्या यह किसी RFC में निर्धारित किया गया है ?

जवाबों:


20

अफसोस की बात है, यहाँ जवाब "यह निर्भर करता है" है। यह जिन कारकों पर निर्भर करता है, वे डोमेन के साथ अलग-अलग होंगे और मालिक के सर्वर के साथ-साथ आपके अपने स्थानीय DNS को कैसे सेट अप किया जाता है।

सबसे पहले, उदाहरण के लिए, एनएस के रिकॉर्ड लौटाए जाने के बारे में: यह पूरी तरह से उस क्रम को रैंडम करने की अनुमति है, जिसमें उन रिकॉर्ड को लौटाया जाता है, इसलिए आपके द्वारा अनुरोध करने पर हर बार ऑर्डर अलग हो सकता है। दूसरी ओर, यह सभी डीएनएस कार्यान्वयनों द्वारा नहीं किया जाता है, इसलिए आपको अच्छी तरह से एक सुव्यवस्थित सूची प्राप्त हो सकती है। मुद्दा यह है कि आप सुनिश्चित नहीं हो सकते।

इसके बाद, कुछ DNS कार्यान्वयन प्रत्येक NS को समानांतर में क्वेरी करेंगे, और जो भी पहले एक उत्तर का उपयोग करें। अन्य लोग प्रत्येक को मारेंगे, कुछ संख्याओं पर सबसे तेज़ निर्धारित करेंगे और उस एक का उपयोग करेंगे। या यह सिर्फ राउंड-रॉबिन हो सकता है।

DNS के लिए कई RFC हैं, जो मुझे मिले हैं उनमें से दो अधिक उपयोगी हैं:

http://www.faqs.org/rfcs/rfc1912.html

http://www.faqs.org/rfcs/rfc1033.html

मुझे लगता है कि यह एक गैर-उत्तर में से कुछ है, जिसे दूर करने के लिए आपके लिए कुछ भी निश्चित नहीं है, लेकिन ऊपर दिए गए, आपको दिए गए डोमेन के लिए व्यवहार का निर्धारण करने का एकमात्र सही तरीका परीक्षण करना है।


मैंने आपके उत्तर का समर्थन किया है। मैं वही बात कहने जा रहा था, लेकिन आपने मुझे मार दिया।
टन

साथ ही क्लाइंट जो getaddrinfo का उपयोग करते हैं, सॉर्ट किए गए परिणामों के साथ समाप्त हो जाते हैं, जबकि gethostbyname कॉल यादृच्छिक रूप से प्रतीत होती हैं। ग्राहक जो यह उम्मीद नहीं करते हैं कि व्यवहार कुछ मामलों में राउंड रॉबिन डीएनएस को तोड़ देगा।
मैट

5

सबसे आम कार्यान्वयन जो मैंने ग्राहक-स्तर पर देखा है, जैसे कि दुनिया भर में आईएसपी, इस प्रकार है:

  1. कोई व्यक्ति (एक ब्रॉडबैंड ग्राहक की तरह) ISP के DNS सर्वरों से foo.example.com के ए रिकॉर्ड को हल करने के लिए कहता है।
  2. आईएसपी अपने स्वयं के कैश की जांच करता है, और यदि उस रिकॉर्ड को कैश किया जाता है और फिर भी "ताज़ा" माना जाता है, तो यह तुरंत कैश के माध्यम से वापस आ जाता है। ( यह है कि सभी DNS कैश कैसे काम करते हैं, ताकि वे प्रश्न में साइट के DNS सर्वरों को अनावश्यक रूप से तनाव न दें। )
  3. यदि उनके पास वह रिकॉर्ड कैश नहीं था, या यदि कैश को "बासी / पुराना" माना जाता है, तो आईएसपी को पता है कि उसे नवीनतम रिकॉर्ड को फिर से हल करने की आवश्यकता है।
  4. अब ISP को यह जानना होगा कि नवीनतम रिकॉर्ड के बारे में क्या नाम रखने वाले हैं।
  5. ISP डोमेन के लिए आधिकारिक नेमवेरर्स की कैश्ड सूची की जाँच करके शुरू होता है (ये ns1.example.com, ns2.example.com और इसी तरह उनके IP के साथ हैं)। यदि उन रिकॉर्ड्स को अभी भी ताजा माना जाता है, तो यह चरण 8 तक नीचे चला जाता है।
  6. यदि कैश्ड नेमसेवर रिकॉर्ड्स की समय सीमा समाप्त मान ली गई थी, या यदि उस डोमेन के लिए कोई कैश रिकॉर्ड नहीं था, तो ISP TLD के रूट-नेमवेस्टर्स (जैसे .com रजिस्ट्री अगर यह एक .com डोमेन है) को प्राप्त करने के लिए प्रश्न करता है। उदाहरण के लिए, अप-टू-डेट नेमसर्वर नाम / आईपी जोड़े। ( आप अपने आप को "खुदाई @ b.gtld-servers.net example.com" के माध्यम से यह देखने की कोशिश कर सकते हैं कि आपके TLD के लिए रूट नेमवेर्स आपके डोमेन के बारे में क्या जानते हैं - यदि आपका डोमेन सामान्य com / net / etc TLDs से संबंधित है। TLD को अपने संबंधित रूट सर्वर को क्वेरी करना होगा। )
  7. TLD के लिए रूट नेमवेर्स हमेशा नेमसर्वर्स को उसी क्रम में लौटाते हैं जिस क्रम में वे आपके द्वारा निर्दिष्ट किए गए थे; रेंडमाइजेशन नहीं चलता। वे प्रत्येक नाम के लिए आईपी भी लौटाते हैं; यह "GLUE" के रूप में जाना जाता है और वह है जो इंटरनेट को "चिकन और अंडे" की समस्या को हल करने की अनुमति देता है कि कैसे एक डोमेन के बारे में कुछ भी जानने से पहले एक आईपी के लिए एक नेमवॉटर होस्टनाम को कैसे हल किया जाए। इसके अलावा, उनमें से अधिकांश (जैसे कॉम / नेट / आदि रजिस्ट्रियां जो सबसे बड़ी हैं) 2 दिनों के कैश समय का उपयोग करते हैं ताकि उन्हें "डोमेन एक्स के लिए नेमसर्वर की सूची क्या है?" अनुरोध। यह सामान्य ज्ञान का स्रोत है जिसे आपको 2 दिनों तक इंतजार करना होगा जब तक कि आप सुरक्षित रूप से यह नहीं कह सकते कि आपके नए नेमसर्वर दुनिया भर में जाने जाते हैं, '
  8. जब ISP example.com के नाम सर्वर और उनके IP, जैसे कि ns1.example.com, ns2.example.com, ns3.example.com जानता है, ISP अब उस सूची से एक यादृच्छिक सर्वर चुनता है और क्वेरी भेजता है। ( यह उनमें से अच्छा है, वे प्रश्न में साइट के सभी DNS सर्वरों को अनावश्यक रूप से हथौड़ा नहीं करते हैं, और वे हमेशा पहले सूचीबद्ध नेमसर्वर को क्वेरी नहीं करके लोड संतुलन के साथ आगे सहायता करते हैं। )
  9. यदि ISP को किसी निर्दिष्ट समय अवधि के भीतर उस नामांकित व्यक्ति से प्रतिक्रिया नहीं मिलती है, तो यह सूची पर एक और प्रश्न करता है।
  10. जब इसकी प्रतिक्रिया होती है, तो आईएसपी अब इसे अपने स्थानीय कैश में संग्रहीत करता है। जब तक यह कैश रहेगा; किसी भी DNS सर्वर द्वारा लौटाए गए प्रत्येक रिकॉर्ड में एक "सॉफ्ट एक्सपायरी" समय (सेकंड में) जुड़ा होता है, जो क्वेरी क्लाइंट (जैसे ISP का DNS सर्वर) को उस रिकॉर्ड को कैश करने की अनुमति दी जाती है, इससे पहले कि यह माना जाए " अभी भी प्रयोग करने योग्य लेकिन संभवतः पुराना है, एक नई क्वेरी अब IF POSSIBLE होनी चाहिए ताकि यह सुनिश्चित हो सके कि यह परिवर्तित नहीं हुआ है। " एक "हार्ड एक्सपायरी" समय भी है जो प्रत्येक व्यक्ति के नामवर के "SOA" (स्टार्ट ऑफ़ अथॉरिटी) रिकॉर्ड में निर्दिष्ट है (आप "dig @ ns1.example.com example.com -t soa" के माध्यम से देख सकते हैं), जो उस सर्वर द्वारा दिए गए सभी रिकॉर्ड के लिए एक वैश्विक "हार्ड लिमिट" निर्दिष्ट करता है, जिसके बाद कोई भी कैश SHOULD DELETE अपने कैश्ड रिकॉर्ड EVEN को छोड़ देता है अगर नेमवॉयर नीचे हैं और रिकॉर्ड्स को फिर से देखना असंभव है। आमतौर पर नरम समाप्ति 30 मिनट से 5 घंटे तक होती है और कठिन समाप्ति आमतौर पर 1-3 सप्ताह के बीच होती है।
  11. उस थका देने वाली नौकरी के बाद, आईएसपी के पास नवीनतम डीएनएस रिकॉर्ड होता है और इसे क्वेरी ब्रॉडबैंड सब्सक्राइबर को लौटा सकते हैं, जो कोई भी समझदार नहीं है कि पर्दे के पीछे कितनी बड़ी नौकरी हुई है!

यह प्रक्रिया हर रिकॉर्ड देखने के लिए दोहराई जाती है। हालाँकि, केवल पहली क्वेरी पूरी नौकरी करती है; नेमसर्वर आईपी को उसके बाद कैश किया जाएगा और बाद में आईएसपी के कैशिंग डीएनएस सर्वर से क्विक क्वेश्चन 8 स्टेप तक नीचे जा सकेंगे।

अब, चरण 8 के यादृच्छिककरण के लिए, यह रिकॉर्ड-स्तर पर काम करता है। मान लीजिए कि ISP के ब्रॉडबैंड ग्राहक ने निम्नलिखित रिकॉर्ड के बारे में पूछा:

  • A foo.example.com
  • एक उदाहरण। Com
  • एक www.example.com
  • MX example.com (ISP ग्राहक को इस रिकॉर्ड के लिए नहीं कहना चाहिए, लेकिन यह सिर्फ एक उदाहरण है)

प्रत्येक रिकॉर्ड को अपनी अलग "इकाई" के रूप में संभाला जाएगा, "स्वतंत्र रूप से कैश किया गया और ऊपर देखा गया। तो, मान लीजिए कि सब्सक्राइबर और ISP ने पहले कभी भी डोमेन का सामना नहीं किया है और दोनों के पास पूरी तरह से शून्य कैश रिकॉर्ड है। लुकअप निम्नानुसार हो सकता है:

  • एक foo.example.com ns1.example.com के माध्यम से, फिर ISP कैश में संग्रहीत किया जाता है
  • Ns3.example.com के माध्यम से एक example.com, फिर ISP कैश में संग्रहीत किया जाता है
  • Ns2.example.com के माध्यम से www.example.com, फिर ISP कैश में संग्रहित किया जाता है
  • MX example.com ns3.example.com के माध्यम से, फिर ISP कैश में संग्रहीत किया जाता है

जब भी कैश्ड रिकॉर्ड को सॉफ्ट-एक्सपायर किया जाता है, प्रक्रिया को दोहराया जाता है, इसलिए आपको यह भी पता नहीं होता है कि उस रिकॉर्ड के लिए बाद के अनुरोध फिर से उसी सर्वर का उपयोग करेंगे।

इसलिए यह सुनिश्चित करने के लिए आपका पूर्ण सबसे बड़ा लक्ष्य है कि आपके सभी DNS सर्वर पूरी तरह से एक दूसरे के साथ सिंक हैं, पूरी तरह से प्रत्येक सर्वर पर प्रत्येक DNS रिकॉर्ड को मिरर कर रहे हैं । आप कभी नहीं जानते हैं कि DNS क्लाइंट किस सर्वर से होगा और आप किसी भी ऑर्डर पर भरोसा नहीं कर सकते। ऐसा कुछ नहीं है।

इसके अलावा, जैसा कि एडम सी ने उल्लेख किया है, सर्वर-लेवल (उदाहरण.कॉम) डीएनएस सर्वर खुद ही एनएस रिकॉर्ड वापस कर सकते हैं और उन के क्रम को यादृच्छिक कर सकते हैं। नियमित DNS सर्वरों के लिए यह बहुत सामान्य है कि वे अपने NS रिकॉर्ड को थोड़े-थोड़े समय के लिए रद्द कर दें, क्योंकि एक खराब DNS कार्यान्वयन हमेशा पहले लौटे हुए नामर्ज़र को चुनता है। हालाँकि, ROOT TLD नेमसर्वर (पहले बताए गए) सूची को कभी भी यादृच्छिक नहीं करेंगे, और जब डोमेन को हल करने की बात आती है तो उनकी सूची वास्तव में मायने रखती है। यही कारण है कि ज्यादातर कार्यान्वयन नेमसर्वर सूचियों से एक यादृच्छिक सर्वर लेते हैं, हमेशा एक ही सर्वर से टकराने और इसे अधिभार से बचने के लिए।

ठीक है, कि DNS कैसे काम करता है और आपको क्या याद रखना चाहिए, में आपका प्राइमर है।

  • संक्षेप में: अपने सभी DNS सर्वरों के साथ ऐसा व्यवहार करें जैसे कि वे सिर्फ एक सर्वर थे, यह सुनिश्चित करने के लिए जीवन में आपका सर्वोच्च लक्ष्य है कि वे सभी किसी भी प्रश्न का उत्तर देने में समान रूप से सक्षम हैं जो उन पर फेंका जा सकता है।

अस्वीकरण: DNS के प्रबंधन की तुलना में जीवन में उच्च लक्ष्य उपलब्ध हो सकते हैं लेकिन अलग से बेचे जाते हैं, अपनी कल्पना का उपयोग करें। ;-)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.