DIAMETER (المعيار IETF RFC 6733) هو بروتوكول المصادقة والتفويض والمحاسبة (AAA) والإشارات في LTE وIMS والتوافق مع 5G. يحمل أزواج أوامر طلب/استجابة — كلٌّ منها ترويسة بطول 20 بايت إضافةً إلى AVP — فوق SCTP أو TCP مع TLS. يتفاوض الأنداد على القدرات عبر CER/CEA، ويراقبون الحيوية عبر DWR/DWA، ويُغلقون الاتصال بنظافة عبر DPR/DPA.
ما هو DIAMETER
DIAMETER هو بروتوكول المصادقة والتفويض والمحاسبة (AAA) الأساسي الذي عرّفه IETF في RFC 6733، وهو البروتوكول الذي اختاره 3GPP لمستوى التحكم في LTE وIMS. حلّ محل RADIUS في شبكات المشغّلين الكبيرة، وهو على جانب الحزم النظير لـ SS7/MAP على الجانب القديم — إذ يحمل إدارة الاشتراك والتنقّل (S6a نحو HSS)، والسياسة والفوترة (Gx وGy)، وتسجيل IMS (Cx/Dx). ويجري كل شيء على هيئة أزواج أوامر طلب/استجابة بين أنداد مُسمّين تُعرّفهم هوية DIAMETER (اسم نطاق مؤهل بالكامل FQDN) ومُجمّعين ضمن نطاقات (realms).
ترويسة الرسالة
تبدأ كل رسالة DIAMETER بترويسة ثابتة بطول 20 ثُماني (octet) تتبعها قائمة متغيرة من AVP. تحمل الترويسة إصدارًا (Version، دائمًا 1)، وطول رسالة بعرض 24 بت، وثُماني رايات الأمر (Command Flags)، ورمز أمر بعرض 24 بت، وقيمة Application-Id بعرض 32 بت تُسمّي التطبيق الذي تنتمي إليه الرسالة، ومعرّفَيْن. يطابق معرّف Hop-by-Hop الطلبَ باستجابته بين ندّين متجاورين ويُعاد كتابته من كل وسيط (proxy)؛ أما معرّف End-to-End فيضبطه المُنشئ ويُحفظ دون تغيير عبر المسار، ويُستخدم لكشف التكرارات.
0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version=1 | Message Length (24) |
| Command Flags | Command Code (24) |
| Application-Id (32) |
| Hop-by-Hop Identifier (32) |
| End-to-End Identifier (32) |
| AVPs ... |
Command Flags: R P E T r r r rرايات الأوامر ورموز الأوامر
يُسمّي رمز الأمر مع Application-Id العمليةَ؛ وتُعيد الاستجابة استخدام رمز الأمر نفسه مع مسح بت الطلب. وتحمل أربع رايات أوامر دلالة الرسالة. الراية R (طلب) تُميّز الطلب عن الاستجابة. والراية P (قابل للتوجيه) تُبيّن أن الرسالة قد يُعاد توجيهها أو ترحيلها أو إعادة توجيهها عوضًا عن معالجتها محليًّا. والراية E (خطأ) تُعلّم استجابةً بها خطأ بروتوكولي. والراية T (يُحتمل أنها أُعيد إرسالها) تُعلّم طلبًا أُعيد إرساله بعد فشل الوصلة كي يحتاط المستقبِل من التكرار. يُعرّف البروتوكول الأساسي أوامرَ التدبير المنزلي؛ أما تطبيقات مثل S6a وGx وCx فتُعرّف رموز أوامرها الخاصة فوقه.
| أمر | الرمز | الغرض |
|---|---|---|
| CER / CEA | 257 | تبادل القدرات - التفاوض على التطبيقات المدعومة عند الاتصال |
| DWR / DWA | 280 | Device-Watchdog — التحقق من نشاط النظير / keepalive (RFC 3539) |
| DPR / DPA | 282 | Disconnect-Peer — إغلاق منظّم للاتصال |
| RAR / RAA | 258 | Re-Auth — يطلب الخادم من العميل إعادة تفويض جلسة |
| STR / STA | 275 | Session-Termination — يُنهي العميل جلسة مفوَّضة |
| ASR / ASA | 274 | Abort-Session — يُجبر الخادم الجلسة على الانتهاء |
| ACR / ACA | 271 | Accounting-Request/Answer (المحاسبة الأساسية) |
تبادل القدرات: CER / CEA
فور فتح اتصال النقل، يتبادل الندّان طلبَ واستجابةَ تبادل القدرات (Capabilities-Exchange-Request/Answer، الأمر 257، وApplication-Id قيمته 0). يُعلن كل طرف عن Origin-Host وOrigin-Realm الخاصّين به، وHost-IP-Address، وVendor-Id، والأهم — مجموعة التطبيقات التي يدعمها عبر AVP من نوع Auth-Application-Id وAcct-Application-Id وVendor-Specific-Application-Id. وإذا لم يتشارك الندّان أي تطبيق يُرفض الاتصال. وهكذا يتعلّم العقد ما إذا كان الندّ يتقن S6a أو Gx أو Cx قبل تدفّق أي حركة تطبيقية، ويحدث ذلك مرة واحدة تمامًا لكل اتصال.
الإبقاء على الحياة والإغلاق: DWR / DPR
يستخدم DIAMETER مراقب RFC 3539 لكشف الندّ الميت أسرع مما يفعله النقل بمفرده. عندما يكون الاتصال خاملًا، يرسل الندّ طلبَ مراقبة الجهاز Device-Watchdog-Request (الأمر 280) ويتوقع استجابة Device-Watchdog-Answer خلال مهلة المراقبة؛ ويؤدي تكرار الإخفاق في الاستجابة إلى نقل الندّ إلى حالة فاشلة وإعادة توجيه الحركة إلى بديل. ولإغلاق اتصال عمدًا — لأغراض الصيانة أو إعادة التهيئة — يرسل الندّ طلبَ فصل الندّ Disconnect-Peer-Request (الأمر 282) حاملًا سببَ الفصل Disconnect-Cause (REBOOTING أو BUSY أو DO_NOT_WANT_TO_TALK_TO_YOU)، تاركًا للطرف الآخر أن يقرر ما إذا كان سيُعيد الاتصال.
النقل: SCTP وTCP مع TLS
يُلزم RFC 6733 بدعم كلٍّ من SCTP (RFC 4960) وTCP، مع تفضيل SCTP للإشارات لأن تعدّد تدفّقاته يتفادى انحصار مقدّمة الطابور (head-of-line blocking) وتعدّد استضافته يمنح تكرارًا للمسار. المنفذ المعروف هو 3868. ويُوفَّر الأمان عبر TLS فوق TCP أو DTLS فوق SCTP؛ وداخل مجال المشغّل الموثوق تُشغّل كثير من عمليات النشر IPsec في طبقة الشبكة بدلًا من ذلك. لا يملك DIAMETER مصادقةً داخلية للرسائل في ذاته، ولهذا يهمّ أمان النقل والترشيح الحدّي اللذان يُناقَشان في أمان تجوال DIAMETER.
الأسئلة المتكررة
ما هو بروتوكول DIAMETER الأساسي؟
هو بروتوكول المصادقة والتفويض والمحاسبة (AAA) والإشارات المعرّف في IETF RFC 6733، ويُستخدم ناقلًا لمستوى التحكم في LTE وIMS والتوافق مع 5G. يحمل أزواج أوامر طلب/استجابة — ترويسة بطول 20 بايت إضافةً إلى AVP — فوق SCTP أو TCP مع TLS، ويُعرّف تبادل القدرات ومراقبة الحيوية والإغلاق المنظم.
ماذا تعني رايات R وP وE وT؟
الراية R تُعلّم طلبًا (وتُمسَح في الاستجابة). والراية P تُعلّم الرسالة قابلةً للتوجيه — إذ يمكن ترحيلها أو توجيهها بوسيط أو إعادة توجيهها. والراية E تُعلّم استجابةَ خطأ. والراية T تُعلّم طلبًا يُحتمل أنه أُعيد إرساله بعد فشل الوصلة، كي يتمكّن المستقبِل من كشف التكرار باستخدام معرّف End-to-End.
ما الفرق بين معرّف Hop-by-Hop ومعرّف End-to-End؟
يطابق معرّف Hop-by-Hop الطلبَ باستجابته بين ندّين متجاورين ويُعاد كتابته من كل وسيط. أما معرّف End-to-End فيضبطه المُنشئ مرةً واحدة ويُحفَظ دون تغيير عبر المسار كاملًا، ويُستخدم لكشف الرسائل المكرّرة بعد إعادة الإرسال.
ما الغرض من تبادل CER/CEA؟
يجري تبادل القدرات Capabilities-Exchange-Request/Answer (الأمر 257) مرة واحدة عند فتح الاتصال. يُعلن الأنداد عن هويّتهم وتطبيقات DIAMETER التي يدعمونها (Auth-Application-Id وVendor-Specific-Application-Id). وإذا لم يُتشارَك أي تطبيق يُرفض الاتصال، فيعرف الطرفان مسبقًا ما إذا كانا يتقنان S6a أو Gx أو Cx.
ما المنفذ والنقل اللذان يستخدمهما DIAMETER؟
يستخدم DIAMETER المنفذ المعروف 3868 فوق SCTP أو TCP، مع تفضيل SCTP للإشارات بسبب تعدّد التدفّقات وتعدّد الاستضافة. والأمان هو TLS فوق TCP أو DTLS فوق SCTP؛ وداخل مجال المشغّل الموثوق يشيع استخدام IPsec في طبقة الشبكة بدلًا من ذلك.
كيف يكشف ندّ DIAMETER أن شريكه قد أخفق؟
يستخدم مراقب الجهاز في RFC 3539: على اتصال خامل يرسل الندّ طلبَ مراقبة الجهاز Device-Watchdog-Request (الأمر 280) ويتوقع استجابة Device-Watchdog-Answer خلال مهلة المراقبة. ويؤدي تكرار الاستجابات الفائتة إلى نقل الندّ إلى حالة فاشلة وإعادة توجيه الحركة إلى ندّ بديل.
مواصفات المصدر
تستند هذه الصفحة إلى المعايير المنشورة. يفتح في علامة تبويب جديدة.