المحتويات

المقدمة

المكونات المستخدمة

بروتوكول الإدارة البسيطة ل CoAP (CSMP)

إستخدام CSMP في شبكات المناطق الميدانية

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

أخطاء التوقيع

التحقق من صحة معلومات جهاز/برنامج ثابت المقياس

التحقق من صحة شهادة المقياس

التحقق من صحة ملف تكوين XML على العداد

مزامنة ساعة FND مع NTP

الأمتار مذكورة أسفل القوات الديمقراطية الوطنية

موازنة الأحمال رسائل Policy و CSMP

مثال CSMP Call Flow:

المتر إلى الصندوق

تحديث متري يدوي ل FND

إستجابة المقياس أثناء طلب التحديث اليدوي للمقياس (من FND)

المخطط الانسيابي لتسجيل CSMP

المقدمة

يصف هذا المستند تفاصيل بروتوكول CSMP مع الخطوات الرامية إلى أستكشاف أخطاء التسجيل وإصلاحها.

المكونات المستخدمة

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

بروتوكول الإدارة البسيطة ل CoAP (CSMP)

بروتوكول CoAP للإدارة البسيطة (CSMP) هو بروتوكول إدارة شبكة عن بعد مخصص لأجهزة الشبكة المضمنة التي تعمل داخل الشبكات ذات النطاق الترددي العريض الواسع.

يتم إنشاء CSMP فوق بروتوكول التطبيق المقيد (CoAP). CoAP هو بروتوكول ثنائي قائم على UDP تم تصميمه لتوفير دلالات مشابهة ل HTTP (GET/POST للموارد مع عناوين URL) مع الحد الأدنى لنفقات الرأس في بيئة مقيدة وسهلة البث المتعدد.

يقوم CSMP بتعريف مجموعة صغيرة من موارد CoAP المحددة بواسطة مسارات عنوان URL المحددة التي تمثل نقاط النهاية لتبادل البيانات.

تتصل وحدات NMS والأجهزة الطرفية ببعضها البعض مباشرة عبر CoAP، دون أي وكلاء أو بوابات متدخلين.

يستخدم وكيل الإدارة الذي يعمل على الجهاز المضمن CoAP كعميل للاتصال مباشرة بتطبيق إدارة الشبكة.

يرسل عميل CSMP في الجهاز المضمن طلبات إلى موارد CoAP معينة يتم توفيرها بواسطة خادم CSMP في التطبيق.

باستخدام حل المروحة، يكون تطبيق إدارة الشبكة هو مدير الشبكة الميداني (FND).

بالإضافة إلى ذلك، يستخدم عامل الإدارة الذي يتم تشغيله على الجهاز المضمن CoAP كخادم لقبول الطلبات من FND تعمل في موقع بعيد.

يرسل عميل CSMP في FND طلبات إلى موارد CoAP معينة يتم توفيرها بواسطة خادم CSMP في الأجهزة المضمنة.

كمرجع، تحتوي رسالة CoAP على البنية التالية:

+-+-+-+-+--+---+---+---+--+---+---+---+---+---+---+---+----+----+-----+-----+--------+-------

|الإصدار| T | OC | الرمز | معرف الرسالة |

+-+-+-+-+--+---+---+---+--+---+---+---+---+---+---+---+----+----+-----+-----+--------+-------

| خيارات (إن وجدت) ...

+-+-+-+-+--+---+---+---+--+---+---+---+---+---+---+---+----+----+-----+-----+--------+-------

| الحمولة (إن وجدت) ...

+-+-+-+-+--+---+---+---+--+---+---+---+---+---+---+---+----+----+-----+-----+--------+-------

الخيارات هي TLVs الخاصة ب CoAP التي تحتوي على هذا الهيكل:

+—+—+—+—+—+—+——+—+—+—+

| خيار دلتا | طول | ل 0..14

+—+—+—+—+—+—+——+—+—+—+

| قيمة الخيار ...

+—+—+—+—+—+—+——+—+—+—+

رمز الأسلوب أو رمز الاستجابة الشبيهي ب CoAP HTTP موجود في الحقل "الرمز". تتضمن مجموعة خيارات CoAP عنوان URL للمورد (مقسم إلى أجزاء مضيف ومنفذ ومسار واستعلام).

إستخدام CSMP في شبكات المناطق الميدانية

تدير القوات المسلحة الفلبينية نقاط النهاية للشبكة المعشقة أو للمتر، سواء أكان عداد غاز أو مقياس ماء أو مقياس طاقة. وتتصل القوات الخاصة بنقاط نهاية العداد باستخدام بروتوكول CSMP على النحو المذكور أعلاه.

يتم تشفير رسائل CSMP. يقوم HSM أو SSM بتخزين المفاتيح المستخدمة لتشفير رسائل CSMP.

كما يقوم SSM (وحدة أمان البرنامج) أو HSM (وحدة أمان الأجهزة) بتخزين شهادة CSMP اللازمة للاتصال.

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

أخطاء التوقيع

يقوم Server.Log بالنقاط إلى وحدات القياس التي تحتوي على أخطاء في التوقيع.

٪IOTFND-6-غير محدد: ٪[ch=HandleMessage][eid=0007810800CA759B][sev=info][tid=CoAP conformant-3]: تشغيل مجموعة البرامج الثابتة على الجهاز هو id=243 ولكن يجب أن يكون id=317(توقيع CSMP غير صالح).             إرسال GroupAssign.

التحقق من صحة معلومات جهاز/برنامج ثابت المقياس

على سبيل المثال، المخرجات الناتجة لعيد المتر "fd00:abd:51:c000:207:8108:e7:6fda"

[root@lcdcfndappp01 bin]# /opt/cgms-tools/bin/csmp-request -r [fd00:abd:51:c000:207:8108:e7:6fda] 75

[75/FirmwareImageInfo]: {"index": 1،"fileHash": "\x25\x9c\xcf\x36\xf9\x19\x8d\x4e\x13\xaa\x7f\x83\xa3\x94\x4a\xee\xe8\xc1\xc6\xc1\x0d\x7e\x11\xd2\xc0\x2d\x4f\xbc\xad\xdd\x97\x83"،"fileName": "cg-mesh-node-5.6.2 1"، "version": "5.6.21"،"fileSize": 305408،"isDefault": false،"isRunning": true،"hwInfo": {"hwId": "RFLAN/3.60/3.80"} [75/FirmwareImageInfo] {"index:"، "fileHash": "\x25\x9c\xcf\x36\xf9\x19\x8d\x4e\x13\xaa\x7f\x83\xa3\x94\x4a\xee\xe8\xc1\xc6\xc1\x0d\x7e\x11\xd2\xc0\x2d\x4f\xbc\xad\xdd\x97\x83"،"fileName": "cg-mesh-node-5.6.2 1"،"version": "5.6.21"،"fileSize": 305408،"blockSize": 650،"isDefault": false،"isRunning": false،"hwInfo": {"hwId": "RFLAN/3.60/3.80"} [75/FirmwareImageInfo]: {"index":،"file\x25\x9c\xcf\x36\xf9\x19\x8d\x4e\x13\xaa\x7f\x83\xa3\x94\x4a\xee\xe8\xc1\xc6\xc1\x0d\x7e\x11\xd2\xc0\x2d\x4f\xbc\xad\xdd\x97\x83": "،"fileName": "cg-mesh-node-5.6.2 1"،"version": "5.6.21"،"fileSize": 305408،"blockSize": 650،"isDefault": true،"isRunning": false،"hwInfo": {"hwId": "RFLAN/3.60/3.80"} [75/FirmwareImageInfo]: {"index": 4،"fileHash": \x3d\x03\xe4\x6c\xa7\x10\x3c\x75\x21\xf2\x41\x8f\x88\x4f\x56\x0e\x46\x7a\x06\xfc\x78\x24\x69\xeb\x0e\x8b\xfc\x03\x64\xb8\x8f\x85،"fileName": cg-mesh-itron30-sl -rel-5.2.25"،"version": "5.2.25"،"fileSize": 40960} [root@lcdcfndappp01 bin]#

التحقق من صحة شهادة المقياس

إستخدام رمز TLV 43 ل CGMSSTATUS والتحقق من صحة الحقل NMSCertValid.

يمكن أن يحدد الحقل NMSCertValid ما إذا كان شهادة FND صالحة أم لا.

إذا كان تلف أجهزة، فإن كافة المعلمات التي تمت قراءتها من ذاكرة Flash (الذاكرة المؤقتة) هي NULL، على سبيل المثال، حقل SSID. وبالتالي، إذا كان اسم SSID موجودا، فلن يكون تلف الأجهزة.

إذا كان اسم SSID صحيحا وتم الإبلاغ عن حقل NMSCertValid على أنه خطأ، فمن المحتمل أن تكون هناك مشكلة في ملف التحقق الذي تم نسخه على المقياس.

التحقق من صحة ملف تكوين XML على المقياس

<DevCfgSchema>، في حالة ترك العداد في وضع العرض التوضيحي، اتصل بمورد العداد للحصول على الدعم.

<DemoMode_CFG> <DemoModeEnable>true</DemoModeEnable> </DemoMode_CFG>

مزامنة ساعة FND مع NTP

يظهر هذا الخطأ :

٪IOTFND-7-Unspecified: ٪[ch=EventProduct][sev=DEBUG][tid=CoAP-7]: كائن الحدث الذي يتم إرساله = EventObject [netElementId=1149847، eventTime=1622146931202، eventSeverity=0، eventSource=cgmesh، eventTypeName=signatureFailure، eventDisplayName=Invalid CSMP Signature، EventTypeId=1085، eventMessage=التحقق من إعداد الشهادة. تحقق أيضا من أن الجهاز و IoT-FND متزامنان زمنيا.، lat=1000.0، lng=1000.0، geoHash=null، eid=F43328000005de8، issueId=0، eventSev=critical، moduleId=null، domainName=root]

العرض: في FND، يدخل الجهاز المرتبط إلى حالة "التسجيل" بدلا من الظهور.

1. تحقق مما إذا كانت ساعات FND و NTP متزامنة،

2. تحقق مما إذا كانت ساعات FND ونقاط النهاية متزامنة.

الأمتار مذكورة أسفل القوات الديمقراطية الوطنية

إذا تم الإبلاغ عن وجود ME/METER في FND، تحقق مما إذا كان هناك جدار حماية يمنع رسائل CSMP الواردة.

لإصلاح المشكلة على خادم FND، قم بتعطيل خدمة Firewalld:

[root@iot-fnd ~]# systemctl list-unit-files | grep firewalld

firewalld.service disabled

في حالة تمكينها، يمكنك تعطيلها باستخدام الأمر أدناه:

[root@iot-fnd ~]# systemctl disable firewalld

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

سياسة موازنة التحميل ورسائل CSMP

في بيئة نظام مجموعة موازنة الأحمال، تحقق من الاتصال بين عناوين المصدر والوجهة، والمنافذ بين نقاط النهاية العشرية (ME) و FND.

تحقق من إحصائيات CSMP باستخدام إخراج getStats.sh.  إذا كان أحد خوادم التطبيقات به معدل معالجة CSMP أعلى من غيره، فمن المحتمل أن يتم تكوين موازنة الأحمال بشكل غير صحيح.  علاوة على ذلك، عند تحليل المخرجات، إذا رأيت أحجام قوائم الانتظار الخاصة بك تزيد، فهذا يؤكد أن هناك عملية معقدة في مكان ما.

مثال CSMP Call Flow:

طلب CSMP إلى العداد أثناء التسجيل المتري الدوري.

المتر إلى الصندوق

عنوان IPv6 لمقياس SRC ip

عنوان IPv6 FND للوجهة

منفذ UDP المصدر 61624

منفذ DST UDP 61624

تحديث متري يدوي لعداد متر من الصندوق الوطني للتنمية

عنوان IP6 لبروتوكول FND IP المصدر

عنوان IPv6 لمقياس IP للوجهة

مصدر UDP ميناء أي مثال: 9251

منفذ DST UDP 61624

إستجابة المقياس أثناء طلب تحديث متري يدوي (من صندوق التنمية البشرية)

عنوان IPv6 لمقياس IP المصدر

عنوان IP6 ل IP الوجهة

منفذ UDP المصدر 61624

منفذ DST UDP الذي أرسله على سبيل المثال: 9251

إذا كان "ME" يرسل ردا إلى IP (VIP) موازن التحميل بدلا من عنوان IP المطلوب الذي استلم عليه "طلب" CSMP، "، فإنه يحتاج إلى توجيهه بشكل صحيح باستخدام تكوين إضافي.

المخطط الانسيابي لتسجيل CSMP