EVB
網路技術:邊緣虛擬橋
邊緣虛擬橋EVB(Edge Virtual Bridging)技術是當前用於解決虛擬化環境的虛擬機VM(Virtual Machine)與網路之間的連接與管理邊界問題而產生。並在此標準802.1Qbg定義的框架基礎上可以實現VM生命周期與網路的自動化關聯、網路屬性的靈活變更。
EVB原來由802.1Qbg和802.1Qbh組成,數據層面的實現一共有四種(如圖1所示):其中802.1Qbg包含了三種,即VEB(Virtual Ethernet Bridging)模式、VEPA(Virtual Ethernet Port Aggregator)模式和Multi Channel模式;802.1Qbh為PE(Port Extender)模式。當前802.1Qbh已經在EVB內取消,因此EVB目前也就是802.1Qbg。802.1Qbg的各種模式具體轉發行為,請參考本刊《802.1Qbg、802.1Qbh、802.1BR、VN-Tag技術比較》一文,此處不再贅述。
![圖1 EVB的多種數據轉發實現](https://i1.twwiki.net/cover/w200/m2/1/m215715f0e93495ba5cb4c206dd370dd7.jpg)
圖1 EVB的多種數據轉發實現
圖2中邊緣中繼單元ER(Edge Relay)指代了VEB/VEPA各種部件。EVB技術中,ER位於伺服器一側,對伺服器的流量進行轉發,ER轉發的流量包括虛擬伺服器之間,和虛擬伺服器與邊緣交換機(與物理伺服器直連)之間的全部流量。ER既可以通過軟體實現,也可以使用專門的硬體單元實現(虛擬化網卡功能)。 ER-1標識了一種雙埠的VEB或VEPA,在實現上完全作為一個通道,無需地址學習表項管理;ER-2標識VEPA;ER-3標識VEB。所有的VM通過Virtual Station Interface(VSI)連接在ER上,基於級聯性架構,ER邏輯上掛接在Multi Channel的S-Component組件上,S-Component組件是實現
EVB的控制協議最關鍵有兩個:VDP(VSI Discovery Protocol) 和CDCP(S-Channel Discovery and Configuration Protocol)。
1.CDCP協議
CDCP是專門用於建立Multi Channel模式下S-Component組件與網路連接的通道,這些通道邏輯上只在伺服器和物理網路埠本地有效,如圖3所示。
![圖3 CDCP建立多通道](https://i1.twwiki.net/cover/w200/m4/0/m40c8d739c2f2a6197ed4a4c7ab91e2cd.jpg)
圖3 CDCP建立多通道
S-Channel配置由交換機決定,並保存在交換機上;
由伺服器向交換機發起S-Channel資源請求;
交換機根據請求提供最佳資源集;
如果交換機不能提供所有資源則提供資源子集;
2)CDCP交互過程
乙太網介面上使能EVB功能后,交換機通過LLDP報文向外發布S通道狀態,與伺服器的交互機制如圖4所示。
![圖4 CDCP協議交互示意圖](https://i1.twwiki.net/cover/w200/mc/1/mc1bda1f8d027b7fa4684086b2af5b673.jpg)
圖4 CDCP協議交互示意圖
3)CDCP報文格式
CDCP 協議TLV欄位如圖5所示,包括角色(交換機為bridge,伺服器為station)、對S組件的支持能力(SComp)、支持的S通道的個數、以及S通道ID與對應的SVID對( )。CDCP TLV與LLDP中其它dot1q的TLV一樣,type取值為127,subtype取值0x0E。
![圖5 CDCP協議TLV格式](https://i1.twwiki.net/cover/w200/md/d/mdde93eee80b5a4a91334343e31a22f91.jpg)
圖5 CDCP協議TLV格式
保留位(Resv):暫不使用,以0填充。
S組件支持能力(SComp):等於1表示能支持S-VLAN組件,等於0時表示不支持。
本設備支持的S通道數目(Chncap):包括已經成功創建和尚未創建的。
SCID/SVID對:S通道索引和對應的SVID。第一個必須是預設S通道,即<1,1>。CDCP報文中最多支持167個SCID/SVID對,包括預設S通道的SCID/SVID。
伺服器發出的請求中,SVID為0,形式如。如果交換機成功為其創建S通道,那麼回復報文的形式如,b為有效的VLAN ID。如果交換機不能創建,則回復報文中仍然維持的形式。如果伺服器將某一已經生效 的SCID/SVID對從本方報文中刪除,表示向交換機申請刪除該S通道。
2.VDP協議
VDP協議報文由伺服器發起。伺服器發送的VDP請求分為預關聯、資源預留的預關聯、關聯和去關聯請求四種。交換機只回復對應的響應報文。
VM創建時,伺服器向交換機發送關聯或者預關聯請求。關聯請求處理成功時,VM的流量就可以開始經由交換機轉發。預關聯請求處理成功時,VM處於一種就緒等待的狀態,直到發送關聯請求處理成功后,才開始收發流量。
VM關閉時,向交換機發送去關聯請求,邊緣交換機將對應的流量轉發通道關閉。
一般來說,VM遷移時,新的VM先處於預關聯狀態下,等待虛擬機管理中心指令原有VM發送去關聯請求。原有VM發送去關聯請求后,新VM發送關聯請求,接替原有VM的流量收發工作。
1)VDP交互過程
伺服器發送關聯請求時,與交換機、VSI管理伺服器的交互過程如圖6所示。
![圖6 關聯請求處理](https://i1.twwiki.net/cover/w200/m7/b/m7b2e8d824ebb819b78c415db969c9efb.jpg)
圖6 關聯請求處理
![圖7 預關聯請求處理](https://i1.twwiki.net/cover/w200/m5/c/m5c8c28ddbe0b87fa79942c34b44b5968.jpg)
圖7 預關聯請求處理
![圖8 去關聯請求處理](https://i1.twwiki.net/cover/w200/m5/8/m5875f590cbeeed2a32044e611ad76008.jpg)
圖8 去關聯請求處理
VDP是VM與網路關聯、創建遷移感知的關鍵協議,這裡僅針對其中比較關鍵的消息內容進行介紹。
關聯消息。如圖9所示的關聯消息類型,傳遞了VM和網路之間的關聯、解關聯操作請求。
![圖9 VDP關聯消息類型](https://i1.twwiki.net/cover/w200/m4/9/m49133ef5576d710a7b84c14d7a43a18c.jpg)
圖9 VDP關聯消息類型
![圖10 VM的遷移告知](https://i1.twwiki.net/cover/w200/m2/b/m2b021b20a6b043bbd8249b9ca69f8c7a.jpg)
圖10 VM的遷移告知
![圖11 VSI過濾信息](https://i1.twwiki.net/cover/w200/m8/b/m8b0ffd449099dc083f14387ab0815260.jpg)
圖11 VSI過濾信息
在EVB控制協議作用下,便可實現VM的自動化關聯網路,如圖12所示,A中VM不進行VDP關聯,網路不對其下發相應的屬性,網路沒有針對此VM的相關配置,則VM流量不能進入網路。B中VM經過VDP正常關聯網路,網路管理系統基於VM信息合理性下髮針對VM的網路策略與配置,可保證VM正常服務提供。C中VM雖然關聯網路,但其屬性被網路系統判斷為非法VM,網路拒絕VM接入,不為VM分配資源和配置。