クラウド周りのNWの仮想化技術が増え続けているので、書き出してみました
L2 over L3 タイプの仮想化技術
L3の上にトンネルを設定しL2パケットをカプセリングして疎通させる方式だとVXLANとNVGREが目につきました。
VXLAN:Virtual eXtensible Local Area Network
ユーザからのL2パケットに、24ビットのVXLAN ID(VNI:VXLAN Network Identifier)を付加してカプセリングしてVirtual Tunnel End Point(VTEP)間のUDP通信としてユーザー間通信の独立性をL2レベルで保ちつつ通信する
・VXLANパケットのフレーム構成
【VTEP MAC(VTEP IP(UDP Port# (VXLAN ID(C-MAC(C-VID(UserDATA))))))】
NVGRE:Network Virtualization using Generic Routing Encapsulation
ユーザからのL2パケットに、24ビットのTenant Network ID(TNI)を付加して、カプセリングして1つのGREトンネルを共用し、ユーザー間通信の独立性をL2レベルで保ちつつ通信する
・NVGREパケットのフレーム構成
【VTEP MAC(VTEP IP(GRE Header(TenantID(C-MAC(C-VID(UserDATA))))))】
VLANの拡張による仮想化技術
802.1QのVLANによるL2ドメイン設定では制約が多いので、VLANを拡張し制約からの脱却することを意図した仮想化技術は、けっこう沢山あります。
VLAN:IEEE 802.1Q
IEEE 802.1のL2パケット【C-MAC(UserData)】にVIDを挿入しブロードキャストドメインを論理的にVLANに分割する
物理配線に縛られることはなくなるが、VLAN数は、4K/12bitが上限であり、ユーザー間でVIDの重複は許容できない
【C-MAC(C-VID(UserDATA))】
PB:Provider Bridging IEEE802.1ad
C-VIDの前に4byteのS-VIDを追加。802.1Qのパケットをエンカプセレートする
VLAN数の4K/12bit制限からは解放され、ユーザー間のVLAN番号調整からも解放されるが、スイッチが,全ノードのMACアドレスを学習する必要があり。IDも、最大4094と少ない
【C-MAC(S-VID(C-VID(UserDATA)))】
PBB:Provider Backbone Bridging IEEE 802.1ah
PB(802.ad)網間を結ぶバックボーン
トラフィクがどのPB網に属しているかを識別識別するために個々のパケットにI-SIDを挿入する
【B-MAC(I-SID(C-MAC(S-VID(C-VID(UserDATA))))】
PBB-TE(Traffic Engineering)IEEE 802.1Qay
802.1ahで規定されたPBB網上に、ポイント・ツー・ポイントの中継経路を構成しPBB網内に流れるデータの経路を明示的に設定できる
PBB-TEでは、MACアドレス学習による中継判定を行わず、B-VLANと宛先B-MACアドレスの組み合わせごとに、ポイント・ツー・ポイントの経路(Traffic Engineered Path)を形成し、この経路間にMAC-in-MACフレーム化されたユーザー・データを中継させる。
VMから外部スイッチへNW処理をオフロード
VLANの拡張ですが、VMから外部スイッチへNW処理をオフロードに限定した仮想化技術もあります
IEEE 802.1BR - Bridge Port Extension
VM上のvNICと、VN-Link 対応スイッチとの間に論理リンクを作成する。
作成した論理リンクにVM上のvNICのトラフィックを全部送り出し、ネットワークトラトラフィクの処理を、VMを収容するサーバーではなく、外部スイッチで行うことができる。
パケットがどの論理リンクに属するパケットかは、802.1Qタグの前に挿入するVNTag:Virtual Network Tag で識別する
VEB / VEPA (EVB)
IEEE 802.1Qbg - Edge Virtual Bridging
OpenFlow
L1からL4までの情報を使ってトラフィックの流れ(フロー)を識別します。
識別したフローを、コントローラーからの指示に従って、スイッチする。
新しいTAGを導入しないのでオーバーヘッドは生じない
コントローラをスイッチから分離して中央制御にし、中央のコントローラに実装したソフトウェアによりフロースイッチを指示するの Software Defined Networkでもあります。
略語
B-MAC:Backbone MAC
B-VID:Backbone VID
C-MAC:Customer VID
C-VID:Customer VID
I-SID:Individual Service Identifier
I-VID:service Instance VID
S-VID:Service provider VID
VID:Virtual Identifier
PBB:Provider Backbone Bridge
PBB-TE:Provider Backbone Bridges with Traffic Engineering