1. حاجز اللغة بين البشر وأجهزة الكمبيوتر
في عالم الإنترنت، يتم تحديد موقع كل جهاز كمبيوتر أو خادم من خلال سلسلة من الأرقام تسمى عنوان IP (مثل: 142.250.196.110). ومع ذلك، من المستحيل على البشر حفظ جميع عناوين IP لمواقع الويب التي يصلون إليها يوميًا. وذلك لأنه من الأسهل بكثير على البشر تذكر أسماء النطاقات (سلاسل نصية ذات معنى) مثل “google.com” أو “apple.com”.
هذا النظام الضخم الذي يترجم ويربط تلقائيًا بين “أسماء النطاقات التي يستخدمها البشر” و “عناوين IP التي تستخدمها أجهزة الكمبيوتر” هو DNS (نظام أسماء النطاقات). غالبًا ما يُشبه DNS بـ “دليل هاتف الإنترنت”. تمامًا كما تبحث عن “يامادا” في دليل الهاتف إذا كنت تريد معرفة رقم هاتف السيد يامادا، يقوم المتصفح بالاستعلام من خادم DNS في الخلفية لمعرفة عنوان IP الخاص بـ “google.com”.
2. الحاجة إلى قاعدة بيانات موزعة ضخمة
ماذا سيحدث إذا حاولنا إدارة جدول تطابق جميع أسماء النطاقات وعناوين IP في العالم على “خادم عملاق واحد”؟ ستتدفق مئات الملايين من الاستعلامات في الثانية من جميع أنحاء العالم، مما سيؤدي إلى تعطل الخادم على الفور، وإذا تعطل هذا الخادم، فلن يتمكن أي شخص في العالم من استخدام الإنترنت.
لذلك، تم تصميم DNS كـ قاعدة بيانات موزعة هرمية حيث تتعاون مئات الآلاف من الخوادم حول العالم لإدارة البيانات بشكل موزع. يُقال إن هذا هو النظام الموزع الأكثر نجاحًا والأكبر حجمًا في تاريخ علوم الحاسوب.
3. الهيكل الهرمي لأسماء النطاقات (بنية الشجرة)
لفهم كيفية عمل DNS، يجب أن تعرف “هيكل” أسماء النطاقات. في الواقع، أسماء النطاقات لها تسلسل هرمي (بنية شجرية) من اليمين إلى اليسار.
على سبيل المثال، إذا قمنا بتحليل نطاق مثل www.example.co.jp. من اليمين، فسيكون على النحو التالي:
.(الجذر): قمة جميع النطاقات. في الواقع، هناك نقطة مخفية “.” في نهاية كل نطاق.jp(نطاق المستوى الأعلى / TLD): التسلسل الهرمي الذي يمثل دولة اليابان. هناك أيضًا نطاقات أخرى مثل.comو.net.co(نطاق المستوى الثاني): التسلسل الهرمي الذي يمثل شركة (company).example(نطاق المستوى الثالث): اسم الشركة أو المؤسسة.www(اسم المضيف): اسم خادم معين (مثل خادم ويب) داخل تلك المؤسسة.
في عالم DNS، يتم وضع “خادم DNS مسؤول (خادم DNS الموثوق)” لكل مستوى، وهو يعرف فقط معلومات الاتصال (عنوان IP) للمسؤولين في المستوى الذي يليه مباشرة.
4. عملية تحليل الأسماء: رحلة تناقل المسؤولية
عندما تكتب https://www.example.co.jp في متصفحك، تجري عملية “تحليل الاسم” (البحث عن عنوان IP من الاسم) الضخمة التالية في الخلفية في لحظة (عشرات الميلي ثانية).
graph TD
User(("جهازك الشخصي/الهاتف الذكي")) -->|"1. ما هو IP لـ www.example.co.jp؟"| Resolver["خادم DNS للتخزين المؤقت (مزود الخدمة)"]
Resolver -->|"2. لا أعرف، سأسأل القمة"| Root["خادم DNS الجذري (13 نظاماً في العالم)"]
Root -->|"3. اسأل المسؤول عن jp"| Resolver
Resolver -->|"4. إلى المسؤول عن jp"| JPDNS["خادم DNS المسؤول عن .jp"]
JPDNS -->|"5. اسأل المسؤول عن co.jp"| Resolver
Resolver -->|"6. إلى المسؤول عن co.jp"| CoJPDNS["خادم DNS المسؤول عن .co.jp"]
CoJPDNS -->|"7. اسأل المسؤول عن example.co.jp"| Resolver
Resolver -->|"8. إلى المسؤول عن example"| ExampleDNS["خادم DNS المسؤول عن example.co.jp"]
ExampleDNS -->|"9. عنوان IP لـ www هو 192.0.2.1"| Resolver
Resolver -->|"10. إنه 192.0.2.1"| User
- الطلب من خادم DNS للتخزين المؤقت: يطلب جهاز الكمبيوتر الخاص بك أولاً من “خادم DNS للتخزين المؤقت” الخاص بمزود الخدمة المتعاقد معه (مثل NTT أو KDDI) للبحث نيابة عنه.
- الاستعلام لخادم الجذر: إذا كان خادم مزود الخدمة لا يعرف الإجابة، فإنه يسأل “خادم DNS الجذري (لا يوجد سوى 13 نظامًا في العالم)” الذي يتربع على قمة العالم. يرد خادم الجذر: “أنا لا أعرف، لكنني سأعطيك عنوان IP للمسؤول عن
.jp، فاسأله هناك”. - تتابع تناقل المسؤولية: يسأل خادم مزود الخدمة خادم
.jpالمسؤول الذي أُخبر به، ثم يسأل خادم.co.jpالمسؤول… وهكذا يتم تناقل المسؤولية (التفويض) واحدًا تلو الآخر أثناء النزول في التسلسل الهرمي. - الإجابة النهائية: أخيرًا، يصل إلى خادم DNS للشركة التي تدير
example.co.jpويحصل على الإجابة النهائية “عنوان IP لـwwwهو هذا”.
هذا التتابع المعقد يحدث في جميع أنحاء العالم في كل مرة ننقر فيها على رابط.
5. تسريع باستخدام قوة التخزين المؤقت
إذا كنا سنقوم بهذا التتابع في كل مرة، فسيصبح الإنترنت بالكامل بطيئًا، وستنهار خوادم DNS الجذرية في القمة.
لمنع ذلك، توجد آلية التخزين المؤقت (الحفظ المؤقت). يتذكر خادم DNS للتخزين المؤقت الخاص بمزود الخدمة “عنوان IP لـ google.com” الذي تم البحث عنه مرة واحدة في الذاكرة لفترة زمنية معينة (TTL: وقت البقاء). في المرة القادمة التي تسأل فيها أنت أو أحد جيرانك “ما هو عنوان IP لـ google.com؟"، فلن يضطر للذهاب وسؤال العالم بأسره، بل سيتمكن من الإجابة على الفور (في غضون بضعة ميلي ثانية) بـ “لقد بحثت عنه للتو، لذا فهو هذا”.
تتم معالجة أكثر من 99% من استعلامات DNS في العالم على الفور بفضل هذا التخزين المؤقت، وهذا ما يدعم السرعة المريحة للإنترنت.
6. الخلاصة
نظام DNS هو “البطل المجهول” الذي لا ندركه عادة على الإطلاق. ومع ذلك، لولا هذا النظام الموزع الهرمي الذي صممه بول موكابتريس وآخرون في الثمانينيات، لما أمكن وجود الإنترنت الضخم الحالي على الإطلاق.
تتحمل مئات الآلاف من خوادم DNS المنتشرة في جميع أنحاء العالم مسؤولية مناطق عملها، وتتعاون مع بعضها البعض في تتابع. يعد DNS البنية التحتية التي تجسد فلسفة “التوزيع المستقل” للإنترنت بأجمل شكل.
