DNS सर्वर पहले से ही anycast का उपयोग करते हैं। क्या अधिक IP जोड़ने से स्केलेबिलिटी बढ़ेगी?


9

RFC 1034 को DNS सर्वर के लिए कम से कम दो IP पते निर्दिष्ट करने की आवश्यकता है। हालाँकि, अतिरेक पहले से ही एक एकल आईपी पते द्वारा प्राप्त किया जा सकता है यदि हम किसी भी एड्रेसिंग एड्रेसिंग का उपयोग करते हैं। BGP anycast सैकड़ों या यहां तक ​​कि हजारों सर्वर में अच्छी तरह से पैमाने पर लगता है।

यदि हां, तो हमें DNS सर्वर के लिए अभी भी कई आईपी पते की आवश्यकता क्यों है? क्या वास्तव में यह अतिरेक (उपलब्धता में योगदान) को बढ़ाता है अगर हमारे पास पहले से ही कोई भी जगह है या यह सिर्फ एक मिथक है?

यदि हम केवल एक आईपी पते का उपयोग करते हैं तो हम किन समस्याओं और त्रुटियों का सामना कर सकते हैं ?

उसके द्वारा, मेरा मतलब है कि पूरी तरह से द्वितीयक डीएनएस पते को छोड़ देना, या 1.2.3.4दूसरे पते के लिए फर्जी आईपी (जैसे ) का उपयोग करना जब कुछ सेटअप को कम से कम दो की आवश्यकता होती है।

जवाबों:


16

एक एकल anycast आईपी पता आपको एक ही अतिरेक नहीं देता है क्योंकि अलग-अलग आईपी उपसर्गों में दो यूनिकस्ट आईपी पते होंगे।

अक्सर अतिरेक के लिए सबसे कठिन समस्या तब नहीं होती है जब कोई चीज पूरी तरह से विफल हो जाती है, बल्कि जब वह केवल स्वास्थ्य जांच पास करने के लिए पर्याप्त दुर्व्यवहार कर रही होती है, लेकिन वास्तव में कार्यात्मक नहीं होती है।

मैंने एक ऑनेस्टेड डीएनएस सेटअप देखा है जहां एक डीएनएस सर्वर नीचे चला गया, लेकिन पैकेट अभी भी उस डीएनएस सर्वर को रूट किया जाएगा। जो कुछ भी उपसर्ग का ध्यान रख रहा था वह शायद उपसर्ग से अवगत न हो, कि DNS सर्वर नीचे चला गया था।

यह और भी पेचीदा हो जाता है यदि विचाराधीन डीएनएस सर्वर एक आधिकारिक डीएनएस सर्वर नहीं है, बल्कि एक पुनरावर्ती रिज़ॉल्वर है।

इस तरह के एक पुनरावर्ती रिवाल्वर को आधिकारिक DNS सर्वर को क्वेरी करने के लिए क्लाइंट और यूनिकस्ट पते से प्रश्न प्राप्त करने के लिए किसी भी तरह के पते दोनों की आवश्यकता होगी। लेकिन अगर यूनिकस्ट पते नीचे चले गए, तो यह आसानी से स्वस्थ दिख सकता है कि यह अभी भी प्रश्नों को रूट किया जाएगा।

Anycast scalability और विलंबता को कम करने के लिए एक महान उपकरण है। लेकिन अतिरेक के लिए इसे अकेले नहीं खड़ा होना चाहिए।

बहु-निरर्थक एनीकास्ट पूल हालांकि उपलब्धता के लिए एक अच्छा समाधान है। एक प्रसिद्ध उदाहरण 8.8.8.8 और 8.8.4.4 है। दोनों कोई भी पता हैं, लेकिन उन्हें कभी भी एक ही भौतिक DNS सर्वर पर नहीं भेजा जाना चाहिए (यह मानते हुए कि Google ने अपना काम अच्छी तरह से किया है)।

यदि आपके पास 10 भौतिक DNS सर्वर हैं, तो आप उन्हें प्रत्येक पूल में 5 सर्वरों के साथ 2 पूल या प्रत्येक पूल में 2 के साथ 5 पूलों के रूप में कॉन्फ़िगर कर सकते हैं। आप एक भौतिक DNS सर्वर को एक साथ कई पूल में रखने से बचना चाहते हैं।

तो आपको कितने आईपी आवंटित करने चाहिए? आपके पास आईपी होना आवश्यक है जिसे एक दूसरे के स्वतंत्र रूप से किसी भी रूप में कॉन्फ़िगर किया जा सकता है। आमतौर पर इसका मतलब है कि आपको प्रत्येक पूल के लिए IPv4 पता स्थान या / 48 IPv6 पता स्थान की एक पूरी / 24 आवंटित करने की आवश्यकता होगी। यह आपके द्वारा किए जाने वाले पूलों की संख्या को बहुत अच्छी तरह से सीमित कर सकता है।

इसके अतिरिक्त अगर हम आधिकारिक सर्वरों की बात कर रहे हैं तो आपके सभी NS रिकॉर्ड और A और AAAA गोंद के साथ DNS उत्तर एक एकल 512 बाइट पैकेट में फिट होना चाहिए। रूट सर्वर के लिए इसने 13 पतों पर काम किया। लेकिन इसमें गोंद और IPv6 शामिल नहीं थे, इसलिए आप जिस संख्या तक पहुंचेंगे, वह कम होगी।

प्रत्येक पूल को भौगोलिक रूप से यथासंभव वितरित किया जाना चाहिए। यदि आपके पास यूरोप में 5 और Noth अमेरिका में 5 और 2 anycast IPs हैं, तो आप प्रत्येक महाद्वीप में फैले एक पूल का निर्माण नहीं करते हैं। आपने यूरोप से 2 को उत्तरी अमेरिका के 3 के साथ एक पूल में रखा, और दूसरे को दूसरे पूल में रखा।

यदि आपके पास 2 से अधिक किसी भी प्रकार के पूल हैं, तो आप एक भौतिक सर्वर को अस्थायी रूप से एक से अधिक पूल में रहने दे सकते हैं। लेकिन आपको कभी भी एक भौतिक सर्वर को एक ही समय में सभी पूलों में नहीं रहने देना चाहिए।

Anycast और unicast का संयोजन संभव है, लेकिन ध्यान रखा जाना चाहिए। यदि आपके पास दो पूल के लिए आईपी है, तो मैं गठबंधन नहीं करूंगा। लेकिन अगर आपके पास काम करने के लिए केवल एक ही आईपीकास्ट आईपी है, तो इसका मतलब यह भी हो सकता है कि इसमें यूनिकस्ट आईपी भी शामिल हो। समस्या यह है कि यूनिकास्ट सहित आईपी आपको अच्छा विलंबता और लोड संतुलन के रूप में नहीं देगा।

यदि किसी भौतिक सर्वर को यूनिकस्ट और एनीकास्ट दोनों द्वारा उपलब्ध कराया जाता है, तो आप उपयोगकर्ताओं को प्राथमिक और द्वितीयक के समान सर्वर तक पहुंचने का जोखिम उठा सकते हैं और यदि यह नीचे जाता है तो पहुँच खो देते हैं। यह केवल सर्वरों के यूनिकस्ट पतों के उपयोग से बचा जा सकता है, न कि किसी भी आंगन में या दो यूनिकैस्ट पतों के साथ उपयोगकर्ताओं को प्रदान करने से।

जितना अधिक आप पते में मिलाते हैं, उतने ही कम प्रश्नों को किसी भी पते पर भेजा जाएगा, और कम लाभ आपको विलंबता और स्केलेबिलिटी के संदर्भ में किसी भी प्रसारण से मिलेगा।


क्या आपका मतलब है कि स्केलेबिलिटी हासिल करने का सबसे अच्छा तरीका कई माध्यमिक यूनिकैस्ट एड्रेस (उर्फ ns1.domain, ns2.d, ns3.d ... ns300.d) को सेट करने का पुराना तरीका है?
पचेरियर

@Pacerier नहीं, मेरा मतलब यह नहीं है। मैं अपने उत्तर में स्पष्ट कर दूंगा।
कैस्परड

+1। एक रूटिंग त्रुटि भी आपके यूनिकस्ट को नरक (मृत अंत) में ले जा सकती है। दूसरा अलग पता रखने का मतलब है कि आपके पास उसके लिए एक से अधिक "टिकट" हैं;)
टॉमटॉम

2
+1 करना चाहता हूं कि दूसरे पते के रूप में एक फर्जी आईपी जोड़ना एक भयावह विचार की तरह लगता है
प्रतिक्रियाएं

1
@ स्पेसर आप कई यूनिकैस्ट पतों का उपयोग करने से लोड संतुलन प्राप्त करते हैं। समस्या यह विलंबता है, ग्राहकों को आसानी से पता नहीं है कि कौन से आईपी पास हैं और जो बहुत दूर हैं। यह भी दूर नहीं हो सकता। आपको केवल 5 सर्वरों का उपयोग करना है, अगर आप 512 बाइट्स में फिट होने के लिए ए और एएएए गोंद रिकॉर्ड चाहते हैं। किसी भी एककास्ट और कई यूनिकस्ट को मिलाकर लोड बैलेंसिंग के लिए समस्याग्रस्त है, क्योंकि आपको यूनीकास्ट पते पर किसी भी लोड से अधिक लोड होने की संभावना है।
कैस्परर्ड

4

सर्वोत्तम अभ्यास विभिन्न उपसर्गों से कम से कम दो पते का उपयोग करना है और उन्हें दो अलग-अलग टीएलडी के तहत एक नाम देना है। यदि आप चाहें तो उन दोनों पतों को कभी भी प्रसारित किया जा सकता है। केवल एक IP पता होने से आपको विफलता का एक बिंदु मिलेगा। यदि उस पते पर रूटिंग काम नहीं करती है (कॉन्फ़िगरेशन त्रुटि, कोई भी सही उदाहरण काम नहीं कर रहा है, तो उपसर्ग अपहृत किया जा रहा है) तो आपका पूरा डोमेन अप्राप्य हो जाता है।

हर किसी भी पते पर बीजीपी में कम से कम /24IPv4 या /48IPv6 उपसर्ग की आवश्यकता होगी । छोटे (लंबे) उपसर्गों को आमतौर पर कई स्थानों पर वैश्विक रूटिंग तालिका में स्वीकार नहीं किया जाएगा।

DNS सर्वर के रूप में कभी भी फर्जी IP पते पर न डालें। यह रिज़ॉल्वर के लिए गंभीर देरी का कारण बनेगा।


इससे भी बुरी बात यह है कि "फर्जी" आईपी पता किसी और का पता है। वे प्रश्न प्राप्त कर रहे होंगे। यदि वे उन सभी ट्रैफ़िक से नाराज़ हो जाते हैं, तो वे कुछ समय के लिए इसे दूर करने के लिए एक उच्च TTL के साथ उत्तर भेज सकते हैं।
कैस्परर्ड

@kasperd, विशेष आरक्षित IP पतों के बारे में क्या है जो किसी से संबंधित नहीं है?
पचेरियर

1
@ स्पेसर RFC 1918, 4193, या 6598 एड्रेस स्पेस का उपयोग करके नुकसान को सीमित करेगा। लेकिन यह अभी भी संकल्प धीमा या विफल हो जाएगा।
कैस्परड

3

RFC 1034 केवल बताता है कि आपको दो DNS सर्वरों की आवश्यकता है। यह एक अनिवार्य आवश्यकता नहीं है, लेकिन एक सिफारिश है, इसलिए इसके साथ आप क्या करेंगे। भले ही, यदि आप हा चाहते हैं, तो आपके 2 डीएनएस सर्वरों को किसी भी आईपीकास्ट का उपयोग करके एक ही आईपी सौंपा जा सकता है, और केवल एक ही चीज जो आपके DNS उपयोगकर्ताओं के विफल होने पर नोटिस करेगी, नेटवर्क कनेक्टिविटी के रूप में कनेक्टिविटी का क्षणिक अभाव है।

इसलिए सारांश में, हाँ किसी भी प्रकार का उपयोग आरएफसी 1034 के अनुरूप होने के लिए पर्याप्त है।


हम्म, अगर एक एकल आईपी पते की ज़रूरत है, तो Google अपने DNS सर्वरों के लिए दो पते ( 8.8.8.8और 8.8.4.4) क्यों देता है? उनके पास पहले से ही कोई भी जगह है, तो बस एक पते की पेशकश क्यों नहीं 8.8.8.8?
पचेरियर

1
एक अनुमान के अनुसार, मैं नेटवर्क कन्वर्जेंस के दौरान कनेक्टिविटी को बाधित नहीं करने के लिए कहूंगा? क्योंकि वे एक वैश्विक खिलाड़ी हैं और यह सुनिश्चित करना चाहते हैं कि असफलता के किसी भी संभावित बिंदु को खत्म करने के लिए वे जितना संभव हो उतना संभव हो? मैं पूरी तरह से निश्चित नहीं हूं, लेकिन मुझे पता है कि हम सभी गूगल नहीं हो सकते हैं :)
प्रतिक्रियाएं
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.