SONiC Workshop Japan 2025に参加した

SONiC Workshop Japan 2025とは
SONiC Workshop Japan 2025とは、オープンソースなネットワークOSであるSONiC(Software for Open Networking in the Cloud)に関する知識や最新動向や活用事例などを共有する技術イベントで、SONiCを管理しているLinux Foundationではなく国内コミュニティの主催となる。
SONiCの導入を検討している企業やすでに活用している企業のエンジニア、興味を持っているエンジニア等が一堂に会し、技術的な知見や親睦を深めることを目的としている。
今回は2025年5月16日(金)に、お台場にあるdocomo R&D OPENLAB ODAIBA(台場フロンティアビル)にて開催された。今回も会場はほぼ満席の大盛況だった。
 
https://sonic.connpass.com/event/345182/sonic.connpass.com
 

参加した理由
昨年に引き続き、SONiCを扱う案件に携わる可能性を考慮しSONiCの現状のキャッチアップと、半年以上触れていなかった事に対する復習のため。
今月末に出版される経典、実践 SONiC入門に関するお話を聞くため。
そして運動のため(後述)。
 


当イベントのターゲット
通信機器の製品開発者、通信事業者やクラウドサービスの事業者のエンジニア、そして顧客への提案や構築支援を行うエンジニア等のようなSONiCを利用するITエンジニアやプログラマだけでなく、研究者や学習目的や趣味でSONiCに触れている方々など、広義のSONiCのユーザを対象としている。
INTEROPのようなビジネス色は無く、JANOGやMPLS Japanの雰囲気に近い。
 


会場について
今回も台場フロンティアビル(東京都港区台場2-3-2)の12階に有る、docomo R&D OPENLAB ODAIBAのBRIDGEエリアで開催された。窓から都心のビルやレインボーブリッジを眺める事が出来る、開放的な場所である。
来場者用の無線LANと電源が有りノートPCを持参する参加者は多かったが、テーブル席の数には限りがある為ノートPCや電源を使用したい場合は早めに入場する必要がある。
2階に飲食店が数店とコンビニ(ファミマ)、会場がある12階には飲料水の自動販売機が有るので、飲食物はビル内で調達する事が可能である。
 


プログラム
昨年に引き続き、SONiCの導入や検証や開発等が紹介された。
第二部として18:00から懇親会が有ったが自分は参加しなかった。
・オープニング
・2年かけてSONiCコミュニティにマージされた話
・SONiCで800G AECケーブルを検証してみた
・SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク
・SONiCでマルチテナントサービスを1年間運用してみた
・ホワイトボックスやSONICのアーキテクチャ
・SONiCにて使用されているSAIの実際
・SONiCソースコードについて生成AIに聞いてみた
・スイッチのBMC、つかってますか?
・PythonツールであるpygnmiをSONiCのgNMIに対して使ってみた
・Broadcom SONiCでEVPNマルチホーミング環境を構築してみた
 

1. オープニング
Linux FoundationからGeneral Manager at Networking and Orchestration(ネットワーク部門の統括者)のArpit Joshipuraさんによるビデオレター。
当イベントの開催に対する歓迎のお言葉と、SONiCプロジェクトおよびSONiCの概要に関するお話。
一番後ろの席に座っていたのでスクリーンに映し出されている画面の下部に日本語訳の表示に気付かず。
天井からぶら下がってるモニターを見たら日本語訳を見る事が出来た。日本語訳どこ?と周囲の人に聞くところだった。危ない危ない...
 

2. 2年かけてSONiCコミュニティにマージされた話
登壇者:中野さん(NTTネットワークイノベーションセンタ)

SONiCに触れた事はない、SONiCに関してあまり知らない人向けにSONiCの概要の紹介。
そして昨年発表の「SONiCコミュニティにアップストリームしてみた」に関連する内容で、Fpmsyncdの拡張やRouting WGのレビュー等、マージまでの道のりを、現在取り組んでいる案件を例に説明。
2年かけてSONiCコミュニティに提案した機能がめでたくマージされたが、機能の追加の実現への道のりは険しいものに見えた。技術は勿論必要だが、交渉力と行動力なんだな...(一時期外資にいたのでその辺は何となく理解しているつもり)
 

3. SONiCで800G AECケーブルを検証してみた
登壇者:張さん(ソフトバンク)

データセンタ内で稼働する通信機器やサーバは消費電力が大きく運用コストも高いため、消費電力を抑える手段として、低消費電力とされるAECケーブルの検証の事例を紹介。
AECケーブルは銅線であるものの内蔵されたDSPにより信号劣化を防ぐことが出来るため、銅線と光ファイバケーブルの特性を兼ね備えたようなケーブルである。
AECケーブルをSONiC搭載スイッチに実装して検証を行ったところ、1本は正常にLink Upしたがもう1本はLink Upしなかった。Link UpしなかったケーブルにはCMIS(Common Management Interface Specification)が実装されていたとの事。
検証時のCMIS関連のログを確認したところ、初期化に失敗している可能性が高いことが分かり、切り分けとしてi2cdumpコマンドを叩いてレジスタの状態を確認し秘技箇所を特定。i2cdumpコマンドでレジスタの値を修正したら問題のあったケーブルも正常にLink Upしたという。
専用のテスターでポート単位で消費電力を測定したところ、最大20%前後の消費電力の削減が確認出来たという。AECケーブルの使用は、消費電力の削減の選択肢のうちの1つとなるだろう。
 

4. SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク
登壇者:黒澤さん(さくらインターネット)

生成AI向けクラウドサービスにおいて、高性能なGPU基盤およびストレージネットワークにSONiCを導入した事例を紹介。
長年のLinux運用経験とOSS活用文化、そして新技術を積極的に取り入れる企業風土が背景にあった。Clos構成の採用により、マルチテナンシー対応と管理コストの削減、自動化を前提としたネットワーク設計を実現した。
一方で、運用コマンドの不足や監視機能の限界といった課題もあり、これらには独自スクリプトやPrometheusを活用した内製ツール、自動化ツールの開発で対応。OSSのネットワークOS(NOS)を導入したことで、迅速な開発とともに、利用者自身が品質を高めていく事を実感した。
 

5. SONiCでマルチテナントサービスを1年間運用してみた
登壇者:芹田さん(三井情報)

Multi Node GPUサービスのネットワーク構成にSONiCを導入した事、発生した障害および対処の説明、運用の自動化など事例の紹介。
障害事例の1つ目として、ポートがLink Upしない事象が時々発生した事象のお話。SONiCの再起動では復旧しないがケーブルの抜き差しで復旧、AOCケーブウrのファームウェアを書き換える事で事象は改善した。
障害事例の2つ目として、ネットワークの障害試験で通信が欠落が発生した事象のお話。graceful restartでBGPのステータスを変える事で対処。SONiC側で対処できない点があったがEVPN APP/ND supression設定で対応し事象は改善した。
サービスインの後はSONiCの障害件数はゼロ。シンプルにデザインしたこととOSSである事が大きいとの事。
SONiCは今や商用環境でも充分に使えるレベルであることがわかった。
 

6. ホワイトボックスやSONiCのアーキテクチャ
登壇者:海老澤さん(Arrcus, Inc.)

今月下旬に販売開始となる技術書、実践 SONiC入門(技術評論社)の内容の概要、実践 SONiC入門の内容を基にスイッチとは何かを説明。
スイッチとは?スイッチは何をしているのか、NOS(SONiC)は何をしているのか...という所から、SAIは何しているか、なぜ必要なのか。
続いてSONiCのアーキテクチャに話題が移り、SONiCの各モジュールやコンポーネントはどのように連携しているか、サブシステムとデータベースはどのように連携しているか。
Redis DBやsonic-db-cli(Redis DBのラッパー)、コンテナ内で動作するモジュールと起動シーケンスに関する説明。
最後に、SONiCの最新バージョン202505の話題。
1ヶ月ほど前にAmazonで本を注文した。今月の最終週には自宅に届くだろう。非常に楽しみだ。
 

7. SONiCにて使用されているSAIの実際
登壇者:桑田さん(APRESIA Systems)

SONiCに実装されているSAI(Switch Abstraction Interface)をいじる事で、SONiCのSAIの理解を深める事を図ったという内容。
SAIとはSONiCの内部でスイッチデバイズの差分を見えなくする為に定義されたインターフェースの事。
SAIの管理団体が既に存在し、SAIはOCPのネットワークプロジェクトで定義されている事と、githubにてドキュメントやヘッダファイル等が公開されている。
SAIのAPIの定義(ヘッダや各機能)の例や、SAIのAPIを実行するプログラムの例、SAIのオブジェクトの例などが紹介された。
 

8. SONiCソースコードについて生成AIに聞いてみた
登壇者:佐々木さん(マクニカ)

SONiCに実装されている機能のソースコードについて、某生成AIに質問を投げてみたという内容。
紹介された内容はほんの一部の機能ではあったが、自分の想像以上に高レベルな返答だった。
ただし自分はSONiCのソースコードを読んだ事が無いので、正確かどうかに関しては自分は判断出来ないものの発表内容に驚いた。
その一方で以下のZennの記事を思い出した。
https://zenn.dev/connectome/articles/1bd97a52f20878 AIに嘘をつかれた話

生成AIにSONiCのみならずソフトウェアのソースコードの内容を聞いてみる事やコードを提示してもらう事について。ある程度までは開発作業の効率化が図れる、コードの内容を話せる...等といった利点がある一方、要件の伝え次第で返ってくるコードの内容や質にバラつきが生じる、ひょっとしたらセキュリティ上問題が含まれているコードが返ってくる...等の問題点など。
付き合い方次第では非常に有用なツールだと思うので、まずは自宅用サーバの設定について生成AIにアドバイスを求めるのに利用してみよう。
 

9. スイッチのBMC、つかってますか?
登壇者:井上さん(さくらインターネット)

サーバに搭載されていたBMC(Baseboard Management Controller)がスイッチにも搭載され始めたことを受け、実際に運用者の視点でそのBMCを試用した事例の紹介。
BMCはOSと独立して動作し、サーバの起動・停止、ファームウェア更新、ハードウェアの監視などを担う管理用コントローラであり、ベンダーによりiDRACやiLOなどの名称で提供されている。SONiCが稼働するEdgeCore AIS800-64Oスイッチにおいてコマンド操作でBMCを検証したところ、基本的な動作は確認できたが、一部の機能が動作せず、作り込みの粗さも目立ち、現時点で運用には耐えないと判断された。
 

10. PythonツールであるpyGNMIをSONiCのgNMIに対して使ってみた
登壇者:桑田さん(APRESIA Systems)

SONiCが対応するネットワーク機器の管理ツールの一つとして、pyGNMIの特徴と活用事例を紹介。
pyGNMIは、gNMIの各種操作(Capabilities、get、set、subscribeなど)をシンプルなAPIで提供し、設定の取得・変更やリアルタイムのデータ収集が可能なツールである。
具体的なスクリプト例として、YANGモデルのopenconfig-interfacesを用いたget操作の内容と実行結果を解説。get操作ではインターフェースの設定情報を、subscribeではMTUや速度などの詳細情報を取得できることを確認。
ただし、コミュニティ版のSONiCではset操作が正常に動作しないなど、認証まわりを含む一部不具合も存在する事も分かった。
 

11. Broadcom SONiCでEVPNマルチホーミング環境を構築してみた
登壇者:青木さん(マクニカ)

Broadcom版SONiCとOSS版SONiCとの違いや使い勝手、性能試験の結果などの紹介。Broadcom SONiCは、マルチベンダ対応で豊富なエンハンス機能を備えており、NOSとして様々な用途に対応が可能である。また、Broadcom社による公式サポートが付いており、広範囲かつ詳細な動作検証も行われているため、高品質なSONiCの実装を目指している点が特徴である。
EVPN/VxLANおよびEVPN Multihomingの機能についてBroadcom版SONiCの動作検証を実施。Broadcom SONiCでは設定時にCisco IOSのようなコマンドの利用が可能であり、コミュニティ版SONiCのようにLinuxのコマンドラインとFRR(Free Range Routing)を頻繁に行き来する必要がないため、使い勝手に優れていると言える。
設定後の疎通確認においては、すべて想定どおりの結果が得られた。性能試験ではFailover(フェイルオーバー)を意図的に発生させその時間を計測したところ、Broadcom版 SONiCは他のSONiC実装と比較して良好な結果を示した。ただしOSS版SONiCはFailover機能に対応していないため、Failover試験は未実施。
さらに、UpstreamおよびDownstreamの障害を想定したシナリオにおいても、Broadcom版SONiCは安定した動作を維持し、特に大きな不具合は確認されず。

なお、Broadcom版SONiCは本記事の投稿時点においてVM版のイメージがユーザ登録なしでダウンロード可能だが、提供されているバージョンは3.1.2と古いため、今回検証したすべての機能がバージョン3.1.2でそのまま動作するかどうかについては検証が必要である。
 


その他
いくつかのセッションで生成AIに関する話題が有り、AI基盤においてもSONiCの導入が進んでいる事を実感した。

今回は新橋駅から浜離宮恩賜庭園経由で会場まで歩いて行った。往復で14.5km。経路の選択はYAMAPのGPSを使用。経路上は思っていた以上に日陰が無く、飲み物の自動販売機は築地大橋から有明スポーツセンタ手前までの約4kmの区間には無かった。反対車線側の歩道は見ていない。当日は曇天だったから無事に到着したが、晴天や夏季だったら無事に到着出来たかわからない。次回以降はりんかい線やゆりかもめを利用しよう。
 
しかし、橋の上から眺める夜景は綺麗だった。
以下の画像は、復路の築地大橋から浜松町方向の眺め。
iPhone 16で撮影。画像は「iPhoneで撮影した夜景」で明るめ。19:00前後に撮影したので実際はもっと暗い。
 

 


関連するサイトなど
https://sonicfoundation.dev/ SONiC Foundation
https://docomo-openlab.jp/ docomo R&D OPENLAB ODAIBA
https://sonicfoundation.dev/event/sonic-workshop-japan-2024-sonic-user-group-japan/ SONiC Workshop Japan 2024 – SONiC User Group Japan
https://www.broadcom.com/products/ethernet-connectivity/software/enterprise-sonic Broadcom Enterprise SONiC
https://www.amazon.co.jp/dp/4297149435/ 実践SONiC入門



SONiC関連の記事
https://debslink.hatenadiary.jp/entry/20210131/1612091391 SONiCを少しかじってみた
https://debslink.hatenadiary.jp/entry/20210214/1613279732 SONiCのWarm Bootの動作確認
https://debslink.hatenadiary.jp/entry/20210822/1629600666 SONiCとCumulus LinuxでBGP unnumbered
https://debslink.hatenadiary.jp/entry/20210902/1630584311 SONiCとCumulus LinuxでBGP/EVPN/VXLAN
https://debslink.hatenadiary.jp/entry/20210912/1631418907 SONiCとCumulus Linuxで4byte ASなBGP+IP Clos構成
https://debslink.hatenadiary.jp/entry/20220122/1642852049 SONiCでL2 MC-LAGを組んでみた
https://debslink.hatenadiary.jp/entry/20210627/1624789102 SONiCの解説動画
https://debslink.hatenadiary.jp/entry/20240421/1713678733 DELL版のSONiCをVMware Fusionで動かす - 導入編
https://debslink.hatenadiary.jp/entry/20240526/1716650068 SONiC Workshop Japan 2024に参加した
https://debslink.hatenadiary.jp/entry/20250520/1747738103 SONiC Workshop Japan 2025に参加した
https://debslink.hatenadiary.jp/entry/20260413/1776077524 Broadcom版のSONiCをVirtualBoxで動かす - 導入編
https://debslink.hatenadiary.jp/entry/20260427/1777289468 Broadcom版のSONiCをVirtualBoxで動かす - LAG設定編