ここ数年、データセンターのネットワーク インフラの進化には目覚ましいものがあります。なかでも、レイヤ2 ネットワークの技術は著しく進歩しており、ネットワークの大規模化に伴い、スパニングツリー プロトコル(STP)に代わるネットワーク設計が次々と登場しています。
STP をベースの L2 ネットワーク設計に携わったことのあるネットワーク エンジニアの方であれば誰でも、どこにブロッキング ポートを配置するか、ファームウェアの更新やスイッチの交換作業時には人的な作業ミスによってループが発生することがないように細心の注意を払う、といった経験があるはずです。しかし自分のネットワーク設計の経験からも STP だけに頼ったレイヤ2 大規模ネットワークは正直作りたくないと考えています。
それはいまや世の中はクラウド時代となり、サーバは仮想化され、インフラ リソースは柔軟性(仮想マシンの移動への対応)、迅速性(仮想マシン追加時の自動設定への対応)、拡張性(増設を繰り返すDCインフラへの対応)が求められ、データセンターのネットワーク インフラに必要な要件は大きく変化しています。今後もデータセンターには様々なシステムやアプリケーション サービスが集約され、仮想化されたサーバ台数やサーバ間のデータ量は継続的に増大し続けることでしょう。
今回のブログでは、これからのデータセンターのネットワークインフラに最適なものはなにか?シスコが現在提供している最新のレイヤ2ネットワーク技術(イーサネットファブリック技術)についていくつか紹介したいと思います。
Fabric Extender(FEX)とVirtual Port Channel(vPC)
Fabric Extender(FEX)とVirtual Port Channel(vPC)は、Nexusスイッチに実装される NX-OS の基本機能として誰でも追加のライセンス費がいらず利用することができます。シスコ データセンター スイッチ Nexus シリーズの看板機能の1つです。Nexus が誕生した2008年から長らく提供している機能で、通信キャリア、クラウド事業者、ISP 事業者、エンタープライズ企業などのデータセンターにおける豊富な実績があります。
Fabric Extender とは、具体的には Nexus 2000シリーズのことです。見た目は1RUサイズのスイッチに見えますが、単体ではスイッチとして動作することができません。常に親スイッチとして Nexus 7000、Nexus 6000、Nexus 5500と組み合わせ利用することになります。親スイッチのほうに NX-OS や Config(設定ファイル)があり、親スイッチと Nexus 2000 シリーズをケーブルで接続して電源を入れるだけで1台の大きな仮想シャーシ スイッチが構成されます。Nexus 2000 は、Top of Rack(ToR)スイッチとしてラック上部に配置してたくさんのラックマウント サーバを収容することに向いています。Nexus 7000 シリーズは最大で 64台、Nexus 6000シリーズは最大で 48台、Nexus 5500シリーズは最大で 24台の FEX を管理することができます。
(注意:Nexus6000およびNexus5500でL3動作時は、それぞれ24台/16台のFEX台数となります。)
念のため補足説明をしておくと、親スイッチと Nexus 2000 間の接続は光ケーブルまたは Twinax ケーブルで接続しますが、STP は不要です。論理的にはあくまで1台の仮想シャーシなわけです。また万が一 Nexus 2000 が故障した場合でも新しいNexus 2000 へ物理的な交換作業だけで、ゼロタッチ コンフィグで復旧させることができます。
続いて Virtual Port Channel(vPC)について説明したいと思います。vPC の一番すばらしいところは、コントロール プレーンを完全に独立した2台のスイッチ上でデータプレーンとしては1台の論理スイッチとして形成できるところです。これにより ToR スイッチから2台の親スイッチへたすき掛け接続しながらPort-Channelを構成することができます。つまり、物理的にはトライアングルな構成でもブロッキングポートを排除し全ポートがアクティブで論理的には1本の高帯域なリンクを簡単に作成することができます。
ToR スイッチには、Nexus 2000 または普通の L2 スイッチを利用することができます。ただし、データセンターにはたくさんの ToR スイッチがあります。なかでも、ToR スイッチのファームウェア、Config、Syslog、SNMP/TRAPなどを集中管理したいとか、安価な 10G の ToR スイッチを求めている方には Nexus 2000 がお勧めです。最新のNexus 2000 シリーズには、40G QSFP ポートを備えるモデル(Nexus 2248PQ)や 10GBASE-T で世界初の FCoE/DCB に対応したモデル(Nexus 2232TM-E)など様々なライナップがあります。
ここで1つ目のファブリック技術の特徴を整理すると、ToR スイッチとして Nexus 2000 とそれを管理する親スイッチとして Nexus 7000/6000/5500 がループフリーでかつ大きなレイヤ2ネットワークを簡単に作成することができるということです。
Fabric Path
2つ目は、レイヤ2 ルーティング技術とも呼ばれる FabricPath です。
FabricPath もまた vPC 同様に Nexus ならではの看板機能の1つです。この技術はスイッチ間を Point-to-Point で接続し、距離に依存せずネイバー関係を ISIS ベースでおしゃべりしながらリンク ステート型のネットワークを自動で形成します。ISIS ベースといっても L3ライセンスは必要ありません。スイッチ間で様々なケーブル配線を行ってもループしない安全なレイヤ2ネットワークを構成することができます。
FabricPath L2 ドメインには最大 256台のスイッチが参加することが可能で大規模なレイヤ2ネットワークを求めるお客様にはとても最適なソリューションです。
また、運用面でも大きなメリットを持っています。それは、OSPF のようなリンク コストとホップ数によるトラフィック エンジニアリングが容易に行うことができることです。これは計画的なスイッチのバージョンアップや機器交換作業などで大活躍します。具体的には、予めスケジュールされたネットワーク機器のバージョンアップ作業がある場合、その対象機器にユーザ トラフィックが流れないように管理者によって意図的にリンク コストをコマンドで変更することで、ユーザ トラフィックを他のネットワーク機器へ片寄せさせます。リンク コストの制御によってトラフィックパスの切替が発生しますが、これもパケットロスはゼロで行うことが可能です。これによりサービスダウンゼロで各種メンテナンス作業を行うことができるのです。
さらに FabricPath プロトコル自体には万が一のループ発生に備え、FabricPath ヘッダ内に TTL や RPF(Reverse Path Forwarding)を持っており、これによってループ トラフィックを終息させることができます。
なお、リンクコスト値のデフォルト定義については以下の図を参照してください。
さてここから少し FabricPath のスイッチングの流れについて解説したいと思います。
FabricPath は、イーサネット フレーム内の宛先 MAC アドレスと Nexus スイッチ上の MAC テーブルを参照します。通常 MAC テーブルには、宛先 MAC アドレスに対する出力側のローカル ポートが エントリされています。FabricPath の場合、ここが宛先 switch-ID になっています。これにより、その宛先 MAC アドレスを持つ端末が FabricPath ネットワークを経由して接続されていることを意味します。
次に FabricPath ルーティング テーブルを参照します。FabricPath ルーティング テーブルにはその宛先 switch-ID へ辿り着くことができる Nexus スイッチの出力側の FabricPath ポートが示されています。宛先 switch-ID に辿り着くためのホップ数やリンク コスト値が同じルートが複数ある場合、それはECMP(Equal Cost Multi Path)として動作します。トラフィックの振り分けは、宛先および送信元のポート番号、IP アドレス、MAC アドレス、VLAN 情報などによってハッシュ計算が行われ決定されます。
FabricPath ECMP では最大 16 の等コスト ルートをサポートしていますので、Port-Channel と組み合わせると 16 ECMP×16 Port-Channel=256 port を同時にアクティブ リンクとして利用することが可能となります。これにより大規模な L2ネットワーク構築時でも高帯域を提供でき、メッシュ トポロジーやパーシャル メッシュ トポロジーなど柔軟性の高いネットワークデザインを容易に実現すること可能です。
FabricPath は日本でもすでに多くの導入実績があります。実際に導入されたお客様の声を聞くと、サービスイン後はトラブルもなく安定稼働している、また運用管理が大変楽になったとお褒めのお言葉を頂いています。最初に紹介した FEX と FabriPath を組み合わせることも多く、その場合、コア スイッチとアグリゲーション スイッチ間で FabricPath を利用し、アクセス スイッチには FEX を利用することでコストを抑えながらループフリーなイーサネット ファブリックを実現することができるのです。なお、現在 FabricPath をサポートするスイッチ モデルは、Nexus 7000 シリーズ、Nexus 6000 シリーズ、Nexus 5500シリーズの3モデルとなります。
これからのシスコのファブリック技術
最後にこれだけでは終わらないシスコのファブリック技術の今後の進化について軽く触れておきたいと思います。次回の私のブログで詳細説明したいと思いますが今回は触りだけです。
ファブリック進化その1は、既存のNexus シリーズから構成可能な DFA(Dynamic Fabric Automation)です。特徴は大きく4つあり、ファブリック集中管理(自動設定&ケーブル マネージメント)、ワークロード モビリティ、最適化されたネットワーク、バーチャルファブリック(マルチテナント対応)です。
ファブリック進化その2は、新しい Nexus シリーズである Nexus 9500 シリーズおよび Nexus 9300 シリーズ、専用のコントローラー APIC(Application Policy Infrastructure Controller)から構成されるACI(Application Centric Infrastructure)です。特徴は DFA 以上にあるのですが、その中でも私が言いたいのは、APIC 上から Application Network Profile によってファイアウォールやロードバランサなどを含めたネットワーク サービスの管理に加え、物理レイヤや仮想レイヤを含めたデータセンター インフラ全体の統合管理および制御を実現するアーキテクチャであるということです。
今回のブログはここまでです。次回は DFA と ACI についてもう少し詳細な内容を皆様へお届けしていきたいと思います。