in ,

ما هو نظام أسماء النطاقات DNS؟

ربما قد تكون سمعت بخادم DNS عند الاتصال بشبكة الإنترنت، وهو اختصار للكلمات Domain Name System نظام أسماء النطاقات، لكن ما هو؟

بما أنه لا يمكن الوصول الى الموقع الفيزيائي للجهاز الذي نحاول الاتصال به عن طريق اسم الموقع hostname فقط، وأن جميع الاتصالات تتم باستخدام عناوين IP، فإننا بحاجة لخدمة DNS.

خادم DNS هو جهاز يربط بين اسم الموقع hostname وعنوان IP للجهاز المراد الوصول إليه الذي يستضيف هذا الموقع. في مقالنا هذا سنتعلم عن أنواع خوادم DNS، وأنواع تسجيلات DNS، بالإضافة لرسائل عملية الاتصال بخدمة DNS.

المُقرّر DNS Resolver

هو جهاز حاسوب يستخدمه مزوّدو خدمة الإنترنت Internet Service Providers ISPs ليبحث في قاعدة البيانات عن اسم الموقع الذي يطلبه المستخدم، ثم يوجّه المستخدم لعنوان IP المرتبط بالاسم، كما يلعب دورًا أساسيًا في عمل خدمة DNS.

وأيضًا، يحفظ المُقرّر DNS Resolver البيانات بذاكرة الـcache، فمثلًا الموقع example.com حاليًا موجود على الجهاز الذي يملك عنوان IP 33.196.226.230 عندها جميع المُقرّرات في العالم ستربط عنوان IP كالتالي:

example.com   <–   33.196.226.230 

بالتالي إذا تغيّر الخادم الذي يستضيف الموقع وأصبح له عنوان IP 33.196.266.170 فإن الذاكرة لكل المُقرّرات في العالم ستبقى محتفظة بعنوان IP القديم لفترة من الزمن. هذا قد يسبب توقف الموقع عن العمل لفترة من الزمن حتى ينتشر التغيير بالكامل.

تبقى البيانات المخزنة في ذاكرة الـchache للمُقرّرات DNS Resolvers محفوظةً لفترة من الزمن تُدعى زمن الحياة أو time to live TTL. ويمكن ضبط هذا الزمن بإعدادات التسجيل عند شراء النطاق الخاص بالموقع.

أنواع خوادم DNS

الخادم المركزي Root DNS Server

الخوادم المركزية هي التي لديها عناوين جميع خوادم نطاق المستوى الأعلى Top Level Domain TLD Server، إذ يصل الطلب أولًا للخوادم المركزية لنظام DNS في رحلته للحصول على عنوان IP لاسم الموقع المطلوب.

يوجد 13 خادمًا مركزيًا منتشرةٌ حول العالم حتى تاريخ العام 2016، وهذا لا يعني وجود 13 جهاز فقط حول العالم للتعامل مع الطلبات الهائلة من جميع أرجاء المعمورة، إذ يوجد عدة خوادم لدى مزودي خدمات الإنترنت ISPs المحليين للاستجابة لهذه الطلبات.

تقوم عدة منظمات بإدارة الخوادم المركزية لنظام DNS وهنا قائمة بها:

خادم نطاق المستوى الأعلى Top Level Domain TLD Server

يُصنَّف هذا النوع من الخوادم نسبةً الى نطاقات المستوى الأعلى مثل com. المخصص للشركات و org. للمنظمات الغير ربحية و au. نسبة لدولة أستراليا (علمًا أن لكل دولة نطاق خاص بها) وغيرها.

عادةً ما تكون خوادم المستوى الأعلى وجهة رسائل الطلب بعد خادم DNS المركزي، ويُخزّن فيها سجلٌ مخصصٌ لنطاق TLD لاسم الموقع المطلوب.

فمثلًا إذا طلبنا عنوان IP للموقع aliens-sci.com عندها ستذهب رسالة الطلب الى خوادم TLD الخاصة بالنطاق .com يقوم خادم النطاق TLD عندها بإرسال عنوان خادم DNS الموثّق Authoritative DNS server إلى المُقرّر DNS Resolver.

خوادم TLD مشيرة الى خوادم الأسماء الموثّقة Authoritative Name servers

الآن يظهر لدينا التساؤل: كيف تعرف خوادم TLD عنوان الخادم الموثّق؟ الجواب ببساطة هو عند شرائك للنطاق من شركات مثل Godaddy أو Namecheap فإن الشركة تصل النطاق بخادم TLD بحيث يمكنه الاتصال مع خوادم الأسماء الموثّقة Authoritative DNS server.


الخادم الموثّق Authoritative DNS server

يرسل المُقرّر DNS Resolver استعلاماتٍ تكراريةً Iterative queries إلى هذه الخوادم في نهاية عملية البحث عن عنوان IP، إذ تخزّن هذه الخوادم نوع السجل الحقيقي ,A, NS etc, CNAME, TXT.

بالتالي تعيد هذه الخوادم عنوان IP الخاص باسم الموقع في حال كان موجودًا، أما إذا لم يكن موجودًا حتى في الخادم الموثّق Authoritative DNS server فتُرسل رسالة خطأ، وتنتهي عملية البحث عن عنوان IP.

A, NS, CNAME, TXT هي أسماء سجلات DNS، وكلٌّ منها مخصص لنوع معين من طلبات DNS، فمثلًا:

سجلات A مخصصة لربط عنوان IP الخاص بك مع اسم النطاق.

بينما MX تحوي سجلات عن العنوان الذي يجب إيصال الرسائل الالكترونية emails الخاصة بالنطاق إليه Mail exchange record.

أنواع رسائل استعلام DNS

يوجد ثلاثة أنواع من رسائل DNS:

الاستعلامات التتابعية Recursive queries:

يرسل المستخدم هذه الاستعلامات إلى المُقرّر DNS Resolver، وهي الرسائل الأولى عند أي عملية بحث لنظام DNS.

يمكن أن يكون المُقرّر مدير شبكتك network admin، لكن غالبًا ما يكون مزود خدمة الإنترنت ISP.

الاستعلامات غير التتابعية Non-recursive queries:

في هذا النوع يكون العنوان موجودًا في المُقرّر DNS Resolver، ويجري الرد فورًا بدون إرسال أي استعلامات لخوادم أسماء أخرى.

يحدث ذلك عندما يملك خادم DNS المحلي عنوان IP مخزنًا في ذاكرة cache الخاصة به، أو أن الاستعلام وصل مباشرةً إلى خادم الأسماء الموثّقة Authoritative name server والذي يحوي السجلات المطلوبة، وبالتالي لا حاجة لإرسال رسالة استعلام تتابعية Recursive query.

الاستعلامات التكرارية Iterative queries:

تحدث عندما لا يتمكّن المُقرّر DNS Resolver من العثور على عنوان IP المطلوب، حيث لم يجد العنوان في ذاكرة cache الخاصة به، لذا يرسل طلب إلى خادم DNS مركزي الذي يعرف كيفية إيجاد خادم النطاق TLD المطلوب.

فمثلًا إذا أردنا الحصول على عنوان IP للموقع aliens-sci.com عندها الخادم المركزي Root domain server الذي يملك عنوان خادم TLD الخاص بنطاقات .com سيرسله إلى المُقرّر. عندها يطلب المُقرّر من خادم TLD الحصول على عنوان IP المطلوب. قد لا يعلم خادم TLD العنوان لكنه يعلم عنوان الخادم الموثّق Authoritative DNS server للموقع aliens-sci.com.

مخطط يلخص جميع ما ذكرناه

 لنناقش الخطوات الموجودة في المخطط أعلاه:

1. يرسل المستخدم طلب الى المُقرّر DNS Resolver فيه اسم الموقع Hostname المطلوب عنوان IP الخاص به. فتكون هذه رسالة استعلام تتابعية recursive query.

2. يبحث المُقرّر DNS Resolver في ذاكرته الـ cache ليعرف إذا كان العنوان مخزنًا عنده مسبقًا.

3. إذا كان العنوان موجودًا يرسله المُقرّر مباشرةً إلى المستخدم.

4. اذا لم يكن مخزنًا في ذاكرته، يرسل المُقرّر DNS Resolver رسالة استعلام تكرارية iterative request إلى خوادم DNS المركزية الموجودة حول العالم. (حتى عام 2016 كان يوجد 13 خادمًا مركزيًا Root DNS server، أسماؤها من A إلى M).

يبحث خادم DNS المركزي عن نطاق المستوى الأعلى TLD المناسب للنطاق المطلوب. فمثلًا إذا كان اسم الموقع aliens-sci.com فان TLD المناسب هو .com ويوجد في الخادم المركزي مُدخل لخوادم النطاق  com. وبالتالي تُرسل نتيجة البحث إلى المُقرّر. يجب أن تكون عناوين جميع الخوادم المركزية عند المُقرّر وإلا يمكن لطلب DNS أن يفشل.

5. عندها يرسل المُقرّر DNS Resolver استعلام تكراري iterative request الى خادم النطاق المستوى الأعلى TLD يطلب فيه عنوان IP للنطاق. يجيب خادم TLD بعنوان الخادم الموثق Authoritative server للنطاق المطلوب.

6. بما أن خادم DNS الموثق يحوي على السجلات التي تربط بين اسم الموقع وعنوان IP الخاص به، فإنه يرسل العنوان المطلوب إلى المُقرّر DNS Resolver، والذي بدوره يعيد العنوان إلى المستخدم.

7 . اذا لم يكن هناك سجل مطابق في الخادم الموثق Authoritative server، ستظهر رسالة الخطأ                    “DNS_PROBE_FINISHED_NXDOMAIN” مشيرةً أنه لا توجد سجلات لاسم الموقع المطلوب.

8 . يُخزّن العنوان لاسم الموقع المطلوب في ذاكرة الـcache الخاصة بجميع الخوادم التي مرّ فيها الطلب. لذا عند طلب أي مستخدم لنفس العنوان فإن السجلات ستكون موجودةً في الذاكرة.

9 . إجمالًا تتطلب العملية كحدٍّ أقصى أربعة استعلامات للقيام بعملية البحث DNS، أما بالنسبة للزمن المستغرق فهو لا يتعدَّ بضعة الميلي من الثانية فقط.

مفهوم انتشار DNS أو DNS Propagation

لنفرض أن موقع إلكتروني يُستضاف على خوادم إحدى الشركات الخاصة بتقديم خدمات الاستضافة مثل Digital Ocean. وإن الخادم server عنوان IP الخاص به هو x.  ونريد تغير الخادم الموجود عليه الموقع إلى خادم آخر، وليكن له العنوان y، عندها علينا تغيير العنوان في سجلات الموثّق Authoritative records بحيث تُرسَل طلبات DNS إلى العنوان الجديد.

حتى إذا حُدِّثت السجلات لدى الجهة المسؤولة عن استضافة الموقع فإن العملية تتطلب مدةً من الزمن حتى ينعكس التحديث في ذاكرة جميع المُقرّرات في العالم حيث يتطلب انتشار DNS بين 24 – 72 ساعة.

لحسن الحظ فإن العملية تتم بشكلٍ أسرع من ذلك، حيث يعيّن غالبية مزودي خدمة الإنترنت IPs زمن حياة TTL منخفض.

 المصدر

  • إعداد: شهد مكانسي.
  • مراجعة: ياسر طبيله.
  • تدقيق لغوي: رأفت فياض.

بواسطة شهد مكانسي

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

مقدمة في البيولوجيا

شارلز داروين

باحثة في جامعة كامبريدج تثبت إحدى نظريات داروين للتطور