وثائق واجهة S11
الاتصال GTP-C مع MME
OmniSGW من خدمات شبكة أومنيتاتش
جدول المحتويات
- نظرة عامة
- تفاصيل البروتوكول
- التكوين
- أنواع الرسائل
- إنشاء الجلسة
- تعديل الجلسة
- إنهاء الجلسة
- عمليات الشبكة
- استكشاف الأخطاء وإصلاحها
نظرة عامة
تربط واجهة S11 OmniSGW بـ MME (كيان إدارة الحركة) باستخدام بروتوكول GTP-C v2 (بروتوكول نفق GPRS - مستوى التحكم). تتعامل هذه الواجهة مع جميع إشارات مستوى التحكم لإدارة جلسات UE، وعمليات الناقل، وإجراءات الحركة.
الميزات الرئيسية
- بروتوكول GTP-C v2 - إشارات رسائل متوافقة مع المعايير
- توجيه قائم على TEID - معرفات نقاط نهاية النفق لتتبع الجلسات
- إدارة جلسات حالة - الحفاظ على سياق UE عبر الرسائل
- دعم النقل - تنسيق الحركة بين MME وداخل MME
- عمليات الناقل - إنشاء وتعديل وحذف الناقلات
- إشعارات بيانات الاتجاه الهابط - استدعاء للجلسات المعلقة
تفاصيل البروتوكول
GTP-C الإصدار 2
- البروتوكول: GTP-C v2 (3GPP TS 29.274)
- النقل: UDP
- المنفذ: 2123 (قياسي)
- نوع الواجهة: مستوى التحكم
- الاتجاه: طلب/استجابة ثنائي الاتجاه
TEID (معرف نقطة نهاية النفق)
كل جلسة لها TEIDs فريدة لتوج��ه الرسائل:
- TEID المحلي - مخصص من قبل OmniSGW للرسائل الواردة من MME
- TEID البعيد - مخصص من قبل MME للرسائل الصادرة إلى MME
توجيه الرسائل:
MME → SGW: يستخدم TEID المحلي لـ OmniSGW في رأس الرسالة
SGW → MME: يستخدم TEID البعيد لـ MME في رأس الرسالة
تنسيق الرسالة
تتبع جميع رسائل S11 تنسيق GTP-C v2:
رأس GTP-C (12-16 بايت)
├── الإصدار (3 بت): 0x2 (GTP-C v2)
├── علم الحمل (1 بت)
├── علم TEID (1 بت): 1 (TEID موجود)
├── نوع الرسالة (8 بت): يحدد نوع الرسالة
├── طول الرسالة (16 بت): طول محتويات الرسالة
├── TEID (32 بت): معرف نقطة نهاية النفق
├── رقم التسلسل (24 بت): لمطابقة الطلب/الاستجابة
└── احتياطي (8 بت): دائمًا 0
محتويات الرسالة (متغير)
├── عناصر المعلومات (IE)
│ ├── نوع IE (8 بت)
│ ├── الطول (16 بت)
│ └── القيمة (متغيرة)
└── ... المزيد من IEs
التكوين
التكوين الأساسي
# config/runtime.exs
config :sgw_c,
s11: %{
# عنوان IPv4 المحلي لواجهة S11
local_ipv4_address: "10.0.0.10",
# اختياري: عنوان IPv6 المحلي (للنظام الثنائي)
local_ipv6_address: nil,
# اختياري: تجاوز المنفذ الافتراضي
local_port: 2123,
# مهلات الرسالة
message_timeout_ms: 5000,
# تكوين إعادة المحاولة
max_retries: 3,
retry_backoff_ms: 1000
}
متطلبات الشبكة
قواعد الجدار الناري:
# السماح بـ GTP-C من شبكة MME (الوارد)
iptables -A INPUT -p udp --dport 2123 -s <mme_network>/24 -j ACCEPT
# السماح بـ GTP-C الصادر إلى MME
iptables -A OUTPUT -p udp --dport 2123 -d <mme_network>/24 -j ACCEPT
التوجيه:
# تأكد من وجود مسار إلى شبكة MME
ip route add <mme_network>/24 via <gateway_ip> dev eth0
اختبار الشبكة:
# اختبار الاتصال بـ MME (استخدم نبض GTP)
# تحقق من السجلات للرسالة "تم الاتصال بوسيط S11"
# مراقبة جلسات S11 النشطة
curl http://127.0.0.40:42068/metrics | grep teid_registry_count
أنواع الرسائل
نظرة عامة على رسائل S11
رسائل إنشاء الجلسة
طلب إنشاء جلسة (S11)
الاتجاه: MME → OmniSGW
الغرض: إنشاء جلسة UE جديدة (الاتصال الأولي أو الاتصال PDN)
عناصر المعلومات الرئيسية:
| اسم IE | النوع | الوصف |
|---|---|---|
| IMSI | ثنائي | هوية المشترك الدولي للهاتف المحمول |
| MSISDN | BCD | رقم الهاتف المحمول |
| MEI | ثنائي | هوية المعدات المحمولة |
| نوع RAT | تعداد | تقنية الوصول اللاسلكي (EUTRAN) |
| سياق الناقل | مجمعة | تكوين الناقل الافتراضي |
| المنطقة الزمنية لـ UE | تاريخ ووقت | المنطقة الزمنية الحالية لـ UE |
| ULI | مجمعة | معلومات موقع المستخدم (TAI، ECGI) |
| الشبكة الخدمية | PLMN | MCC/MNC |
| APN | سلسلة | اسم نقطة الوصول |
الاستجابة: استجابة إنشاء الجلسة
| اسم IE | النوع | الوصف |
|---|---|---|
| السبب | تعداد | نتيجة الطلب (نجاح/فشل) |
| سياق الناقل | مجمعة | معلومات الناقل المخصص مع TEID |
| تخصيص عنوان PDN | مجمعة | عنوان IP المخصص من PGW |
| قيود APN | تعداد | قيود APN |
رسائل تعديل الجلسة
طلب تعديل الناقل (S11)
الاتجاه: MME → OmniSGW (طلب تم بدءه من MME)
الغرض: تعديل معلمات الناقل أثناء الجلسة النشطة
عناصر المعلومات الرئيسية:
| اسم IE | النوع | الوصف |
|---|---|---|
| MEI | ثنائي | معرف المعدات المحمولة |
| ULI | مجمعة | معلومات موقع المستخدم المحدثة |
| المنطقة الزمنية لـ UE | تاريخ ووقت | المنطقة الزمنية المحدثة |
| TAI | TAI | معرف منطقة التتبع |
| ECGI | ECGI | معرف الخلية العالمية لـ E-UTRAN |
الاستجابة: استجابة تعديل الناقل
| اسم IE | النوع | الوصف |
|---|---|---|
| السبب | تعداد | نتيجة التعديل |
| سياق الناقل | مجمعة | معلمات الناقل المحدثة |
رسائل إدارة الناقل
طلب/استجابة إنشاء الناقل
الاتجاه: يمكن أن يتم بدءه من MME أو SGW
الغرض: تفعيل الناقل المخصص للخدمات التي تتطلب QoS
سيناريوهات التحفيز:
- تفعيل خدمة الصوت
- طلب بث الفيديو
- تفعيل الألعاب عبر الإنترنت
طلب/استجابة حذف الناقل
الاتجاه: يمكن أن يتم بدءه من MME أو SGW (عبر PGW)
الغرض: تعطيل الناقل المخصص عند عدم الحاجة إليه بعد الآن
رسائل الحركة
طلب/استجابة تحرير الناقلات الوصول
الاتجاه: MME → OmniSGW
الغرض: تعليق جميع الناقلات أثناء فصل الراديو (سيناريو الاستدعاء)
التأثيرات:
- تبقى الناقلات في السياق ولكن معلقه
- يتم إيقاف توجيه بيانات المستخدم
- يتم بدء تخزين البيانات في SGW-U
- يمكن لـ UE الاستئناف مع طلب الخدمة
طلب/استجابة تعديل الناقلات الوصول
الاتجاه: OmniSGW → MME أو MME → OmniSGW
الغرض: تحديث الوصول إلى الناقل أثناء النقل أو الاسترداد
رسائل الاستدعاء
إشعار بيانات الاتجاه الهابط (S11)
الاتجاه: PGW-C → OmniSGW → MME
الغرض: إبلاغ MME بوجود بيانات اتجاه هابط معلقة لـ UE المعلق
عناصر المعلومات الرئيسية:
| اسم IE | النوع | الوصف |
|---|---|---|
| EBI | عدد صحيح | معرف الناقل EPS |
| IMSI | ثنائي | هوية المشترك |
الاستجابة: اعتراف بيانات الاتجاه الهابط
إنشاء الجلسة
تدفق الاتصال الأولي لـ UE
انتقالات الحالة:
[UE غير متصل]
↓ (طلب الاتصال)
[إنشاء جلسة إلى PGW]
↓ (PGW يستجيب)
[إنشاء خطة المستخدم]
↓ (جلسة PFCP نشطة)
[الجلسة نشطة]
تعديل الجلسة
تعديل QoS للناقل
تحديث منطقة التتبع (TAU)
TAU بدون تغيير SGW:
- يقوم MME بتحديث موقع UE
- يتم إرسال ULI/TAI إلى SGW عبر تعديل الناقل
- يقوم SGW بتحديث السياق المحلي لـ UE
- لا حاجة لنقل الجلسة
TAU مع تغيير SGW:
- يس��قبل SGW القديم طلب تحرير الناقلات من MME
- يستقبل SGW الجديد طلب إنشاء جلسة
- يتم توجيه البيانات من SGW القديم إلى الجديد
- بعد اكتمال التوجيه، يقوم SGW القديم بإصدار الجلسة
إنهاء الجلسة
إنهاء الجلسة العادية
انتقالات الحالة:
[الجلسة نشطة]
↓ (طلب حذف الجلسة)
[تحرير خطة المستخدم]
↓ (تم حذف جلسة PFCP)
[إبلاغ PGW]
↓ (تم حذف جلسة PGW)
[تم إنهاء الجلسة]
عمليات الشبكة
مراقبة تدفق الرسائل
راقب نشاط رسائل S11 في الوقت الفعلي:
# مراقبة عدادات رسائل S11
watch -n 1 'curl -s http://127.0.0.40:42068/metrics | grep s11_inbound'
# مثال على المخرجات:
# s11_inbound_messages_total{message_type="create_session_request"} 1245
# s11_inbound_messages_total{message_type="delete_session_request"} 1200
# s11_inbound_messages_total{message_type="modify_bearer_request"} 3450
فحص الجلسة
عرض الجلسات النشطة وحالتها S11:
واجهة الويب → صفحة جلسات UE
لكل جلسة:
- IMSI و GUTI
- TAI الحالية (منطقة التتبع)
- TEID المحلي (لـ S11)
- TEID البعيد (من MME)
- قائمة الناقلات مع معلمات QoS
- PGW-C المرتبط
مراقبة النقل
تتبع نشاط النقل:
# عد طلبات تعديل الناقل (تشير إلى النقل)
curl -s http://127.0.0.40:42068/metrics | grep modify_bearer_request_total
# مراقبة تأخيرات النقل
# تحقق من السجلات للرسائل "TAU مع تغيير SGW"
استكشاف الأخطاء وإصلاحها
فشل إنشاء الجلسة
المشكلة: تم رفض طلب إنشاء الجلسة
التشخيص:
- تحقق من واجهة الويب → جلسات UE لسبب الرفض
- تحقق من المقاييس:
s11_inbound_errors_total - تحقق من السجلات للرمز المحدد للسبب
الأسباب الشائعة والحلول:
| السبب | السبب | الحل |
|---|---|---|
| 16 | لا توجد موارد متاحة | تحقق من سعة SGW-U، عدد جلسات PFCP |
| 25 | خطأ دلالي في IE | تحقق من سياق الناقل في الطلب |
| 49 | PGW غير متاح | تحقق من الاتصال S5/S8 بـ PGW-C |
| 65 | APN غير مدعوم | تحقق من تكوين APN |
مشاكل توجيه الرسائل
المشكلة: "تم توجيه الرسالة إلى TEID غير معروف"
التشخيص:
# تحقق من سجل TEID
curl -s http://127.0.0.40:42068/metrics | grep teid_registry_count
# تحقق من تخصيص TEID
# واجهة الويب → جلسات UE → البحث حسب IMSI
الأسباب الشائعة:
- تم إصدار الجلسة ولكن الرسالة المتأخرة لا تزال تصل
- إنشاء جلسة مكررة مع TEID مختلف
- رسالة من مثيل MME مختلف مع نفس TEID
مشاكل النقل
المشكلة: فشل النقل أو فقدان البيانات
التشخيص:
- راقب طلب/استجابة تعديل الناقل في المقاييس
- تحقق من السجلات للرسائل "النقل" أو "TAU"
- افحص حالة جلسة PFCP أثناء النقل
الحلول:
- تحقق من أن SGW-U نشط خلال نافذة النقل
- تحقق من قواعد توجيه البيانات المثبتة
- راقب توقيت تحرير الناقلات
مشاكل الأداء
المشكلة: ارتفاع زمن استجابة رسائل S11
المقاييس التي يجب التحقق منها:
# مدة معالجة الرسالة
curl -s http://127.0.0.40:42068/metrics | grep s11_inbound_duration_seconds
# عدد الجلسات
curl -s http://127.0.0.40:42068/metrics | grep active_ue_sessions
# عدد الناقلات
curl -s http://127.0.0.40:42068/metrics | grep active_bearers
خطوات التحسين:
- تقليل عمليات تعديل الناقل غير الضرورية
- مراقبة وتحسين زمن إنشاء جلسة PFCP
- التوسع أفقيًا مع عدة مثيلات SGW-C
- تحقق من استخدام CPU والذاكرة خلال أوقات الذروة
للحصو�� على معلومات شاملة عن المقاييس، وإعداد Prometheus، وتكوين لوحة المعلومات، راجع دليل المراقبة والمقاييس.
أفضل الممارسات
التكوين
- ربط المنفذ: ربط S11 بواجهة الشبكة الإدارية لأغراض الأمان
- المهل: تعيين مهلات الرسائل المناسبة بناءً على RTT للشبكة
- إعادة المحاولة: تحقيق التوازن بين الموثوقية وحمل الشبكة
العمليات
- حدود الجلسة: مراقبة مقابل السعة لمنع التحميل الزائد
- مراقبة الأقران: تتبع حالة اتصال MME
- تتبع الأخطاء: تنبيه عند زيادة معدل أخطاء S11 المستمر
- إيقاف التشغيل بشكل سلس: تصريف الجلسات قبل الصيانة
الأمان
- عزل الشبكة: يجب أن تكون S11 على قسم شبكة معزول
- تحكم الوصول: تقييد منفذ S11 إلى عناوين IP المصرح بها لـ MME
- المراقبة: تنبيه عند اتصالات غير متوقعة للأقران
ملخص مرجع الرسائل
| الرسالة | ال��تجاه | التكرار | الأولوية |
|---|---|---|---|
| طلب/استجابة إنشاء الجلسة | MME → SGW | إنشاء الجلسة | عالية |
| طلب/استجابة حذف الجلسة | MME → SGW | نهاية الجلسة | عالية |
| طلب/استجابة تعديل الناقل | MME ↔ SGW | تغييرات QoS، TAU | متوسطة |
| طلب/استجابة إنشاء الناقل | MME ↔ SGW | تفعيل الناقل | متوسطة |
| طلب/استجابة حذف الناقل | MME ↔ SGW | تعطيل الناقل | متوسطة |
| طلب/استجابة تحرير الناقلات الوصول | MME → SGW | تعليق الاستدعاء | عالية |
| طلب/استجابة تعديل الناقلات الوصول | MME ↔ SGW | استرداد الحركة | عالية |
| إشعار/اعتراف بيانات الاتجاه الهابط | SGW → MME | استدعاء البيانات | متوسطة |
| طلب/استجابة صدى | MME ↔ SGW | مراقبة المسار | منخفضة |
واجهة S11 - إشارات مستوى التحكم من MME إلى SGW-C