وثائق واجهة S11
الاتصال GTP-C مع MME
OmniSGW من خدمات الشبكة Omnitouch
جدول المحتويات
- نظرة عامة
- تفاصيل البروتوكول
- التكوين
- أنواع الرسائل
- إنشاء الجلسة
- تعديل الجلسة
- إنهاء الجلسة
- عمليات الشبكة
- استكشاف الأخطاء وإصلاحها
نظرة عامة
تربط واجهة 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
الغرض: تفعيل ناقل مخصص للخدمات التي تتطلب جودة الخدمة
سيناريوهات التحفيز:
- تفعيل خدمة الصوت
- طلب بث الفيديو
- تفعيل الألعاب عبر الإنترنت
طلب/استجابة حذف الناقل
الاتجاه: يمكن أن يتم البدء به من 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 نشطة)
[الجلسة نشطة]
تعديل الجلسة
تعديل جودة خدمة الناقل
تحديث منطقة التتبع (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