基於目前主流的隧道技術,專有網路(Virtual Private Cloud,簡稱VPC)隔離了虛擬網路。每個VPC都有一個獨立的隧道號,一個隧道號對應著一個虛擬化網路。

背景資訊

隨著雲端運算的不斷髮展,對虛擬化網路的要求越來越高,比如彈性(scalability)、安全性(security)、可靠性(reliability)和私密性(privacy),並且還有極高的互聯效能(performance)需求,因此催生了多種多樣的網路虛擬化技術。

比較早的解決方案,是將虛擬機器的網路和物理網路融合在一起,形成一個扁平的網路架構,例如大二層網路。隨著虛擬化網路規模的擴大,這種方案中的ARP欺騙、廣播風暴、主機掃描等問題會越來越嚴重。為瞭解決這些問題,出現了各種網路隔離技術,把物理網路和虛擬網路徹底隔開。其中一種技術是使用者之間用VLAN進行隔離,但是VLAN的數量最大隻能支援到4096個,無法支撐公共雲的巨大使用者量。

原理描述

基於目前主流的隧道技術,專有網路(Virtual Private Cloud,簡稱VPC)隔離了虛擬網路。每個VPC都有一個獨立的隧道號,一個隧道號對應著一個虛擬化網路。一個VPC內的ECS(Elastic Compute Service)執行個體之間的傳輸資料包都會加上隧道封裝,帶有唯一的隧道ID標識,然後送到物理網路上進行傳輸。不同VPC內的ECS執行個體因為所在的隧道ID不同,本身處於兩個不同的路由平面,所以不同VPC內的ECS執行個體無法進行通訊,天然地進行了隔離。

基於隧道技術和軟體定義程式網路(Software Defined Network,簡稱SDN)技術,阿里雲的研發在硬體網關和自研交換器裝置的基礎上實現了VPC產品。

邏輯架構

如下圖所示,VPC包含交換器、網關和控制器三個重要的組件。交換器和網關組成了資料通路的關鍵路徑,控制器使用自研的協議下發轉寄表到網關和交換器,完成了配置通路的關鍵路徑。整體架構裡面,配置通路和資料通路互相分離。交換器是分布式的結點,網關和控制器都是叢集部署並且是多機房互備的,並且所有鏈路上都有冗餘容災,提升了VPC產品的整體可用性。