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
820
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
910
Ansible把握した 1日目
imasaruoki
0
270
NPLによるデータプレーンプログラミング
imasaruoki
8
2.3k
SONiC近況報告 2019/Fall
imasaruoki
1
1.2k
ホワイトボックススイッチをAnsibleで操る話
imasaruoki
2
2.3k
ホワイトボックススイッチとNOSを取り巻く状況について
imasaruoki
3
2.2k
SONICイントロダクション
imasaruoki
1
440
SONiCをはじめてみよう
imasaruoki
4
1.7k
SONiCで設定するFRRouting
imasaruoki
0
1.5k
Other Decks in Technology
See All in Technology
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
RAGのためのビジネス文書解析技術
eida
3
350
いまならこう作りたい AWSコンテナ[本格]入門ハンズオン 〜2024年版 ハンズオンの構想〜
horsewin
10
2.2k
20241031_AWS_生成AIハッカソン_GenMuck
tsumita
0
110
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
17
4.1k
SNSマーケティングに革新! ABEMA サッカー動画切り出しを生成AIで自動化し、業務効率化を狙う! / abema-ai-marketing
cyberagentdevelopers
PRO
1
110
LINEヤフー株式会社における音声言語情報処理AI研究開発@SP/SLP研究会 2024.10.22
lycorptech_jp
PRO
2
200
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
28k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
49k
【若手エンジニア応援LT会】AWSで繋がり、共に成長! ~コミュニティ活動と新人教育への挑戦~
kazushi_ohata
0
250
フロントエンド メタフレームワーク 選定の際に考えたこと
yuppeeng
0
170
ガチ勢によるPipeCD運用大全〜滑らかなCI/CDを添えて〜 / ai-pipecd-encyclopedia
cyberagentdevelopers
PRO
3
230
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
334
57k
Building Better People: How to give real-time feedback that sticks.
wjessup
363
19k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
How to Ace a Technical Interview
jacobian
275
23k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Practical Orchestrator
shlominoach
186
10k
Designing for Performance
lara
604
68k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Unsuck your backbone
ammeep
668
57k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
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