SONiC Workshop~Broadcom SONiCでEVPNマルチホーミング環境を構築してみた編~

はじめに
本記事は、2025年5月16日に開催されたSONiC workshopで講演した内容です。
検証を通して得たBroadcom SONiCの使い勝手と試験結果の共有となります。
プレゼンテーション資料をご希望の方は下記よりダウンロードしてください。
Broadcom SONiCでEVPNマルチホーミング環境を構築してみた
Broadcom SONiCについて
商用版SONiCは複数のベンダーからリリースされていますが、その中でもBroadcom SONiCを今回検証で選定した背景としては、
現行のホワイトボックススイッチの大半がBroadcom社のスイッチデバイスが搭載されている中、
デバイスと親和性の高いBroadcom SONiCで実際どれくらいの性能を引き出すことができるかを確認するのが当初のモチベーションとして始めたものになります。
初めにBroadcom SONiCとは、Broadcom社が独自にカスタマイズを加えてユーザーに提供を行っている商用版SONiCになります。
特徴
1:マルチベンダーのネットワーク機器に対応で、 主要ベンダーの1Gから800Gの豊富なラインナップを現状サポートしています。
2:エンハンス機能が豊富で、様々な用途に利用可能です。
利用用途に応じてパッケージが複数種類あり、エンタープライズやキャンパスの用途にも拡大されています。
3:Broadcomによる一気通貫のフルサポートが可能です。
ユーザーインターフェースの上位レイヤーから、SAI、SDKドライバーや下位レイヤーまで、 一気通貫でサポートを提供できるのは、スイッチデバイスのベンダーならではの特徴です。
4:広範囲による詳細な動作も検証済みです。
ソフトウエアの品質向上はもちろんですが、各種トランシーバーやケーブルの互換性も事前検証を行っています。
機能
現時点で最新バージョンの4.4.2は、Community SONiCの202012ブランチがベースになっています。
そこにBroadcom社が開発したエンハンス機能が入っていて、L2 ACLや、ポートセキュリティ機能、 MLAGとの機能併用などが挙げられます。
202012のブランチはそんなに新しいものでもないですが、 Broadcom SONiCは特定のブランチで開発を続けて、長期で安定した品質を確保というような傾向があります。

試験構成と設定内容
試験環境は下記図の通りSpine-Leafの構成をとっており、各スイッチでBroadcom SONiCが稼働しています。接続は全て100Gです。
右側のLeaf-2aと2bのスイッチは、アンダーレイとオーバーレイ共にEVPNマルチホーミングで冗長構成を組んでおり、 配下にはServer-A、Bを配置して、それぞれが相互通信可能な構成をとっています。
Server-BとLeaf-2a/2bスイッチの間に置いているL2-Switchは、Serverとの接続をLAGで冗長化するために置きました。
EVPNマルチホーミングの構成を今回組んだ意図としては、 データセンターでトレンドの冗長機能がBroadcom SONiCで想定通り動作するかという点と、 フェイルオーバーのシナリオで実際どれくらいの性能が出せるかという点を検証を行うために、 こちらの環境を用意いたしました。

ここからSpineとLeafの各スイッチについて、 EVPN、 VXLAN、マルチホーミングに関する設定をいくつかご紹介します。
まずSpineについてですが、BGPに関する設定で、 上のほうからルーターID、 VNIアドバタイズの有効化、 赤字の部分で各NeighborのLeafスイッチに対して所属AS番号の指定や各アドレスファミリーのアクティベート設定をしています。

次にLeaf1の設定についてです。Leaf1は先ほどのSpineと同様で、 BGPの設定に加えてVXLAN関連の設定が入っていて、全Leafスイッチで共通となっています。
VXLANではVTEPという専用のインターフェースを定義していて、 VXLANの通信に使用するIPアドレスをループバックとして指定し、 VNIとVLANのマッピングを設定しています。

Leaf2については設定コマンドにある緑と赤色の部分にフォーカスしてご紹介いたします。
赤の部分はいわゆるダウンリンクのポートの部分になります。EVPNマルチフォーミング関連のシステムMACや、 ESIに関する設定が入っています。
緑の部分についてはアップリンクのポート設定で、Link State Trackとしてダウンリンクポートのひも付けや、アップストリームとしての設定を入れています。

Leaf2bについてですが、 ここは先ほどの2aとほぼ同じような設定で、 細かいパラメータの差分のところだけを黄色でハイライトしています。

Community SONiCの場合では、 コンフィグ設定の際はLinuxベースのコマンドや、FRRで設定しているかと思いますが、
Broadcom SONiCでは従来のコマンド方式に加えて、 業界標準であるシスコライクのコマンド体系にも対応していて 一連の設定をすべて完結でき、複雑さがなく、 ユーザーフレンドリー性というのを感じました。
試験結果
正常試験についてです。
今回通信確認はServer-A、B間で相互通信にて検証を実施しました。

各機器でBGPやVNI、VTEP、EVPNなどの情報が想定通りに取得できた点から、 検証環境が問題なく構築できたのを確認いたしました。
性能試験の結果についてです。
性能試験の実施内容としては、基本的にServer-A、B間で 10,000PPSにて通信をしながら、特定の通信経路でリンク障害を起こすという検証です。
着目点としては、想定通りにフェイルオーバーするかという点と、 実際フェイルオーバーに要する時間を計測いたしました。
3つのシナリオで試験を実施した結果、 それぞれBroadcom SONiCと他SONiCで検証結果の比較を実施し、 フェイルオーバー時間の計測時間は、下記に記載の方法で今回算定をいたしました。
1つ目:シナリオ1のアップストリーム障害の性能試験について
こちらは通信経路がServer-BからServer-Aの通信中、 通常の通信であればLeaf2aスイッチを介して通信をする経路になっていますが、 Leaf2aスイッチのアップリンクでケーブル障害を起こしたときに、 配下であるオーバーレイ側の通信が想定通りに右側に切り替わるかという試験の内容になります。
結果は、この右下の表です。

BroadcomSONiCでは、トータルで5回検証を実施し、 大体平均として200ms強というような結果を得ることができました。
他SONiCの結果としては、ある商用版のベンダー製SONiCではだいたい450msほど、 Community SONiCに関してはEVPNマルチホーミングがサポートをしていなかったため、 未試験というような結果になりました。
2つ目:1つ目と同じようなシナリオですが、 違いとしては通信経路が、Server-AからServer-Bに変わっているというような点になります。
フェイルオーバーの時間としてはBroadcom SONiCで平均しておおむね300msというような結果になりました。

最後に3つ目:ダウンストリーム障害の性能試験です。
結果としては、フェイルオーバーに利用する時間はBroadcom SONiCですと平均480msという結果となりました。

まとめ
・業界標準のコマンド体系で設定が完結できる
Broadcom SONiCは先行して大半の機能をシスコライクのコマンド体系でもサポートしているので、 それぞれのユーザーの状況に応じてなじみのあるコマンドで設定を完結できるのは利便性が高いと思います。
・機能性とか性能の安定さ
今回の検証では当初コマンドの設定に不備があって多少つまずくような場面もありましたが、 設定をきちんと入れてあげることによって特に大きな不具合もなく検証を行うことができました。性能試験もミリセックオーダーでの結果を得ることができたので、 Broadcom SONiCの安定さというのを実感しました。
・ユーザーフレンドリー性の追求
表示コマンドやログの見せ方にも工夫が施されていて、 痒いところにまで手が届いている印象を受けました。
資料一覧はこちら
マクニカが取り扱う製品のご紹介のほか、
BGPクロスネットワーク自動構築ファイルやネットワーク運用試験評価レポートなど、オープンネットワーキングに関する資料を掲載しております。
詳細はこちら
製品ページTopへ
IP Infusion
オープンネットワーキングプロバイダのマーケットリーダーとして、キャリア、サービスプロバイダ、データセンターなど600社以上のお客様に信頼性の高いネットワークソリューションを提供しています。
お問い合わせ・資料請求
株式会社マクニカ Edgecore Networks 担当
- TEL:045-470-9831
- E-mail:projectmonstar@macnica.co.jp
平日 9:00~17:00