دليل عمليات OmniPGW
OmniPGW - وحدة التحكم في بوابة الحزمة (PGW-C)
بواسطة خدمات شبكة أومنيتوتش
جدول المحتويات
- نظرة عامة
- الهندسة المعمارية
- واجهات الشبكة
- المفاهيم الأساسية
- البدء
- التكوين
- واجهة الويب - لوحة عمليات الوقت الحقيقي
- المراقبة والقياسات
- التوثيق التفصيلي
- الموارد الإضافية
- المساهمة
- الدعم
نظرة عامة
OmniPGW هو تنفيذ عالي الأداء لوحدة التحكم في بوابة الحزمة (PGW-C) لشبكات 3GPP LTE Evolved Packet Core (EPC)، تم تطويره بواسطة خدمات شبكة أومنيتوتش. يدير وظائف التحكم في جلسات البيانات، بما في ذلك:
- إدارة الجلسات - إنشاء وتعديل وإنهاء جلسات بيانات 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
كل مكون يتم الإشراف عليه وسيت restart تلقائيًا عند الفشل، مما يضمن موثوقية النظام.
واجهات الشبكة
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
- فهم لهندسة EPC LTE
بدء 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. يتم هيكلة التكوين في عدة أقسام:
نظرة عامة على التكوين
مرجع تكوين سريع
| القسم | الغرض | الوثائق |
|---|---|---|
| القياسات | مصدّر قياسات Prometheus | دليل المراقبة |
| Diameter | واجهة Gx إلى PCRF | تكوين Diameter Gx |
| s5s8 | واجهة GTP-C إلى SGW-C | تكوين S5/S8 |
| sxb | واجهة PFCP إلى PGW-U | تكوين PFCP |
| ue | برك عنوان IP لـ UE | تكوين بركة IP |
| pco | خيارات تكوين البروتوكو�� | تكوين PCO |
انظر دليل التكوين الكامل لمعلومات مفصلة.
واجهة الويب - لوحة عمليات الوقت الحقيقي
يتضمن OmniPGW واجهة ويب مدمجة للمراقبة والعمليات في الوقت الحقيقي، مما يوفر رؤية فورية لحالة النظام دون الحاجة إلى أدوات سطر الأوامر أو استعلامات القياسات.
الوصول إلى واجهة الويب
http://<omnipgw-ip>:<web-port>/
الصفحات المتاحة:
| الصفحة | URL | الغرض | معدل التحديث |
|---|---|---|---|
| جلسات PGW | /pgw_sessions | عرض جميع جلسات PDN النشطة | 2 ثواني |
| جلسات PFCP | /pfcp_sessions | عرض جلسات PFCP مع PGW-U | 2 ثواني |
| حالة UPF | /upf_status | مراقبة ارتباطات أقران PFCP | 2 ثواني |
| أقران Diameter | /diameter | مراقبة الاتصال بـ PCRF | 1 ثانية |
| السجلات | /logs | بث السجلات في الوقت الحقيقي | مباشر |
الميزات الرئيسية
التحديثات في الوقت الحقيقي:
- جميع الصفحات تتجدد تلقائيًا (لا حاجة لإعادة تحميل يدوي)
- تدفق بيانات مباشر من عمليات OmniPGW
- مؤشرات حالة ملونة (أخضر/أحمر)
البحث والتصفية:
- البحث عن الجلسات بواسطة IMSI أو IP أو MSISDN أو APN
- تصفية فورية دون إعادة تحميل الصفحة
تفاصيل قابلة للتوسيع:
- انقر على أي صف لرؤية التفاصيل الكاملة
- فحص حالة الجلسة الكاملة
- عرض تكوين وقدرات الأقران
لا حاجة للمصادقة (للاستخدام الداخلي):
- وصول مباشر من الشبكة الإدارية
- مصممة للاستخدام من قبل فريق NOC/العمليات
- الربط بعنوان IP الإداري فقط لأغراض الأمان
سير العمل التشغيلي
استكشاف أخطاء الجلسة:
1. المستخدم يبلغ عن مشكلة في الاتصال
2. افتح صفحة جلسات PGW
3. ابحث بواسطة IMSI أو رقم الهاتف
4. تحقق من وجود الجلسة وأنها تحتوي على:
- عنوان IP لـ UE مخصص
- معلمات QoS من PCRF
- نقاط نهاية النفق تم إنشاؤها
5. إذا لم يتم العثور على جلسة → تحقق من صفحة Diameter للاتصال بـ PCRF
التحقق من صحة النظام:
1. افتح صفحة حالة UPF → تحقق من أن جميع أقران PGW-U "مرتبطون"
2. افتح صفحة Diameter → تحقق من أن جميع أقران PCRF "متصلون"
3. افتح جلسات PGW → تحقق من عدد الجلسات النشطة مقابل السعة
مراقبة السعة:
- نظرة على عدد جلسات PGW
- قارن بالسعة المرخصة/المتوقعة
- تحديد أوقات الاستخدام القصوى
- مراقبة التوزيع عبر APNs
واجهة الويب مقابل القياسات
استخدم واجهة الويب لـ:
- تفاصيل الجلسة الفردية
- حالة الأقران في الوقت الحقيقي
- فحوصات الصحة السريعة
- استكشاف أخطاء المستخدمين المحددين
- التحقق من التكوين
استخدم قياسات 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 |
ميزات الوثائق
📈 مخططات 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 - إعداد المراقبة
إحصائيات الوثائق
- إجمالي الوثائق: 10
- إجمالي الخطوط: ~7,300+
- إجمالي الحجم: ~180 كيلوبايت
- مخططات Mermaid: 65+
- أمثلة الشيفرة: 120+
المفاهيم الأساسية المغطاة
الهندسة المعمارية
- ✅ فصل مستوى التحكم/المستخدم
- ✅ هندسة 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 |
الوثائق ذات الصلة
- README المشروع: README.md
- ملف التكوين: config/runtime.exs
المساهمة
لتحديث الوثائق:
- تحرير ملفات Markdown في
docs/ - تضمين مخططات Mermaid للمفاهيم البصرية
- إضافة أمثلة عملية
- ربط الوثائق ذات الصلة
- تحديث OPERATIONS.md إذا تم إضافة وثائق جديدة
روابط سريعة
الدعم
لأسئلة أو مشكلات تتعلق بـ OmniPGW:
- مراجعة الوثائق في هذا الدليل
- التحقق من أمثلة التكوين
- استشارة أقسام استكشاف الأخطاء في وثائق الواجهة
- الرجوع إلى مستودع المشروع للمساهمات
OmniPGW - وحدة التحكم في بوابة الحزمة LTE على مستوى الناقل
تم تطويره بواسطة خدمات شبكة أومنيتوتش
إصدار الوثائق: 1.0 آخر تحديث: 2025-10-29