Odczyt DDM narzędziami: CLI, ethtool, SNMP, OpenConfig · Diagnostyka DDM/DOM · Transceivery optyczne i kable · Dokumentacja · CodingBox
CodingBox Dokumentacja

Odczyt DDM narzędziami: CLI, ethtool, SNMP, OpenConfig

Te same bajty A2h trafiają do ciebie wieloma drogami: przez CLI przełącznika, kartę sieciową Linuksa, odpytywanie SNMP, potok telemetrii strumieniowej albo surowy zrzut hex z programatora. Ta strona to zbiór przepisów: polecenia, OID-y i ścieżki oraz sposób ręcznego dekodowania surowego zrzutu, gdy narzędzie pod ręką tego nie potrafi.

CLI przełącznika i routera

PlatformaPolecenie DDMUwagi
Cisco IOS / IOS-XEshow interfaces transceiver detailprogi pokazane obok wartości; show idprom interface dla danych identyfikacyjnych
Cisco NX-OSshow interface ethernet1/1 transceiver detailsdla QSFP w rozbiciu na linie
Cisco IOS-XRshow controllers optics 0/0/0/0zawiera alarmy i tabelę linii
Juniper Junosshow interfaces diagnostics optics xe-0/0/0zawiera progi i stan alarmów
Arista EOSshow interfaces ethernet 1 transceiver dom… transceiver detail dodaje progi
Huawei VRPdisplay transceiver interface XGigabitEthernet0/0/1 verbose—
MikroTik RouterOS/interface ethernet monitor sfp1sfp-temperature, sfp-tx-power, sfp-rx-power, sfp-tx-bias-current
Dell OS10show interface ethernet 1/1/1 transceiver—
NVIDIA Cumulus / Onyxl1-show swp1 / show interfaces ethernet 1/1 transceivermlxlink -d <dev> -p <port> -m pokazuje szczegóły modułu
SONiCshow interfaces transceiver eeprom -d Ethernet0sfputil show eeprom -d; … presence, … lpmode

Odpowiedniki związane z danymi identyfikacyjnymi i na co zwrócić uwagę: Weryfikacja optyki na przełącznikach.

Linux: ethtool

ethtool -m eth0                 # zdekodowane dane identyfikacyjne + DDM (gdy sterownik obsługuje EEPROM modułu)
ethtool -m eth0 raw on hex on   # surowy zrzut: A0h pod 0x0000–0x00ff, A2h pod 0x0100–0x01ff (SFP)
ethtool -m eth0 hex on offset 256 length 128   # tylko dolna strona A2h
ethtool --show-fec eth0         # tryb FEC
ethtool -S eth0 | grep -i fec   # fec_corrected_blocks / fec_uncorrectable_blocks

W przypadku modułów QSFP/CMIS zrzut ma układ stronicowany, jaki udostępnia sterownik (strona dolna, górna 00h, potem strony 01h/02h/03h/10h/11h, jeśli są obsługiwane). ethtool dekoduje SFF-8472 i SFF-8636 w pełni, a CMIS częściowo, zależnie od wersji jądra.

Ręczne dekodowanie surowego zrzutu A2h

Dolna strona A2h zaczyna się pod offsetem 0x0100 w zrzucie ethtool -m … raw on hex on. Bieżące wielkości mierzone zaczynają się od bajtu 96 A2h → offset zrzutu 0x0160:

0x0160:  1a 80 80 e8 1b 58 0f a0 03 e8 ...
         └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘
        temp    Vcc   bias   Tx     Rx
BajtyWartość surowaPrzeliczenieWartość
96–97 temperatura1A 80 = 6784 (ze znakiem)÷ 25626,5 °C
98–99 Vcc80 E8 = 33000× 100 µV3,300 V
100–101 polaryzacja Tx1B 58 = 7000× 2 µA14,0 mA
102–103 moc Tx0F A0 = 4000× 0,1 µW = 400 µW; 10·log10(0,400)−3,98 dBm
104–105 moc Rx03 E8 = 1000× 0,1 µW = 100 µW−10,0 dBm

Te przeliczenia zakładają kalibrację wewnętrzną (A0h bajt 92 bit 5); przy kalibracji zewnętrznej najpierw zastosuj stałe z A2h 56–91 (Kalibracja). Progi znajdują się w A2h 0–39 w tych samych formatach, a stan/sterowanie i flagi w 110–117 (Progi i alarmy). QSFP: wielkości mierzone modułu w bajtach 22–27, wielkości mierzone linii w 34–57 dolnej strony; CMIS: dolna strona 14–25 i strona 11h 154–201 (Diagnostyka poszczególnych linii).

SNMP

Standard: ENTITY-SENSOR-MIB (RFC 3433)

Większość platform udostępnia każdą wartość DDM jako czujnik fizyczny:

ObiektOIDZnaczenie
entPhySensorType1.3.6.1.2.1.99.1.1.1.14 voltsDC, 5 amperes, 8 celsius, 14 dBm
entPhySensorScale1.3.6.1.2.1.99.1.1.1.28 = jednostki, 7 = mili, 6 = mikro…
entPhySensorPrecision1.3.6.1.2.1.99.1.1.1.3liczba miejsc dziesiętnych w wartości
entPhySensorValue1.3.6.1.2.1.99.1.1.1.4odczyt
entPhySensorOperStatus1.3.6.1.2.1.99.1.1.1.51 ok, 2 niedostępny, 3 niedziałający

Indeks czujnika jest mapowany na port przez ENTITY-MIB (entPhysicalDescr, entPhysicalContainedIn). Wartość typu 14 (dBm), skali 8, precyzji 2 i wartości −1234 oznacza −12,34 dBm.

MIB-y producentów

ProducentMIB / przykładowy obiekt
CiscoCISCO-ENTITY-SENSOR-MIB entSensorValue (1.3.6.1.4.1.9.9.91.1.1.1.1.4), progi w entSensorThresholdTable
JuniperJUNIPER-DOM-MIB: jnxDomCurrentRxLaserPower (…2636.3.60.1.1.1.1.5, 0,01 dBm), jnxDomCurrentTxLaserBiasCurrent (.6), jnxDomCurrentTxLaserOutputPower (.7), jnxDomCurrentModuleTemperature (.8)
Arista, Dell i wiele innychtylko ENTITY-SENSOR-MIB
Huaweiobiekty optyczne HUAWEI-ENTITY-EXTENT-MIB (moc Rx/Tx, polaryzacja, temperatura)
MikroTikMIKROTIK-MIB mtxrOpticalTable (moc Rx/Tx, temperatura, napięcie, polaryzacja)

Otwarte systemy NMS (LibreNMS, szablony Zabbiksa, Observium) wykrywają je automatycznie i rysują ich wykresy; Prometheus używa snmp_exporter z tymi samymi OID-ami.

Telemetria strumieniowa (gNMI / OpenConfig)

openconfig-platform-transceiver modeluje moduł jako komponent z kanałami fizycznymi:

/components/component[name=Ethernet1/1]/transceiver/state/…            producent, numer katalogowy, numer seryjny, format obudowy
/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

Każdy węzeł leaf niesie instant, avg, min, max w oknie próbkowania. Subskrybuj w trybie SAMPLE co 10–60 s; typowy potok to gnmic → Prometheus/InfluxDB → Grafana. Natywne modele producentów (Cisco, Juniper, Arista) udostępniają te same dane pod własnymi ścieżkami i zwykle dodają liczniki FEC oraz stan alarmów.

Windows i inne hosty

W Windows nie ma natywnego narzędzia DDM; narzędzia producentów kart sieciowych (adaptery serwerowe) czasem pokazują dane modułu. FreeBSD pokazuje dane identyfikacyjne SFP i DDM poleceniem ifconfig <if> -v na obsługiwanych sterownikach. Na hoście, który nie potrafi odczytać modułu, rozwiązaniem zapasowym jest stanowisko.

Częstotliwość odpytywania i etykieta

  • Wielkości mierzone modułu odświeżają się kilka razy na sekundę; odpytywanie co 1–5 minut wystarcza do śledzenia trendu i jest łagodne dla magistrali dwuprzewodowej.
  • Niektóre platformy szeregują wszystkie odczyty modułów przez jeden procesor zarządzający: agresywne przejścia SNMP po setkach portów mogą go spowolnić albo doprowadzić do przekroczenia czasu.
  • Nigdy nie uruchamiaj drugiego mastera (zacisku programatora, narzędzia in-band) na magistrali, którą odpytuje host (Interfejs dwuprzewodowy).

Porównywanie źródeł

CLI, SNMP i telemetria czytają te same bajty; różnice rzędu kilku dziesiątych dB między nimi wynikają z czasu odczytu, nie z błędu. Warto rozumieć różnicę między odczytem hosta a odczytem tego samego modułu na stanowisku: temperatura, Vcc i sposób obsługi kalibracji zmieniają liczby (Dokładność i ograniczenia).

W CodingBox

CodingBox to drzwi na stanowisko: DDM pokazuje zdekodowane wielkości mierzone i flagi, a surowe bajty są o jedno kliknięcie dalej w EEPROM editor; eksport CSV zasila te same dashboardy, które przyjmują dane z SNMP czy telemetrii, dzięki czemu moduł ma jedną historię od kontroli wejściowej po wycofanie z eksploatacji (Monitorowanie).


Jeśli znajdziesz nieścisłość lub błąd w tym materiale, zaznacz odpowiedni fragment i naciśnij Ctrl+Enter, aby .