خطوات الاستخدام
الخطوة 1: قياس زمن الوصول الأساسي لـ DNS عبر UDP. أدخل قيمة زمن الوصول بالمللي ثانية (ms) التي تم الحصول عليها من اختبار ping لخادم DNS العادي (مثل 8.8.8.8). هذه القيمة تمثل الوقت الذي يستغرقه حزمة UDP للانتقال من جهازك إلى خادم DNS والعودة.
الخطوة 2: فهم إضافة مصافحة TLS. عند استخدام DNS-over-HTTPS، يتطلب الاتصال إنشاء قناة TLS مشفرة. تتضمن مصافحة TLS عادةً جولتين ذهابًا وإيابًا (RTTs) إضافيتين (إذا تم استخدام TLS 1.3 مع 0-RTT قد تقل). في المتوسط، يضيف هذا 1-2 أضعاف زمن الوصول الأساسي (UDP latency) لعملية المصافحة الأولية. ومع ذلك، بعد إنشاء الجلسة، يمكن استخدام إعادة استخدام الجلسة لتقليل هذا الأمر. تحسب الآلة الحاسبة زمن الوصول الإضافي بناءً على معادلة: TLS_handshake_time = 2 * udpLatency.
الخطوة 3: حساب الحمل الإضافي لـ HTTP. يتم تغليف استعلامات DNS في طلبات HTTP (عادةً HTTP/2 أو HTTP/3). يضيف هذا حملًا صغيرًا لتحليل الرؤوس والتحكم بالنقل. في الآلة الحاسبة، يُضاف ثابت قدره 5 مللي ثانية كحمل HTTP، والذي يمثل متوسط الوقت الإضافي لتغليف وإرسال طلب HTTP.
الخطوة 4: حساب زمن الوصول الإجمالي لـ DNS-over-HTTPS. يتم جمع زمن الوصول الأساسي مع حمل TLS وحمل HTTP. المعادلة: DoH_latency = udpLatency + (2 * udpLatency) + 5 = 3 * udpLatency + 5. لاحظ أن هذه معادلة تقريبية للجلسات الأولى؛ للجلسات المستمرة يمكن أن يكون زمن الوصول أقل بسبب إعادة استخدام TLS وضغط HTTP/2.
الخطوة 5: تفسير النتيجة. توضح النتيجة زمن الوصول المقدر لاستعلام DNS باستخدام DoH مقارنة بـ DNS العادي. إذا كان الزمن أعلى من المتوقع، يمكن تحسينه باستخدام خوادم DoH أقرب جغرافيًا، أو تمكين TLS 1.3 مع 0-RTT، أو استخدام HTTP/3 الذي يقلل زمن الوصول بشكل إضافي.
أمثلة محلولة
تطبيقات عملية على أداء DNS-over-HTTPS بخطوات الحل كاملة.
الحل
نقوم بحساب زمن الوصول لـ DoH باستخدام المعادلة: DoH_latency = 3 * 20 + 5 = 65 مللي ثانية. الزيادة من 20 إلى 65 مللي ثانية بسبب مصافحة TLS والحمل الإضافي. لتقليل هذا الزمن، يمكن للمستخدم استخدام خاصية TLS 1.3 0-RTT التي تسمح بإرسال طلب DNS مع مصافحة TLS في نفس الجولة، مما يقلل الحمل الإضافي إلى حوالي 20 مللي ثانية (1 RTT). كما يمكن استخدام خادم DoH قريب جدًا (مثل خادم محلي) أو استخدام HTTP/3 عبر QUIC، الذي يقلل زمن المصافحة الأولية إلى صفر تقريبًا (حيث يتم الاتصال عبر UDP مع تشفير مدمج).
الحل
باستخدام المعادلة: DoH_latency = 3 * 2 + 5 = 11 مللي ثانية. بالنسبة للشبكة المحلية، يكون الزمن صغيراً جداً. ولكن في البيئات الداخلية، يمكن تحسين الأداء عن طريق استخدام HTTP/2 مع ضغط الرؤوس وتجميع الطلبات (multiplexing) بحيث لا يتكرر الحمل لكل طلب. إذا كان الخادم يدعم إعادة استخدام جلسة TLS، فسيكون زمن الوصول للطلبات اللاحقة أقل من 7 مللي ثانية (udpLatency + ثابت 5).
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة أداء DNS-over-HTTPS.
مرجع — خادم عام 1.1.1.1 بزمن UDP قدره 20 ms
- زمن انتقال UDP (مللي ثانية)
- 20
مرجع — شبكات داخلية: 2 ms زمن UDP أساسي
- زمن انتقال UDP (مللي ثانية)
- 2
مرجع — خادم بعيد بزمن UDP 100 ms (حد بعد المصافحة)
- زمن انتقال UDP (مللي ثانية)
- 100