IOS-XRのTelemetryでWDMパラメータをどれくらい集められるか試してみた


1. はじめに
2. Model Driven Telemetryとは？
3. CFP2-DCO搭載Routerの構成
4. 各パラメータのセンサーパスを探してみる
5. コレクタで集めた結果
6. おわりに


この記事はシスコの同志による Cisco Systems Japan Advent Calendar 2021 の一部として投稿しています

2021年版(1枚目): https://qiita.com/advent-calendar/2021/cisco
2021年版(2枚目): https://qiita.com/advent-calendar/2021/cisco2

以下、昨年までのものです
2017年版: https://qiita.com/advent-calendar/2017/cisco
2018年版: https://qiita.com/advent-calendar/2018/cisco
2019年版: https://qiita.com/advent-calendar/2019/cisco 
2020年版: https://qiita.com/advent-calendar/2020/cisco
2020年版(2枚目): https://qiita.com/advent-calendar/2020/cisco2

## はじめに
近年IPと光伝送ネットワークの融合というトピックが話題になっており、CiscoでもRouted Optical Network(RON)と題して以下のような様々な発表を行っています。
https://www.cisco.com/c/dam/m/ja_jp/training-events/events-webinars/sp-technology-webinars/202104/03-cisco-technology-webinar-convergedsdn-ron.pdf

一方、Router上でDWDMを制御するのはなかなかハードルが高いとか、DWDMの運用監視ツール使わなくて大丈夫か？といったお話をいただくこともあります。
今年はDWDMパラメータをRouterから集めるにはどうすればよいのか？の一つの解としてModel driven Telemetryがあります。
今回はModel driven TelemetryによってどこまでDWDMパラメータを集めることが出来るのか、について共有したいと思います。

## Model Driven Telemetryとは？
こちらはすでに過去のCisco Advent Calendarでも紹介されていますので、詳細は割愛させていただきます。
※[IOS-XR](https://qiita.com/muramurakami/items/1645ae6a48ef74d60e50)/[IOS-XE](https://qiita.com/tetsusat/items/eae0f79f445e54ef662f) 

YANGモデルは[Github](https://github.com/YangModels/yang/tree/master/vendor/cisco/xr)にありますが、その中で主にDWDMの監視に必要なパラメータについて今回は深堀りしていきます。

### 今回Telemetryを使ってやりたいこと
最初にも書きましたが、通常DWDMの運用監視には専用のNMSを使うことが多いのですが、せっかくRouterがWDM波長を制御しているのでRouterの機能であるTelemetryで監視してみたい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143031/2ab5b1b8-52aa-cfce-5bdf-9f5adba31290.png)

## CFP2-DCO搭載Routerの構成
今回の対象は[CFP2-DCO](https://www.cisco.com/c/en/us/products/collateral/interfaces-modules/transceiver-modules/datasheet-c78-743732.html)です。
CFP2フォームファクタでCoherent DSPを搭載した、トランシーバ上でWDM波長を変調することができるCFP2-DCOを搭載したIOS-XRルータでTelemetryを使ってみます。

通常IOS-XRルータではEhternet layer以上の設定は`interface HundredGigE0/0/1/0`のようにInterface名の配下に行います。
それに対してOptical layerの設定は`controller optics` 配下に行います。
以下は0/0/1/0のIFで200G波長を出す際の設定例となります。

``` 
controller Optics0/0/1/0
 dwdm-carrier 50GHz-grid frequency 19130
 port-mode speed 200G mod 16qam fec 15sdfec diff disable

```

対抗ルータでも同じ設定を入れてPort statusがUpになった状態でのShow commandの出力は以下のようになります。

```
RP/0/RP0/CPU0:R4-NCS55A2#show controllers optics 0/0/1/0
Fri Dec  3 22:35:33.370 JST

 Controller State: Up

 Transport Admin State: In Service

 Laser State: On

 LED State: Green

 Optics Status

         Optics Type:  CFP2 DWDM
         DWDM carrier Info: C BAND, MSA ITU Channel=97, Frequency=191.30THz,
         Wavelength=1567.133nm

         Alarm Status:
         -------------
         Detected Alarms: None


         LOS/LOL/Fault Status:

         Alarm Statistics:

         -------------
         HIGH-RX-PWR = 0            LOW-RX-PWR = 1
         HIGH-TX-PWR = 0            LOW-TX-PWR = 1
         HIGH-LBC = 0               HIGH-DGD = 0
         OOR-CD = 0                 OSNR = 0
         WVL-OOL = 0                MEA  = 0
         IMPROPER-REM = 0
         TX-POWER-PROV-MISMATCH = 0
         Laser Bias Current = 2.0 %
         Actual TX Power = -1.50 dBm
         RX Power = -2.51 dBm

         Performance Monitoring: Enable

         THRESHOLD VALUES
         ----------------

         Parameter                 High Alarm  Low Alarm  High Warning  Low Warning
         ------------------------  ----------  ---------  ------------  -----------
         Rx Power Threshold(dBm)          1.5      -30.0           0.0          0.0
         Tx Power Threshold(dBm)          3.5      -10.0           0.0          0.0
         LBC Threshold(mA)                N/A        N/A          0.00         0.00

         LBC High Threshold = 98 %
         Configured Tx Power = -1.50 dBm
         Configured OSNR lower Threshold = 0.00 dB
         Configured DGD Higher Threshold = 180.00 ps
         Chromatic Dispersion -2 ps/nm
         Configured CD-MIN -10000 ps/nm  CD-MAX 16000 ps/nm
         Optical Signal to Noise Ratio = 34.00 dB
         Polarization Dependent Loss = 0.00 dB
         Differential Group Delay = 3.00 ps

 Transceiver Vendor Details

         Form Factor            : CFP2
         Name                   : CISCO-ACACIA
         Part Number            : AC200-D13-190
         Rev Number             : 16672
         Serial Number          : ACA2312007K
         PID                    : CFP2-WDM-D-1HL
         VID                    : V01
         Date Code(yy/mm/dd)    : 19/03/22

RP/0/RP0/CPU0:R4-NCS55A2#show controllers optics 0/0/1/0 periodic 15-min period 1 duration 1
Fri Dec  3 23:06:04.976 JST

Iteration 1 of 1 for channel 1, Query At Timestamp: [23:06:06. 53 Fri Dec 3 2021]
Optics in the current interval [23:00:00 - 23:06:06 Fri Dec 3 2021]

Optics current bucket type : Valid
             MIN       AVG       MAX      Operational      Configured      TCA   Operational      Configured     TCA
                                          Threshold(min)   Threshold(min) (min) Threshold(max)   Threshold(max) (max)
LBC[% ]      : 0.2       0.2       0.2      0.0               NA              NO   100.0            NA              NO
OPT[dBm]     : -1.51     -1.50     -1.49    -10.04            NA              NO   1.00             NA              NO
OPR[dBm]     : -2.52     -2.47     -2.44    -30.00            NA              NO   6.00             NA              NO
CD[ps/nm]    : -12       1         12       -280000           NA              NO   40000            NA              NO
DGD[ps ]     : 1.00      2.48      4.00     0.00              NA              NO   200.00           NA              NO
SOPMD[ps^2]  : 0.00      0.00      0.00     0.00              NA              NO   0.00             NA              NO
OSNR[dB]     : 32.70     33.80     35.10    -1.00             NA              NO   40.00            NA              NO
PDL[dB]      : 0.00      0.00      0.00     0.00              NA              NO   0.00             NA              NO
PCR[rad/s]   : 0.00      0.00      0.00     0.00              NA              NO   0.00             NA              NO

```

通常のGrey IFで見える光パラメータ以外にも、様々なWDMパラメータを取得することができます。

## 各パラメータのセンサーパスを探してみる
ここからはIPoDWDMで取得すべき主要なパラメータとそのセンサーパスを紹介していきます。

まず最初にいちばん大事なClient OpticsのRX/TXのpowerを取得するのが、`Cisco-IOS-XR-controller-optics-oper:optics-oper/optics-ports/optics-port/optics-info` です。
このセンサーパスではTX/RXのパワーレベルを各Laneごとに取得できます。

次に紹介するのが、Pre-FEC BER及びPost-FEC BERを取得する`Cisco-IOS-XR-pmengine-oper:performance-management/otu/otu-ports/otu-port/otu-current/otu-second30/otu-second30fecs/otu-second30fec`です。
このセンサーパスを取得することにより最も重要なパラメータの一つであるPre-FEC BERをほぼリアルタイムで取得する事ができます。
Pre-FEC BERは言葉の通りFECでエラー訂正するまえのBit Error Rateを表しており、伝送の品質そのものを表しております。
こちらを取得するのは伝送品質をMonitoringする上では非常に重要になります。

また、CD / PMD / DGD / OSNR / SOPを取得する`Cisco-IOS-XR-pmengine-oper:performance-management/optics/optics-ports/optics-port/optics-current/optics-second30/optics-second30-optics/optics-second30-optic`も非常に重要なセンサーパスです。
このセンサーパスでは以下の4つの重要なWDMパラメータを取得します。

* Chromatic Dispersion：光ファイバを伝搬する光の速さは波長によって異なることに起因する波長分散。光信号波形を歪ませ、伝送容量を制限する一因となる。
* Polarization Mode Dispersion：光ファイバ上では直交する２つの偏光モードが伝搬しますが、光ファイバの曲げ、外圧などによる複屈折の影響により直交する２つの偏光モードの伝搬速度に差が生じることによる信号の波形劣化を起因とした偏波モード分散
* Differential Group Delay：PMDにより分離した2つの信号成分が離れた量。波長や時間によって大きく変動する。PMDの2つの光信号成分間の到達時間差の微分群遅延として表現される。
* Optical Signal to Noise ratio：光信号パワーとノイズの比率。SN比が高ければ伝送における雑音の影響が小さく、SN比が小さければ影響が大きい。

上記の通り、光伝送品質そのものに直結するようなパラメータを取得することができます。
また、他にも偏波状態を表すSOPを始めとしてOPT/OPRなど様々なパラメータを取得することができます。
必要なパラメータすべて取れそうですね！

こちらをModel driven Telemetryで出力するためにIOS-XRで設定すると以下のようになります。

```
RP/0/RP0/CPU0:R4-NCS55A2#sh run telemetry model-driven
Fri Dec  3 23:08:02.021 JST
telemetry model-driven
 destination-group Telegraf
  address-family ipv4 172.20.1.26 port 57000
   encoding self-describing-gpb
   protocol tcp
  !
 !
 sensor-group optics-power
  sensor-path Cisco-IOS-XR-dwdm-ui-oper:dwdm
  sensor-path Cisco-IOS-XR-pmengine-oper:performance-management
  sensor-path Cisco-IOS-XR-pmengine-oper:performance-management-histor
  sensor-path Cisco-IOS-XR-controller-optics-oper:optics-oper/optics-ports/optics-port
  sensor-path Cisco-IOS-XR-controller-optics-oper:optics-oper/optics-ports/optics-port/optics-info
  sensor-path Cisco-IOS-XR-pmengine-oper:performance-management/otu/otu-ports/otu-port/otu-current/otu-minute15/otu-minute15fecs
  sensor-path Cisco-IOS-XR-pmengine-oper:performance-management/otu/otu-ports/otu-port/otu-current/otu-minute15/otu-minute15otns
  sensor-path Cisco-IOS-XR-pmengine-oper:performance-management/optics/optics-ports/optics-port/optics-current/optics-minute15/optics-minute15-optics
 !
 subscription TIG
  sensor-group-id TEST sample-interval 30000
  sensor-group-id if-stat sample-interval 30000
  destination-id Telegraf
 !
!
```

## コレクタで集めた結果
いつも通り、コレクタはTelegraf、TSDBはInfluxを使っていますが、今回可視化にはGrafana以外にもMatrixと呼ばれるSWを使っています。
こちらで可視化するとこんな感じになります。

#### Matrix
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143031/5b3b0702-0095-6ac6-aa39-16d71480e316.png)

#### Grafana
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143031/61db6ef5-e05e-0c80-63e4-56b12ba85e1a.png)


## 終わりに
今回はModel driven TelemetryによってどこまでDWDMパラメータを集めることが出来るのか、について調べてみました。
個人的にはほぼ問題なく運用できるレベルにあるのではないかと思っています。

おしまい

## 免責事項
本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、シスコの意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、シスコや他の関係者による推奨や表明を目的としたものではありません。各利用者は、本Webサイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本Web サイトの利用に関するあらゆる責任からシスコを免責することに同意したものとします。