【編者按】亞馬遜AWS采用私有的解決方案,但是卻缺少對AWS VPC中的Packet forwarding機制的相關(guān)說明,Chiradeep Vittal通過一系列測試,分析了AWC VPC包轉(zhuǎn)發(fā)模型的相關(guān)細(xì)節(jié),同時發(fā)現(xiàn)該模型采用的是multi-VRF機制。
VMware NSX和Hyper-V對網(wǎng)絡(luò)虛擬化中Packet forwarding的行為作出了詳細(xì)文檔描述,但是亞馬遜沒有任何相關(guān)文檔來說明AWS VPC中的Packet forwarding機制,盡管亞馬遜采用的是私有的解決方案(深度定制的Xen Hypervisor和自行定制的虛擬交換機),但是通過分析AWS的網(wǎng)絡(luò)特征和用戶文檔搞清楚它的一些細(xì)節(jié)也不是一件很困難的事情。
訂閱“AWS中文技術(shù)社區(qū)”微信公眾號,實時掌握AWS技術(shù)及產(chǎn)品消息!
AWS中文技術(shù)社區(qū)為廣大開發(fā)者提供了一個Amazon Web Service技術(shù)交流平臺,推送AWS最新資訊、技術(shù)視頻、技術(shù)文檔、精彩技術(shù)博文等相關(guān)精彩內(nèi)容,更有AWS社區(qū)專家與您直接溝通交流!快加入AWS中文技術(shù)社區(qū),更快更好的了解AWS云計算技術(shù)。
Chiradeep Vittal通過運行一系列測試寫了一篇博客來分享他的心得,總結(jié)如下:
1. 亞馬遜VPC的虛擬交換機只做L3 unicast IPV4 forwarding(類似于最新的Hyper-V網(wǎng)絡(luò)形態(tài)),所有的非IPv4流量和IPv4多播和廣播會被drop掉。
2. 在Hypervisor層虛擬交換機中L3的轉(zhuǎn)發(fā)并不減TTL,看起來就像所有的虛擬機都處于同一個子網(wǎng)中。(猜測:毫無疑問,此功能需要有類似避免回路出現(xiàn)的功能輔助,否則網(wǎng)絡(luò)可能會被阻塞。)
3. Hypervisor代理了所有的ARP請求并且回復(fù)目標(biāo)虛擬機的MAC地址或第一跳的網(wǎng)關(guān)地址(早期的AWS VPC實現(xiàn)使用相同的目的MAC地址回復(fù)所有的ARP請求)
4. 虛擬交換機實現(xiàn)了類似路由的功能,例如,如果ping的是默認(rèn)網(wǎng)關(guān)會響應(yīng),如果ping的是其它子網(wǎng)的網(wǎng)關(guān),數(shù)據(jù)包會被drop掉。
這種實現(xiàn)看起來平淡無奇, 但是,慢著,這還不是全部,Amazon VPC轉(zhuǎn)發(fā)模型絕妙的地方在于,他是multi-VRF(multiple routing tables)機制,用戶可以在VPC中創(chuàng)建multiple routing tables并把他們當(dāng)中的某個分配給其中一個子網(wǎng)。
你可以,舉例來說,使用默認(rèn)路由來路由internet發(fā)起的請求,并把這些請求路由到web server所在的子網(wǎng),把訪問數(shù)據(jù)庫的請求路由到你自己的數(shù)據(jù)中心,對應(yīng)用服務(wù)器之間的網(wǎng)絡(luò)請求(本地鏈接)使用非默認(rèn)路由等等,如果你是一個MPLS/VPN geek用這一特性來分拆路由表這是一個很cool的特性,但是,同時對于那些想要把已經(jīng)存在的L2網(wǎng)絡(luò)migrate到云中的用戶來說也是一個挑戰(zhàn)。
原文鏈接: Amazon VPC包轉(zhuǎn)發(fā)機制分析
如您需要了解AWS最新資訊或是技術(shù)文檔可訪問AWS中文技術(shù)社區(qū);如您有更多的疑問請在AWS技術(shù)論壇提出,稍后會有專家為您進(jìn)行答疑。