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
850
SONiCってどうなのよ?
ホワイトボックススイッチ用NOSであるSONiCについて強みと弱みなどを含めて紹介し、同様なNOSであるOpenSwitchと比較します。
Masaru OKI
June 28, 2019
Tweet
Share
More Decks by Masaru OKI
See All by Masaru OKI
SONiCを自前でビルドする話
imasaruoki
1
1k
Ansible把握した 1日目
imasaruoki
0
280
NPLによるデータプレーンプログラミング
imasaruoki
8
2.4k
SONiC近況報告 2019/Fall
imasaruoki
1
1.2k
ホワイトボックススイッチをAnsibleで操る話
imasaruoki
2
2.4k
ホワイトボックススイッチとNOSを取り巻く状況について
imasaruoki
3
2.3k
SONICイントロダクション
imasaruoki
1
450
SONiCをはじめてみよう
imasaruoki
4
1.8k
SONiCで設定するFRRouting
imasaruoki
0
1.6k
Other Decks in Technology
See All in Technology
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
110
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
840
C++26 エラー性動作
faithandbrave
2
730
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
36
13k
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
420
ハイテク休憩
sat
PRO
2
150
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
160
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
230
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.1k
The Invisible Side of Design
smashingmag
298
50k
It's Worth the Effort
3n
183
28k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Into the Great Unknown - MozCon
thekraken
33
1.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
How STYLIGHT went responsive
nonsquared
95
5.2k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
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