دليل عمليات OmniPGW
OmniPGW - بوابة بيانات الحزمة من طبقة التحكم (PGW-C)
بواسطة خدمات شبكة Omnitouch
جدول المحتويات
- نظرة عامة
- العمارة
- واجهات الشبكة
- المفاهيم الأساسية
- البدء
- التكوين
- واجهة الويب - لوحة عمليات الوقت الحقيقي
- المراقبة والقياسات
- التوثيق التفصيلي
- موارد إضافية
نظرة عامة
OmniPGW هي تنفيذ عالي الأداء لبوابة بيانات الحزمة من طبقة التحكم (PGW-C) لشبكات 3GPP LTE Evolved Packet Core (EPC)، تم تطويرها بواسطة خدمات شبكة Omnitouch. تدير وظائف طبقة التحكم لجلسات البيانات، بما في ذلك:
- إدارة الجلسات - إنشاء وتعديل وإنهاء جلسات بيانات UE (جهاز المستخدم)
- تخصيص عنوان IP - تخصيص عناوين IP للأجهزة المحمولة من مجموعات مكونة
- التحكم في السياسات والفوترة - التفاعل مع PCRF لتطبيق السياسات والفوترة
- تنسيق خطة المستخدم - التحكم في PGW-U (خطة المستخدم) لتوجيه الحزم
ما الذي تفعله PGW-C
- تقبل طلبات الجلسة من SGW-C عبر واجهة S5/S8 (GTP-C)
- تخصص عناوين IP لـ UE من مجموعات الشبكة المكونة
- تطلب قرارات السياسة من PCRF عبر واجهة Gx (Diameter)
- برمجة قواعد التوجيه في PGW-U عبر واجهة Sxb (PFCP)
- تدير تطبيق QoS من خلال سياقات الحاملات وقواعد QoS
- تتبع معلومات الفوترة لأنظمة الفوترة
العمارة
نظرة عامة على المكونات
بنية العملية
PGW-C مبنية على Elixir/OTP وتستخدم بنية عملية تحت إشراف:
- مشرف التطبيق - مشرف من المستوى الأعلى يدير جميع المكونات
- وسطاء البروتوكول - يتعاملون مع الرسائل البروتوكول الواردة/الصادرة
- عمليات الجلسة - واحد GenServer لكل اتصال PDN نشط
- السجلات - تتبع الموارد المخصصة (عناوين IP، TEIDs، SEIDs، إلخ)
- مدير عقدة PFCP - يحافظ على ارتباطات PFCP مع أقران PGW-U
كل مكون تحت إشراف وسيتم إعادة تشغيله تلقائيًا عند الفشل، مما يضمن موثوقية النظام.
واجهات الشبكة
PGW-C تنفذ ثلاث واجهات رئيسية من 3GPP:
واجهة S5/S8 (GTP-C v2)
الغرض: إشارات طبقة التحكم بين SGW-C و PGW-C
البروتوكول: GTP-C الإصدار 2 عبر UDP
الرسائل الرئيسية:
- طلب/استجابة إنشاء الجلسة
- طلب/استجابة حذف الجلسة
- طلب/استجابة إنشاء الحامل
- طلب/استجابة حذف الحامل
التكوين: انظر تكوين S5/S8
واجهة Sxb (PFCP)
الغرض: ��شارات طبقة التحكم بين PGW-C و PGW-U
البروتوكول: PFCP (بروتوكول التحكم في توجيه الحزم) عبر UDP
الرسائل الرئيسية:
- طلب/استجابة إعداد الارتباط
- طلب/استجابة إنشاء الجلسة
- طلب/استجابة تعديل الجلسة
- طلب/استجابة حذف الجلسة
- طلب/استجابة نبض القلب
التكوين: انظر توثيق واجهة PFCP/Sxb
واجهة Gx (Diameter)
الغرض: واجهة وظيفة قواعد السياسة والفوترة (PCRF)
البروتوكول: Diameter (IETF RFC 6733)
الرسائل الرئيسية:
- طلب/استجابة التحكم في الائتمان الأولية (CCR-I/CCA-I)
- طلب/استجابة إنهاء التحكم في الائتمان (CCR-T/CCA-T)
التكوين: انظر توثيق واجهة Diameter Gx
المفاهيم الأساسية
جلسة PDN
تمثل جلسة PDN (شبكة بيانات الحزمة) اتصال بيانات UE بشبكة خارجية (مثل الإنترنت). تحتوي كل جلسة على:
- عنوان IP لـ UE - مخصص من مجموعة الشبكة المكونة
- APN (اسم نقطة الوصول) - يحدد الشبكة الخارجية
- سياق الحامل - يحتوي على معلمات QoS ومعلومات النفق
- ID الفوترة - معرف فريد للفوترة
- TEID (معرف نقطة نهاية النفق) - معرف نفق واجه�� S5/S8
- SEID (معرف نقطة نهاية الجلسة) - معرف جلسة واجهة Sxb
سياق الحامل
يمثل الحامل تدفق بيانات بخصائص QoS محددة:
- الحامل الافتراضي - يتم إنشاؤه مع كل جلسة PDN
- الحاملات المخصصة - حاملات إضافية لاحتياجات QoS محددة
- EBI (معرف حامل EPS) - معرف فريد لكل حامل
- معلمات QoS - QCI، ARP، معدلات البيانات (MBR، GBR)
قواعد PFCP
تقوم PGW-C ببرمجة PGW-U بقواعد معالجة الحزم:
- PDR (قاعدة اكتشاف الحزمة) - تطابق الحزم (الرفع/الخفض)
- FAR (قاعدة إجراء التوجيه) - تحدد سلوك التوجيه
- QER (قاعدة تطبيق QoS) - تفرض حدود معدل البيانات
- BAR (قاعدة إجراء التخزين المؤقت) - تتحكم في تخزين الحزم
انظر توثيق واجهة PFCP للحصول على التفاصيل.
تخصيص عنوان IP
تخصص عناوين IP لـ UE من مجموعات الشبكة المكونة:
- اختيار قائم على APN - يمكن أن تستخدم APNs المختلفة شبكات فرعية مختلفة
- ��خصيص ديناميكي - اختيار IP عشوائي من النطاق المتاح
- تخصيص ثابت - دعم لعناوين IP المطلوبة من قبل UE
- الكشف عن التصادم - يضمن تخصيص IP فريد
انظر تخصيص مجموعة IP لـ UE للتكوين.
البدء
المتطلبات المسبقة
- Elixir ~1.16
- Erlang/OTP 26+
- الاتصال بالشبكة إلى SGW-C و PGW-U و PCRF
- فهم بنية LTE EPC
بدء OmniPGW
- قم بتكوين إعدادات وقت التشغيل في
config/runtime.exs - قم بتجميع التطبيق:
mix deps.get
mix compile - ابدأ التطبيق:
mix run --no-halt
التحقق من التشغيل
تحقق من السجلات لبدء التشغيل الناجح:
[info] Starting OmniPGW...
[info] Starting Metrics Exporter on 127.0.0.42:42069
[info] Starting S5/S8 Broker on 127.0.0.10
[info] Starting Sxb Broker on 127.0.0.20
[info] Starting Gx Broker
[info] Starting PFCP Node Manager
[info] OmniPGW successfully started
الوصول إلى القياسات على http://127.0.0.42:42069/metrics (العنوان المكون).
التكوين
يتم تعريف ج��يع تكوينات وقت التشغيل في config/runtime.exs. يتم هيكلة التكوين في عدة أقسام:
نظرة عامة على التكوين
مرجع تكوين سريع
| القسم | الغرض | الوثائق |
|---|---|---|
| metrics | مصدّر قياسات Prometheus | دليل المراقبة |
| diameter | واجهة Gx إلى PCRF | تكوين Diameter Gx |
| s5s8 | واجهة GTP-C إلى SGW-C | تكوين S5/S8 |
| sxb | واجهة PFCP إلى PGW-U | تكوين PFCP |
| ue | مجموعات عناوين IP لـ UE | تكوين مجموعة IP |
| pco | خيارات تكوين البروتوكول | تكوين PCO |
| CDR | الفوترة والتقارير عن الاستخدام غير المتصل | تنسيق CDR |
انظر دليل التكوين الكامل للحصول على معلومات مفصلة.
واجهة الويب - لوحة عمليات الوقت الحقيقي
يتضمن OmniPGW واجهة ويب مدمجة للمراقبة والعمليات في الوقت الحقيقي، مما يوفر رؤية فورية لحالة النظام دون الحاجة إلى أدوات سطر الأوامر أو استعلامات القياسات.
الوصول إلى واجهة الويب
http://<omnipgw-ip>:<web-port>/
الصفحات المتاحة:
| الصفحة | URL | الغرض | معدل التحديث |
|---|---|---|---|
| بحث UE | /ue_search | الغوص العميق في جلسات المشتركين المحددين | عند الطلب |
| جلسات PGW | /pgw_sessions | عرض جميع جلسات PDN النشطة | 2 ثانية |
| تاريخ الجلسة | /session_history | سجل تدقيق لأحداث الجلسة | 5 ثواني |
| الطوبولوجيا الشبكية | /topology | عرض الطوبولوجيا الشبكية المرئية | 5 ثواني |
| مجموعات IP | /ip_pools | استخدام مجموعة عناوين IP لـ UE | 2 ثانية |
| جلسات PFCP | /pfcp_sessions | عرض جلسات PFCP مع PGW-U | 2 ثانية |
| حالة UPF | /upf_status | مراقبة ارتباطات نظير PFCP | 2 ثانية |
| اختيار UPF | /upf_selection | عرض قواعد اختيار UPF وحالة P-CSCF | ثابت |
| أقران Diameter | /diameter | مراقبة الاتصال بـ PCRF | 1 ثانية |
| مراقب P-CSCF | /pcscf_monitor | حالة اكتشاف DNS لـ P-CSCF | 5 ثواني |
| محاكي Gy | /gy_simulator | اختبا�� الفوترة عبر الإنترنت Gy/Ro | عند الطلب |
| أبراج الخلايا | /cell_towers | تصفح قاعدة بيانات OpenCellID | ثابت |
| السجلات | /logs | بث السجلات في الوقت الحقيقي | مباشر |
الميزات الرئيسية
التحديثات في الوقت الحقيقي:
- جميع الصفحات تتجدد تلقائيًا (لا حاجة لإعادة التحميل يدويًا)
- تدفق البيانات المباشرة من عمليات OmniPGW
- مؤشرات الحالة الملونة (أخضر/أحمر)
البحث والتصفية:
- البحث عن الجلسات بواسطة IMSI أو IP أو MSISDN أو APN
- تصفية فورية دون إعادة تحميل الصفحة
تفاصيل قابلة للتوسيع:
- انقر على أي صف لرؤية التفاصيل الكاملة
- فحص حالة الجلسة بالكامل
- عرض تكوين الأقران والقدرات
لا حاجة للمصادقة (استخدام داخلي):
- وصول مباشر من شبكة الإدارة
- مصممة للاستخدام من قبل فريق NOC/العمليات
- ربط فقط بعنوان الإدارة للأمان
سير العمل التشغيلي
استكشاف أخطاء الجلسة (الغوص العميق):
1. المستخدم يبلغ عن مشكلة في الاتصال
2. افتح صفحة بحث UE (/ue_search)
3. ابحث بواسطة IMSI أو MSISDN أو عنوان IP
4. راجع تفاصيل الجلسة الشاملة:
a) الجلسات النشطة - تحقق من وجود الجلسة مع المعلمات الصحيحة
b) الموقع الحالي - تحقق من TAC و Cell ID والموقع الجغرافي
c) معلومات الحامل - تحقق من الحاملات الافتراضية والمخصصة
- QCI، MBR/GBR، أسماء قواعد الفوترة
- حدود APN-AMBR
d) معلومات الفوترة - معرف جلسة Gy، حالة الحصة
e) معلومات السياسة - جلسة Gx، قواعد PCC المثبتة
f) الأحداث الأخيرة - تاريخ الجلسة وتغييرات الحالة
5. إذا لم يتم العثور على الجلسة → تحقق من صفحة Diameter للاتصال بـ PCRF
6. إذا كانت هناك مشاكل في الموقع → تحقق من بيانات برج الخلية في قسم الموقع الحالي
بحث سريع عن الجلسة:
1. المستخدم يبلغ عن مشكلة
2. افتح صفحة جلسات PGW (/pgw_sessions)
3. ابحث بواسطة IMSI ��و رقم الهاتف
4. تحقق من وجود الجلسة مع التفاصيل الأساسية:
- عنوان IP المخصص لـ UE
- معلمات QoS
- نقاط نهاية النفق المنشأة
5. للتحليل التفصيلي → انقر على الجلسة للتوسيع أو استخدم بحث UE
التحقق من صحة النظام:
1. افتح صفحة حالة UPF → تحقق من أن جميع أقران PGW-U "مرتبطون"
2. افتح صفحة Diameter → تحقق من أن جميع أقران PCRF "متصلون"
3. افتح جلسات PGW → تحقق من عدد الجلسات النشطة مقابل السعة
مراقبة السعة:
- نظرة على عدد جلسات PGW
- قارن بالسعة المرخصة/المتوقعة
- تحديد أوقات الاستخدام القصوى
- مراقبة التوزيع عبر APNs
واجهة الويب مقابل القياسات
استخدم واجهة الويب لـ:
- استكشاف مشكلات المشتركين بشكل عميق (بحث UE)
- تفاصيل الجلسة الفردية وفحص الحالة
- حالة الأقران في الوقت الحقيقي (PFCP، Diameter)
- فحوصات صحة سريعة عبر جميع الواجهات
- استكشاف مشكلات محددة للمستخدمين بواسطة IMSI/MSISDN/IP
- التحقق من الموقع الجغرافي (تكامل برج الخلية)
- تحليل QoS للحاملات (MBR، GBR، QCI)
- فحص قواعد السياسة والفوترة
- تاريخ الجلسة وآثار التدقيق
- مراقبة سعة مجموعة IP
- التحقق من التكوين والقواعد
استخدم قياسات Prometheus لـ:
- الاتجاهات التاريخية
- التنبيهات والإشعارات
- رسومات تخطيط السعة
- تحليل الأداء
- المراقبة على المدى الطويل
أفضل ممارسة: استخدم كلاهما معًا - واجهة الويب للعمليات الفورية، وPrometheus للاتجاهات والتنبيهات.
المراقبة والقياسات
بالإضافة إلى واجهة الويب، يكشف OmniPGW عن قياسات متوافقة مع Prometheus للمراقبة:
القياسات المتاحة
-
قياسات الجلسة
teid_registry_count- جلسات S5/S8 النشطةseid_registry_count- جلسات PFCP النشطةsession_id_registry_count- جلسات Gx النشطةaddress_registry_count- عناوين IP المخصصة لـ UEcharging_id_registry_count- معرفات الفو��رة النشطة
-
قياسات الرسائل
s5s8_inbound_messages_total- رسائل GTP-C المستلمةsxb_inbound_messages_total- رسائل PFCP المستلمةgx_inbound_messages_total- رسائل Diameter المستلمة- توزيعات مدة معالجة الرسائل
-
قياسات الأخطاء
s5s8_inbound_errors_total- أخطاء بروتوكول S5/S8sxb_inbound_errors_total- أخطاء بروتوكول PFCPgx_inbound_errors_total- أخطاء Diameter
الوصول إلى القياسات
تُعرض القياسات عبر HTTP عند نقطة النهاية المكونة:
curl http://127.0.0.42:42069/metrics
انظر دليل المراقبة والقياسات لإعداد لوحة المعلومات والتنبيهات.
التوثيق التفصيلي
تقدم هذه القسم نظرة شاملة على جميع وثائق OmniPGW. يتم تنظيم الوثائق حسب الموضوع وحالة الاستخدام.
هيكل الوثائق
توثيق OmniPGW
├── OPERATIONS.md (هذا الدليل)
│
└── docs/
├── التكوين والإعداد
│ ├── configuration.md مرجع كامل لـ runtime.exs
│ ├── ue-ip-allocation.md تكوين مجموعة IP
│ └── pco-configuration.md إعدادات DNS و P-CSCF و MTU
│
├── واجهات الشبكة
│ ├── pfcp-interface.md Sxb/PFCP (التواصل مع PGW-U)
│ ├── diameter-gx.md Gx (التواصل مع PCRF)
│ ├── diameter-gy.md Gy/Ro (التواصل مع OCS)
│ └── s5s8-interface.md S5/S8 (التواصل مع SGW-C)
│
└── العمليات
├── session-management.md دورة حياة جلسة PDN
└── monitoring.md قياسات Prometheus والتنبيهات
الوثائق حسب الموضوع
🚀 البدء
| الوثيقة | الوصف | الغرض |
|---|---|---|
| OPERATIONS.md | دليل العمليات الرئيسي (هذا الدليل) | نظرة عامة وبدء سريع |
⚙️ التكوين
| الوثيقة | الوصف | الأسطر |
|---|---|---|
| configuration.md | مرجع كامل لـ runtime.exs | 1,600+ |
| ue-ip-allocation.md | إدارة مجموعة IP لـ UE وتخصيصها | 943 |
| pco-configuration.md | خيارات تكوين البروتوكول (DNS و P-CSCF و MTU) | 344 |
🔌 واجهات الشبكة
| الوثيقة | الوصف | الأسطر |
|---|---|---|
| pfcp-interface.md | واجهة PFCP/Sxb إلى PGW-U | 1,355 |
| diameter-gx.md | واجهة Diameter Gx إلى PCRF (التحكم في السياسة) | 941 |
| diameter-gy.md | واجهة Diameter Gy/Ro إلى OCS (الفوترة عبر الإنترنت) | 1,100+ |
| s5s8-interface.md | واجهة GTP-C S5/S8 إلى SGW-C | 456 |
📊 العمليات والمراقبة
| الوثيقة | الوصف | الأسطر |
|---|---|---|
| session-management.md | دورة حياة الجلسة PDN والعمليات | 435 |
| monitoring.md | قياسات Prometheus، لوحات معلومات Grafana، التنبيهات | 807 |
| data-cdr-format.md | تنسيق ملف CDR، تكوين URR، الفوترة غير المتصلة | 847 |
| qos-bearers.md | إدارة QoS والحاملات، التحكم في السياسة | 448 |
| troubleshooting.md | إجراءات استكشاف الأخطاء والمشكلات الشائعة | 687 |
🔧 الميزات المتقدمة
| الوثيقة | الوصف | الأسطر |
|---|---|---|
| pcscf-monitoring.md | اكتشاف P-CSCF ومراقبة الصحة | 894 |
ميزات الوثائق
📈 مخططات Mermaid
تتضمن جميع الوثائق مخططات Mermaid لفهم بصري:
- مخططات العمارة
- مخططات التسلسل (تدفقات الرسائل)
- آلات الحالة
- الطوبولوجيا الشبكية
💡 أمثلة عملية
تتضمن كل وثيقة:
- أمثلة تكوين من العالم الحقيقي
- تكوينات جاهزة للنسخ واللصق
- حالات استخدام شائعة
🔍 استكشاف الأخطاء
تتضمن كل وثيقة واجهة:
- مشكلات شائعة وحلول
- أوامر تصحيح
- قياسات للتشخيص
🔗 الروابط المتقاطعة
تم ربط الوثائق بشكل مكثف لتسهيل التنقل.
مسارات القراءة
لمشغلي الشبكة
- OPERATIONS.md - نظرة عامة (هذا الدليل)
- configuration.md - الإعداد
- monitoring.md - المراقبة
- session-management.md - العمليات اليومية
لمهندسي الشبكة
- OPERATIONS.md - نظرة عامة على العمارة (هذا الدليل)
- pfcp-interface.md - التحكم في خطة المستخدم
- diameter-gx.md - التحكم في السياسة
- diameter-gy.md - الفوترة عبر الإنترنت
- s5s8-interface.md - إدارة الجلسة
- ue-ip-allocation.md - إدارة IP
للتكوين والنشر
- configuration.md - مرجع كامل
- ue-ip-allocation.md - مجموعات IP
- pco-configuration.md - معلمات الشبكة
- monitoring.md - إعداد المراقبة
إحصائيات الوثائق
- إجمالي الوثائق: 14
- إجمالي الأسطر: ~10,900+
- إجمالي الحجم: ~265 كيلوبايت
- مخططات Mermaid: 75+
- أمثلة التعليمات البرمجية: 150+
المفاهيم الأساسية المغطاة
العمارة
- ✅ فصل طبقة التحكم/المستخدم
- ✅ بنية OTP/Elixir
- ✅ إشراف العمليات
- ✅ جلسات قائمة على GenServer
البروتوكولات
- ✅ PFCP (بروتوكول التحكم في توجيه الحزم)
- ✅ GTP-C v2 (بروتوكول نفق GPRS)
- ✅ Diameter (RFC 6733)
واجهات 3GPP
- ✅ Sxb (PGW-C ↔ PGW-U)
- ✅ Gx (PGW-C ↔ PCRF)
- ✅ Gy/Ro (PGW-C ↔ OCS)
- ✅ S5/S8 (SGW-C ↔ PGW-C)
العمليات
- ✅ إدارة الجلسات
- ✅ استراتيجيات تخصيص IP
- ✅ تطبيق QoS
- ✅ تكامل الفوترة
- ✅ المراقبة والتنبيهات
موارد إضافية
مواصفات 3GPP
| المواصفة | العنوان |
|---|---|
| TS 29.274 | GTP-C v2 (واجهة S5/S8) |
| TS 29.244 | PFCP (واجهة Sxb) |
| TS 29.212 | واجهة Diameter Gx (التحكم في السياسة) |
| TS 32.299 | تطبيقات الفوترة Diameter (Gy/Ro) |
| TS 32.251 | فوترة المجال المعبأ |
| TS 23.401 | بنية EPC |
الوثائق ذات الصلة
- ملف التكوين: config/runtime.exs