VMware NSX-V v.s. NSX-T 

#1. はじめに
IBM CloudでもNSX-Tが2020年から正式に提供されるようになるので、まずは純粋にNSX-VとNSX-Tの違いをいったんまとめてみました。

※NSX-V 6.4とNSX-T 2.5/3.0をベースに対比させています。
インターネット上ではNSX-T 2.3以前の資料もありますが、NSX-T 2.4以降で
アーキテクチャー（NSX Managerの構成など）や用語変更（例：[論理スイッチ->セグメント](https://docs.vmware.com/jp/VMware-NSX-T-Data-Center/3.1/administration/GUID-316E5027-E588-455C-88AD-A7DA930A4F0B.html)、T0 Logical Router->Tier-0 Gateway、Edge Firewall -> Gateway Firewall）が発生しているようなので注意した方が良さそうです。
また、NSX-T 3.0から[ESXi上の仮想スイッチはN-VDSではなくVDSで管理することが推奨](https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.0/rn/VMware-NSX-T-Data-Center-30-Release-Notes.html)になりました（ESXi上でN-VDSを利用し続けることは当面はサポートされるが将来的にdeprecatedになるとのこと）。NSX-Tはどんどん新しい機能を取り込んでいっているので、目が離せません・・・。

<img width="852" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/a7b4aee4-39a0-9ccc-c9c2-e3fe580a8447.png">

#2. サポート終了時期

詳細は[VMware Product Lifecycle Matrix](https://lifecycle.vmware.com/)を参照。


| |GA|End Of General Support|End of Technical Guidance|
|:-----|:-----|:-----|:-----|
|NSX-V 6.4|2018/01/16|2022/01/16|2023/01/16|
|NSX-T 2.5|2019/09/19|2021/09/19|2022/09/19|
|NSX-T 3.0|2020/04/07|2021/04/07|2022/04/07|
|NSX-T 3.1|2020/10/30|2021/10/30|2022/10/30|



#3. NSX-VとNSX-Tの比較

| |NSX-V(NSX for vSphere) |NSX-T|
|:-----------------|:------------------|:------------------|
|コンセプト|データセンター内のvSphere環境のネットワーク仮想化を主眼としたVMware社のネットワーク仮想化製品。VMware社の製品(ESXi)にのみ特化していた。今後、NSX-Vに対しては大きな機能拡張は入ってこない予定。|他のVMwareベースのクラウド(VMware on IBM CloudやVMware Cloud on AWSなど）との接続、AWS/AzureなどのPublic Cloudとの接続、ESXi以外のプラットフォーム（コンテナ、ベアメタル、KVMなど）のサポート、などを目指したVMware社の今後の主流となるネットワーク仮想化製品。
|Configuration limits|https://configmax.vmware.com/guest?vmwareproduct=NSX%20Data%20Center%20for%20vSphere&release=NSX%20for%20vSphere%206.4.6&categories=17-15,17-17,16-0,18-18,18-19,18-20,18-37,19-21,19-22,19-23,19-25,19-29,20-0,21-26,21-27,21-28,22-0|https://configmax.vmware.com/guest?vmwareproduct=VMware%20NSX-T&release=NSX-T%20Data%20Center%202.5.1&categories=17-30,17-31,16-0,18-46,18-32,18-33,19-47,19-34,19-35,19-36,20-0,21-48,21-49,22-0,34-0,31-44,31-50|
|Overlayプロトコル| VXLAN | Geneve(GEneric NEtwork Virtualization Encapsulation) <br><br>VXLANとGeneve間は互換性なし。<br><br>https://datatracker.ietf.org/doc/draft-ietf-nvo3-geneve/|
|NSXのコアコンポーネント|管理プレーン： NSX Manager x 1 + vCenter <br>※NSX ManagerやvCenterはESXi上にしかデプロイできない。<br><br>制御プレーン: NSX Controller x 3<br><br>外部NWとのダイナミックルーティング: DLR Control VM(BGP/OSPFが利用可能）|NSX-T 2.5以降では管理プレーンと制御プレーン用のコンポーネントが統合され、NSX Manager x 3が管理プレーンかつ制御プレーンを担当。<br>※NSX ManagerはESXiだけでなくKVM上にもデプロイ可能。<br><br>NSX Managerには、VIP経由でアクセスする方法（NSX Managerが同一subnetにある場合。どれか1つのNSX ManagerにこのVIPが付与される）と、ロードバランサー経由でアクセスする方法（NSX Managerが異なるsubnetにあってもよい）がサポートされている。<br><br>外部NWとのダイナミックルーティングはTier-0 Gatewayで実施。<br>※1) Tier-1 Gatewayではダイナミックルーティングは構成できず、static routingしか設定できない。<br>*2) Tier-1 Gatewayでは、どの経路情報をTier-0 Gatewayに経路広告するかを設定する。https://docs.vmware.com/jp/VMware-NSX-T-Data-Center/2.5/administration/GUID-B6AF9E08-1334-4D3A-B8ED-D0CAB3B563FB.html<br>※3) BGPは利用可能。OSPFはNSX-T v3.1.1から利用可能。|
|NSXの管理コンソール|ESXiしかサポートされないためvCenterは必須。vCenter経由でNSX-Vを管理。<br><br>※ESXiだけを管理しているため、ESXiの管理ツールであるvCenterに統合するのは自然であったと思われる。|NSX-Tはマルチプラットフォーム(KVMや物理サーバーなど）をサポートしており、非ESXi環境も管理する必要があることから、NSX-Tの管理にはvCenterは直接利用せずNSX-T専用の管理コンソールを利用する。|
|vCenterとの連携|1:1連携|1つのNSX管理クラスタで複数のvCenterと連携することが可能であり、NSX管理クラスタに１つ１つESXiを登録する代わりに、Computing Managersとして「システム1のvCenter、システム2のvCenter、、、」のように複数のvCenterと紐づけて管理することが可能。|
|NSXに必要な分散スイッチ|VDS(vSphere Distributed Switch)を利用。VDSを拡張する形で仮想ネットワークを構成していた。<br><br>※VDSは複数のホスト上のvSwitchを、単一のVDSインスタンスとしてvCenterから管理するというvCenterによる中央集中管理モデルであったことにも注意。|NSX-T 2.5まではESXi環境であろうが非ESXi環境であろうが、一律でN-VDS(NSX-T Virtual Distributed Switch)を利用していた。N-VDSはvCenterからは操作・管理できないため、NSX-ManagerがN-VDSを管理する。<br><br>NSX-T 3.0からはESXi環境ではVDS 7.0を利用することを推奨するように変更された（VDSでNSX-T対応した分散ポートグループが作成できるようになった。細かい設定流れは、[ここ](https://rutgerblom.com/2020/04/08/nsx-t-3-0-meets-vsphere-7-vds-7-0/)が詳しい。）。非ESXi環境(KVM, NSX-T Edge Nodes, native public cloud NSX agents, bare metal)ではN-VDSで物理ネットワーク(VLAN)を引き続き利用。|
|レプリケーションモード|ユニキャスト、マルチキャスト、、ハイブリッドから選択|ユニキャストのみ|
|トランスポートゾーン|参加単位はクラスター（特定のホストのみ参加させるとかはできない）。<br><br>NSX-Vが管理するのはあくまでオーバーレイ・ネットワーク(VXLAN)のみであり、VLANに対しては非NSX構成であるVSS/VDSで管理していた。そのため、VLANに対するトランスポートゾーンという概念はない。|参加単位はホスト。<br><br>非ESXi環境や物理ネットワークもN-VDSで管理する必要がある。よって、N-VDSではオーバーレイ・ネットワークだけでなくVLANに対してもトランスポートゾーンの概念が新たに設けられている。|
|用語名変更：オーバーレイプロトコル通信を行うためのエンドポイント）|VTEP。専用のvmkernelポートが割り当てられる。|TEP(Tunnel Endpoint)<br><br>※NSX-TではVXLANではなくGENEVEを利用することを明確にするために名称を変更したのだと思われる。|
|用語名変更：論理ネットワーク（L2ブロードキャストドメイン）|Logical Switch(LS)。VDSのポートグループとして作成。|Logical Segment(LS)。単にSegmentと呼ぶこともある。|
|NSX-T新用語: Transport Node|N/A（敢えて言えば、従来のESXiホストが対応）| NSX-Tのデータプレーンとして稼働するノード群をTransport Nodeと呼ぶ。ハイパーバイザー（ESXi、KVM）、Edge Node、物理サーバー(NSX Agentを導入）、仮想サーバー（パブリッククラウド上のVM。NSX Agentを導入）がTransport Nodeとして稼働する。<br><br>※NSX-Vの際には、管理対象にできるノードがESXiしか存在しなかったのでわざわざそういう用語を定義する必要性が少なかったのだと思われる。|
|論理ルーター|・DLR（Distributed Logical Router:分散ルーター。east-westのルーティング。ESXiのKernel上で動く）<br><br>・ESG（Edge Services Gateway: Edgeルーター。north-southのルーティングとNAT, Load Balancer, Gateway firewall, VPN, DNS Forwarding, DHCPなどを実装。仮想アプライアンス上で動く)<br><br>の2つが存在する。ユーザーは両者を意識して作成する必要がある。|ユーザーは、**Gateway**を作成するだけで良い。<br><br>内部実装的には、Gatewayを作成するとDR(Distributed Router)と呼ばれる分散ルーターと、SR(Services Router)と呼ばれる分散の集中型サービスを提供するルーターがバックグラウドで作成される。<br><br>DRはハイパーバイザーなどのKernel上で、SRはEdge Nodeと呼ばれるアプライアンス上でインスタンスが作成され、DR-SR間は自動的にルーティングされる。<br><br>※Gatewayには、Tier-0 Gateway/Tier-1 Gateway の二種類がある。別項参照。|
|Edge|正式名称はEdge Services Gateway(ESG)。単にEdgeと呼ぶ場合はESGを指すことが多い。非分散の集中型サービスを扱うためのアプライアンス/サービス。<br><br>1つのEdge=1つの仮想アプライアンスである。よって、１つのEdgeごとにLBサービスを起動するかどうか、VPNを有効化するかどうか、などを選択する。<br><br>※正式にはドキュメントやコンソール上ではNSX Edge=ESG+DLRの総称であり、Edge≒ESGのように呼んでいることも多い中、DLRもNSX Edgeの画面から構成するため、初学者には若干混乱を来していたと思う。|正式名称はEdge node。<br><br>Edge Nodeは**キャパシティープール**であり、１つのEdge nodeの中で、（リソースが許す限りは）複数のSR(Services Router)が起動する。<br><br>仮想アプライアンスも物理サーバーも選択可能。ただし、仮想アプライアンスはESXi上でしか稼働しないし、物理サーバーの場合はDPDKに対応した指定のNICを搭載する必要がある。<br>https://docs.vmware.com/en/VMware-NSX-T-Data-Center/2.5/installation/GUID-11417AA2-5EBC-49C7-8A86-EB94604261A6.html<br>https://docs.vmware.com/en/VMware-NSX-T-Data-Center/2.5/installation/GUID-22F87CA8-01A9-4F2E-B7DB-9350CA60EA4E.html?hWord=N4IghgNiBcICIAU4GkQF8g<br>https://docs.vmware.com/en/VMware-NSX-T-Data-Center/2.5/installation/GUID-14C3F618-AB8D-427E-AC88-F05D1A04DE40.html?hWord=N4IghgNiBcICIAU4GkQF8g|
|複数階層ルーティング（マルチテナント用途）|VMware社のベストプラクティスとしては、物理ルーターと接続するアップリンク側のESGと、テナントごとのESGを、それぞれユーザーが個別に配置することを推奨|物理ルーターと接続するアップリンク側論理ルーターを**Tier-0 Gateway**、物理ルーターとは接続しないテナントごとに定義した論理ルーターを**Tier-1 Gateway**と命名し、用語・概念として明確に定義している。<br><br>※1) Tier-0 Gatewayの配下に複数のTier-1 Gatewayをぶらさげることはできるが、Tier-1 Gatewayを複数のTier-0 Gatewayに紐づけることはできない。1つのTier-1 Gatewayに紐づけられるのは1つのTier-0 Gatewayのみ（もしくはTier-0 Gatewayを紐付けないStandaloneの構成も可能）。<br><br>※2) Tier-1 Gatewayはオプションであり、必須ではない。またマルチテナント構成でも、本当にTier-1 Gatewayを利用するかどうかは要検討。VMware社的にはstatefulな処理(NATなど）はTier-1 Gatewayに持って行けるように実装し、Tier-0 Gatewayはstateful/statelessな処理をどちらでも行えるようにしようとしているみたいだが、Tier-0/Tier-1 Gatewayでそれぞれできることも異なるので場合によってはTier-0 Gatewayを複数並べてネットワーク構成をシンプルにするのも１つの選択肢だと思われる。|
|ゲートウェイファイアーウォール|ESG上で構成|Tier-0 Gateway/Tier-1 Gateway上で構成（内部的には、それぞれのGateway内のSRで実現）。<br><br>**ファイアーウォールルールは、常にuplink側のインターフェースに適用される**ことに注意。<br>https://docs.vmware.com/en/VMware-NSX-T-Data-Center/2.5/administration/GUID-FC912481-8AE9-4C61-9526-8BA26DB72976.html
|NAT|ESG上で構成。SNAT/DNATはサポートしている。<br>再帰NAT(Stateless NAT)は非サポート|Tier-0/Tier-1 Gateway上で構成（内部的には、それぞれのGateway内のSR上で実現）。<br>再帰NAT(Stateless NAT)もサポート。https://docs.vmware.com/jp/VMware-NSX-T-Data-Center/2.5/administration/GUID-46900DFB-58EE-4E84-9873-357D91EFC854.html<br><br>**NATルールは、常にuplink側のインターフェースに適用される**ことに注意。
|分散ファイアーウォールで利用可能な分散スイッチ|VSSやVDSに繋がるVMに対しても分散ファイアーウォール機能を提供できていた。|VMは必ずN-VDS配下のセグメントにつながる必要がある。|
|L2 Bridge|DLRのブリッジングの設定にて定義。実際のL2 BridgeはDLR Control VMが稼働するホスト上で実行される。|Edge node上で実行される。|
|ロードバランス機能|あり(HAProxyベース）|あり(Nginxベース。将来的にはAVIになる！？）|
|SSL VPN-Plusのサポート|あり。|なし。|
|GREのサポート|あり。|なし。|
|分散IDS/IPS|なし。|NSX-T 3.0から利用可能。ただし、現状では<br><br>1. AdvancedもしくはEnterprise plusのライセンスを持っている必要がある。<br>2. 別途NSX Distributed Threat Preventionを追加購入する必要がある。 |
|Public Cloud環境との連携|N/A|CSM(Cloud Services Manager)と呼ばれるコンポーネントによって連携が可能。CSMがNSX ManagerおよびPublic Cloud上のPCG(NSX Public Cloud Gateway)とRest APIで連携可能<br><br>https://www.vmware.com/jp/products/nsx-cloud.html|
|HW-VTEPのサポート|あり|なし。<br><br>※NSX-TのEdgeノードにおける物理サーバーオプションが非常に高速なため、優先度は低いのかもしれない。NW機器ベンダーもGeneveプロトコルにも対応しないといけないし・・・|
|複数のロケーションにまたがるNSX環境の管理|Cross vCenter NSX|NSX Federation(NSX-T 3.0から）<br><br>各データセンター（サイト）内でそれぞれNSX Manager(3台）を動作し、複数のデータセンターおよびクラウドにまたがるGlobalなネットワークとセキュリティーポリシーをGlobal Manage経由で統合管理する。|

#4. Tier-0 Gateway/Tier-1 Gateway比較

| |Tier-0 Gateway |Tier-1 Gateway|
|:-----------------|:------------------|:------------------|
|BGP|OK|NG|
|OSPF|[NSX-3.1.1](https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.1/rn/VMware-NSX-T-Data-Center-311-Release-Notes.html)以降でOK<br>ただし、[OSPF over IPSec VPNは利用できない](https://docs.vmware.com/jp/VMware-NSX-T-Data-Center/3.1/administration/GUID-C0E5AF10-576D-493A-A079-C4C95D8F5373.html)|NG|
|IPSec VPN|OK|OK|
|L2VPN|OK|[NSX-T 3.0](https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.0/rn/VMware-NSX-T-Data-Center-30-Release-Notes.html)以降でOK|
|NAT|OK|OK|
|LB|NG|[OK](https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.1/administration/GUID-F0C4A33A-2B1F-43AA-94E1-602B628AFD52.html)|
|DNS|OK|OK|
|Gateway Firewall|OK|OK|
|GRE|NG|NG|