作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與SD-WAN方案的介紹與推廣。

上篇我們討論了Distributed Router的定義與效益,透過分散式路由的機制,NSX-T環境內虛機間的溝通可以達到實體路徑最佳化。但在資訊系統環境內所需要的服務並不是僅有二層路由與三層交換,下圖內可以看到,除了標準的Switching / Routing外,網路虛擬化環境內我們還會需要其他的上層網路或安全服務機制:

 

而裡面多數機制有個特點:他們是有狀態的 (Stateful)。以技術層面簡單的說法,『有狀態』的功能代表在網路連線產生後,提供功能的服務節點必須要紀錄對應的連線資訊,並根據連線的狀態提供後續的處理。比如說,Load Balancing / NAT服務都需要有網路地址轉換表,南北向防火牆有Connection Table,DHCP需要紀錄有哪些現有與後續的配置。當網路服務需要『記憶』這些『狀態』,此時要把這些功能分散到不同的實體構件來提供服務是有難度的:因為架構上,就必須要能夠去同步多個分散式構件上的『狀態』,不然的話兩邊的狀態不同,就會出現服務無法協作的問題。

 

舉個常見的例子:南北向防火牆。下圖內,兩台防火牆以Active-Active的形式同時提供服務,此時一個網路連線從左邊防火牆FW-A出去 (發出SYN信號),但從右邊防火牆FW-B回來。FW-A依據防火牆規則放行了這個連線,並且建立了對應的連線紀錄。但如果這個連線紀錄沒有同步到右邊的FW-B,此時FW-B會認為回應的連線 (ACK) 不遵循標準的TCP三向交握順序,是非法連線。即使防火牆規則允許,這個連線也會被阻擋。

 

 

另一個重點則是邏輯網路與實體網路間的連線。在前面的邏輯交換器章節內,大家可以看到透過Geneve的封裝,多個邏輯交換器可以快速、集中的產生並且分佈到多個Transport Node上。但當我們要把這些位於邏輯網路上的業務服務,提供位於實體環境的用戶來使用時,系統上會需要有同時能進行邏輯網路解封裝,又能夠與外部實體網路vlan連接並且進行路由交換的構件。

而要達成上述的網路與安全功能,我們需要能夠進行集中式提供服務的構件,叫做Service Router。Service Router的特性是

  • 僅存在於集中的Edge Node上,不會位於vSphere / KVM等分散的Hypervisor上
  • 以Active-Active (ECMP) 或是Active-Standby的方式,提供邏輯網路對外部實體企業網路的連接與路由交換 (EBGP)
  • 以Active-Standby的方式提供需求的上層網路服務,包含VPN / Load Balancer / NAT / 南北向防火牆 / DHCP等等

好,在這篇與上一篇內,我們說明了Service Router與Distributed Router功能上的不同。而再之前的網誌內,我們討論了Tier-0 / Tier-1邏輯路由器。其中,

  • Tier-0或Tier-1是『邏輯路由器』:T0路由器是負責整個NSX-T環境的對外服務路由器,T1路由器僅為對應單一業務、租戶、專案的特定路由器
  • Service Router / Distributed Router是實際上提供路由或上層服務的實體構件:Distributed Router構件『分散於』所有的Transport Node,包含Edge Node以及vSphere / KVM等Hypervisor Node上,提供分散到所有NSX-T環境內的路由轉發服務。而Service Router僅存在於『集中的』Edge Node內,提供對實體環境的連接,以及各項上層的網路服務。

而T0/T1與SR/DR間有什麼關聯呢?下面我們先做個簡單的說明:

  • Tier-0 / Tier-1是管理者或用戶所配置出的邏輯網路構件。Tier-0 / Tier-1邏輯路由器的功能,是由實際建立於Transport Node裡的Service Router / Distributed Router實體元件來提供
  • 當管理者建立一個Tier-0路由器,NSX-T會在所有的Transport Node上建立這個T0路由器的DR,以及在對應的Edge Node上建立這個T0路由器的SR
  • 當管理者/用戶建立一個Tier-1路由器,NSX-T會在所有的Transport Node上建立這個T0路由器的DR。而如果管理者或用戶在這台Tier-1路由器上要啟用上層服務如NAT或是Load Balancer,NSX-T會在Edge Node上建立這個T1路由器的SR
  • 同樣一台Tier-0 (或是Tier-1) 內的SR與DR間,會透過NSX-T自動指定的一組169.254.0.0/28內的IP互相連通
  • 而不同T0 / T1間的SR或是DR連通時,會透過NSX-T自動指定的一組100.64.0.0/16內的IP互相連通

不知道大家頭昏了沒。如果還撐得住的話,下一篇網誌內,我們會更詳細就T0/T1與SR/DR間的構件關係做進一步討論。