如題,本周課程主要講述雲資料中心的網絡管理,和網絡基礎設施的共享。
Targets and Motivations
具體的目标與動機可以參考下面這篇文章:
VL2: A Scalable and Flexible Data Center Network
我們希望資料中心做到高可伸縮性和高使用率,也就是靈活和高效。
To be agile and cost effective, data centers should allow dynamic resource allocation across large server pools. In particular, the data center network should enable any server to be assigned to any service.
動機:
The motivations for building such shared data centers are both economic and technical: to leverage the economies of scale available to bulk deployments and to benefit from the ability to dynamically reallocate servers among services as workload changes or equipment fails.
要做到資料中心高使用率,關鍵是靈活,為任意服務配置設定任意的server:
Agility — the capacity to assign any server to any service
為了實作靈活性,我們希望達到這樣的目标:
-
流量平均
server到server的網絡流量應該隻與網卡性能有關,而不應該受到網絡拓撲的制約。
-
獨立性能
server應該表現出獨立的性能,也就是說,不會受到其他servers突發吞吐量的影響。例如兩個servers在同一個機架上,其中一台server流量非常大,但是另一台server的網絡流量卻不會是以而受到影響。
-
Layer-2 semantics
被配置設定的servers 看起來就像是連在同一個LAN上一樣。
VL2 Design

尋址與路由
為了實作靈活性,使得服務(service)可以在實體資料中心上靈活移動。VL2使用了兩類IP位址:1.Locator Addresses; 2.Application Addresses。他們之間可以動态轉換。如上圖。
Two separate IP address spaces are used – one to identify an application, one to identify its location – with a dynamic translation step between these.
- Locator Addresses(LAs): 用于識别 rack or top-of-rack (ToR) switch
- Application Addresses (AAs): 用于識别 server or virtual server
可見,LA是一種實體辨別,而AA是一種虛拟辨別。當一項服務在VL2内部遷移的時候,它的AA保持不變,但是LA可能會改變。
在選路方面,VL2采用類似于ECMP的政策,也就是一種多路徑随機選路的方法。這是基于對資料中心的測量結果而選擇的政策。測量結果顯示:
- 大量的small flows
- 并發而且無規律
選擇随機選路是因為:
Individual flows may get unlucky by being (randomly) assigned to a path that causes congestion, but if this happens it will be resolved quickly because the flow will last for only a relatively short time.
Other solutions that dynamically change the routing of flows based on current congestion could theoretically perform better. But, it would be difficult to make these schemes practical because the overall network traffic pattern changes very quickly.