نظام إدارة أسماء النطاقات DNS Server



إن
تقنية الـ DNS تشبه إلى حد كبير دليل الهاتف، حيث يمكننا في دليل الهاتف
من خلال معرفة اسم الشخص الحصول على رقمه من أجل القيام بعملية الاتصال،
اسم الشخص في الدليل يقابل في الشبكة الاسم المعرف للجهاز المراد الاتصال
به عبر الشبكة و رقمه يقابل عنوان الـ IP الموافق للاسم المعرف للجهاز.
عند الاتصال بحاسب آخر على الشبكة فمن الأفضل استعمال اسم هذا الحاسب بدلاً
من استعمال عنوان IP له، عندها فإن الجهاز المتصل يقوم بالاتصال مع مخدم
DNS الذي يقوم بعملية إلحاق عنوان IP الموافق للاسم المعرف للجهاز المطلوب
الاتصال به، حيث أن عنوان الـ IP ضروري من أجل تأسيس عملية الاتصال عبر
الشبكة.

خدمة الـ Domain Name System ) DNS )
إن تقنية الـ DNS تشبه إلى حد كبير دليل الهاتف، حيث يمكننا في دليل الهاتف
من خلال معرفة اسم الشخص الحصول على رقمه من أجل القيام بعملية الاتصال،
اسم الشخص في الدليل يقابل في الشبكة الاسم المعرف للجهاز المراد الاتصال
به عبر الشبكة و رقمه يقابل عنوان الـ IP الموافق للاسم المعرف للجهاز.
عند الاتصال بحاسب آخر على الشبكة فمن الأفضل استعمال اسم هذا الحاسب بدلاً
من استعمال عنوان IP له، عندها فإن الجهاز المتصل يقوم بالاتصال مع مخدم
DNS الذي يقوم بعملية إلحاق عنوان IP الموافق للاسم المعرف للجهاز المطلوب
الاتصال به، حيث أن عنوان الـ IP ضروري من أجل تأسيس عملية الاتصال عبر
الشبكة.
قبل استخدام نظام DNS كانت عملية إنشاء الأسماء المعرفة للأجهزة تتم من
خلال ملفات تسمى Host File ، و لكن مع زيادة عدد الأجهزة التي تتضمنها
الشبكة ثم تصميم نظام DNS لاستبدال ملفات الـ Host بقاعدة بيانات موزعة
Distributed Database ذات حجم غير محدد نظرياً تسمح بتوزيع و أتمتة
الإدارة، بالإضافة إلى تحسين الأداء و ذلك من خلال استعمال بنية هرمية
لتعريف عناصر النطاق Domain، فخدمة DNS تؤمن ترجمة الأسماء المستخدمة
للدلالة على عناصر النطاق إلى عناوين IP الموافقة، حيث أن استخدام أسماء
ذات دلالة معينة أسهل من استخدام عناوين IP، مثلاً عندما ندخل على موقع عرب
ترون على شبكة الإنترنت نستعمل الاسم: www.dc.com.sa الـ DNS يقوم بترجمة الاسم إلى عنوان IP الموافق، و هذه العملية تحفظ في قاعدة البيانات الموزعة (DNS Distributed Database ).
تقنية التسمية في الـ DNS :
تعتمد تقنية التسمية في النطاق على عملية التجميع الهرمي للأسماء حيث تعرف
النطاقات Domains عدة مستويات مختلفة في بنية هرمية، و هذه المستويات هي:
1- النطاق أو الميدان الجذري ( Root Domain): يمثل أعلى مستوى في البنية الهرمية و يشار إليه بنقطة (.) Period .
2- مستوى القمة للنطاقات (Top-Level Domains):
يمثل هذا المستوى باختصارات من رمزين أو ثلاثة ، تعبر عن نوع المنظمة ، أو
الموقع الجغرافي ، أو عن أي شيء آخر و الجدول التالي يعرض بعض الأمثلة عن
الاختصارات التي تمثل مستوى القمة Top level Domains .
Government organizations(المنظمات الحكومية)
gov
Commercial organizations( المنظمات التجارية)
com
Educational institutions ( المراكز العلمية)
edu
Noncommercial organizations(المنظمات غير التجارية)
org
يمكن لنطاقات المستوى الأعلى Top Level Domain أن تحتوي على نطاقات المستوى الثاني Second Level Domains ، بالإضافة إلى المستخدمين .
3- المستوى الثاني للنطاقات (Second Level Domains):
يمكن أن يحتوي هذا المستوى على مستخدمين ، و على نطاقات أخرى تدعى Sub
domains على سبيل المثال نطاق مؤسسة الدوائر الرقمية: dc.com.sa و يمكن أن
يحتوي على حواسيب مثل: pc19.dc.com.sa ، أو نطاقات فرعية Sub domains مثل:
technical.dc.com.sa .
4- أسماء المضيفين(Host Names):تكون
أسماء المضيفين إشارة إلى كمبيوترات موجودة على الانترنت أو في شبكة
خصوصية وتكون أسماء المضيفين دائماً في أقصى اليسار ضمن الاسم . وكما في
المثال السابق يكون عنوان المضيف username@dc.com.sa ويكون بذلك اسم مؤهل بالكامل FQDN ) fully qualified domain name ).

كيف تعمل خدمة الـ DNS :
يتألف نظام الـ DNS من ثلاثة عناصر أساسية :
1- Resolvers أو Clients (الأجهزة الزبونة على الشبكة) : و هم مستخدمو الشبكة الذين يقومون بتقديم طلبات تحويل اسم معطى إلى عنوان IP الموافق و الضروري من أجل تحقيق الاتصال عبر الشبكة .
2- Name Servers أو Servers (المخدمات):
تحتوي مخدمات الـ DNS على معلومات عن عناوين الحواسيب الزبونة على الشبكة و
عناوين الـ IP الموافقة ، حيث تقدم هذه المعلومات إلى المستخدمين الذين
يقومون بإرسال الطلبات Requests من أجل الحصول على مثل هذه المعلومات . في
حال لم يكن المخدم Name Server قادراً على تقديم المعلومات لسبب أو لآخر ،
فإن الطلب يمكن أن يمرر إلى مخدم آخر .
3- Domain Name Space ( فضاء الأسماء) : و هو
فضاء الأسماء الذي يعبر عن جميع عناصر النطاق ، حيث يتم إلحاق أسماء عناصر
النطاق به ، فعلى سبيل المثال إذا كان لدينا الحاسب PC19 ينتمي إلى النطاق
technical.dc.com.sa فإن الدلالة عليه تأخذ الشكل التالي:
pc19.technican.dc.com.sa و إذا كان لدينا المستخدم anas ضمن نفس النطاق
فإن الإشارة إلى هذا المستخدم تصبح : anas@technical.dc.com.sa... و هكذا .
Zones (المناطق في الـ DNS):
تعتبر الـ Zone الوحدة الإدارية الأساسية في نظام الـ DNS و تمثل جزء من
قاعدة بيانات الـ DNS . بشكل مبسط فإن الـZone تحتوي معلومات حول جزء من
النطاق Domain ، و في حال وجود نطاقات فرعية Subdomains ضمن النطاق الكلي ،
فإن كل نطاق فرعي يمكن تمثيله بواسطة Zone ، و تتوضع معلومات الـ Zone في
ملف يسمى الـ Zone file .
على سبيل المثال لدينا النطاق الفرعي technical.dc.com.sa الذي يمثل الجزء
الخاص بالقسم الفني (جزء من النطاق الكلي dc.com.sa ) يتم تمثيله بواسطة
المنطقة Zone التي تحوي المعلومات المتعلقة بهذا النطاق الفرعي ، و بنفس
الطريقة تمثل بقية النطاقات الفرعية .إن وجود المناطق Zones يؤدي إلى توزيع
الإدارة و تسهيل الحصول على المعلومات و التعامل معها و زيادة كفاءة
مخدمات الـ DNS في سرعة تنفيذ الخدمات و تحمل الأخطاء .
يوجد ثلاث أنواع للمناطق Zones :
1- المناطق المتكاملة مع خدمة الدليل الفعال( Active Directory_Integrated ):

يمثل هذا النوع النسخة الأساسية لأي منطقة جديدة ، حيث تستعمل المنطقة
Zone خدمات الدليل الفعال لتخزين و إجراء النسخ المطابق عن ملفات المناطق
Zone Files.
2- المناطق الأساسية Standard Primary : و
تمثل النسخة الأساسية لمنطقة جديدة حيث تخزن هذه النسخة على ملف نصي قياسي ،
و يدار هذا النوع من المناطق و يحفظ على الحاسب الذي تم إنشاء المنطقة
الجديدة Zone عليه .
3- المناطق الثانوية( Standard Secondary ):
هذا النوع يمثل نسخة مطابقة عن منطقة موجودة مسبقاً ، و هو للقراءة فقط غير
قابل للتعديل و تخزن في ملف نصي قياسي . يجب ملاحظة أنه عند إنشاء منطقة
أساسية Primary Zone يجب أن يتم إنشاء منطقة ثانوية Secondary Zone ، أي
أنه يجب تحقيق التلازم بين المناطق الأساسية و الثانوية . تتجلى الفائدة من
المناطق الثانوية في إنشاء مصدر احتياطي للمعلومات يؤمن تقديم الخدمة
للزبائن المستفيدين من خدمة DNS في الشبكة في حال توقف مخدم DNS الرئيسي عن
العمل و تقليل الحمل على مخدم DNS الرئيسي الذي يحوي ملف قاعدة بيانات
المنطقة الأساسية .
أنواع الطلبات التي يتم إرسالها إلى مخدم DNS :
يوجد ثلاث أنواع من الطلبات Queries التي يمكن أن يرسلها المستخدم إلى مخدم الـ DNS، و هذه الأنواع هي :
1- الطلب من نوع Recursive : في هذا النوع من
الطلبات يقوم المخدم بإرسال المعلومات المطلوبة إلى الزبون صاحب الطلب ،
أو يقوم بإرسال رسالة خطأ إلى الزبون في حال عدم توفر هذه المعلومات، في
هذا النوع من الطلبات يكون المخدم غير قادراً على توجيه الطلب إلى مخدم آخر
لتخديمه .
2- الطلب من نوع Iterative : في هذا النوع ،
يقدم المخدم صاحب العلاقة أفضل خدمة قادر على تنفيذها إلى الزبون صاحب
الطلب ، كأن يقدم عنوان الـ IP الموافق للاسم الذي ينتمي إلى فضاء الأسماء
Domain Name Space أو أن يقدم الاسم المقابل لعنوان IP المعطى من قبل
الزبون، أما في حال عدم توفر المعلومات المطلوبة فإن هذا المخدم يملك
إمكانية توجيه هذا الطلب إلى مخدم آخر يمكن أن يقدم المعلومات الملائمة
لحاجة الزبون على خـلاف ما يتم تحقيقه في الطلب من نوع Recursive .
3- الطلبات من نوع Inverse : تم إيجاد مثل
هذا النوع من الطلبات من أجل تقديم الأسماء المناسبة لعناوين الـ IP
المعطاة وذلك باستخدام نطاق خاص يسمى in-addr.arpa والذي يعطي الاسم المعرف
للجهاز الزبون من خلال عنوان الـ IP لهذا الجهاز أي بشكل معاكس للطلبات آنفة الذكر. في هذا النطاق يتم تسجيل عناوين الـ IP بشكل عكسي ( بشكل مشابه لأسماء الـ DNS ) مما يسهل الحصول على على الاسم المطلوب من خلال عنوان الـ IP المعطى .

يتم تسجيل محتويات هذا النطاق ضمن سجلات خاصة تسمى PTR Records تنشأ بعد
بناء نطاق in-addr.arpa ، حيث تحتوي هذه السجلات على عناوين الـ IP
المكتوبة بصورة عكسية متبوعة باسم النطاق in-addr.arpa مع الأسماء المعرفة
للأجهزة الموافقة . و كمثال على ذلك لإيجاد الاسم الموافق للعنوان
157.55.200.51 يوجه المستخدم طلباً من نوع Inverse للبحث ضمن سجلات PTR
Records عن العنوان51.200.55.157 .in-addr.arpa من أجل الحصول على الاسم
الموافق للجهاز .
سجلات الـ DNS :
ذكرنا سابقاً أن قاعدة بيانات الـ DNS يمكن تقسيمها إلى مناطق Zones ، حيث
تعتبر السجلات Records المكون الأساسي لهذه المناطق . يطلق على هذه السجلات
اسم سجلات المصادر( Resource Records ( RRs ، و أهم هذه السجلات:
1- Start of Authority Record: يمثل هذا
السجل السجل الأول في أي منطقة Zone من قاعدة بيانات الـ DNS ، حيث يعرف
بعض البارامترات الخاصة بـ DNS مثل زمن تحديث قاعدة البيانات ، الرقم
التسلسلي ، بالإضافة إلى زمن بقاء المعلومات المؤقتة، وغيرها ...
2- Host Record : يربط هذا السجل الاسم
المعرف لجهاز معين بعنوان الـ IP الموافق له ، و يعتبر هذا النوع من
السجلات المكون الأساسي لقاعدة بيانات الـ DNS . مثال: localhost IN A
127.0.0.1
3- CNAME Record : هذا النوع من السجلات يمكن
من ربط أكثر من واحد من الأسماء المعرفة بعنوان IP واحد ، ويشار إلى هذا
في بعض الأحيان بما يسمى الإلحاق Aliasing ، و كمثال عن محتويات سجل الـ
Cname :
ftp Cname pc19
www Cname pc19
نلاحظ أنه تم إلحاق الاسمين www و ftp بالاسم pc19 و بالتالي أصبحت هناك
إمكانية للوصول إلى هذا الحاسب من خلال ثلاثة أسماء هي pc19,www,ftp .
منطقة البحث الأمامي Forward Lookup Zone :
هذا النوع من المناطق يمكن نوعي الطلبات Recursive و Iterative السابقي
الذكر ، أي أنه يتم من خلال هذه المناطق الحصول على عنوان الـ IP الموافق
للاسم المعطى وفق نوعي الطلب السابقين . من الجدير ذكره أنه يجب إعداد
منطقة بحث أمامي واحدة على الأقل في كل مخدم DNS لكي تعمل خدمة الـ DNS .

ملاحظة : عند تنصيب خدمة الدليل الفعال
باستخدام معالج تنصيب خدمة الدليل الفعال Active Directory Installation
Wizard و السماح للمعالج بتنصيب و تهيئة مخدم الـ DNS، فإن المعالج سيقوم
بإنشاء منطقة بحث أمامي بشكل تلقائي .
منطقة البحث العكسي Reverse Lookup Zone :
تمكن هذه المناطق نوع الطلبات Reverse فقط، و الذي يتم من خلاله الحصول على
الاسم الموافق لعنوان الـ IP الذي يقدمه المستخدم . هذا النوع غير ضروري
لعمل خدمة الـ DNS كما هو الحال في منطقة البحث الأمامي.

يعد الحصول على اسم المستخدم بالاعتماد على عنوان الـ IP ضرورياً في بعض
التطبيقات ، فعلى سبيل المثال إذا قام أحد البرامج باستدعاء خدمات معينة عن
طريق عنوان الـ IP للحاسب أو المخدم ، عندها يتم تنفيذ استعلام من نوع
Reverse يقدم الاسم الموافق لهذا العنوان ، و هذا ما نلاحظه عند تصفح شبكة
الانترنت حيث يمكن تقديم عنوان الـ IP أو الأسماء على حد سواء ، أي أننا
يمكن أن استخدام العنوان 198.168.1.201 أو العنوان www.microsoft.com للوصول إلى موقع شركة مايكروسوفت.