之前幾篇文章主要著重於VMware NSX的邏輯交換器運作機制,接下來要由網路二層提升至三層,討論NSX內的邏輯分散式路由器(Logical Distributed Router,簡稱LDR或「邏輯路由器」)架構與功能。
在VMware NSX內其實有兩種不同的路由器機制,分別是本文中所討論在vSphere Kernel內運作的邏輯路由器,以及以VM型態運作的Edge Service Gateway。往後都會介紹這兩種機制,不過兩者間最重要的差異要先做說明:
·邏輯路由器:路由轉發的動作是直接於各vSphere Host Hypervisor內執行。
·Edge Service Gateway:獨立的路由閘道虛擬機器(或是Term:VNF路由器)。透過此路由器進行路由轉發的網路封包,需要直接透過此虛擬機器傳送。
資料中心內不同型態的網路流
之所以需要兩種不同架構的路由器,主要是基於資料中心內有不同型態的網路流,NSX利用不同機制進行路由轉發處理,以達成路由轉發最佳化。
LDR負責的是資料中心內的東西向網路路徑最佳化,Edge Service Gateway則是負責南北向網路的封包轉發處理。
這裡需要回顧一下東西向與南北向網路流的定義:
·東西向網路流:網路流僅發生於資料中心內的虛擬環境,也就是VM到VM間的網路連通。
·南北向網路流:網路流發生於資料中心到其他地點,例如Internet(如VM連往Internet)或是廣域網路(如外點用戶連往資料中心內VM)。或是,網路流發生於資料中心內的虛擬環境與實體環境(如VM連往實體資料庫)之間。
用圖1來說明,在資料中心內部虛擬機器的封包傳送,譬如在虛擬環境內Web、AP、DB等位於邏輯交換器上虛擬機器間的網路流,就是所謂的東西向傳送,由LDR機制直接於vSphere Host上進行。
|
▲圖1 東西向交通與南北向交通。 |
但如果是與Internet或是外部實體網路的交通,例如Internet用戶連往Web虛擬機器,就是南北向傳送,會由Edge Service Gateway統整作為資料中心邏輯網路與外部網路間的閘道。
LDR負責的是東西向網路路徑的集中路由轉發。如同所有的SDN方案,NSX內的LDR也具備控制層與轉發層的架構。
由圖2可以看出,實際上邏輯路由器分為兩個組件:於vSphere Hypervisor內運作的Kernel Module,以及獨立虛擬機器的Control VM。邏輯路由器的LDR Kernel Module實際上是NSX Manager安裝於vSphere Hypervisor內的一個VIB模組,負責實際的封包路由轉發。但路由協定的溝通交換、路由表的建立等作業,則是由LDR Control VM來執行。
|
▲圖2 邏輯路由器的構件。 |
也就是說,LDR Control VM是此邏輯路由器的控制層(Control-Plane),負責進行路由交換與路由表建立;LDR Kernel Module則是資料層(Data-Plane),依據Control VM所發出的路由表,實際於Hypervisor內進行封包路由轉發。
認識邏輯路由器架構
可用圖3來說明LDR Control VM、LDR (Kernel Module)、NSX Controller、NSX Manager之間的關係。
|
▲圖3 邏輯路由器的架構。 |