انتشار DNS

البروتوكولات والمعايير
الوقت اللازم لانتشار تغييرات DNS عبر خوادم DNS حول العالم.
← العودة إلى القاموس

ما هو انتشار DNS؟

يشير انتشار DNS إلى الوقت الذي تستغرقه تغييرات سجلات DNS حتى تُعرف عبر الإنترنت. فعند تغيير خوادم الأسماء أو سجلات A أو MX لا تصبح التغييرات فعالة فوراً، بل تنتهي النسخ المخزنة مؤقتاً وتُجلب الإجابات الجديدة من الخوادم الموثوقة.

فهم «الانتشار»

مصطلح «الانتشار» مضلل قليلاً، لأن تغييرات DNS لا تنتشر كرسالة نشطة. بل:

1. تحدّث السجلات لدى خادم الأسماء الموثوق.

2. تنتهي النسخ المؤقتة وفق TTL (مدة البقاء).

3. تجلب الاستعلامات الجديدة السجلات المحدثة.

4. تستمر النسخ القديمة حتى ينتهي TTL.

الأدق وصف العملية بانتهاء ذاكرة DNS المؤقتة، لكن مصطلح الانتشار شائع الاستخدام.

كيف تعمل تغييرات DNS؟

عملية التحديث

Step 1: Update DNS records

example.com A record: 203.0.113.50 → 203.0.113.51

Step 2: Authoritative nameserver immediately serves new record

Step 3: Existing cached copies remain valid until TTL expires

Step 4: New queries after TTL expiration receive updated record

Step 5: All caches eventually expire and refresh

→ "Propagation complete"

مثال على الجدول الزمني

Time: 10:00 - DNS updated (TTL: 300s / 5 minutes)

Resolver A (cached at 09:58):

09:58 - Cached old IP, expires 10:03

10:03 - Cache expires, queries again, gets new IP

Resolver B (cached at 10:01):

10:01 - Cached old IP, expires 10:06

10:06 - Cache expires, queries again, gets new IP

Resolver C (queries at 10:05):

10:05 - No cache, queries immediately, gets new IP

All resolvers have new IP by: 10:06

Propagation time: 6 minutes (worst case based on TTL)

عوامل تؤثر في مدة الانتشار

TTL (مدة البقاء)

أهم عامل منفرد:

قيمة TTLمدة الانتشارحالة الاستخدام
60s1-2 دقيقةعمليات الترحيل النشطة وموازنة الحمل
300s (5 دقائق)5-10 دقائقتغييرات الإنتاج والافتراض المعقول
3600s (ساعة)1-2 ساعةبنية مستقرة
86400s (24 ساعة)24-48 ساعةسجلات نادراً ما تتغير

تغييرات خوادم الأسماء

تستغرق تغييرات خوادم الأسماء وقتاً أطول:

Registry Level: 24-48 hours (TLD nameserver cache)

Resolver Level: Based on NS record TTL

Total Time: Up to 48 hours worst case

سلوك مزود الإنترنت والمحلل

لا تحترم كل محللات DNS قيم TTL تماماً:

المحللات المنضبطة: Google (8.8.8.8) وCloudflare (1.1.1.1) وOpenDNS. المحللات الإشكالية: بعض مزودي الإنترنت.

التوزيع الجغرافي

تتحدث المناطق المختلفة في أوقات مختلفة بحسب ذاكرة محللها:

North America: 10:05 - Updated

Europe: 10:08 - Updated

Asia: 10:12 - Updated

التخزين المؤقت لدى العميل

قد تحتفظ ذاكرات محلية بالقيم القديمة:

فحص انتشار DNS

أدوات الفحص الإلكترونية

whatsmydns.net: يعرض الحل من أكثر من 20 موقعاً حول العالم. dnschecker.org: يفحص سجلات A وAAAA وCNAME وMX وTXT عالمياً. فحص صحة DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Shows current DNS configuration

فحوصات سطر الأوامر

فحص محللات متعددة:
# Google DNS

dig @8.8.8.8 example.com

# Cloudflare DNS

dig @1.1.1.1 example.com

# Your ISP (no @ server specified)

dig example.com

# Compare results

الاستعلام من خادم الأسماء الموثوق مباشرةً:
# Find nameservers

dig example.com NS

# Query authoritative NS directly

dig @ns1.example.com example.com

يعرض ذلك «الحقيقة» فوراً من دون ذاكرة مؤقتة.

الفحص من مواقع متعددة

# Using curl with DNS over HTTPS

curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=example.com&type=A'

تقليل مدة الانتشار

قبل إجراء التغييرات

الخطوة 1: خفض TTL (قبل التغيير بـ24-48 ساعة)
Old: example.com.    3600    IN    A    203.0.113.50

New: example.com. 300 IN A 203.0.113.50

^^^

Reduced to 5 minutes

الخطوة 2: انتظر انتهاء TTL القديم

انتظر المدة الكاملة لـTTL القديم (3600 ثانية = ساعة).

الخطوة 3: غيّر DNS
example.com.    300    IN    A    203.0.113.51
الخطوة 4: راقب الانتشار

افحص المحللات حول العالم.

الخطوة 5: أعد TTL بعد التأكد من النجاح:
example.com.    3600    IN    A    203.0.113.51

أثناء التغييرات

استخدم DNS Anycast عندما يناسبك، وراقب الانتشار باستمرار، واحتفظ بخطة رجوع وبالبنية القديمة حتى اكتمال التحديث.

سيناريوهات الانتشار الشائعة

تغيير سجل A

الوقت المتوقع: 5-30 دقيقة (بحسب TTL)
# Before

example.com → 203.0.113.50

# After

example.com → 203.0.113.51

# Propagation: 1x TTL duration

تغيير سجل MX

الوقت المتوقع: 5-30 دقيقة (بحسب TTL) الخطر: قد تصل الرسائل إلى الخادم القديم أثناء الانتشار. التخفيف: أبقِ خادم البريد القديم فعالاً 24-48 ساعة.

تغيير خوادم الأسماء

الوقت المتوقع: 24-48 ساعة
Why so long?
  • TLD registry caches NS records
  • Registry TTL often 24-48 hours
  • No control over registry cache
أفضل ممارسة: جهز جميع السجلات لدى الخوادم الجديدة قبل التبديل.

إضافة نطاق فرعي جديد

الوقت المتوقع: من لحظي إلى ساعة. المشكلة الخفية: التخزين السلبي.
If subdomain was queried and didn't exist:

→ NXDOMAIN cached (SOA minimum TTL)

→ New subdomain won't resolve until cache expires

التخفيف: خفض SOA minimum TTL قبل إضافة سجلات جديدة.

استكشاف مشكلات الانتشار

التغيير لا ينتشر

الفحص 1: تحقق من خادم الأسماء الموثوق
dig @ns1.example.com example.com

# Should show new value

الفحص 2: تحقق من TTL
dig example.com | grep -i ttl
الفحص 3: افحص SOA للذاكرة السلبية
dig example.com SOA

# Look at minimum TTL field

الفحص 4: امسح الذاكرة المحلية

امسح ذاكرة المتصفح ونظام التشغيل والتطبيق.

انتشار جزئي

العرض: يرى بعض المستخدمين السجلات الجديدة ويرى آخرون القديمة. السبب: خزنت محللات مختلفة الإجابة في أوقات مختلفة. الحل: انتظر أقصى مدة TTL ثم امسح ذاكرات العملاء.

انتشار عالق

العرض: بعد أيام، ما زالت بعض المحللات تقدم السجلات القديمة. السبب: تجاهل محلل مزود الإنترنت TTL أو كان مهيأً بصورة خاطئة. الحل:

1. تحقق من صحة خادم الأسماء الموثوق.

2. تواصل مع مزود الإنترنت عند استمرار المشكلة.

3. يمكن للمستخدمين التبديل إلى DNS عام (8.8.8.8 و1.1.1.1).

انتشار DNS مقابل TTL الخاص بـDNS

المفهومما هوالمدة
TTLمدة إمكانية تخزين السجليحددها مالك النطاق
الانتشارزمن انتهاء جميع النسخنحو ضعفي TTL
TTL خادم الأسماءمدة تخزين سجلات NSغالباً 24-48 ساعة لدى السجل
التخزين السلبيمدة تخزين NXDOMAINMinimum في SOA

أفضل الممارسات

1. اخفض TTL قبل التغييرات: قبل تحديث DNS بـ24-48 ساعة.

2. استخدم TTL مناسباً: وازن بين الأداء والمرونة.

3. راقب عالمياً: افحص DNS من مناطق جغرافية متعددة.

4. أبقِ الخدمات القديمة فعالة: حتى اكتمال الانتشار.

5. وثّق التغييرات: سجل ماذا تغير ومتى.

6. اختبر بدقة: تحقق من السجلات قبل التبديل.

7. أبلغ المستخدمين: حذرهم من الاضطرابات القصيرة المحتملة.

8. استخدم DNS مُداراً: تقلل شبكات Anycast مدة الانتشار.

9. أتمت المراقبة: اضبط تنبيهات لتغييرات DNS وحالة الانتشار.

10. جهز خطة رجوع: اعرف كيف تعكس التغيير.

قائمة تحقق الانتشار

☐ Lower TTL 24-48 hours before change

☐ Wait for old TTL to expire

☐ Make DNS change

☐ Verify on authoritative nameservers

☐ Check multiple public resolvers

☐ Test from multiple geographic locations

☐ Monitor for 2x TTL duration

☐ Verify no errors reported

☐ Restore higher TTL if desired

☐ Document change completion

انتشار DNS نتيجة طبيعية لتخزين DNS المؤقت. يضمن فهم سلوك TTL والتخطيط للتغييرات وفقاً له تحديثات سلسة ومتوقعة مع أقل قدر من الاضطراب.

استفد من هذه المعرفة

استخدم API الخاص بـ DomScan للتحقق من توفر النطاقات وصحتها والمزيد.