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

وثائق واجهة S11

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

OmniSGW من خدمات شبكة أومنيتاتش


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

  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

الغرض: تفعيل الناقل المخصص للخدمات التي تتطلب 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"

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

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

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

التشخيص:

  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