الخلاصة
- أتاح DNS SRV لمسؤول نطاق أن ينشر، لخدمة ونقل محددين، عدة أهداف ومنافذ وطبقات أساسية واحتياطية وميل اختيار ثابتاً بين مضيفين من الطبقة نفسها.
- لا تؤدي
PriorityوWeightالوظيفة نفسها. يحاول العميل أولاً أصغر أولوية رقمية يمكن بلوغها، ثم يبني داخلها فقط ترتيباً عشوائياً موزوناً. - لا يثبت السجل صحة الخدمة أو هويتها. ما زال على العميل حل اسم الهدف القانوني، وفتح النقل والمنفذ المعلنين، والتحقق من التطبيق الذي يجيب.
حين كان موقع الخدمة عادة داخل العميل
ربط DNS المبكر اسم المضيف بعنوان. أما التطبيق فكان يضيف منفذاً معروفاً، أو جدول /etc/services محلياً، أو اسماً دقيقاً كتبه المشغل في الوثائق. امتزج الاسم العام والمضيف والمنفذ وخطة التعافي في افتراض واحد.
اقترح RFC 2052 في أكتوبر 1996 سجلاً تجريبياً لسؤال مختلف: أين توجد خدمة داخل هذا النطاق؟ أمكن للإجابة أن تسمي عدة أهداف وتضع معها أولوية ووزناً ومنفذاً.
في فبراير 2000 حل RFC 2782 محله بوصفه Proposed Standard. أراد تمكين نقل الخدمة بين المضيفين بقليل من العناء، واستخدام عدة خوادم، وفصل الأساسي عن الاحتياطي. ما زالت IANA تسجل SRV بوصفه نوع DNS رقم 33، Server Selection.
فصل اسم السؤال بين الخدمة والنقل والنطاق
يطلب عميل LDAP فوق TCP في example.com الاسم _ldap._tcp.example.com. تعلن التسميتان اليساريتان الخدمة والنقل، ويحدد الباقي المجال الإداري. أضاف RFC 2782 الشرطة السفلية كي لا تتصادم بيانات الخدمة مع أسماء DNS العادية، ووضح خوارزمية الوزن.
أضاف RFC 6335 لاحقاً نظاماً موحداً لأسماء الخدمات وأرقام المنافذ. يمكن استخدام اسم مسجل في SRV حتى بلا منفذ معين. يمنع التسجيل ازدواج الاسم، لكنه لا يقر المنتج ولا يجعل الحركة مشروعة تلقائياً.
أنشأ RFC 8552 عام 2019 سجل أسماء عقد DNS ذات الشرطة السفلية والنطاق العالمي. وكيّف RFC 8553 مواصفات SRV مع هذا السجل مع حفظ الممارسة القائمة. تحول أسلوب تجنب التصادم إلى حد تخصيص قابل للتدقيق.
أربعة حقول لأربعة ادعاءات
يحمل SRV الحقول Priority وWeight وPort وTarget.
تقسم Priority طبقات التعافي. يجب أن يحاول العميل هدفاً قابلاً للوصول من أصغر رقم. الطبقة ذات الرقم الأكبر ليست نظيراً يأخذ حركة أقل؛ إنها احتياط لا يدخل إلا حين تعجز الطبقة المفضلة.
يعمل Weight فقط بين سجلات لها Priority واحدة. يجمع العميل الأوزان، ويختار رقماً عشوائياً منتظماً، ويطابقه مع مجموع تراكمي، ثم يزيل الهدف ويكرر. ينشر النطاق ميلاً نسبياً، بينما ينتج العميل الترتيب. والوزن صفر ليس منعاً مطلقاً عند وجود أوزان موجبة؛ تترك له الخوارزمية فرصة صغيرة جداً.
يضع مثال RFC 2782 مضيفين في Priority صفر بوزنين واحد وثلاثة. عبر اختيارات أولى مستقلة كثيرة، يميل الثاني إلى ثلاثة أرباعها. لا يظهر مضيفا Priority واحد إلا إذا تعذر الزوج المفضل. لا تعد استجابة واحدة بنسبة دقيقة.
لا يقيس Weight حمولة حية. تتغير CPU والطوابير والتأخر أسرع من ذاكرة DNS المخبأة. ملاحقتها بقيم TTL قصيرة ترفع حمل DNS وتضعف الاعتمادية. يعبر الحقل عن فرق ثابت نسبياً في السعة أو الاتصال.
ينقل Port معرفة أخرى إلى النطاق. قد يطابق المنفذ المسجل، وليس ملزماً بذلك. يمكن نقل الخدمة بلا تحديث جدول في كل عميل.
يجب أن يملك Target سجلات عناوين وألا يكون alias. يستخدم العميل A/AAAA في Additional Data أو يسأل عنها. ينتهي SRV عند مضيف قانوني ولا يخفي سلسلة CNAME أو DNAME جديدة.
الغياب ليس إعلان عدم التوافر
إذا كان Target الوحيد هو . فهذا إعلان صريح أن الخدمة غير متاحة في النطاق. لا يعني أن النطاق أو الخدمات الأخرى غير موجودة.
أما عدم وجود SRV صالح فكان يقود في الإجراء الأصلي إلى سؤال عنوان النطاق وتجربة الاتفاق القديم. اعترف RFC 2782 باستحالة تحديث كل العملاء في وقت واحد. أوصى بعناوين معقولة للبرامج القديمة، لكن ليس بإظهار مضيف احتياطي صرف حيث سيعامله العميل القديم كأساسي.
أصبحت الملاءمة القديمة قراراً تشغيلياً. حفظها يبقي الوصول وقد يتجاوز الأولوية والمنفذ؛ حذفها يوحد السياسة وقد يقطع برنامجاً لا يفهم SRV.
نشر المرشحين لا يثبت الخدمة
يقرأ العميل RRset كاملاً، ويقسمه حسب Priority، ويرتبه بالوزن، ويحل العناوين، ثم يجرب النقل والعنوان والمنفذ. تثبت إجابة DNS الأصيلة ما نشرته سلطة DNS فقط. لا تثبت سلامة العملية أو هوية التطبيق أو موافقة المضيف أو وحدة الملكية.
يزيد التعبير أثر البيان الخاطئ. يستطيع مزور DNS إعلان منفذ خاطئ مع الاسم والعنوان. وقد يسمي نطاق مضيف طرف ثالث فيرسل إليه حركة غير مرغوبة. تعقد المنافذ الدقيقة الترشيح وتلزم فرق DNS والشبكة بالتعاون.
ولا يخلق مسؤول النطاق وحده تفويض الاستخدام. يجب أن تسمح مواصفة التطبيق بـSRV، وتحدد الاسم الرمزي، وتعالج الأمن. يمنح البروتوكول السؤال معناه؛ ينشر النطاق المرشحين؛ ينفذ العميل؛ ويثبت الهدف الخدمة الفعلية.
المصادر وحدودها
يعتمد السجل المغلق على RFC 2052 وRFC 2782 وRFC 6335 وRFC 8552 وRFC 8553 ومعلمات DNS لدى IANA. تثبت هذه النصوص العقد وتطوره، لا نسبة الانتشار الحالية أو كسب التأخر أو التزام المنتجات أو صحة خدمة حية.
جعل SRV اسم الخدمة قابلاً للبقاء بعد تغير المضيف والمنفذ، لكنه لم يمنح DNS سلطة الاتصال أو مصادقة التطبيق.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
