টুল দিয়ে DDM পড়া: CLI, ethtool, SNMP, OpenConfig · DDM/DOM ডায়াগনস্টিকস · অপটিক্যাল ট্রান্সিভার ও ক্যাবল · ডকুমেন্টেশন · CodingBox
CodingBox ডকুমেন্টেশন

টুল দিয়ে DDM পড়া: CLI, ethtool, SNMP, OpenConfig

একই A2h বাইট আপনার কাছে পৌঁছায় নানা পথে: সুইচের CLI, Linux NIC, SNMP পোলার, স্ট্রিমিং টেলিমেট্রির পাইপলাইন কিংবা প্রোগ্রামারের কাঁচা হেক্স ডাম্পের মাধ্যমে। এই পেজে আছে হাতে-কলমে ব্যবহারের নির্দেশিকা: কমান্ড, OID ও পাথ, আর সামনের টুল নিজে ডিকোড করতে না পারলে কাঁচা ডাম্প হাতে ডিকোড করার উপায়।

সুইচ ও রাউটারের CLI

প্ল্যাটফর্মDDM কমান্ডমন্তব্য
Cisco IOS / IOS-XEshow interfaces transceiver detailমানের পাশেই থ্রেশহোল্ড দেখায়; শনাক্তকরণ তথ্যের জন্য show idprom interface
Cisco NX-OSshow interface ethernet1/1 transceiver detailsQSFP-এর জন্য লেন অনুযায়ী
Cisco IOS-XRshow controllers optics 0/0/0/0অ্যালার্ম ও লেনের টেবিল অন্তর্ভুক্ত
Juniper Junosshow interfaces diagnostics optics xe-0/0/0থ্রেশহোল্ড ও অ্যালার্মের অবস্থা অন্তর্ভুক্ত
Arista EOSshow interfaces ethernet 1 transceiver dom… transceiver detail থ্রেশহোল্ডও যোগ করে
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 transceiverমডিউলের বিস্তারিত তথ্যের জন্য mlxlink -d <dev> -p <port> -m
SONiCshow interfaces transceiver eeprom -d Ethernet0sfputil show eeprom -d; … presence, … lpmode

শনাক্তকরণ তথ্যভিত্তিক সমতুল্য কমান্ড এবং কী দেখতে হবে: সুইচে অপটিক্স যাচাই করা।

Linux: ethtool

ethtool -m eth0                 # ডিকোড করা শনাক্তকরণ তথ্য ও DDM (ড্রাইভার মডিউলের EEPROM সমর্থন করলে)
ethtool -m eth0 raw on hex on   # কাঁচা ডাম্প: A0h 0x0000–0x00ff পরিসরে, A2h 0x0100–0x01ff পরিসরে (SFP)
ethtool -m eth0 hex on offset 256 length 128   # শুধু A2h-এর লোয়ার পেজ
ethtool --show-fec eth0         # FEC মোড
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-এর লোয়ার পেজ ethtool -m … raw on hex on ডাম্পে থাকে 0x0100 অফসেটে। লাইভ পরিমাপকৃত মান শুরু হয় A2h-এর 96 নম্বর বাইট থেকে, ডাম্পে যা 0x0160 অফসেট:

0x0160:  1a 80 80 e8 1b 58 0f a0 03 e8 ...
         └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘
        তাপমাত্রা    Vcc   বায়াস    Tx     Rx
বাইটকাঁচা মানরূপান্তরমান
96–97 তাপমাত্রা1A 80 = 6784 (চিহ্নযুক্ত)÷ 25626.5 °C
98–99 Vcc80 E8 = 33000× 100 µV3.300 V
100–101 Tx বায়াস1B 58 = 7000× 2 µA14.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

এই রূপান্তরগুলো ধরে নেয় ইন্টারনাল ক্যালিব্রেশন (A0h-এর 92 নম্বর বাইটের বিট 5); এক্সটারনাল ক্যালিব্রেশনে আগে 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অর্থ
entPhySensorType1.3.6.1.2.1.99.1.1.1.14 ভোল্ট DC, 5 অ্যাম্পিয়ার, 8 সেলসিয়াস, 14 dBm
entPhySensorScale1.3.6.1.2.1.99.1.1.1.28 = একক, 7 = মিলি, 6 = মাইক্রো…
entPhySensorPrecision1.3.6.1.2.1.99.1.1.1.3মানের দশমিক স্থান সংখ্যা
entPhySensorValue1.3.6.1.2.1.99.1.1.1.4রিডিং
entPhySensorOperStatus1.3.6.1.2.1.99.1.1.1.51 ঠিক আছে, 2 অনুপলব্ধ, 3 অকার্যকর

সেন্সরের ইনডেক্স ENTITY-MIB (entPhysicalDescr, entPhysicalContainedIn) ব্যবহার করে একটি পোর্টের সঙ্গে মেলানো হয়। টাইপ 14 (dBm), স্কেল 8, প্রিসিশন 2 এবং মান −1234 হলে তার অর্থ −12.34 dBm।

ভেন্ডরের MIB

ভেন্ডরMIB / উদাহরণ অবজেক্ট
CiscoCISCO-ENTITY-SENSOR-MIB entSensorValue (1.3.6.1.4.1.9.9.91.1.1.1.1.4), থ্রেশহোল্ড entSensorThresholdTable-এ
JuniperJUNIPER-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
HuaweiHUAWEI-ENTITY-EXTENT-MIB-এর অপটিক্যাল অবজেক্ট (Rx/Tx পাওয়ার, বায়াস, তাপমাত্রা)
MikroTikMIKROTIK-MIB mtxrOpticalTable (Rx/Tx পাওয়ার, তাপমাত্রা, ভোল্টেজ, বায়াস)

ওপেন-সোর্স NMS (LibreNMS, Zabbix-এর টেমপ্লেট, Observium) এগুলো নিজে থেকেই খুঁজে নিয়ে গ্রাফ আঁকে; Prometheus একই OID দিয়ে snmp_exporter ব্যবহার করে।

স্ট্রিমিং টেলিমেট্রি (gNMI / OpenConfig)

openconfig-platform-transceiver মডিউলকে ফিজিক্যাল চ্যানেলসহ একটি কম্পোনেন্ট হিসেবে মডেল করে:

/components/component[name=Ethernet1/1]/transceiver/state/…            ভেন্ডর, পার্ট নম্বর, সিরিয়াল নম্বর, ফর্ম ফ্যাক্টর
/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

প্রতিটি লিফ স্যাম্পলিং ব্যবধানে instant, avg, min, max মান বহন করে। SAMPLE মোডে 10–60 s ব্যবধানে সাবস্ক্রাইব করুন; প্রচলিত পাইপলাইন হলো gnmic → Prometheus/InfluxDB → Grafana। ভেন্ডরের নিজস্ব মডেল (Cisco, Juniper, Arista) একই ডেটা নিজেদের পাথে দেখায় এবং সাধারণত FEC কাউন্টার ও অ্যালার্মের অবস্থাও যোগ করে।

Windows ও অন্যান্য হোস্ট

Windows-এ DDM পড়ার নিজস্ব কোনো টুল নেই; NIC নির্মাতার ইউটিলিটি (সার্ভার অ্যাডাপ্টারের) কখনো কখনো মডিউলের ডেটা দেখায়। FreeBSD সমর্থিত ড্রাইভারে ifconfig <if> -v দিয়ে SFP-এর শনাক্তকরণ তথ্য ও DDM দেখায়। যে হোস্ট মডিউল পড়তে পারে না, সেখানে বিকল্প হলো টেস্ট বেঞ্চ।

পোলিংয়ের হার ও রীতিনীতি

  • মডিউলের পরিমাপকৃত মান সেকেন্ডে কয়েকবার হালনাগাদ হয়; ট্রেন্ড দেখার জন্য প্রতি 1–5 মিনিটে একবার পোল করাই যথেষ্ট, আর তাতে টু-ওয়্যার বাসের ওপর চাপও কম পড়ে।
  • কিছু প্ল্যাটফর্ম সব মডিউল-রিড একটিমাত্র ম্যানেজমেন্ট CPU দিয়ে পর পর চালায়; শত শত পোর্টে ঘন ঘন SNMP ওয়াক চালালে তা ধীর হয়ে যেতে পারে বা টাইমআউট হতে পারে।
  • হোস্ট যে বাস পোল করছে, তাতে কখনো দ্বিতীয় মাস্টার (প্রোগ্রামারের ক্লিপ, ইন-ব্যান্ড টুল) চালাবেন না (টু-ওয়্যার ইন্টারফেস)।

উৎসগুলোর তুলনা

CLI, SNMP ও টেলিমেট্রি একই বাইট পড়ে; এগুলোর মধ্যে dB-এর কয়েক দশমাংশের পার্থক্য সময়ের ব্যবধানের ফল, ত্রুটি নয়। একই মডিউলের ক্ষেত্রে হোস্টের রিডিং আর টেস্ট বেঞ্চের রিডিংয়ের পার্থক্য বুঝে নেওয়া দরকার: তাপমাত্রা, Vcc ও ক্যালিব্রেশন সামলানোর পদ্ধতি সংখ্যাগুলো বদলে দেয় (নির্ভুলতা ও সীমাবদ্ধতা)।

CodingBox-এ

CodingBox হলো টেস্ট বেঞ্চ থেকে দেখার পথ: DDM স্ক্রিন ডিকোড করা পরিমাপকৃত মান ও ফ্ল্যাগ দেখায়, আর কাঁচা বাইট থাকে মাত্র এক ক্লিক দূরে, EEPROM editor স্ক্রিনে। CSV এক্সপোর্ট সেই একই ড্যাশবোর্ডে ডেটা জোগায়, যেগুলো SNMP বা টেলিমেট্রি থেকে ডেটা নেয়; ফলে ইনকামিং পরিদর্শন থেকে ডিকমিশনিং পর্যন্ত মডিউলের ইতিহাস একটিই থাকে (মনিটরিং)।


এই নিবন্ধে কোনো অশুদ্ধ তথ্য বা ভুল পেলে সংশ্লিষ্ট অংশটি নির্বাচন করুন এবং Ctrl+Enter চেপে ।