KNOWLEDGE

لماذا توجد 13 مجموعة فقط من خوادم الجذر في العالم؟

يفرض القيد الصارم في DNS على حجم حزمة UDP البالغ 512 بايت سقفًا رياضيًا قدره 13 مجموعة — وهو ثابت منذ 1997، وتخدمه اليوم أكثر بكثير من ألف نسخة Anycast مطابقة حول العالم.

الخلاصة

كان بروتوكول DNS مصممًا في الأصل للعمل عبر IPv4 + UDP، حيث يبلغ الحد الأقصى لحمولة UDP غير المجزأة 512 بايت. ويجب أن تتسع قائمة خوادم الجذر في حزمة استجابة UDP واحدة (لتجنب الرجوع إلى TCP، الذي يزيد زمن الاستجابة والتعقيد). وبالحساب العكسي انطلاقًا من بنية رسالة DNS، يتبين أن أقصى عدد من خوادم الجذر يمكن أن تتسع له الرسالة هو 13. لم يقع الاختيار على هذا الرقم لأنه «يكفي بالكاد» — بل هو سقف صارم يفرضه البروتوكول منذ 1995، وبقي دون تغيير حتى اليوم حفاظًا على التوافق مع مليارات الأجهزة الطرفية.

1. القيد الصارم في البروتوكول: 512 بايت

1.1 قيمة MTU في IPv4 وحزم UDP غير المجزأة

اشترطت شبكات ARPANET وIPv4 المبكرة حدًا أدنى لقيمة MTU قدره 576 بايت. وكان على كل مضيف أن يتمكن من استقبال حزم بهذا الحجم، وإلا فلا يمكن ضمان حتى إمكانية الوصول الأساسية (RFC 791).

RFC 791 — Internet Protocol, 1981, § 3.1 Total Length
Total Length is the length of the datagram, measured in octets,
including internet header and data.  This field allows the length of
a datagram to be up to 65,535 octets.  Such long datagrams are
impractical for most hosts and networks.  All hosts must be prepared
to accept datagrams of up to 576 octets (whether they arrive whole
or in fragments).  It is recommended that hosts only send datagrams
larger than 576 octets if they have assurance that the destination
is prepared to accept the larger datagrams.
  • الطول الكلي 576 بايت − ترويسة IP النموذجية بحجم 20 بايت − ترويسة UDP بحجم 8 بايت ≈ 548 بايت قابلة للاستخدام (مع خيارات IP قد تصل الترويسة إلى 60 بايت، فيتبقى أقل من ذلك)
  • اعتمد RFC 1035 § 4.2.1 قيمة أكثر تحفظًا من قوى العدد 2، وهي 512 بايت، حدًا أقصى صارمًا لبروتوكول DNS عبر UDP — وهي آمنة حتى عندما تحمل ترويسة IP كامل خياراتها
  • إذا تجاوزت استجابة UDP حجم 512 بايت، فيجب اقتطاعها مع تعيين العلامة TC، مما يجبر العميل على الرجوع إلى TCP — ومصافحة TCP الثلاثية تضاعف زمن الاستجابة عند أول تحليل عدة مرات

بعبارة أخرى، «يجب أن تتسع قائمة خوادم الجذر كاملة في حزمة UDP واحدة بحجم 512 بايت» — وإلا لكان على كل استعلام جذر في العالم أن يمر عبر TCP، وهو ما كان سيقترب من الكارثة على عتاد ثمانينيات القرن الماضي.

1.2 توزيع البايتات في رسالة DNS

البنية الكاملة للاستجابة على استعلام سجلات NS للنطاق . (يعيد الخادم جميع سجلات NS للجذر إضافة إلى سجلات glue من نوع A):

Header   (12 بايت)

صيغة الطول الكلي:

L(N) = 12 + 5 + 31 + 15(N-1) + 16N = 31N + 33

بالتعويض بحد 512 بايت:

31N + 33 ≤ 512 ⇒ N ≤ 15.45

نظريًا يسمح ذلك بما يصل إلى 15 مجموعة، لكن يلزم ترك هامش لتوقيعات DNSSEC وسجل EDNS0 OPT الزائف وحشو الحقول، فاستقر العدد عند 13 مجموعة — إذ وضع RFC 2010 (1996) المعايير التشغيلية لخوادم الجذر، ولم يتغير العدد منذ تشغيل M-root في العام التالي.

1.3 جربه بنفسك — <code>dig +noedns -t ns .</code> يعيد نحو 490–510 بايت

هذا من الناحية النظرية. والآن لنستعلم فعليًا من خادم الجذر باستخدام dig ونرى الحجم الحقيقي للاستجابة:

terminal — dig +noedns -t ns .
$ dig +noedns -t ns .

; <<>> DiG 9.10.6 <<>> +noedns -t ns .
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35973
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 15

;; QUESTION SECTION:
;.                                IN      NS

;; ANSWER SECTION:
.                       430502  IN      NS      a.root-servers.net.
.                       430502  IN      NS      b.root-servers.net.
…  (13 سجل NS إجمالًا، حُذفت c إلى l)
.                       430502  IN      NS      m.root-servers.net.

;; ADDITIONAL SECTION:
a.root-servers.net.     516909  IN      A       198.41.0.4
b.root-servers.net.     562547  IN      A       170.247.170.2
…  (اتسعت جميع سجلات glue من النوع A وعددها 13)
m.root-servers.net.     516941  IN      A       202.12.27.33
a.root-servers.net.     516930  IN      AAAA    2001:503:ba3e::2:30
b.root-servers.net.     562547  IN      AAAA    2801:1b8:10::b
↑ لم يتسع إلا سجلان AAAA — الحزمة ممتلئة

;; Query time: 8 msec
;; SERVER: 192.168.1.1#53
;; MSG SIZE  rcvd: 492

السطر الأهم في النهاية — إجمالي الاستجابة نحو 490–510 بايت، أي دون 512 بهامش مريح (يعتمد الرقم الدقيق على خادم الجذر الذي تسأله وعدد سجلات glue من نوع IPv6 المعادة) — يطابق ميزانية البايتات أعلاه. لاحظ الخيار +noedns: يرسل dig امتداد EDNS0 افتراضيًا، فتتجاوز الاستجابة 800 بايت بكثير. ولهذا السبب تحديدًا لم تعد 512 بايت حدًا صارمًا بعد أن أصبح EDNS0 معتمدًا في كل مكان — لكن الرقم 13 كان قد ثبت قبل ذلك.

2. من أين جاء الرقم 13؟ لمحة تاريخية

لم يكن هذا الرقم ثابتًا منذ البداية. فقد مر عدد خوادم الجذر بعدة توسعات، وبعد تشغيل M-root (WIDE، اليابان) عام 1997 لم يتغير مطلقًا:

السنةالعددالحدث الأبرز
19844التصميم الأولي لبروتوكول DNS، وجميع الخوادم في الولايات المتحدة
19917إضافة عقد أكاديمية وأخرى تابعة لوزارة الدفاع الأمريكية
19959انضمام RIPE NCC (K-root) — أول خادم في أوروبا
199713انضمام مشروع WIDE (M-root) — أول خادم في آسيا، وتثبيت العدد
200713إضافة دعم IPv6 (المكدس المزدوج)، مع بقاء «عدد المجموعات» من حيث عناوين IP دون تغيير
202313نقلت USC-ISI عنوان IP لخادم B-root إلى 170.247.170.2 (وأوقف العنوان القديم 199.9.14.201)

بعد تثبيت العدد عند 13، لا تتغير أسماء الحروف من A إلى M أبدًا — بل يقتصر الأمر على ترقية الأجهزة وإضافة نسخ Anycast. فملف تلميحات الجذر للإنترنت (named.root) مدمج منذ زمن طويل في شيفرة مليارات من محللات DNS العودية والعملاء الطرفيين (stub)؛ وتغيير رقم واحد يعني ترقية الإنترنت بأكمله.

3. لكن هل توجد حقًا 13 آلة فقط في العالم؟

لا. هذا هو الاعتقاد الخاطئ الأكثر شيوعًا. فعبارة «13 مجموعة من خوادم الجذر» تشير إلى 13 اسمًا من أسماء NS (a–m.root-servers.net)، يقابل كل منها عنوان IPv4 واحدًا وعنوان IPv6 واحدًا — وليس 13 جهازًا فعليًا.

خلف كل عنوان IP عنقود Anycast — إذ تعلن مئات من مراكز البيانات حول العالم عن عنوان IP نفسه عبر BGP في الوقت ذاته، وتوجه الشبكة استعلام DNS الخاص بالمستخدم إلى أقرب نسخة بحسب RTT. وعندما «يتعطل» خادم جذر، فهذا يعني عادةً أن نسخة مدينة واحدة قيد الصيانة — ولا يتأثر التحليل على مستوى العالم.

حالة 13 مجموعة من خوادم الجذر في عام 2024

الحرفالجهة المشغلةIPv4IPv6نسخ Anycast
AVerisign, Inc.198.41.0.42001:503:ba3e::2:3053
BInformation Sciences Institute (USC)170.247.170.22801:1b8:10::b6
CCogent Communications192.33.4.122001:500:2::c12
DUniversity of Maryland199.7.91.132001:500:2d::d187
ENASA Ames Research Center192.203.230.102001:500:a8::e254
FInternet Systems Consortium192.5.5.2412001:500:2f::f274
GUS DOD Network Information Center192.112.36.42001:500:12::d0d6
HUS Army Research Laboratory198.97.190.532001:500:1::5317
INetnod192.36.148.172001:7fe::5375
JVerisign, Inc.192.58.128.302001:503:c27::2:30168
KRIPE NCC193.0.14.1292001:7fd::1113
LICANN199.7.83.422001:500:9f::42218
MWIDE Project202.12.27.332001:dc3::3512
إجمالي نسخ Anycast (2024)1395

يستضيف البر الرئيسي الصيني (بكين وشنغهاي وشنتشن وقوانغتشو وخفي وغيرها) عقد نسخ Anycast لعدة خوادم جذر منها F / I / J / K / L؛ وتكون قيمة RTT المقيسة إلى خوادم الجذر من داخل الصين عادةً أقل من 20ms.

4. بعد EDNS0 لم تعد 512 بايت حدًا فعليًا

قد تسأل: حزم DNS بحجم 4KB أو أكثر شائعة اليوم، فلماذا لا «نتجاوز الرقم 13» ببساطة؟

  • EDNS0 (RFC 2671 عام 1999، والمعتمد حاليًا RFC 6891) — يتيح التفاوض على حمولة UDP أكبر (4096 بايت عادةً)، وتدعمه جميع محللات DNS الحديثة
  • يفرض DNSSEC استخدام EDNS0، لأن بيانات التوقيع وحدها تتجاوز 512 بايت بكثير
  • الرجوع إلى TCP — أصبحت مصافحة TCP الثلاثية الحديثة مع TLS / cookies منخفضة التكلفة بالفعل

لكن قائمة خوادم الجذر أصبحت اليوم إجماعًا على مستوى الشبكة كلها: فكل محلل DNS عودي على وجه الأرض يحمل هذه المجموعات الثلاث عشرة مثبتة في ملف التلميحات (named.root)، وخلف هذه المحللات مليارات الأجهزة الطرفية. الحافز للتغيير معدوم، والمخاطر هي انقسام الإنترنت العالمي، لذا سيبقى هذا الرقم على الأرجح 13 إلى الأبد.

باختصار: عفا الزمن على «13 مجموعة» من الناحية المادية منذ أمد بعيد، لكن تغييرها مستحيل من الناحية الهندسية.

5. أهم الخلاصات

  1. السبب التاريخي: حد 512 بايت لبروتوكول DNS عبر UDP → سقف رياضي قدره 15 مجموعة → اختيار 13 مع هامش احتياطي، وتثبيت العدد بعد تشغيل M-root عام 1997
  2. جمود البروتوكول: تحديث ملفات التلميحات على مليارات الأجهزة الطرفية غير عملي، لذا لا يتغير الرقم أبدًا
  3. السعة الفعلية: 1395+ عقدة من نسخ Anycast، ما يجعل خطر التعطل في نقطة واحدة شبه معدوم
  4. إمكانية الوصول من الصين: لعدة خوادم جذر منها F / I / J / K / L نسخ في البر الرئيسي الصيني، بقيمة RTT مقيسة <؛ 20ms

قراءات إضافية

mimetic
mimetic
mimetic