مقارنة بروتوكولات DNS المشفرة: DoT و DoH و DoQ
مقارنة Plain DNS و DoT و DoH و DoQ من حيث الطبقات، المنافذ، الفروقات في الأداء، وسياقات الاستخدام، مع تقديم توصيات عملية للاختيار والتكوين.
Categories:
نظرة سريعة على المصطلحات
- Plain DNS: DNS نصي واضح، يستخدم UDP/53 افتراضيًا، مع الانتقال إلى TCP/53 عند الحاجة (كالاستجابات المقطوعة، نقل المنطقة، إلخ).
- DoT: DNS over TLS، يستخدم TCP فوق TLS، منفذ افتراضي 853 (RFC 7858/8310).
- DoH: DNS over HTTPS، يستخدم HTTPS (HTTP/2 أو HTTP/3)، منفذ افتراضي 443 (RFC 8484).
- DoQ: DNS over QUIC، يستخدم QUIC + TLS 1.3، منفذ افتراضي UDP/853 (RFC 9250، مخصص في IANA على 853/udp).
العلاقات الطبقية (نموذج TCP/IP مبسط)
- طبقة التطبيق: HTTP، HTTPS، DNS (DoH ضمن تغليف HTTPS في طبقة التطبيق)
- طبقة الأمان: TLS (توفر التشفير لـ TCP أو QUIC)
- طبقة النقل: TCP، UDP، QUIC
- طبقة الشبكة: IP
- طبقة الربط: Ethernet
- الطبقة الفيزيائية: كابل مجدول/ألياف/لاسلكي
النقاط الأساسية
- Plain DNS يعمل فوق UDP/TCP دون تشفير.
- DoT = TCP + TLS + DNS (منفذ مخصص 853).
- DoH = TCP/QUIC + TLS + HTTP(S) + DNS (يستخدم 443، مشترك مع HTTPS العادي).
- DoQ = QUIC + TLS 1.3 + DNS (منفذ مخصص UDP/853).
graph TB
subgraph طبقة التطبيق
A[HTTP]
A2[HTTPS]
C[DNS]
D[DoH DNS over HTTPS]
end
subgraph طبقة الأمان
E[TLS]
end
subgraph طبقة النقل
F[TCP]
G[UDP]
H[QUIC]
end
subgraph طبقة الشبكة
I[IP]
end
subgraph طبقة الربط
J[Ethernet]
end
subgraph الطبقة الفيزيائية
K[كابل مجدول/ألياف/لاسلكي]
end
A2 --> F
A2 --> H
A --> F
C --> F
C --> G
D --> A2
E --> F
E --> H
F --> I
G --> I
H --> I
I --> J
J --> K
style D fill:#e1f5fe
style E fill:#fff3e0معلومات أساسية وتصحيح أخطاء شائعة
- Plain DNS يستخدم UDP/53 افتراضيًا، وعند حدوث قطع في الاستجابة (bit TC) أو الحاجة لنقل موثوق، ينتقل إلى TCP/53.
- DoT يبني نفق TLS فوق TCP لنقل حزم DNS، منفذ افتراضي 853؛ يمكن إعادة استخدام الاتصال الطويل لخفض تكلفة الربط.
- DoH يُدخل DNS كمورد ضمن HTTPS (
application/dns-message)، غالبًا باستخدام HTTP/2 أو HTTP/3، منفذ 443، يسهل الاختلاط مع HTTPS العادي. - DoQ يستخدم QUIC مباشرة (مبنية على UDP) لحمل DNS، وتتميز بتأخير منخفض وتجنب ازدحام الطابور، لكن تغطية البيئة لا تزال في نمو.
- القول بأن “QUIC أسرع دائمًا بنسبة X%” ليس دقيقًا؛ الأداء الفعلي يعتمد على حالة الشبكة (فقدان الحزم، التذبذب، زمن الانتقال) وقدرة إعادة استخدام الاتصال وتفاصيل التنفيذ ونشر الخادم.
- DoH ليس “وضع DNS داخل HTTP يجعله أسرع/أبطأ بالضرورة”، الأداء يعتمد على إعادة استخدام الاتصال، جودة الشبكة، والتنفيذ؛ في كثير من الحالات يكون DoH/3 و DoT متماثلين أو أفضل.
- DoT يمكنه التحقق من اسم المضيف باستخدام SNI؛ DoH يعتمد على التحقق القياسي من شهادة HTTPS ومطابقة اسم المضيف.
- DNS المشفر لا يمنع التنصت والتلاعب على خط الاتصال فقط، ولا يعني “الخصوصية الكاملة”. قد لا يزال محلل DNS يسجل الاستعلامات؛ اختر مزودًا موثوقًا واطلع على سياسة الخصوصية.
graph TD
subgraph عائلة DNS
A[Plain DNS UDP/TCP + DNS]
subgraph DNS المشفر
B[DoT TCP + TLS + DNS]
C[DoH HTTP/2,3 + TLS + DNS]
D[DoQ QUIC + TLS 1.3 + DNS]
end
subgraph القاعدة الناقلة
E[TCP]
F[UDP]
G[QUIC]
end
end
A --> B
A --> C
A --> D
B --> E
C --> E
C --> G
D --> G
A --> F
style A fill:#f3e5f5
style B fill:#e8f5e8
style C fill:#e3f2fd
style D fill:#fff3e0نظرة عامة على المقارنة
| البروتوكول | طبقة النقل | التشفير | التغليف | المنفذ الافتراضي | السمات النموذجية |
|---|---|---|---|---|---|
| Plain DNS | UDP/TCP | لا يوجد | DNS أصلي | 53 | بسيط وفعال، نصي واضح، عرضة للقرصنة/التعديل |
| DoT | TCP | TLS 1.2/1.3 | DNS | 853 | منفذ مخصص، غالبًا ما يُحظر بالمنفذ، دعم جيد على مستوى النظام |
| DoH | TCP/QUIC | TLS 1.2/1.3 | HTTP/2-3 + DNS | 443 | مشترك مع HTTPS في المنفذ، اخترق عالي، دعم أولي من المتصفح |
| DoQ | QUIC | TLS 1.3 | DNS | 853/UDP | تأخير منخفض، يتجنب ازدحام الطابور، البيئة في تطور |
الأداء والتأخير
- إعادة استخدام الاتصال: DoT/DoH/DoQ يمكنها جميعًا إعادة استخدام الاتصال الطويل لخفض تكلفة الربط؛ DoH/2 و DoH/3 و DoQ تدعم أيضًا التعددية داخل اتصال واحد.
- ازدحام الطابور: TCP يعاني من “ازدحام الطابور” على مستوى التطبيق؛ HTTP/2 يخفف ذلك عبر التعددية لكنه لا يزال عرضة لفقدان TCP، في حين أن QUIC (DoH/3، DoQ) يتجنب ازدحام الطابور على مستوى النقل، وهو أفضل في شبكات عالية الفقد/المتنقلة.
- تأخير الحزمة الأولى: عند الاتصال الأولي، DoT يحتاج إلى TCP+TLS؛ DoH/2 مشابه؛ DoH/3/DoQ مبني على QUIC، أسرع في إعادة الاتصال والانتقال. الاختلاف في الأحمال الطويلة يعتمد أكثر على التنفيذ وظروف الشبكة.
- القدرة على الوصول: DoH يستخدم منفذ 443، الأقل عرضة للحظر البسيط بالمنفذ؛ DoT يستخدم 853، غالبًا ما يُحظر ب一刀切؛ DoQ يستخدم 853/UDP، قد يُحظر أو لا يُسمح به في الوقت الحالي.
دعم العميل والنظام
- المتصفحات: عائلة Chromium و Firefox تدعم DoH افتراضيًا (يمكنها الترقية تلقائيًا إلى محلل يدعم DoH أو استخدام قائمة مزودين مدمجين).
- Windows: Windows 11 يدعم DoH أصليًا.
- Android: Android 9+ يوفر “DNS خاص” (DoT على مستوى النظام). تغطية DoH على مستوى النظام تعتمد على الإصدار/الصانع.
- منصات Apple: iOS 14+/macOS 11+ تدعم DoT و DoH عبر ملفات الوصف أو NetworkExtension.
نصائح النشر والاختيار
- شبكات عادية/مقيدة (مثل Wi‑Fi عام، الحاجة لاختراق الحظر البسيط): أولوية لـ DoH (منفذ 443)، يمكن تفعيل HTTP/3.
- خروج موحد على مستوى النظام (الراوتر، البوابة، DNS خاص Android): أولوية لـ DoT (853)، مع إضافة DoH كخيار احتياطي إذا سمح الشبكة.
- شبكات عالية الفقد/المتنقلة: أولوية لـ DoH/3 أو DoQ المزودين بـ QUIC (حسب دعم المحلل والعميل).
- سيناريوهات المؤسسة/الامتثال: اختر حسب السياسة (DoH يمكن دمجه مع بنية HTTPS الحالية؛ DoT يسهل الفصل عن واجهة تحكم DNS).
ملخص
- الأولوية لـ DoH (443، اخترق قوي)، إذا كان متاحًا ففعّل HTTP/3.
- إذا كنت بحاجة لوحدة على مستوى النظام: أولوية لـ DoT (853) + اتصال دائم، مع DoH (443) كخيار احتياطي عند الضرورة.
- إذا كان محللك وعميلك يدعمان ذلك: جرّب DoQ (غالبًا تجربة أفضل في الشبكات المتنقلة).
المراجع القياسية
- RFC 7858, RFC 8310 (DNS over TLS)
- RFC 8484 (DNS over HTTPS)
- RFC 9250 (DNS over QUIC)
خدمات DNS موصى بها
-宁屏 DNS: https://www.nullprivate.com تدعم DoT, DoH (تدعم HTTP3)، دعم أصلي للإعلانات وتقسيم المسار.
- إصدار ذاتي النشر: https://github.com/NullPrivate/NullPrivate