ベンダNOSのOpen化とその活⽤事例、今後の展望
⿅志村 康⽣yasuo.Kashimura@nokia.com

1© 2023 Nokia

ネットワークオペレーションの変化
NetOps = 次世代NOSの必要性「NetOps」
100%モダナイゼーションされたOS

2030…
2020

100% モデル駆動型ベース

2025

オープンソース・プラグイン
オープンテレメトリフレームワーク
NetOps 開発キット

「⾃動化」

従来のOS

2005

2010

2015

2020

2025

2030…
L3 ファブリック
オープン・ディスアグリゲーション
モデル駆動型インターフェース

2000

ストリーミング・テレメトリー

…1995

「接続性」

2

© 2023 Nokia「NetOps」の⽬指すもの• ネットワーク運⽤をプログラム可能にする• ネットワーク運⽤のアジリティ（敏しょう性）の向上• ネットワーク運⽤に⾃動化と仮想化の⼿法取り込み

L2 ファブリック
STP
VLANs

NetOps の目的
1. プログラム化・オープン化によるネットワーク設計運⽤の強化- プログラム可能なネットワークにより、ソフトウェアを使⽤した構成と管理の簡素化が可能。
- NW機器の設定や変更のコード化により⼀貫性が確保され、作業ミスが回避される。
- オープンAPIを活⽤することで、他のシステムとの統合におけるコストが削減される。

2. アジリティ（敏しょう性）の向上によるネットワーク設計運⽤の進化- ビジネス要求の変化に迅速に対応できる柔軟性が実現。
- 適切な⾃動化により、デプロイメントや変更の速度が⼤幅に向上。
- システム全体の効果的な監視と分析が、問題の早期発⾒と迅速な対応を可能にする。

3. ⾃動化と仮想化の導⼊によるネットワーク設計運⽤の最適化- ルーチンタスクの⾃動化により、⼿作業エラーの減少と作業効率の向上。
- サービス展開の迅速化によりビジネスチャンスの拡⼤。
- NFVやコンテナ等の仮想化技術により、ハードウェアへの依存を削減し、検証から商⽤環境への移⾏を効率的に実施。

最新のソフトウェアアーキテクチャーに基づいた新しいソリューションの必要性
3© 2023 Nokia

Nokia SR Linux NOS
柔軟でオープンなアプリケーション開発プラットフォーム
オペレーター
アプリケーション4© 2023 Nokia

ネットワークプローブ

モニタリング

デバイス設定デバイス
バックアップネットワークヘルス

柔軟な運⽤

オープンで拡張可能テレメトリ
フレームワーク

オープンソース
CLIプラグイン(Python)

NetOps開発
キット (NDK)

強固な基盤

スタンダードLinux
カーネル

グラウンドアップモデルドリブン
ファウンデーション

耐障害性
実績のある
プロトコルスタックSROS

Nokia SR Linux NOS
従来のNOSの課題・制約をクリアする
ハードウェアとネットワークOSを別々に組み合わせるアプローチ

ハードウェアとネットワークOSを⼀括で購⼊するアプローチ

個別のインテグレーション

必要不要

保守の複雑さ(切り分け等)

⾼い

低い

機能の柔軟性

⾼い低い

カスタマイズ性

⾼い

低い

技術的なチャレンジ

⾼い低い“オープン化”によりここを改善

5© 2023 Nokia

Nokia SR Linux NOS
従来のNOSの課題・制約をクリアする
オペレーター

⾃動化

モニタリング

従来の NOS

オペレーター

⾃動化

モニタリングノキア SR Linux
CLI

SNMP

可視性

RESTCONF

gNMI/gRPC

NETCONF

gRPC

CLI

RESTCONF

gNMI…

CLIでしか変更できないコンフィグがある
YANG
SNMPでしか取得できない統計がある MIBs/内部スキーマ

6

SR Linux management
YANGステートを取得するために変換デーモンが実装されている→ データ取得時にCPU上昇

YANG

YANG

YANG

YANG

YANG

アプリケーション

アプリケーション

アプリケーション

アプリケーション

アプリケーション

アプリケーション

ハードウェア/ネットワーク ステート

ハードウェア/ネットワーク ステート© 2023 Nokia

Nokia SR Linux NOS アーキテクチャ
完全にオープンなインフラマネージメントgNMI

JSON RPC

Syslog

CLI

gRPC

CLI

FIB

Telemetry

YANG
OSPF

LLDP

Supportd

DHCP

ACL

BGP

ISIS

L2 Learn

ARP/ND

Static L2

Static L3

QoS

Policy

OAM

LAG

BFD

MCID

Linux

FIB

App

Protobufs

NDK

IDB
FDB

Device

Mgmt

SUB

SUB

Protobufs
PUB

ハードウェアNDK protobufs
PUB

PUB

Net inst
AAA

Customer applications
SUB

Chassis

PUBインフラストラクチャー

MPLS

SUB

ネットワークアプリケーション

eXtensible Data Path (XDP)

Modular Data Center | Containerized Data Center

実績のあるIPプロトコルスタック

モデル駆動型マネジメント

オープン・インフラ• 20年以上にわたり実績のある安定した
Nokia SR OSのプロトコルスタックとネットワー
クサービスのフィールドハードニング• テレメトリーによる柔軟で統⼀されたプログラマビリティの実現• NDKによるNativeなgRPC/protoエクステンション• OpenConfig及びNativeモデルのサポート• uPythonによるテレメトリーベースイベントハンドラー

7© 2023 Nokia• プラグインによるPython CLIの拡張性• NativeなCustom applicationの統合

Nokia SR Linux NOS アーキテクチャ
IDB: インパートデータベース•

軽量なデータベース (redisスタイル、Pub/Subベース)••

DBはトピックに分割される
各トピックは1つのアプリケーションによって書き込みされる。

•（複数トピックの書込みは不可）
アプリケーションはIDBへのセッションを開いたときにトピックを購読し、他のアプリケーションが利⽤できるように⾃分のトピックにメッセージを発⾏。

•••
•••

bgp
mgr

agent
agent

fib
mgr
ndk
mgr

arp
nd
mgr

エージェントがシステム内の動作を直接操作できるようにする。
例えば、FIBマネージャが選択するために独⾃のルートを公開することが可能。

app
mgr

lldp
mgr

テレメトリーは常にアプリケーションから直接ストリームされる。
データベースに永続性がないため、データストアというよりもキャッシュメッセージベースとして機能し、スピードを向上。

gNMI

強⼒なNDKとともに提供され、オペレータはシステム内のイベントに基づいて外部イベントハンドリングを⾏うことが可能。

JSON
RPC

mgmt
srv

staticroute
mgr
net
inst
mgr

IDB

xdp
mgr

アプリケーションの状態はアプリケーション内に存在し、他のアプリケーションが関⼼を持つステート状態のみがIDBに公開される。
IDB を合理化し、不必要な肥⼤化を排除、IDB はデータのペイロードや構造を意識する必要がない

plcy
mgr

linux
mgrbfd
mgr

chass
mgr
aaa
mgr

mpls
mgr
pub/sub

CLI

8© 2023 Nokia

gRPCNokiaEthos SR Linux NOS アーキテクチャ
IDB: インパートデータベース
32BGP
1FIB
MGR
4IDB
5BGP Update

Link Dwn

Link Up

Link Dwn

Link Up

54

3

2

1

IDB
LC
FIB

Message Coalescing

Device
MGR
LED

状態共有/IDBアーキテクチャ

インテリジェントな効率性• アプリケーションが停⽌/再起動/故障した場合、アプリケーションの公開データはパージされる

最新の情報を提供するために、メッセージを統合する機能を持つ。

• サブスクライブするアプリケーションは、公開された更新をリッスンし、独⽴して反応

1. 緑⾊のLEDの更新 Link Status = Up

• アプリケーションの速度が遅い場合、そのアプリケーションだけが遅れ、他のシステムは正常に機能する

9Link Up• アプリケーションの再起動のためのタイマーを保持する（Warmリ
ロード/ヒットレスアプグレード/ISSU© 2023 Nokia

2. IDBが発⾏する複数のリンクダウン、アップメッセージ(1,2,3,4,5)
3. IDBは、すべてのアプリケーションにすべてのメッセージを処理させるのではな
く、インテリジェントに最新の公開メッセージを合体して渡します。
4. アプリケーションの処理が追いついている場合は必要ない

Nokia SR Linux NOS アーキテクチャ
IDBで実現する耐障害性の向上
正常状態※Roadmap

新スキーマ
SRL
(NOS)

SRL
(NOS)

BGP

X

SRL
(NOS)

BGP

BGP

BGP

BGP

障害発⽣

再起動

ネットワークアプリは、データをIDBに書き込み。他のアプリはのIDBからデータを読み込む。

© 2023 Nokia

BGP

アップグレード

再起動

BGP

SU
B

SUB

SRL
(NOS)

PUB

SRL
(NOS)

インパート
DB

10

NWアプリレベルのファイル更新

NWアプリレベルの障害

インパート
DB
障害が発⽣した場合、アプリは再起動される。
IDBに公開されたデータは保持され、データを再取得することでサービス継続が可能になる。

インパート
DB
アップグレード時にアプリを再起動する。新しいスキーマがロードされ、IDBに公開されていたデータは保持されるので、データ同期とサービスの継続が可能となる。

Nokia SR Linux NOS アーキテクチャ
ツール群 – 多⾯的な管理インフラをサポート

Auto-bootDevOps CLI

TelemetrygNMI

JSON RPC

NDK

ZTP・ カスタマイズ可能なPython実装
・ v4/v6
・ HTTP/s・ アウトオブバンド& インバンドONIE• Pythonベース、完全なオープンソース• プラグインによる無制限の拡張が可能• エイリアス、ユーザごとの環境• ネイティブなTelemetry アーキ
テクチャ• スケーラブルで堅牢• オートテレメトリーフ
レームワーク• Googleが選んだ
ストリーミングインタフェース• gRPC/プロトベース• 設定とテレメトリのための統⼀された
堅牢な管理⽤プロトコル• 設定と状態の取得のためのプログラ
ム可能なJSONインターフェース• CLIコマンドのサポート• Nokiaの拡張機能（commitconfirmed,validateなど）を使⽤可能• NetOps
Development
Kitは、SR Linuxのインフラをサービスとして公開

11© 2023 Nokia• アプリケーションは、トランザクション設定、ストリーミング・テレメトリーを利⽤可能

Nokia SR Linux NOS

ストリーミングテレメトリー• jsonとprotoを⽤いた標準ベースのgNMI/gRPCを活⽤した完全な相互運⽤性（プラットフォームやベンダーに⾮依存）。
• モデルインフラは、オンボックスおよびオフボックスのテレメトリーをサポート

12© 2023 Nokia

NorthboundDatastores &Monitors

FSS

GateNet

Nokia
ManagementL
ayer

gRPC
gNMI

sub• テレメトリーにより、リアルタイム性の⾼いより良いネットワーク管理を実現可能。任意の YANG パスにサブスクライブ。

pub

モデル・ドリブン・テレメトリー

CustomerRPC

On box Telemetry

CLI

Data Models are 100% Telemetry capable day 1

Nokia
Applications

bgp

isislldp

QoS

テレメトリーを活用したユーザーダッシュボード
お客様での作成事例

13© 2023 Nokia

Nokia SR Linux NOS

アーキテクチャ マネージメントAPI

管理インターフェース – SR-Linux CLI•

CLIの完全なグランドアップ設計、業界全体のペインポイントや⽋陥の認識•• オペレータにツールを提供し、オペレータが望むものを⾒ることができるようにするコンセプトで開発
CLIは、管理サーバーと対話するためにgRPCを使⽤するクライアント••

14

マネジメント／オペレーション

CPM

CLI

• 全てPythonで記述され、オープンソースで、プラグインが可能
CLIは、SRLinuxモデル駆動アーキテクチャを活⽤ - CLIツリーは、SRLinuxとオペレータのYANGモ
ジュール、エイリアス、プラグインから派⽣
⾼い柔軟性• 監視コマンド - 変更サブスクリプションのgNMIを介して「任意の」リーフを監視する機能••

グローバル/ルートの全置換
リーフやコンテナなど、どこでもアノテーションが可能••

設定と状態のJSON出⼒
複数の出⼒修飾⼦、リダイレクト••

範囲指定、ワイルドカードのサポート
エイリアス、環境変数••

コンテキストの認識（ネットワークインスタンス、ショールーチン）
コマンドラインのオートコンプリート/オプションのプレビュー - インテリジェントなエンジンにより、YANG、プラグイン、またはエイリアスによる補完が可能© 2023 Nokia

Management
serverYANG
Nokia

Customerアプリケーション
SR LinuxApps

3rd party
Apps/ Agent

Nokia SR Linux NOS
CLIカスマイゼーション

q 従来のCLIに加えてオペレータ独⾃のCLIを定義可能。保守運⽤のオペレーションコスト、⾃動化ツールのコスト削減を実現します。
deviceStart

ノキア
ノキア YANG models
アプリケーション
protocols

bgp

Stop

Restartprotocols
bgp

カスタマー
Customer YANG models
アプリケーションmpls

interfaceaclsystemroutingpolicy

mpls
admin stateユーザーアプリケーションCLIのネイティブな統合

ipv4-unicast

static-lsp

activeroutes

ライフサイクルマネジメント

YANG インテグレーション

PythonベースのCLI

カスタマーアプリケーションは最重要なものとして管理され、耐障害性やオンボーディングのシンプル化を提供

完全なYANG Integrationによるネイティブ
CLI, gNMI, JSON-RPC – 永続的な
config, ステート, スタッツ, Show コマンド

複数のYANGモデル/パスからのユーザ定義アウ
トプットを使⽤してカスタムプラグインを作成する

任意のオブジェクト、任意のインタフェース

15

network
instancedebug© 2023 Nokia

完全なPython実装、オープンソース、⾼い拡張性

qosNokia SR Linux NOS
カスタムCLIの事例１

q オペレータ固有構成においてLeafスイッチ運⽤で使⽤する出⼒を1つのCLIで実装
Spineとの接続Port/BGPの情報を⼀括で表⽰
Fabric接続ポートのみの情報を表⽰

16© 2023 Nokia

Nokia SR Linux NOS
カスタムCLIの事例２

SR Linux CLI plugin
1

1. カスタムCLIコマンドを実行
2. CLIプラグインがトポロジーDBから接続しているべきLLDP
Neighborの情報を取得

SRL1# validate topology

Python ロジック
3
2
4

17

© 2023 Nokia

LLDP Topology OK!

3. DBから取得したLLDP
Neighborの情報とLocalのLLDP
Neighbor stateを比較
4. 結果をOutputとして表示

オープンな開発／テスト環境へのコントリビューション
オープンに活⽤できるツール群

https://learn.srlinux.dev/
https://github.com/srl-labs/containerlab• SR-Linuxはリリースされると Git Hub のオープンネットワークに公開• ライセンスなしで商⽤イメージと同じ機能をすぐに検証可能• オープンなコンテナラボを利⽤することでノートPCでもラボ環境を構築可能
https://containerlab.dev/
https://www.youtube.com/watch?v=xdi7rwdJgkg

https://gnmic.kmrd.dev/

Discordhttps://discord.gg/vAyddtaEV918© 2023 Nokia

Containerlabのメリット
宣⾔型

サポート済みNOSsrl
vr-srossonic-vsfrr

crpd
vr-vmxvr-vqfx

vr-pan

共有可能

オープン

コンテナベース

ceos
vr-veos

vr-ftosv
Keysight_ixia-c

軽快

迅速

vr-xrv9k
vr-csrvr-n9kv
cvx

19© 2023 Nokia

ipinfusion_ocnos

vr-rosContainerlabのメリット
様々なラボ構成例を公開中

20© 2023 Nokia

NDKを活⽤したカスタマーアプリケーション開発

ユースケース１ : Prometheus Exporter Agent
Prometheus Export AgentをSR Linuxのアプリケーションとして導⼊→ 可視化構成の簡素化を実現

21© 2023 Nokia

NDKを活⽤したカスタマーアプリケーション開発

ユースケース１ : Prometheus Exporter Agent

https://learn.srlinux.dev/ndk/apps/srl-prom-exporter/
22© 2023 Nokia

NDKを活⽤したカスタマーアプリケーション開発

ユースケース２ : EVPN Proxy Agent

エージェントはSR Linux NOSにインストールされ、レガシーVTEPデバイスに代わってEVPNルートを⽣成することにより、スタティックVXLAN VTEPとEVPN対応サービス間のコントロールプレーンスティッチングを可能とする

23© 2023 Nokia

NDKを活⽤したカスタマーアプリケーション開発

ユースケース３ : kButler

・ K8s仮想基盤の各Podが保持している経路情報が想定した状態かどうかをSR Linux(リーフスイッチ)から監視
・ トラフィック状態をテレメトリで監視。トラフィックの送受信がない場合にはgNMIにて監視システムへ通知

24© 2023 Nokia

NDKを活⽤したカスタマーアプリケーション開発
Experimental / SR Linux上でのChatGPTを使用したAIエージェント
https://learn.srlinux.dev/blog/2023/sr-linux-gpt/25© 2023 Nokia

NDKを活⽤したカスタマーアプリケーション開発
Experimental / SR Linux上でのChatGPTを使用したAIエージェント
https://learn.srlinux.dev/blog/2023/sr-linux-gpt/26© 2023 Nokia

クラウドネイティブ
アーキテクチャSRLinux

安定した機能の保証
スケール可能な
オートメーション

オープン性
拡張性

ターゲットエリア

オープンNOS SR Linux
今後の展開

対象領域を順次拡大
AccessAggregation

DC Switching
2020
DCファブリック向け
SR Linuxリリース開始

2024
一部ルーター製品向け
SR Linuxをリリース

D-DC
Access/Aggr27© 2023 Nokia

Edge
Core/Peering

Edge/Core/Peering

End-to-End IP TransportにオープンNOSを

C-DC

28

© 2023 Nokia