ماهو الـDNS ?
اولا : DNS هو اختصار لكلمه Domain Name System . و يتصل سرفر الـ DNS عادتاً على بورت 53 مما يعنى انك اذا اردت الاتصال الى احد المواقع و استعملت الـ DNS الخاص به ، فسوف تتصل به عن طريق البورت 53 و سوف يترجم او يحول ال translates alphabetical hostnames و يعنى اسم الموقع مثل : WWW.BURN.COM الى IP ADRESSES مثل 127.0.0.1 و العكس صحيح و عندما تتم العمليه تتصل بالموقع مباشره .
و عمليه التحويل هذه تسمى address resolution اى تحويل او تحليل عنوان الموقع الى IP او العكس لنستطيع الاتصال به و قبل ظهور ال DNS كان اسم اخر لعمليه ال address resolution .و لكن قد ظهر ال DNS جعل توزيع الهوستس اسهل بكثير من الماضى حيث انه من السهل ان تتذكر اسم موقع معين تريده افضل من ان تتذكر اربعه خانات من الارقام (IP) .
نظرة تاريخية لالـ DNS:
و كان الاسم المستعمل لالـ address resolution قبل ال DNS يتكون من ملف اسمه ال HOST FILE كان عباره عن اسماء الهوستس اى المواقع و عنواوين ال IP الخاصه بهم و كان هذا الملف تتولى رعايته SRI-NIC (Stanford Research Institute's Network Information Center). و كان على هذا الراعى ان يجدد (UPDATE) الجدول هذا حوالى كل اسبوع و يمده بالعنواوين الجديده و الارقام التى ظهرت و على المدير النظام (System Admin) ان يجدد هو الاخر ملفه او عن طريق اتصال ال FTP بينه و بين الراعى اى SRI-NIC.
و طبعا مع تطور الانترنت الرهيب و السريع بدأ هذا النظام فى الفشل و بدأوا يبحثون عن النظام الامثل الذى يستطيع التحكم فى الهوست و الاى بى معا فى وقت واحد و بسرعه و بترتيب و دقه و طبعا ظهر الـ DNS ليفعل ذلك.
و الـ DNS ليس له مركز اى decentralized اى انه ليس هناك ماكينه او سيستم معين يتحكم فى كل ال DNS بل بالعكس ،فالـ DNS عباره عن داتا بيز موزعه بشكل منظم و توجد على كذا سرفر مختلف و كل سرفر عليه DNS يعرف اين يبحث عندما يريد ان يحصل على معلومه معينه او هوست معين.
مزودات الـDNS ، THE DNS SERVER :
الـ DNS SERVER هو عباره عن كمبيوتر و يعمل عادتا على نظام UNIX او النظم الشبيهه باليونكس و يستخدم برنامج اليونكس BIND اى (Berkeley Internet Name Domain). و يوجد ايضا برامج مثل هذه للويندوز و الماكنتوش ايضا اذا اراد احد استعمالهم كـ DNS SERVER و لكن الكل يفضل الـ UNIX . و يتكون برنامج ال DNS من جزئين :
the name server itself (the daemon program that listens to port 53) و الاخر يسمى RESOLVER و ال NAME SERVER هذا يستجيب الى متصفحك عندما تطلب معلومه معينه فمثلا عندما تفتح الانترنت اكسبلورر و تكتب او تطلب منه موقع معين مثل WWW.BURN.COM فسيسئل المتصفح اقرب DNS موجود له (و هذا يعتمد على اتصالك بالشبكه و رقم الاى بى الخاص بك) عن عنوان الـ IP لـ WWW.BURN.COM لان المتصفح يحتاج هذا الـ IP ليجد السرفر الذى لديه هذا الهوست اى هذا الموقع و يطلب محتويات الموقع من السرفر ليعرضها لك فى متصفحك. و قبل هذا سيسئل الـ daemon program فى جداوله اى فى ذاكره متصفحك عن الموقع الذى تطلبه فأذا لم يجده ينتقل الى ما سبق شرحه و هكذا تتم العمليه .
شجرة المعلومات:
و الان اصدقائى بعد ان اتقفنا على انك عندما تطلب رقم IP معين من المتصفح الخاص بك و لا يجده فى الـ DNS المحلى اى الخاص بك سوف يسأل الـ DNS SERVER الاعلى منه فى المستوى عنه ليجده و اذا لم يجده فى مستوى اعلى فينتقل للبحث فى مستوى اعلى و اعلى و هكذا يسير البحث من الاقل الى الاعلى فى مستويات الـ DNS SERVERS. و طبعاً نتيجه من هذا الاتصال فنستنتج وجود شجره اتصال و معلومات و لكن كيف تعمل بالضبط ؟
دعونا نأخذ مثال :
لو فرضنا ان الـ ISP الخاص بك كان مثلا isp.co.uk و هذا يعتمد على اتصالك بالانترنت اى حسب الشركه و السرفر الذى تتصل عليه فمن الطبيعى طبعا ان يكون ال ISP's DNS server's hostname مثل هذا dns.isp.co.uk و الان فالنفرض انك سألت هذا ال DNS ليبحث لك عن IP الخاص بـ WWW.BURN.COM مثلا فسيقوم هذا الـ dns.isp.co.uk بالبحث فى جداوله المحليه المخزنه فى الذاكره عنده فيجدها و اذا لم يجدها فسينتقل كما قلنا الى مستوى اعلى من الـ DNS SERVER ليبحث فيه و اذا لم يجده ايضا فى المستوى الاعلى فعليه ان يقوم بتغيير مكان البحث كليا فمثلا من dns.isp.co.uk الى some-organization.org.uk او school.edu.uk, university.ac.uk, england.gov.uk, airforce.mil.uk و الخ و هناك امثله كثيرا طبعا و أي عنوان ينتهى بـ UK و اذا لم يجده ايضا فى كل الاماكن المتاح له البحث فيها فسيرجع المتصفح الى اكبر DNS موجود على الشبكه و اسمه ال ROOT فهو يحتوى على كل عناوين ال IP على كل للمواقع الموجوده على اى DOMAIN NAME.
متى ولماذا يقوم الـDNS بالفشل ؟
When and why does DNS "hang" or fail ?
و يمكن ايضا للـ DNS ان يكون بطئ او سريع .اذا كان ال ISP الخاص بك يدنوى على الـ IP الذى طلبته فسوف يحتاج فقط الى اجزاء من الثانيه ليأتى به لك و يعرضه فى متصفحك. اما اذا انتقل المتصفح للبحث فى مستوى اعلى من الـ DNS فسوف يحتاج الى قليلا من الوقت يمتد حتى 15 ثانيه . و فى حاله انه لا يجده سوف تأتيك رساله من متصفحك تقول address could not be found و هذا يحدث نتيجه اعطاء المتصفح HOST او IP خطأ ليبحث عنه و بالتالى طبعا فهو ليس موجود من الاساس ليعرضه او نتيجه طول البحث فيقوم متصفحك بفقدان الاتصال مع الـ DNS اى عمليه TIMED OUT . و فى هذه الحاله نضغط فى المتصفح على REFRESH او RELOAD طبعا حسب متصفحك .