انتقل إلى المحتوى الرئيسي

وثائق واجهة S11

الاتصال GTP-C مع MME

OmniSGW من خدمات الشبكة Omnitouch


جدول المحتويات

  1. نظرة عامة
  2. تفاصيل البروتوكول
  3. التكوين
  4. أنواع الرسائل
  5. إنشاء الجلسة
  6. تعديل الجلسة
  7. إنهاء الجلسة
  8. عمليات الشبكة
  9. استكشاف الأخطاء وإصلاحها

نظرة عامة

تربط واجهة 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ثنائيهوية المشترك الدولي للهاتف المحمول
MSISDNBCDرقم الهاتف المحمول
MEIثنائيهوية المعدات المحمولة
نوع RATتعدادتكنولوجيا الوصول اللاسلكي (EUTRAN)
سياق الناقلمجمعةتكوين الناقل الافتراضي
المنطقة الزمنية لـ UEتاريخ ووقتالمنطقة الزمنية الحالية لـ UE
ULIمجمعةمعلومات موقع المستخدم (TAI، ECGI)
الشبكة الخدميةPLMNMCC/MNC
APNسلسلةاسم نقطة الوصول

الاستجابة: استجابة إنشاء الجلسة

اسم IEالنوعالوصف
السببتعدادنتيجة الطلب (نجاح/فشل)
سياق الناقلمجمعةمعلومات الناقل المخصص مع TEID
تخصيص عنوان PDNمجمعةعنوان IP المخصص من PGW
قيود APNتعدادقيود APN

رسائل تعديل الجلسة

طلب تعديل الناقل (S11)

الاتجاه: MME → OmniSGW (طلب تم البدء به من MME)

الغرض: تعديل معلمات الناقل أثناء جلسة نشطة

عناصر المعلومات الرئيسية:

اسم IEالنوعالوصف
MEIثنائيمعرف المعدات المحمولة
ULIمجمعةمعلومات موقع المستخدم المحدثة
المنطقة الزمنية لـ UEتاريخ ووقتالمنطقة الزمنية المحدثة
TAITAIمعرف منطقة التتبع
ECGIECGIمعرف الخلية العالمية لـ 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"

استكشاف الأخ��اء وإصلاحها

فشل إنشاء الجلسة

المشكلة: تم رفض طلب إنشاء الجلسة

التشخيص:

  1. تحقق من واجهة الويب → جلسات UE لسبب الرفض
  2. تحقق من المقاييس: s11_inbound_errors_total
  3. تحقق من السجلات لرمز السبب المحدد

الأسباب الشائعة والحلول:

السببالسببالحل
16لا توجد موارد متاحةتحقق من سعة SGW-U، عدد جلسات PFCP
25خطأ دلالي في IEتحقق من سياق الناقل في الطلب
49PGW غير متاحتحقق من اتصال S5/S8 بـ PGW-C
65APN غير مدعومتحقق من تكوين APN

مشكلات توجيه الرسائل

المشكلة: "تم توجيه الرسالة إلى TEID غير معروف"

التشخيص:

# تحقق من سجل TEID
curl -s http://127.0.0.40:42068/metrics | grep teid_registry_count

# تحقق من تخصيص TEID
# واجهة الويب → جلسات UE → البحث حسب IMSI

الأسباب الشائعة:

  • تم تحرير الجلسة ولكن الرسالة المتأخرة لا تزال تصل
  • إنشاء جلسة مكررة مع TEID مختلف
  • رسالة من مثيل MME مختلف بنفس TEID

مشكلات النقل

المشكلة: فشل النقل أو فقدان البيانات

التشخيص:

  1. راقب طلب/استجابة تعديل الناقل في المقاييس
  2. تحقق من السجلات للرسائل "النقل" أو "TAU"
  3. افحص حالة جلسة 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

خطوات تحسين:

  1. تقليل عمليات تعديل الناقل غير الضرورية
  2. مراقبة وتحسين وقت إنشاء جلسة PFCP
  3. التوسع أفقيًا مع مثيلات متعددة من SGW-C
  4. تحقق من استخدا�� 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