SDNとは
ソフトウェア定義ネットワーク
ソフトウェアによりネットワーク機器を集中制御
物理的な変更をすることなくネットワーク機器の動作の設定が可能に
背景
以前はネットワークの管理を手動で行っている。←大規模やヒューマンエラーへの対応が不十分
⇛ネットワークの自動化が求められている。
考え方
コントロールプレーンとデータプレーンで別れている。
コントロールプレーン
ルーティングテーブルの作成、
MACアドレステーブルの作成、ARPによるアドレス解決
データプレーン
ルーティングテーブルの探索、カプセル化、VLANタグの追加削除、NAT変換
構成要素
アプリケーションレイヤ:SDNコントローラを操作する各種アプリ(経路計算やNWの管理、NW聖女の設計など)
コントロールレイヤ:SDNコントローラが該当する。コントロールプレーンの役割
インフラストラクチャ:ルータやスイッチなどの機器が該当、データプレーンの役割
API:他のアプリのプログラムと橋渡しする窓口
ノースバウンドAPI:アプリ↔コントロールレイヤの橋渡し
HTTPSを使用して通信する場合はREST APIが使われている
サウスバウンドAPI:コントロールレイヤ↔インフラストラクチャレイヤ
OpenSDN
OPEN FLOW コントローラとOPEN FLowスイッチで構成されたコントロールプレーンとデータプレーンに分離される。
管理者はフローテーブルでOFSの動作を設定⇛OFCはOFSにOpenFlowプロトコルで配布する。
ホップバイホップ方式:データ着信⇛フローテーブルを検索⇛次へ転送
OpenFlowの課題点
フローテーブルの設定や維持管理が難しい
すべての機器をOpenFlow対応機器に入れ替える必要がある。
↓続いて、Ciscoが提供するSDNサービスを見ていきましょう。
CiscoのSDN製品(ソリューション)
製品1つ目:CiscoACI(データセンター(DC)向け)
以下、それぞれ特徴
ノースバウンドAPI:
RESTベースの様々なAPIをサポートしており、色々なベンダー製品からCiscoACIを制御できる
SDNコントローラ:
APICを使用する。
すべてのAPICがダウンしてもNexus9000が自立して動作するのでNW停止しない。
サウスバウンドAPI:
APICと様々なベンダーのスイッチやデバイスとの橋渡しにOpFlex(オプフレックス)プロトコルを使用する。
NW機器:
Nexus9000シリーズ←一台約260万円と高価
過去にはAPIC-EMというNexusの廉価版もあったが現在は販売停止
CiscoAPIで使われるネットワークトポロジ
⇛ファブリック型ネットワークトポロジのスパイン/リーフ型を採用、特徴はメッシュ構造
スパインスイッチとリーフスイッチに分けて形成する。
メリット
・すべてL3スイッチで構成ができるため、従来のディストリビューション層の機器に集中していた負荷をリーフスイッチに分散できる
・サーバー間の通信で1~2ホップで通信できるためレイテンシ(遅延)を一定に保てる
-詳細
以前のサーバー間の通信:サーバー⇛スイッチ⇛ディストリビューション⇛コア層⇛ディストリビューション⇛スイッチ⇛サーバー
↑ループを防ぐためにツリー構造に鳴っているため
⇛スパイン/リーフ型のサーバー間通信だと:サーバー⇛スパインスイッチ⇛リーフスイッチ⇛サーバー←1~2ホップで通信可能
・スイッチング要領が不足した際も、スパインスイッチを追加すればよいだけ
・可用性、帯域、拡張性が向上←スパイン/リーフ型のほうが冗長性の効率が良い。
・STPを使わなくて良い。⇛経路がすべてアクティブになっている。帯域の利用効率が大幅に上がっている。
ファブリックネットワークとスパイン/リーフの違い
ファブリック=メッシュ型になっている
⇛スパイン/リーフはスパインやリーフ同士の接続はしないなど、階層が少し発生している為
インテントベースネットワークが構築できる!
インテントベースネットワーク:ネットワークで意図した状態を確保する概念
⇛何ができるか?まずリーフスイッチに接続しているエンドポイントのサーバを、機能ごとにEPGに分類する(例:アプリやWEB、DBみたいな)
EPG管の通信の許可や拒否を決めたポリシーを作る⇛物理的な配置に関係なく、シンプルなポリシーのみでNW全体の通信ルールを設定・運用可能に!
製品2つ目:Cisco SD-Access(企業向け)
ノースバウンドAPI:REST API
SDNコントローラ:Cisco DNA Center
サウスバウンドAPI:telnet/ssh,netconf,restconf,snmp
⇛専用機器が必要ない!
考え方
物理ネットワーク構成をアンダーレイ
論理ネットワーク構成をオーバーレイと考える。
アンダーレイ
⇛オーバーレイの機能を提供するための基盤となる物理的なつながり
アンダーレイの構成要素
大きく3つ!
ファブリックエッジノート:EPGに接続する機器
ファブリックボーダーノード:Cisco SD-Accessの制御外の機器(WANルータ等)と接続する機器
ファブリックコントロールノード:LISPのマップサーバとして動作する機器
オーバーレイのVXLAN(VXLANでL3ネットワーク上に仮想L2ネットワークを構築できる←この文章の意味を解説)
まずはVXLANについての説明から
・物理サーバーしかない状態:リソースは物理的な壁を超えて共有できなかった
↓物理の壁
・仮想化が可能に:リソールを仮想的に共有できるようになった。(VLAN)
↓セグメントの壁
しかし、仮想環境でもセグメントを越えての共有は、セグメントを越えた際に同じIPアドレスを使えないなど、ネットワークの課題がありやり取りが出来なかった。
↓
オーバーレイが解消
一体どうするのか?
VXLANを使うとセグメントを越えてL2ネットワークのようにやり取りができる。
↑VXLANとLISPの2つの機能で成り立っている。
VXLAN
VXLAN Netwoek ID(VNI)によって、最大で約1600万のネットワークを構成できる←仮想だから制御も簡単
仮想化するとサーバー間の通信が重くなる問題
オーバーレイのLISP(LISPを使えばエッジノードが経路情報を保持していなくても通信できる!)
デバイスのEID(端末の識別子)とロケータ(NW内での位置)を使用してルーティングを行なうトンネリングプロトコル
マッピング:
EID(転送先IPアドレス)とRLOC(LISPを有効にしているルータのIPアドレス)を紐付ける事
イメージ
ノードが経路情報を持っていなくてもLISP Map Serverに問い合わせを行なうことで、検索ができる。
製品3つ目:Cisco DNA Center
Cisco SD-Accessで使用されるSDNコントローラ
ノースバウンドAPI:REST API
サウスバウンドAPI::telnet/ssh
特徴:
スケーラブルグループによってアクセス制御がGUIで可能に⇛リストの作成順序などを意識してコマンドを打つ必要があったCUIよりもめっちゃ楽
管理者がエンドポイントのユーザやデバイスをグルーピングして、一位のSGT(グループのタグ)を割り当てられる。