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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masaru OKI
June 28, 2019
Technology
1.1k
0
Share
SONiCってどうなのよ?
ホワイトボックススイッチ用NOSであるSONiCについて強みと弱みなどを含めて紹介し、同様なNOSであるOpenSwitchと比較します。
Masaru OKI
June 28, 2019
More Decks by Masaru OKI
See All by Masaru OKI
SONiCを自前でビルドする話
imasaruoki
2
1.8k
Ansible把握した 1日目
imasaruoki
0
400
NPLによるデータプレーンプログラミング
imasaruoki
8
2.8k
SONiC近況報告 2019/Fall
imasaruoki
1
1.4k
ホワイトボックススイッチをAnsibleで操る話
imasaruoki
2
2.7k
ホワイトボックススイッチとNOSを取り巻く状況について
imasaruoki
3
2.6k
SONICイントロダクション
imasaruoki
1
570
SONiCをはじめてみよう
imasaruoki
6
2.3k
SONiCで設定するFRRouting
imasaruoki
0
1.9k
Other Decks in Technology
See All in Technology
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
110
Terragrunt x Snowflake + dbt で作るマルチテナントなデータ基盤構築プラットフォーム
gak_t12
0
530
layerx-fde-practices
cipepser
1
290
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
3
1.3k
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
6
2.3k
実践 TanStack Start ― 新規プロダクトを開発して確立した、サーバーとクライアント境界の設計パターン / Practical TanStack Start Server-Client Boundary Patterns
kaminashi
2
180
責任あるソフトウェアエンジニアリングの紹介4章・5章 / RSE_Ch4-5
ido_kara_deru
0
230
【新卒研修】ライブデモ + compose.yaml読解_講義資料
dip_tech
PRO
0
130
自作エディターをOSSにして分かった、一人に刺さる開発が世界を動かす理由
shinyasaita
1
230
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
210
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
5
3.6k
TSKaigi 2026 - 型プラグインシステムの実装に使われるテクニック
teamlab
PRO
1
130
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
200
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
810
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
350
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Git: the NoSQL Database
bkeepers
PRO
432
67k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
4 Signs Your Business is Dying
shpigford
187
22k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Faster Mobile Websites
deanohume
310
31k
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