نظام أسماء النطاقات (DNS)
تتواصل الآلات باستخدام عناوين IP. يفضل البشر أسماء النطاقات القابلة للقراءة. بدلاً من كتابة 142.250.64.78، نكتب www.google.com.
نظام أسماء النطاقات هو دليل عالمي موزع يقوم بالمطابقة:
اسم النطاق → عنوان IP
[www.google.com](http://www.google.com) → 142.250.64.78
هيكل نظام DNS
نظام DNS هو نظام هرمي، موزع ومتكرر. يعمل مثل شجرة مقلوبة.
مثال: www.example.com
.com→ نطاق المستوى الأعلى (TLD: Top Level Domain)example.com→ نطاق المستوى الثانيwww.example.com→ نطاق فرعي (أو FQDN: Fully Qualified Domain Name)
كيفية عمل حل DNS
عندما يريد العميل الاتصال بـ www.example.com:
- يتحقق من الذاكرة المؤقتة المحلية لـ DNS. إذا تم العثور على عنوان IP، يستخدمه ويتوقف العملية هنا.
- وإلا، فإنه يستعلم محلل DNS الخاص به (غالباً ما يتم تكوينه بواسطة DHCP).
- يطلب المحلل من خوادم DNS الجذرية (
.). - تعيد هذه الخوادم التوجيه إلى خادم TLD لـ
.com. - يعيد TLD التوجيه إلى الخادم DNS المخول لـ
example.com. - يجيب هذا الأخير بعنوان IP لـ
www.example.com.
يمكن للعميل الآن الاتصال بعنوان IP الذي تم إرجاعه. كما يوضح المخطط أدناه، فإن محلل DNS هو الذي يقوم بعملية البحث. العميل لا يحتاج إلى معرفة تسلسل خوادم DNS.
ذاكرة التخزين المؤقت لـ DNS
لتحسين الأداء:
- يتم تخزين كل إجابة DNS مؤقتًا، مع TTL (وقت الحياة).
- يمكن للعميل أو المحلل إعادة استخدام الإجابة لفترة معينة.
- هذا يمنع من إعادة تنفيذ السلسلة بأكملها في كل مرة.
خوادم DNS: الأدوار
| نوع خادم DNS | الدور الرئيسي |
|---|---|
| محلل (resolver) | يقوم بالاستعلام للعميل |
| جذر (root servers) | نقطة البداية (13 خادم جذر عالمي) |
| خوادم TLD (.com, .org) | تدير نطاقات المستوى الأول |
| مخول | يعرف سجلات نطاق معين |
أنواع سجلات DNS
| النوع | الوصف | مثال |
|---|---|---|
| A | عنوان IPv4 | example.com → 93.184.216.34 |
| AAAA | عنوان IPv6 | example.com → 2606:2800:... |
| MX | خادم البريد | gmail.com → mail.gmail.com |
| CNAME | اسم مستعار لاسم آخر | www → example.com |
| NS | خوادم DNS المخولة | example.com → ns1.example.net |
| TXT | معلومات متنوعة (مثل: SPF) | يستخدم للمصادقة |
أدوات اختبار DNS (ويندوز)
nslookup
يستعلم يدويًا عن خادم DNS ويعرض عنوان IP المرتبط.
nslookup www.google.com
لتغيير خادم DNS (google dns: server 8.8.8.8).
nslookup github.com 8.8.8.8
ping و tracert
ping www.google.com→ يحل الاسم إلى IPtracert www.google.com→ يظهر مسار الشبكة
خوادم DNS العامة الشهيرة
| المزود | عنوان DNS | ملاحظات |
|---|---|---|
8.8.8.8, 8.8.4.4 | سريع، موثوق | |
| Cloudflare | 1.1.1.1 | احترام الخصوصية |
| OpenDNS | 208.67.222.222 | فلاتر الوالدين |
المشاكل الشائعة المتعلقة بـ DNS
| الأعراض | السبب المحتمل |
|---|---|
| صفحة ويب غير قابلة للوصول | DNS غير مكون بشكل صحيح أو غير قابل للوصول |
| حل DNS بطيء | خادم بعيد أو محمل بشكل زائد |
| اسم النطاق محلول إلى IP خاطئ | مشكلة في الذاكرة المؤقتة أو هجوم DNS (التزوير) |
الأمان و DNS
-
تاريخياً، كان DNS غير مشفر.
-
طرق جديدة مثل DNS over HTTPS (DoH) أو DNSSEC تسمح بـ:
- تشفير الاستعلامات.
- توقيع الإجابات DNS لتجنب التزوير.
ملخص
| العنصر | الدور |
|---|---|
| DNS | يترجم الأسماء إلى عناوين IP |
| الحل التكراري | العميل → المحلل → الجذر → TLD → الخادم المخول |
| الذاكرة المؤقتة | يحسن الأداء (TTL) |
nslookup | أداة اختبار يدوية لحلول DNS |