لماذا تنتهي أسماء المجال أحيانًا بنقطة؟

مرحبًا! عندما كنت أكتب zine كيف يعمل DNS في وقت سابق من هذا العام ، سألني أحدهم: لماذا يضع الأشخاص أحيانًا نقطة في نهاية اسم المجال؟ على سبيل المثال ، إذا كنت تبحث عن عنوان IP الخاص بـ example.com عن طريق تشغيل Dig example.com ، فسترى هذا: $ dig example.com example.com. 5678 في 93.184.216.34

حفر وضع أ. في نهاية example.com - أصبح الآن example.com.! ما خطب ذلك؟

تتطلب أيضًا بعض أدوات نظام أسماء النطاقات (DNS) أن تحتوي النطاقات على "." في النهاية: إذا حاولت تمرير example.com إلى miekg / dns ، مثل هذا ، فسوف يفشل: ستؤدي // محاولة إرسال هذه الرسالة إلى إرجاع خطأ م: = جديد (dns.Msg) m.SetQuestion ("example.com" ، dns.TypeA)

في البداية اعتقدت أنني أعرف الإجابة ("آه ، النقطة في النهاية تعني أن النطاق مؤهل تمامًا؟"). وهذا صحيح - اسم المجال المؤهل بالكامل هو مجال بعلامة "." في النهاية!

لكن هذا لا يفسر سبب النقاط في النهاية مفيدة أو مهمة. في طلب / استجابة DNS ، لا تحتوي أسماء المجال على "."

فكرت مرة (خطأ) في الإجابة "لماذا توجد فترة في النهاية؟" قد يكون "في طلب / استجابة DNS ، تحتوي أسماء المجال على". "في النهاية ، لذلك نقوم بإدخال ذلك لمطابقة ما تم إرساله / استلامه بالفعل بواسطة جهاز الكمبيوتر الخاص بك". لكن هذا ليس صحيحًا على الإطلاق! < / ص>

عندما يرسل جهاز كمبيوتر استعلام أو استجابة DNS ، فإن أسماء النطاقات التي يحتوي عليها لا تحتوي على نقطة لاحقة. في الواقع ، أسماء النطاقات لا نقاط.

بدلاً من ذلك ، يتم تشفيرها كسلسلة من أزواج الطول / السلسلة. على سبيل المثال ، تم ترميز المجال example.com كـ 13 بايت: 7 مثال 3com0

إذًا لا توجد نقاط. بدلاً من ذلك ، تتم ترجمة اسم نطاق ASCII (مثل "example.com") إلى التنسيق المستخدم في طلب / استجابة DNS بواسطة برامج DNS المختلفة.

فلنتحدث عن مكان يتم فيه ترجمة أسماء النطاقات إلى استجابات DNS: ملفات المنطقة. ال "." في ملفات المنطقة

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

فيما يلي ملف منطقة وهمي لـ example.com:

برتقالي 300 IN A 1.2.3.4 الفاكهة 300 EN CNAME برتقال الزبيب 3000 IN CNAME example.com.

في ملف المنطقة هذا ، أي شيء لا ينتهي بـ "." (مثل "برتقالي") يحصل على إلحاق .example.com. لذا فإن "البرتقالي" هي اختصار لـ "orange.example.com". يعرف خادم DNS من تكوينه أن هذا ملف منطقة لـ example.com ، لذلك يعرف إضافة example.com تلقائيًا إلى نهاية أي اسم لا ينتهي بنقطة.

أعتقد أن الفكرة هنا هي فقط حفظ الكتابة - يمكنك تخيل كتابة ملف المنطقة هذا بكتابة جميع أسماء النطاقات بالكامل: orang.example.com. 300 في أ 1.2.3.4 Fruit.example.com. 300 IN CNAME orange.example.com. الزبيب .example.com. 3000 في CNAME example.com.

ولكن هناك الكثير من الكتابة. لا تحتاج إلى ملفات المنطقة لاستخدام DNS

على الرغم من أن تنسيق ملف المنطقة محدد في DNS RFC الرسمي (RFC 1035) ، لا تحتاج إلى استخدام ملفات المنطقة على الإطلاق لاستخدام DNS. على سبيل المثال ، لا يستخدم AWS Route 53 ملفات المنطقة لتخزين سجلات DNS! بدلاً من ذلك ، يمكنك إنشاء سجلات من خلال واجهة الويب أو واجهة برمجة التطبيقات ، وأفترض أنها تخزن السجلات في نوع من قواعد البيانات ، وليس في مجموعة من الملفات النصية.

يدعم المسار 53 (مثل العديد من أدوات DNS الأخرى) استيراد وتصدير ملفات المنطقة ويمكن أن يكون طريقة جيدة لترحيل السجلات من مزود DNS إلى آخر. ال "." في التنقيب

لنتحدث الآن عن ناتج الحفر: $ dig example.com ؛ DiG 9.18.1-1ubuntu1.1-Ubuntu + all example.com ؛؛ الخيارات العالمية: + cmd ؛؛ حصلت على الجواب: ؛؛ - >> رأس

مرحبًا! عندما كنت أكتب zine كيف يعمل DNS في وقت سابق من هذا العام ، سألني أحدهم: لماذا يضع الأشخاص أحيانًا نقطة في نهاية اسم المجال؟ على سبيل المثال ، إذا كنت تبحث عن عنوان IP الخاص بـ example.com عن طريق تشغيل Dig example.com ، فسترى هذا: $ dig example.com example.com. 5678 في 93.184.216.34

حفر وضع أ. في نهاية example.com - أصبح الآن example.com.! ما خطب ذلك؟

تتطلب أيضًا بعض أدوات نظام أسماء النطاقات (DNS) أن تحتوي النطاقات على "." في النهاية: إذا حاولت تمرير example.com إلى miekg / dns ، مثل هذا ، فسوف يفشل: ستؤدي // محاولة إرسال هذه الرسالة إلى إرجاع خطأ م: = جديد (dns.Msg) m.SetQuestion ("example.com" ، dns.TypeA)

في البداية اعتقدت أنني أعرف الإجابة ("آه ، النقطة في النهاية تعني أن النطاق مؤهل تمامًا؟"). وهذا صحيح - اسم المجال المؤهل بالكامل هو مجال بعلامة "." في النهاية!

لكن هذا لا يفسر سبب النقاط في النهاية مفيدة أو مهمة. في طلب / استجابة DNS ، لا تحتوي أسماء المجال على "."

فكرت مرة (خطأ) في الإجابة "لماذا توجد فترة في النهاية؟" قد يكون "في طلب / استجابة DNS ، تحتوي أسماء المجال على". "في النهاية ، لذلك نقوم بإدخال ذلك لمطابقة ما تم إرساله / استلامه بالفعل بواسطة جهاز الكمبيوتر الخاص بك". لكن هذا ليس صحيحًا على الإطلاق! < / ص>

عندما يرسل جهاز كمبيوتر استعلام أو استجابة DNS ، فإن أسماء النطاقات التي يحتوي عليها لا تحتوي على نقطة لاحقة. في الواقع ، أسماء النطاقات لا نقاط.

بدلاً من ذلك ، يتم تشفيرها كسلسلة من أزواج الطول / السلسلة. على سبيل المثال ، تم ترميز المجال example.com كـ 13 بايت: 7 مثال 3com0

إذًا لا توجد نقاط. بدلاً من ذلك ، تتم ترجمة اسم نطاق ASCII (مثل "example.com") إلى التنسيق المستخدم في طلب / استجابة DNS بواسطة برامج DNS المختلفة.

فلنتحدث عن مكان يتم فيه ترجمة أسماء النطاقات إلى استجابات DNS: ملفات المنطقة. ال "." في ملفات المنطقة

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

فيما يلي ملف منطقة وهمي لـ example.com:

برتقالي 300 IN A 1.2.3.4 الفاكهة 300 EN CNAME برتقال الزبيب 3000 IN CNAME example.com.

في ملف المنطقة هذا ، أي شيء لا ينتهي بـ "." (مثل "برتقالي") يحصل على إلحاق .example.com. لذا فإن "البرتقالي" هي اختصار لـ "orange.example.com". يعرف خادم DNS من تكوينه أن هذا ملف منطقة لـ example.com ، لذلك يعرف إضافة example.com تلقائيًا إلى نهاية أي اسم لا ينتهي بنقطة.

أعتقد أن الفكرة هنا هي فقط حفظ الكتابة - يمكنك تخيل كتابة ملف المنطقة هذا بكتابة جميع أسماء النطاقات بالكامل: orang.example.com. 300 في أ 1.2.3.4 Fruit.example.com. 300 IN CNAME orange.example.com. الزبيب .example.com. 3000 في CNAME example.com.

ولكن هناك الكثير من الكتابة. لا تحتاج إلى ملفات المنطقة لاستخدام DNS

على الرغم من أن تنسيق ملف المنطقة محدد في DNS RFC الرسمي (RFC 1035) ، لا تحتاج إلى استخدام ملفات المنطقة على الإطلاق لاستخدام DNS. على سبيل المثال ، لا يستخدم AWS Route 53 ملفات المنطقة لتخزين سجلات DNS! بدلاً من ذلك ، يمكنك إنشاء سجلات من خلال واجهة الويب أو واجهة برمجة التطبيقات ، وأفترض أنها تخزن السجلات في نوع من قواعد البيانات ، وليس في مجموعة من الملفات النصية.

يدعم المسار 53 (مثل العديد من أدوات DNS الأخرى) استيراد وتصدير ملفات المنطقة ويمكن أن يكون طريقة جيدة لترحيل السجلات من مزود DNS إلى آخر. ال "." في التنقيب

لنتحدث الآن عن ناتج الحفر: $ dig example.com ؛ DiG 9.18.1-1ubuntu1.1-Ubuntu + all example.com ؛؛ الخيارات العالمية: + cmd ؛؛ حصلت على الجواب: ؛؛ - >> رأس

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow