2012-04-01 8 views
9

मैं सीधे डीएनएस संदेश भेजकर डीएनएस पुस्तकालयों (जैसे netdb.h) का उपयोग करके एक रिज़ॉल्वर और नेमसर्वर प्रोग्राम बना रहा हूं। लेकिन मुझे कुछ समस्याएं हैं। जहां तक ​​मुझे पता चलता है कि जब हम एक रिकर्सिव अनुरोध भेजते हैं, तो नेमसर्वर पूछताछ हमारे लिए रिकॉर्ड्स पाती है। क्या नेमसर्वर द्वारा अन्य सर्वरों से पूछताछ करने के लिए उपयोग किए जाने वाले प्रश्न, पुनरावृत्तियों के प्रश्नों के समान हैं? कम से कम इन छवियों का सुझाव है।रिकर्सिव और पुनरावर्तक डीएनएस लुकअप के बीच अंतर

मैं भी उलझन में हूं अगर कोई ग्राहक पुनरावर्तक क्वेरी कर सकता है या केवल नेमसर्वर पुनरावृत्त प्रश्न कर सकता है?

रिकर्सिव DNS लुकअप:

Recursive dns lookup

Iterative DNS लुकअप: Iterative dns lookup

+0

आपका पहला मामला एक पुनरावृत्ति या कम से कम 'हाइब्रिड' DNS योजना नहीं है? पूरी तरह से रिकर्सिव योजना इस तरह के पथ का पालन नहीं करेगी: कंप्यूटर -> स्थानीय डीएनएस सर्वर -> रूट -> .com -> contoso.com, तो contoso.com आईपी वापस वापस लौटाएगा? – mercury0114

उत्तर

5

एक ग्राहक निश्चित रूप से एक पुनरावर्ती समाधानकर्ता से परामर्श करने की जरूरत के बिना अपने आप ही पुनरावृत्ति प्रश्नों कर सकते हैं, लेकिन कई कारणों से नहीं देखते हैं ऐसा करने के लिए:

  • सॉफ़्टवेयर की जटिलता को सरल बनाना जो exi की आवश्यकता है स्टब रिज़ॉल्वर पुस्तकालयों में सेंट (उदा। libresolv या libc में बनाया गया) प्रत्येक होस्ट
  • किसी आईएसपी नेटवर्क में किसी सर्वर पर पुनरावर्तक क्वेरीिंग का प्रतिनिधि या "रीढ़ की हड्डी" के नजदीक से संपर्क करें जिसमें बेहतर इंटरनेट कनेक्शन होगा (सबसे महत्वपूर्ण रूप से, कम देरी) और पुनरावर्तक क्वेरी को तेज़ी से पूरा कर सकता है ।
  • कई अंतिम उपयोगकर्ताओं के DNS क्वेरी को कैशिंग रिज़ॉल्यूशन की एक छोटी संख्या पर एकत्रित करें। अधिकांश समय संकल्पकों को पूर्ण पुनरावृत्ति क्वेरी नहीं करना पड़ेगा: उनके पास पहले से ही कैश किए गए कुछ या सभी परिणाम होंगे।
  • उन जगहों की संख्या को कम करें जहां "संकेत" फ़ाइल (रूट नेमसर्वर और उनके आईपी पते की एक सूची), जो एक पुनरावर्ती रिज़ॉल्यूवर बूटस्ट्रैप के लिए आवश्यक है, को तैनात किया जाना है।

DNSSEC उसमें एक रिंच फेंकता है: DNSSEC के साथ, अंतिम उपयोगकर्ता को परिणाम को प्रमाणित करना चाहते हैं तो पूर्ण उपयोगकर्ता को पूर्ण पुनरावृत्त क्वेरी करना होगा। यह अभी तक देखा जाना बाकी है कि DNSSEC- सक्षम संकल्पकों का बड़े पैमाने पर तैनाती कैसे होगी।

+1

अच्छी व्याख्या, हालांकि DNSSEC भाग पूर्ण रूप से गलत है। DNSSEC रिज़ॉल्यूशन प्रक्रिया बिल्कुल DNSSEC के समान ही है। – Sandman4

+0

किसी DNSSEC परिणाम को सत्यापित करने के लिए, आपको रूट के सभी तरीकों से ट्रस्ट की श्रृंखला का पालन करना होगा (या किसी अन्य विश्वसनीय एंकर पर)। ऐसा करने के लिए, आप लगभग समान प्रश्नों को निष्पादित कर देंगे क्योंकि पुनरावृत्ति समाधान प्रक्रिया को पहले स्थान पर आवश्यक है। – Celada

+0

DNSSEC के बिना आप प्रतिनिधिमंडल की श्रृंखला का पालन करते हैं, DNSSEC के साथ आप प्रतिनिधिमंडल की श्रृंखला का पालन करते हैं ** और ** ट्रस्ट की श्रृंखला का पालन करते हैं, लेकिन यह एक ही श्रृंखला_ है। DNSSEC केवल उसी प्रक्रिया में अतिरिक्त जानकारी जोड़ता है। – Sandman4

6

कोई भी DNS क्लाइंट (या "रिज़ॉल्वर") पुनरावृत्त प्रश्न निष्पादित कर सकता है।

परिभाषा के अनुसार, हालांकि, एक समाधानकर्ता पुनरावृत्ति प्रश्न करने होंगे करता है कि एक पुनरावर्ती समाधानकर्ता, और नहीं एक ठूंठ समाधानकर्ता है।

स्टब रिज़ॉल्यूशन आमतौर पर लाइब्रेरी के रूप में लागू किए जाते हैं, जो आपके निष्पादन योग्य में सीधे जुड़े होते हैं।

हालांकि एक स्टैंडअलोन लाइब्रेरी के रूप में एक पूर्ण रिकर्सिव रिज़ॉल्यूशन बनाना भी संभव है। libunbound एक विशेष रूप से अच्छा उदाहरण है।

1

एक पुनरावर्ती क्वेरी: - DNS सर्वर उत्तर के लिए आपकी ओर से अन्य DNS सर्वर की क्वेरी भेज सकता है। प्रॉक्सी सर्वर उत्तर के लिए मुख्य सर्वर पर क्वेरी भेजता है।

एक पुनरावर्तक क्वेरी में, नाम सर्वर, नहीं जाएगा और आपकी क्वेरी के लिए पूरा उत्तर प्राप्त नहीं करेगा, लेकिन अन्य DNS सर्वर के लिए रेफ़रल वापस देगा, जिसका उत्तर हो सकता है। यह प्रॉक्सी सर्वर आपको तब तक जवाब देता है जब तक कि यह अन्य सर्वरों में खोज नहीं देता

संबंधित मुद्दे