«ما أفضل DNS لمنطقتي» من أكثر عمليات البحث التي تجلب القرّاء إلى هذا الموقع، والجواب الصادق أن أحداً لا يستطيع إعطاءك إياه من الخارج. ما نستطيعه هو شرح السبب وتعليمك كيف تقيسه بنفسك في دقيقتين.
لماذا لا توجد إجابة واحدة للجميع
يعمل Cloudflare وGoogle وQuad9 وبقية الخوادم الكبيرة بنظام anycast: العنوان نفسه، 1.1.1.1 مثلاً، يُعلَن من مئات العقد حول العالم، ويصل استعلامك إلى العقدة التي تعتبرها شبكة مزوّدك الأقرب. «الأقرب» من ناحية التوجيه لا الكيلومترات. جاران في المدينة نفسها مع مزوّدين مختلفين قد يتحدّثان إلى عقدتين مختلفتين، فيحصل أحدهما على 6 ميلي ثوانٍ والآخر على 40.
يضاف إلى ذلك التخزين المؤقت. إذا كان النطاق الذي تطلبه قد حُلّ قبل قليل في العقدة نفسها فالإجابة فورية. وإن لم يكن، فعلى الخادم أن يقطع السلسلة كاملة حتى الخادم المرجعي، وهنا تحكم جودة شبكة المزوّد أكثر من المسافة. لهذا يفصل القياس الجيد بين الأمرين: الاستعلامات المخزّنة والاستعلامات «الباردة».
كيف تقيس من اتصالك
الخيار السريع هو اختبار سرعة DNS. يجري خمس جولات من الاستعلامات إلى سبعة خوادم من متصفّحك، بأسماء عشوائية كي لا يجيب أيّ منها من الذاكرة المؤقتة، ويرتّبها حسب متوسط زمن الاستجابة. لا يثبّت شيئاً ولا يحفظ شيئاً.
نصيحتان كي تكون النتيجة مفيدة:
- أجرِه من الشبكة التي تستخدمها فعلاً، لا من الهاتف ببيانات الجوال إذا كان ما تريد ضبطه هو راوتر المنزل.
- كرّره في وقت آخر. شبكات المزوّدين تزدحم مساءً وقد يتغيّر الترتيب.
إن كنت تفضّل سطر الأوامر، يعطيك dig المعلومة نفسها دون وسيط:
dig @1.1.1.1 example.com | grep "Query time"
dig @8.8.8.8 example.com | grep "Query time"
dig @9.9.9.9 example.com | grep "Query time"
الاستعلام الأول إلى كل خادم يستغرق عادةً وقتاً أطول لأنه يملأ الذاكرة المؤقتة؛ كرّر كل سطر مرتين أو ثلاثاً واعتمد الرقم المستقر. في Windows لا يعرض nslookup الأزمنة؛ استخدم اختبار المتصفّح أو Measure-Command في PowerShell.
ما الأرقام الجيدة
- أقل من 20 ميلي ثانية: ممتاز. هذا ما تراه عندما يكون للخادم عقدة في مدينتك أو المدينة المجاورة.
- من 20 إلى 50: طبيعي تماماً. لن تلاحظ فرقاً عن الفئة السابقة أثناء التصفّح.
- من 50 إلى 100: مقبول، لكنه يبدأ بالظهور في الصفحات التي تحمّل موارد من نطاقات كثيرة.
- أكثر من 100: هناك خادم أفضل لك، شبه مؤكّد.
ورقم أهم من زمن الاستجابة: الفقدان. الخادم الذي يجيب خلال 8 ميلي ثوانٍ لكنه لا يردّ على 10% من الاستعلامات أسوأ من خادم بـ 25 ميلي ثانية يجيب دائماً، لأن كل استعلام مفقود يعني ثانية أو اثنتين من الانتظار حتى يعيد النظام المحاولة. في قياسنا من مدريد أسقط DNS.WATCH نسبة 77% من الاستعلامات وComodo نسبة 42%؛ ولا يصلح أيّ منهما مهما كان سريعاً حين يجيب.
ما قسناه من مدريد، كمثال
مع الإجابة المخزّنة، أجاب Quad9 خلال 5 ميلي ثوانٍ، وCloudflare وCleanBrowsing وDNS4EU وxdp.es خلال 6، كلها من شبكة Telefónica. وGoogle خلال 7. في الاستعلامات الباردة، بإجبار الحلّ الكامل، نزل Cloudflare إلى 22 ميلي ثانية وتراوح الباقون بين 30 و35، باستثناء الخوادم الصغيرة أو ذات الفلترة الثقيلة التي تجاوزت 100.
هذا الجدول يصف شبكة محدّدة في يوم محدّد. إن كنت في مدريد مع Telefónica فسيفيدك؛ وإن كنت في القاهرة أو بغداد أو الرياض فهو مرجع فقط لما يبدو عليه الرقم الجيد.
ما الذي يختلف بحسب المنطقة
الشرق الأوسط وشمال أفريقيا. من هنا يصلنا هذا السؤال أكثر من أي مكان، ولسبب وجيه: تغطية العقد تختلف كثيراً من بلد إلى آخر، واتفاقيات تبادل الحركة لكل مزوّد تغيّر النتيجة حتى داخل المدينة الواحدة. لدى Cloudflare وGoogle حضور في الخليج وفي مصر، لكن ما إذا كان مزوّدك يوصلك إلى تلك العقدة أو إلى عقدة في أوروبا فأمر يعود إليه. هنا القياس ليس نصيحة بل الطريق الوحيد. ومن التجربة: في العراق واليمن وسوريا تختلف النتيجة بين المزوّدين أكثر مما تختلف بين الخوادم نفسها.
أوروبا. لدى الكبار عقد في معظم العواصم والفروق بينهم بضع ميلي ثوانٍ. DNS4EU هو الخادم العام الأوروبي ويجيب بسرعة Cloudflare نفسها من إسبانيا.
أمريكا اللاتينية. الوضع مشابه: عقد في العواصم الكبرى وتباين كبير بين المزوّدين. غالباً ما يأتي Cloudflare أولاً، لكن لا تفترض شيئاً.
روسيا وآسيا. الخوادم المحلية (Yandex DNS في روسيا وAliDNS في الصين) تتفوّق عادةً على الغربية في زمن الاستجابة بحكم قرب الشبكة. يتضمّن الاختبار AliDNS كي تكون المقارنة عادلة من هناك.
فخّ شائع: المزوّد يعترض DNS
إذا أعطت كل الخوادم في الاختبار الزمن نفسه تقريباً والنتائج نفسها، فاشكّ في الأمر. بعض المزوّدين يعترضون حركة DNS على المنفذ 53 ويجيبون عنها بأنفسهم، أياً كان العنوان الذي ضبطته. أنت لا تقيس Cloudflare، بل تقيس مزوّدك وقد كتبت عنوان Cloudflare.
اختبار المتصفّح يستخدم DNS عبر HTTPS، الذي لا يمكن اعتراضه بهذه الطريقة، لذا فأرقامه هي أرقام الخادم الحقيقي. إن حدث لك ذلك، فضبط DoH أو DoT في نظامك هو السبيل لضمان أن DNS الذي تختاره هو الذي يخدمك فعلاً.
الأساسي والثانوي
حين تعرف الأسرع، اجعله الأساسي. الثانوي لا يُستخدم إلا عندما لا يجيب الأساسي: ليس توزيعاً للحمل، لذا لا فائدة تُذكر من الجمع بين «الأسرع والأكثر أماناً» أملاً في أفضل ما فيهما. ضع اثنين من المزوّد نفسه، أو الأسرع ثم الذي يليه. أدلة الإعداد تشرح مكان كل واحد في Windows وmacOS وAndroid وiOS والراوتر.