Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SONiCってどうなのよ?
Search
Masaru OKI
June 28, 2019
Technology
0
1k
SONiCってどうなのよ?
ホワイトボックススイッチ用NOSであるSONiCについて強みと弱みなどを含めて紹介し、同様なNOSであるOpenSwitchと比較します。
Masaru OKI
June 28, 2019
Tweet
Share
More Decks by Masaru OKI
See All by Masaru OKI
SONiCを自前でビルドする話
imasaruoki
2
1.5k
Ansible把握した 1日目
imasaruoki
0
340
NPLによるデータプレーンプログラミング
imasaruoki
8
2.6k
SONiC近況報告 2019/Fall
imasaruoki
1
1.3k
ホワイトボックススイッチをAnsibleで操る話
imasaruoki
2
2.5k
ホワイトボックススイッチとNOSを取り巻く状況について
imasaruoki
3
2.5k
SONICイントロダクション
imasaruoki
1
510
SONiCをはじめてみよう
imasaruoki
4
2.1k
SONiCで設定するFRRouting
imasaruoki
0
1.8k
Other Decks in Technology
See All in Technology
テキストからの実世界知能の実現に向けて
sumoai
0
130
【CEDEC2025】現場を理解して実現!ゲーム開発を効率化するWebサービスの開発と、利用促進のための継続的な改善
cygames
PRO
0
670
alecthomas/kong はいいぞ
fujiwara3
6
1.3k
【CEDEC2025】LLMを活用したゲーム開発支援と、生成AIの利活用を進める組織的な取り組み
cygames
PRO
1
2.3k
オブザーバビリティプラットフォーム開発におけるオブザーバビリティとの向き合い / Hatena Engineer Seminar #34 オブザーバビリティの実現と運用編
arthur1
0
300
経理出身PdMがAIプロダクト開発を_ハンズオンで学んだ話.pdf
shunsukenarita
1
290
20250728 MCP, A2A and Multi-Agents in the future
yoshidashingo
1
190
AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった
mutsumix
0
150
【CEDEC2025】ブランド力アップのためのコンテンツマーケティング~ゲーム会社における情報資産の活かし方~
cygames
PRO
0
220
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
210
生成AI時代におけるAI・機械学習技術を用いたプロダクト開発の深化と進化 #BetAIDay
layerx
PRO
1
850
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
690
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Mobile First: as difficult as doing things right
swwweet
223
9.8k
Why Our Code Smells
bkeepers
PRO
337
57k
Building Applications with DynamoDB
mza
95
6.5k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Docker and Python
trallard
45
3.5k
Designing Experiences People Love
moore
142
24k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Faster Mobile Websites
deanohume
308
31k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Transcript
SONiCってどうなのよ? - 対決 SONiC vs OpenSwitch - June 28, 2019
Masaru OKI @masaru0714
SONiCはホワイトボックススイッチで動く • ホワイトボックススイッチの外観は通常の L2/L3スイッチと変わらず。 ◦ OSが入ってなくて、あとから好きな OSを入れられる。 ◦ 中身はLinuxが動くPC+スイッチASIC。ただしビデオやサウンドはない。 •
SONiC https://azure.github.io/SONiC/ ◦ Debian LinuxベースのNOS。シリアルやsshからログインして使う。 ◦ ログインするとbashが動く。lsもpsも思いのまま。 2
SONiCはふつうのLinuxと何が違う? • スイッチに最初から入ってる ONIE経由でインストールする。 ◦ 環境を整えれば、 LANをつないで電源投入するだけでインストールできる • GUIがない(ビデオカードがないから) •
後ろにたくさんついてるファンの制御や 2系統ある電源の監視ができる。 • 正面にずらっと並んだポートの制御ができる。 • 内蔵されているスイッチASICの制御ができる。 ◦ 内部ではSAI (Switch Abstraction Interface)ライブラリを使って制御している • 設定DBを持っていて、パケット転送設定や BGP設定などを書き込める。 • サポートされているスイッチ以外にインストールしても正しく動かない。 3
SONiCはIOSやJUNOSと何が違う? • ホワイトボックススイッチ用で、ハードウェアと不可分ではない。 ◦ 対応ハードウェアのリスト https://github.com/Azure/SONiC/wiki/Supported-Devices-and-Platforms • Debianベースでオープンソース、問題発生時にコード追跡・修正まで可能。 • 認証はLinuxシェル環境へのログインと同等。
• 設定エラーからのロールバック機能はない。 • Routing StackもOSS(FRR or Quagga or goBGP) • ベンダーのサポートはなく、コミュニティベースでの開発。 • 機能実装はまだまだこれからのものが多い。 ロードマップ https://github.com/Azure/SONiC/wiki/Sonic-Roadmap-Planning • 知見はまだまだ広まっていない (特に日本語) 4
SONiCここがイケてる • 対応スイッチが多数。 https://github.com/Azure/SONiC/wiki/Supported-Devices-and-Platforms • コミュニティが(他と比べて)活発。 ◦ MLは日に数通。隔週で電話会議を実施。 OCP Summitでは分科会もある。
• 複数のベンダーがコードを寄贈して commitも実施している。 ◦ accton, dell, mellanox, arista, barefoot, celestica, microsoft, • OCP SAI (現在v1.4)を使っていてベンダー中立性を保ちやすい。 • 公式のドキュメントも整いつつある。 • ASICベンダーのSDKを含むSAIライブラリ以外、すべてオープンソース。 • 各機能をdockerコンテナ内で動かしている (e.g. bgp docker, database docker) • FRRを内包するなど、オールインワンパッケージ。 5
SONiCここがイケてない 2019年6月時点 • CLIで設定するしかない (APIは用意されていない) • ZTPサポートはまだ用意されていない。 ◦ インストールはできるが設定を読み込み運用状態にするところまでは動かない •
インクリメンタルな設定はあまりできない。 ◦ config reloadで再読み込みさせると daemon類は一度停止して設定反映後に再起動 • アップグレードすると、設定ごとリセットされる (実質再インストール) • 自前でソースからビルドすると、ビルド環境の /etc/resolv.confが入る。 6
ところでOpenSwitchは? • https://www.openswitch.net/ • OPXと呼ばれる (旧世代はOPS) • 検索すると上位に出てくる Open vSwitch
(OVS)ではないので注意。 • ホワイトボックススイッチ用のオープンソース NOS。Debianベース。 • 特徴 ◦ ipコマンド等で設定すれば ASICに設定反映 (similar to Cumulus Linux) ◦ APIが用意されていて、 CあるいはPythonによる制御が可能。 • 注意点 ◦ Routing Stackは別途apt-get installして(通常のLinuxと同様に)使う。 ◦ OPXは2019年6月時点でDELLのスイッチにしか対応していない。 7
SONiC vs OpenSwitch 項目 SONiC OpenSwitch (OPX) 対応製品 Arista,Edgecore,DELLなど総計40モデル DELL製品20モデル
対応ASIC Barefoot, Broadcom, Mellanox, Centec, Marvell, Nephos, (Cavium) (TD3は未対応 ) Broadcom (TD3にも対応) Routing Stack 標準はFRR, Quagga, goBGPから選択可能 各自インストールし OPXと別に管理 CLI 独自コマンド (show, config) Linuxコマンド(ip等)と独自コマンド VRF 対応予定 対応 SAI version 1.4 0.96 ZTP 対応予定 対応 API なし C, Python用を用意 ソフトウェアスイッチ実装 実装済み機能は最低限 (vslib) SONiCよりは実装量が多い模様 (opx-sai-vm) コミュニティ 活発 静か 有償サポート なし Dell Networking OS 10 Enterprise Edition 8
雑感 • OpenSwitch ◦ 作りこみが丁寧できれい ◦ 機能実装もできている (VRFなど)、APIも用意されている ◦ しかし事実上DELL専用で、コミュニティも閑散としていて状況把握しづらい
◦ 対応スイッチ(S5232F-ON)にインストールするも動かず、頭を抱えているところ ◦ サポートが欲しければ素直に商用の OS10EEを使いましょう • SONiC ◦ 作りこみはやや粗いか ◦ 機能実装もこれからのものが多いが、実装済みで in productionな機能もある ◦ 多様なスイッチに対応し、コミュニティも活発。スイッチベンダーも多数参加 ◦ 対応スイッチなら素直に動く、情報さえあれば移植もできる ◦ OCP SAI Projectと連携していて今後のメンテナンスも続きそう 9
その他NOS • Cumulus Linux ◦ 言わずと知れた商用製品の代表的存在 • Stratum ◦ Routing
stackを含まずgNMI, gNOIを使い制御するホワイトボックススイッチ向け OS ◦ OSSと表明されているがまだ未公開 (2019年公開予定と書かれた資料があった ) ◦ P4言語が扱えることが前提。 TD4 (NPL)が対応となるか未知数 • Beluganos ◦ IP/MPLSを扱うホワイトボックススイッチ用 OS。現在進行形で開発中 ◦ OpenNSL,OF-DPAといったBroadcom用APIを使う (あるいはOpenFlow対応スイッチを使う ) ◦ FRR, goBGPを使いBGPやOSPFを扱うことができる • SnapRoute CN-NOS ◦ ホワイトボックススイッチ内で組込型 k8sを動かす、マイクロサービス指向の OS ◦ OSS(ONIEやK8sなど)を使うが、CN-NOS自体はOSSではないようだ
軍配は? • OSSならSONiCが比較的安心 ◦ OS10EEと比較するならともかく、 OPXと比較するならSONiC ◦ ホワイトボックススイッチ用オープンソース NOSの標準となっていく予感 ◦
商用製品(e.g. Cumulus Linux)と比較すると作りこみはまだまだ足りない ◦ いま触れば立派なアーリーアダプターになれる ◦ 今後に期待! 11