كمبيوتر وملحقاته

كيف يعمل خادم أسماء النطاقات Domain name Server DNS

كيف يعمل خادم أسماء النطاقات Domain name Server (DNS)

إذا كنت قد وصلت إلى هذه الصفحة أو انك قمت بإرسال رسالة بريدية e-mail أو كنت تتجول عبر صفحات الانترنت فأنت بالتأكيد وبدون ان تلاحظ تتعامل مع خوادم لأسماء النطاقات والذي يعرف باسم domain name servers ويكتب اختصاراً DNS.  تعتبر هذه خوادم DNS مهمة جدا وتعتبر الجزء الخفي من الانترنت.  ويشكل نظام DNS أعظم قاعدة بيانات موزعة على الكرة الأرضية.  وبدون الـ DNS فان الانترنت يتوقف في لحظات.

اعلانات جوجل

في هذه المقالة من كيف تعمل الأشياء سوف نتحدث عن نظام الـ DNS لتتعرف على فكرة عمله وقدرته المذهلة. 

عندما نقوم بزيارة صفحة على الانترنت أو نقوم بإرسال رسالة الكترونية لأحد أصدقاؤنا فاننا نستخدم اسم النطاق domain name لفعل ذلك.  وعلى سبيل المثال فان الرابط http://www.hazemsakeek.net يحتوي على النطاق hazemsakeek.net وكذلك البريد الالكتروني @hotmail.com.

لاحظ عزيزي القارئ اننا نعتمد على الأسماء كثيرا وأسهل لنا ان نتذكرها فمثلا تذكر اسم صديقك وربما لا تحفظ رقم تلفونه ولذلك عندما تخزن رقمه فانك تشير لهذا الرقم باسم صديقك الذي تعرفه به، ولكن بالنسبة للآلات فان الأمر مختلف تماما حيث ان الأسماء بالنسبة لها لا تعني شيء فهي لا تتعامل إلا بالأرقام ولذلك فان شبكة الانترنت تتعامل مع أرقام تعرف باسم IP addresses أي عناوين بروتوكول الانترنت. وهذا العناوين تستخدم للتميز بين المواقع التي نتصفحها على الانترنت.  فمثلا العنوان hazemsakeek.net له عنوان محدد ومميز هو 66.103.150.101.
وفي كل مرة تقوم فيها بكتابة عنوان الموقع (اسم النطاق
domain name) الذي تود زيارته فان المتصفح يقوم بالاتصال بجهاز الخادم الخاص بأسماء النطاقات DNS ليترجم له هذا العنوان ويحوله للأرقام المحجوزة لهذا الموقع IP address، وخلال تصفحك للانترنت فانك من الممكن ان تكون قد اتصلت بجهاز خادم DNS مئات المرات. قد تعتقد ان الأمر بسيط في كون ان العملية ترتكز على تحويل اسم نطاق الموقع إلى عنوان IP، ولكن الأمر ليس بهذه البساطة التي تظهر بها، فهناك العديد من الأمور التي يجب ان ننتبه لها وهي:

(1) هناك بلايين من عناوين IP المستخدمة في عالم الانترنت بعدد أسماء النطاقات في العالم.

اعلانات جوجل

(2) هناك بلايين من الطلبات يوميا موجه لخوادم DNS والفرد الواحد قد يكون وجه مئات الطلبات في اليوم ان لم يكن آلاف الطلبات وتصور عدد الأشخاص المتصفحين للانترنت معك في نفس اللحظة.

(3) أسماء النطاقات وعناوينها تتغير باستمرار.

(4) كل يوم تستحدث مواقع جديدة.

(5) ملايين الناس تغير أسماء النطاقات وتضيف أسماء جديدة بصورة يومية.

لهذا فان نظام قاعدة بيانات DNS يتلقى اكبر قدر ممكن من الطلبات في اليوم وهذا ما يجعل قواعد بيانات الـ DNS أكثر قواعد البيانات التي يستخدمها الناس على الكرة الأرضية، وهذا ما يجعلها مميزة.

اعلانات جوجل

 

عناوين بروتوكول الانترنت IP Addresses

لكي تكون كل أجهزة الانترنت تعمل بطريقة سليمة فان لكل جهاز يعطى عنوان مميز يسمى عنوان بروتوكول الانترنت IP address وكل عنوان مكون من مجموعة من الأرقام بحجم 32-bit وتكتب هذه الأرقام بنسق متماثل بحيث تكون في صورة أربع مجموعات وكل مجموعة تمثل 8-bit.  ويكون هذا العنوان على النحو التالي:

216.183.103.150

تسمى الأربع أرقام في عنوان IP بالثمانية لان تأخذ القيم من 0 إلى 255 أي ان هناك 28 من الاحتمالات لكل مجموعة.

اعلانات جوجل

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

لنقوم بفحص عنوان IP لجهازك الآن، كل ما عليك هو ان تقوم بتشغيل الأمر RUN وتكتب CMD وتضغط على زر موافق لتفتح لك شاشة تنفيذ الأوامر (شاشة سوداء) تكتب عند إشارة الإدخال الأمر IPCONFIG.EXE ثم تضغط على المفتاح Enter.

وبالتالي فانه من حيث فكرة عمل الانترنت فانه يمكن ان يتم كتابة رقم IP للموقع المراد تصفحه وسيقوم المتصفح بالوصول للخادم الذي يحتوي على الموقع ويجلبه لك.  ولكننا بالتأكيد نفضل التعامل مع أسماء المواقع Domain name.

أسماء المواقع أو النطاقات Domain Names

كما ذكرنا سابقا اننا نجيد حفظ الأسماء ولا نستطيع حفظ سلسلة من الأرقام ولهذا فان التعامل مع أسماء المواقع أفضل بكثير وبالطبع هناك الكثير من المواقع التي نتذكرها بسهولة ومن هذه الأسماء على سبيل المثال

اسم نموذجي لموقع

اسم موقع مشهور

اسم موقع تعليمي

اسم موقع لا يبدأ بالأحرف www

اسم موقع مختصر بأحرفه الأولى

اسم موقع يشير إلى خادم FTP وليس خادم صفحات ويب.

www.hazemsakeek.net

www.yahoo.com

www.mit.edu

Encarta.msn.com

www.bbc.co.uk

ftp.microsoft.com

 

وتعتبر الكلمات com و edu  و uk و غيرها بأسماء النطاق ذو المستوى العالي top-level domain أو المستوى الأول first level domain.  وهناك الكثير من هذه الكلمات التي نتعامل معها مثل gov  و net و org وكذلك الأسماء المكونة من حرفين تشير للدولة التي فيه الموقع. 

وفي كل اسم نطاق يوجد أيضا المستوى الثاني second-level domains وهي الأسماء التي تسبق المستوى الأول مثل

hazemsakeek

yahoo

msn

microsoft

والكثير الكثير 

وكل اسم مستوى ثاني في com يجب ان يكون فريد ولا مثيل له ولكن من الممكن ان يكون هناك لكل اسم ثاني أكثر من مستوى أول يحتويه مثل hazemsakeek.com أو hazemsakeek.net أو hazemsakeek.org.

وفي بعض التسميات التي تضاف لها رمز الدولة مثل yahoo.com.uk فهذا تعتبر مستوى ثالث ويمكن ان تصل عدد المستويات إلى 127 مستوى ولكن أكثر من أربع مستويات تعتبر حالات نادرة.

أما الكلمة www أو Encarta فهي تشير إلى اسم المضيف host name.  وهو يشير إلى جهاز محدد له عنوان IP ثابت ويمكن ان يكون لكل اسم نطاق أكثر من اسم مضيف طالما إنها أسماء مميزة لهذا النطاق.

ولهذا فان كل الأسماء التي تشترك في اسم نطاق المستوى الأول com يجب ان تكون وحيدة ولا يسمح أبدا بتكرار اسم النطاق تحت الاسم com لذلك فان شركة Network Solutions هي المسئولة عن هذا الأمر.  فعندما تقوم بتسجيل اسم نطاق لك فان عملية تحقق تتم من خلال مسجلين متصلين مع تلك الشركة ليتم إضافة هذا الاسم لقائمة الأسماء.  وتقوم شركة Network Solutions بالحفاظ على قاعدة البيانات المركزية والتي تعرف باسم whois والتي فيها كل البيانات عن الموقع وصاحبه ومعلومات أخرى.  ويمكنك ان تجرب الآن بالضغط على whois form لتحصل على معلومات عن موقع ما إذا كان محجوزا أو تستعلم عن موقع ما.  حيث يظهر لك نموذج لإدخال اسم النطاق والبحث.
عنه.

كما يمكنك إدخال رقم الـ IP وبالحث عن اسم الموقع بتحديد خانة IP Address في النموذج.

قد يتبادر في ذهنك عزيزي القارئ ان هذا قد يكون مشكلة فكيف تكون شركة وحيدة هي مالكة هذه المعلومات الغاية في الأهمية؟ أو ان تكون دولة مثل بريطانيا أو السعودية أو مصر لها اسم نطاقها العالي uk أو su أو eg أو شركة كبيرة مثل مايكروسوفت تمتلك ملايين الأسماء فلماذا لا يكون لها الحق في إدارة الأسماء التي تخضع لها.  بالطبع هذا تساؤل منطقي جدا وله حل بالتأكيد حيث ان نظام الـ DNS يتعامل بنظام قواعد البيانات الموزعة distributed database.  فمثلا شركة ميكروسوفت مسئولة تماما عن الخادم الذي يدير نطاقها وكذلك الحال لنطاق الدول فتكون مصر مسئولة عن النطاقات التي تقع تحت eg وهكذا لباقي الدول وهذه المسؤولية أيضا تسمح لها بتغير وحجز النطاقات لكل من يريد ان يحجز اسم له تحت اسم النطاق العالي.

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

أنظمة التوزيع The Distributed System

أنظمة الخادم DNS تقوم طوال الوقت بمهمتين هما

(1) استقبال الطلبات من متصفحات الانترنت وتحولها إلى عناوين رقمية IP addresses.

(2) استقبال الطلبات من أجهزة الخادم الأخرى (تذكر اننا ذكرنا انه لا يوجد جهاز خادم مركزي) للـ DNS وتحولها إلى عناوين رقمية IP addresses.

وعندما يتم استقبال طلب فان جهاز الخادم DNS يقوم بأحد هذه العمليات

(1) الإجابة المباشرة على الطلب وتوفير رقم IP لأنه يعرفه أو انه موجود لديه لان النطاق محجوز فيه.

(2) الاتصال بخادم DNS آخر في محاولة لإيجاد رقم IP للنطاق المطلوب وربما حاول من خوادم أخرى لحين إيجاد الخادم الذي يعرف المعلومة المطلوبة.

(3) ان يعطي رد بأنه لا يعرف عنوان IP للنطاق الذي تتصفحه.

(4) ان يعطي رسالة خطأ تخبرك بان النطاق المطلوب غير متوفر أو انه لا يوجد من الأساس.

توضيح أكثر

عندما تقوم بكتابة عنوان موقع ما (URL) في متصفح الإكسبلورر أو الابرا أو الفيرفوكس، فان المتصفح يقوم بتحويل عنوان الموقع (اسم النطاق واسم المضيف) إلى رقم IP حتى يتمكن المتصفح من طلب صفحة الويب من الجهاز الخادم الذي يحتوي على الصفحة.  وهنا فان المتصفح يقوم بالاتصال بالجهاز الذي يحتوي الصفحة (web server) فانه يفعل ذلك من خلال الاتصال مع DNS

ملاحظة: جهاز خادم الويب web server هو جهاز خادم يستضيف الموقع الذي تتصفحه وسوف نقوم بشرح فكرة عمله في مقال منفصل. وهنا نرجو ان لا تتداخل المواضيع مع بعضها البعض فمحتويات الموقع له أجهزة تخدمه web server واسم الموقع له أجهزة تخدمه DNS كما ان أنظمة البريد الالكتروني له أجهزة تخدمه تسمى mail server.

يتصل المتصفح مع خادم اسم النطاق DNS ويطلب منه ان تحويل اسم النطاق إلى عنوان IP فيقوم الخادم بالرد عليه وقد يعتمد على ذاكرة الكاش cache التي يختزن فيها أرقام IP التي طلبت حديثا فتسرع العملية كثيرا.  ولهذا عندما تطلب موقع قد يحتاج الأمر بعض الوقت ولكن إذا قمت بطلبه مرة أخرى ستجد ان الحصول على الموقع أصبح أسرع من المحاولة الأولى.  حيث انه في المحاولة الأولى فان الخادم سوف يقوم بالاتصال بالأجهزة الرئيسية لأسماء النطاقات root name servers والتي تحتفظ بعناوين كل أجهزة الخوادم التي تتحكم في أسماء النطاقات العليا top-level servers مثل com  أو net أو غيرها، فيحصل الخادم على طلبه أو يتم تحويله إلى خادم آخر وهكذا حتى يحصل على رقم IP. وتخيل ان هذه العلمية تحدث عبر أجهزة الخادم DNS المنتشرة في كل مكان على الكرة الأرضية. 

ملاحظة: كل جهاز خادم لأسماء النطاقات DNS يحتفظ بقائمة بالخوادم الرئيسية root name servers ليتم الاتصال بها واحد تلو الآخر.  

عملية البحث هذه عملية معقدة وذكية في نفس الوقت (ان صح التعبير) حيث انه عملية البحث تنتشر بين أجهزة خوادم DNS لتحصل على المعلومة وأي خادم يحصل على المعلومات يقوم بحفظها في ذاكرة الكاش حتى لو تكرر الطلب مرة أخرى من أي متصفح فان عملية البحث تتوجه مباشرة لهذا الخادم دون الحاجة لتكرار عملية البحث مرة أخرى.  والجدير بالذكر هنا ان عملية الحفظ هذه لا تدوم لفترة طويلة حيث ان كل خادم لديه زمن محدد بتقنية تعرف باسم Time To Live وتكتب اختصارا TTL تحدد الزمن الذي تحتفظ به الذاكرة بالمعلومات. فعندما يستقبل الخادم العنوان فانه يستقبل معه TTL أيضا.  ويقوم الخادم بالاحتفاظ بالعنوان حسب المدة المحددة بالـ TTL وهذه المدة قد تكون في حدود الدقائق وقد تستمر لأيام وبعدها يقوم بحذفها من ذاكرته.  

ملاحظة: تفيد أيضا تقنية TTL في حالة تغير اسم الخادم (أي عندما تقوم بتحويل اسم نطاق الموقع من شركة إلى أخرى) حيث تستغرق عملية تعميم الاسم الجديد ثلاثة أسابيع متصلة لتتحدث المعلومات في كافة الأجهزة وهنا تأتي أهمية TTL في إبقاء الموقع فعالا خلال عملية الانتقال.  ولقد لمست هذا الأمر فعليا عندما قمت بنقل اسم النطاق hazemsakeek.net من شركة إلى أخرى حيث كان الموقع يعمل أحيانا وأحيانا أخرى يظهر المتصفح رسالة ان الموقع غير موجود. 

إنشاء اسم نطاق Domain Name

عندما ترغب في ان تحجز لك اسم نطاق على الانترنت فانك تقوم بالتالي

(1) إيجاد جهاز الخادم DNS المناسب لحجز اسم النطاق لديه.

(2) تسجيل اسم النطاق.

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

ولحجز اسمك على الانترنت أي اسم النطاق تحتاج إلى ان تقوم بتعبئة نموذج معد من قبل الشركة على الانترنت وتدخل بيانات التسجيل واسم النطاق الذي تود حجزه كاسمك أو اسم شركتك أو أي اسم ترغب في ان يكون عنوان موقعك.  وبعد تلقي طلبك والتأكد من عدم حجز هذا الاسم وإلا ستضطر للبحث عن اسم بديل أو قبول الاقتراحات التي ستوفرها لك يظهرها لك النموذج بان يضيف أرقام أو كلمة قبل الاسم وكلما قلت أحرف الاسم كلما كانت فرصة حجزه اقل وستجد ان هناك من سبقك له لذا ستضطر لقبول أسماء نطاقات بعدد اكبر من الأحرف.

بمجرد تأكيد قبولك لحجز الاسم ودفع القيمة المستحقة (في حدود 10 دولار سنويا للنطاقات الشائعة مثل com أو net ويزداد هذا السعر لنطاقات مثل tv أو نطاقات الدول) وبعدها يحجز الاسم لك ويتم وضح صفحة under construction ويتم تحويل طلب حجز الاسم إلى قاعدة بيانات whois، والتي تقوم بدورها بتحديث قاعدة بياناتها مرتين كل يوم للنطاقات مثل com و net وorg وغيرها فيكون لك اسم في قاعدة بيانات DNS مع عنوان الـ IP لتعمم على كافة قواعد البيانات الأخرى في العالم.

وعندما تقوم بتصفح موقعك سوف تجد صفحة under construction إلى ان تقوم بتحميل تصميمك الخاص ومعلوماتك بدلا من هذه الصفحة.

وهنا يجب ان ننوه إلى انه عادة عندما تقوم ببناء موقعك وترغب في نشره على الانترنت فانك تقوم باستغلال احد عروض الاستضافة التي تمنحك اسم نطاق مجاني طالما ان موقعك سيكون مستضاف لديهم.  وهذه الشركات تستخدم لهذا الغرض أجهزة تسمى virtual Web hosting تقوم باستضافة ما يقارب 500 موقع أو أكثر وتتشارك هذه المواقع مواد الجهاز من معالج وذاكرة. ولذلك قد يكون تصفحها بطيئا في بعض الأحيان.
وإذا انتشر موقعك وأصبح له زوار كثر فان هذه الشركة سوف تقوم بإغلاق موقعك لأنه أصبح يؤثر على موارد الجهاز لديهم ويؤثر على المواقع الأخرى المشتركة. وعند هذه النقطة فانك سوف تحتاج إلى امتلاك خادم خاص بموقعك وتحصل على لهذا الخادم على
DNS خاص بك وتستطيع التحكم به، (بالطبع التكلفة ستكون أعلى في هذه الحالة) وتصبح واحد من البلايين الذين يتحكمون في الانترنت.

 معلومات تفصيلية هامة

لنفترض إنني قمت بتخصيص جهاز خادم لموقع الفيزياء التعليمي فسوف احصل خادم رئيسي وآخر ثانوي primary server and a secondary وسيكون له العنوان التالي (فرضا) 

NS1.HAZEMSAKEEK.NET
205.136.34.67

NS2.
HAZEMSAKEEK.NET   205.136.34.77

حيث ان البيانات الأولى تخص الخادم الرئيسي وأي تعديلات تحدث فيه يتم نشرها تلقائيا في الخادم الثانوي وأيضا في جهاز مزود خدمة الانترنت.

وتدار هذه الأجهزة بواسطة برنامج خاص يسمى BIND بالتحكم باسم النطاق وتوجيه الطلبات له وإرسال البريد من اسم النطاق الخاص بك واستقباله (سوف نشرح ذلك في مقال مفصل) وكذلك إنشاء أسماء نطاقات فرعية والكثير الكثير. 

وفي نهاية هذا المقال نجد الكم الهائل من البيانات التي تضبط سير الانترنت وتسهل علينا تصفح مواقع الويب وإرسال البريد الالكتروني.  وتصور عدد الأجهزة التي تشترك في نفس قاعدة البيانات وعدد الأشخاص الذين يعملون معا دون ان يعرف احدهم الأخر. وفي كل مرة تقوم فيها بكتابة اسم موقع أو الضغط على أي رابط أو فتح استدعاء موقع من المفضلة أو إرسال رسالة الكترونية تخيل حجم العمليات التي تقوم في الخلفية لتجعل من استخدام الانترنت مجرد ضغطة زر على الماوس Click.
لمزيد من المعلومات هذه المواقع ذات صلة:

 مع خالص تحياتي

د. حازم فلاح سكيك

الدكتور حازم فلاح سكيك

د. حازم فلاح سكيك استاذ الفيزياء المشارك في قسم الفيزياء في جامعة الازهر – غزة | مؤسس شبكة الفيزياء التعليمية | واكاديمية الفيزياء للتعليم الالكتروني | ومنتدى الفيزياء التعليمي

مقالات ذات صلة

اترك تعليقاً

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

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.

زر الذهاب إلى الأعلى