قراءة DDM بالأدوات: CLI وethtool وSNMP وOpenConfig
تصل إليك بايتات A2h نفسها عبر أبواب كثيرة: CLI في المبدّل، أو بطاقة NIC على Linux، أو أداة استقصاء SNMP، أو مسار القياس عن بُعد المتدفق، أو تفريغ سداسي عشري خام من المبرمج. هذه الصفحة دليل الوصفات العملي: الأوامر، ومعرّفات OID والمسارات، وكيفية فك ترميز تفريغ خام يدويًا عندما لا تفعل الأداة التي أمامك ذلك.
CLI المبدّلات والموجّهات
| المنصة | أمر DDM | ملاحظات |
|---|---|---|
| Cisco IOS / IOS-XE | show interfaces transceiver detail | تُعرض العتبات إلى جانب القيم؛ show idprom interface لبيانات التعريف |
| Cisco NX-OS | show interface ethernet1/1 transceiver details | لكل مسار في QSFP |
| Cisco IOS-XR | show controllers optics 0/0/0/0 | يشمل الإنذارات وجدول المسارات |
| Juniper Junos | show interfaces diagnostics optics xe-0/0/0 | العتبات وحالة الإنذار مُضمَّنتان |
| Arista EOS | show interfaces ethernet 1 transceiver dom | … transceiver detail تضيف العتبات |
| Huawei VRP | display transceiver interface XGigabitEthernet0/0/1 verbose | — |
| MikroTik RouterOS | /interface ethernet monitor sfp1 | sfp-temperature، sfp-tx-power، sfp-rx-power، sfp-tx-bias-current |
| Dell OS10 | show interface ethernet 1/1/1 transceiver | — |
| NVIDIA Cumulus / Onyx | l1-show swp1 / show interfaces ethernet 1/1 transceiver | mlxlink -d <dev> -p <port> -m لتفاصيل الوحدة |
| SONiC | show interfaces transceiver eeprom -d Ethernet0 | sfputil show eeprom -d؛ … presence، … lpmode |
معادلات موجَّهة نحو بيانات التعريف وما تبحث عنه: التحقق من البصريات على المبدّلات.
Linux: ethtool
ethtool -m eth0 # decoded identity + DDM (when the driver supports module EEPROM)
ethtool -m eth0 raw on hex on # raw dump: A0h at 0x0000–0x00ff, A2h at 0x0100–0x01ff (SFP)
ethtool -m eth0 hex on offset 256 length 128 # A2h lower page only
ethtool --show-fec eth0 # FEC mode
ethtool -S eth0 | grep -i fec # fec_corrected_blocks / fec_uncorrectable_blocks
بالنسبة إلى وحدات QSFP/CMIS يتبع التفريغ التخطيط المقسَّم إلى صفحات الذي يعرضه برنامج التشغيل (الصفحة السفلى، والعليا 00h، ثم الصفحات 01h/02h/03h/10h/11h حيث تُدعم). يفك ethtool ترميز SFF-8472 وSFF-8636 بالكامل، وCMIS جزئيًا، حسب إصدار النواة.
فك ترميز تفريغ A2h خام يدويًا
الصفحة السفلى من A2h عند الإزاحة 0x0100 في تفريغ ethtool -m … raw on hex on. تبدأ المراقبات الحية عند البايت 96 من A2h → إزاحة التفريغ 0x0160:
0x0160: 1a 80 80 e8 1b 58 0f a0 03 e8 ...
└─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘
temp Vcc bias Tx Rx
| البايتات | القيمة الخام | التحويل | القيمة |
|---|---|---|---|
| 96–97 درجة الحرارة | 1A 80 = 6784 (بإشارة) | ÷ 256 | 26.5 °C |
| 98–99 Vcc | 80 E8 = 33000 | × 100 µV | 3.300 V |
| 100–101 انحياز Tx | 1B 58 = 7000 | × 2 µA | 14.0 mA |
| 102–103 قدرة Tx | 0F A0 = 4000 | × 0.1 µW = 400 µW؛ 10·log10(0.400) | −3.98 dBm |
| 104–105 قدرة Rx | 03 E8 = 1000 | × 0.1 µW = 100 µW | −10.0 dBm |
تفترض هذه التحويلات معايرة داخلية (البايت 92 البت 5 من A0h)؛ ومع المعايرة الخارجية طبّق أولًا الثوابت من A2h 56–91 (المعايرة). العتبات تقع في A2h 0–39 بالصيغ نفسها؛ والحالة/التحكم والأعلام في 110–117 (العتبات والإنذارات). QSFP: مراقبات الوحدة في البايتات 22–27، ومراقبات المسارات في 34–57 من الصفحة السفلى؛ CMIS: الصفحة السفلى 14–25 والصفحة 11h 154–201 (التشخيص لكل مسار).
SNMP
المعيار: ENTITY-SENSOR-MIB (RFC 3433)
تعرض معظم المنصات كل قيمة من قيم DDM كمستشعر فيزيائي:
| الكائن | OID | المعنى |
|---|---|---|
| entPhySensorType | 1.3.6.1.2.1.99.1.1.1.1 | 4 voltsDC، 5 amperes، 8 celsius، 14 dBm |
| entPhySensorScale | 1.3.6.1.2.1.99.1.1.1.2 | 8 = units، 7 = milli، 6 = micro… |
| entPhySensorPrecision | 1.3.6.1.2.1.99.1.1.1.3 | عدد الخانات العشرية في القيمة |
| entPhySensorValue | 1.3.6.1.2.1.99.1.1.1.4 | القراءة |
| entPhySensorOperStatus | 1.3.6.1.2.1.99.1.1.1.5 | 1 ok، 2 unavailable، 3 nonoperational |
يرتبط فهرس المستشعر بمنفذ عبر ENTITY-MIB (entPhysicalDescr، entPhysicalContainedIn). وقيمة من النوع 14 (dBm)، بمقياس 8، ودقة 2، وقيمة −1234 تعني −12.34 dBm.
MIB الموردين
| المورّد | MIB / كائن مثال |
|---|---|
| Cisco | CISCO-ENTITY-SENSOR-MIB entSensorValue (1.3.6.1.4.1.9.9.91.1.1.1.1.4)، والعتبات في entSensorThresholdTable |
| Juniper | JUNIPER-DOM-MIB: jnxDomCurrentRxLaserPower (…2636.3.60.1.1.1.1.5، 0.01 dBm)، jnxDomCurrentTxLaserBiasCurrent (.6)، jnxDomCurrentTxLaserOutputPower (.7)، jnxDomCurrentModuleTemperature (.8) |
| Arista، Dell، وكثير غيرها | ENTITY-SENSOR-MIB فقط |
| Huawei | كائنات HUAWEI-ENTITY-EXTENT-MIB الضوئية (قدرة Rx/Tx، الانحياز، درجة الحرارة) |
| MikroTik | MIKROTIK-MIB mtxrOpticalTable (قدرة Rx/Tx، درجة الحرارة، الجهد، الانحياز) |
أنظمة NMS مفتوحة المصدر (LibreNMS، وقوالب Zabbix، وObservium) تكتشف هذه القيم تلقائيًا وترسمها بيانيًا؛ ويستخدم Prometheus أداة snmp_exporter بمعرّفات OID نفسها.
القياس عن بُعد المتدفق (gNMI / OpenConfig)
يمثّل openconfig-platform-transceiver الوحدة كمكوّن له قنوات فيزيائية:
/components/component[name=Ethernet1/1]/transceiver/state/… vendor, part, serial, form-factor
/components/component[name=…]/transceiver/physical-channels/channel[index=0]/state/input-power/instant
/components/component[name=…]/transceiver/physical-channels/channel[index=0]/state/output-power/instant
/components/component[name=…]/transceiver/physical-channels/channel[index=0]/state/laser-bias-current/instant
/components/component[name=…]/state/temperature/instant
يحمل كل leaf القيم instant، وavg، وmin، وmax طوال فترة أخذ العينات. اشترك في وضع SAMPLE كل 10–60 s؛ والمسار الشائع هو gnmic → Prometheus/InfluxDB → Grafana. والنماذج الخاصة بكل مورّد (Cisco، وJuniper، وArista) تعرض البيانات نفسها تحت مساراتها الخاصة، وعادة تضيف عدّادات FEC وحالة الإنذار.
Windows ومضيفات أخرى
لا توجد أداة DDM أصلية على Windows؛ وأدوات موردي بطاقات الشبكة (لمهايئات الخواديم) تعرض أحيانًا بيانات الوحدة. ويعرض FreeBSD بيانات تعريف SFP وDDM عبر ifconfig <if> -v على برامج التشغيل المدعومة. وعلى مضيف لا يستطيع قراءة الوحدة، تكون منصة الاختبار هي الحل البديل.
معدّلات الاستقصاء وآداب التعامل
- تتحدّث مراقبات الوحدة عدة مرات في الثانية؛ والاستقصاء كل 1–5 دقائق كافٍ لرصد الاتجاه ولطيف على ناقل السلكين.
- بعض المنصات تسلسل كل قراءات الوحدات عبر معالج إدارة واحد — والمسح الجائر بـSNMP لمئات المنافذ قد يبطئ الاستجابة أو يتجاوز المهلة.
- لا تُشغّل أبدًا جهازًا رئيسيًا ثانيًا (ملقط المبرمج، أو أداة ضمن النطاق) على ناقل يستقصيه المضيف (واجهة السلكين).
مقارنة المصادر
تقرأ CLI وSNMP والقياس عن بُعد كلها البايتات نفسها؛ والفروق التي لا تتجاوز أعشار dB بينها مسألة توقيت لا خطأ. والفرق بين قراءة المضيف وقراءة منصة الاختبار للوحدة نفسها يستحق الفهم: فدرجة الحرارة وVcc ومعالجة المعايرة تغيّر الأرقام (الدقة والحدود).
في CodingBox
CodingBox هو باب منصة الاختبار: تعرض شاشة DDM المراقبات والأعلام بعد فك ترميزها، والبايتات الخام على بُعد نقرة واحدة في EEPROM editor، وتغذّي تصدير CSV لوحات المعلومات نفسها التي تستهلك SNMP أو القياس عن بُعد — بحيث يكون للوحدة تاريخ واحد من الفحص الوارد حتى إخراجها من الخدمة (المراقبة).