局域網SDN技術硬核內幕 二 雲網融合CP的關鍵——層次化端口綁定

局域網SDN技術硬核內幕 二 雲網融合CP的關鍵——層次化端口綁定

在之前的文章中,我們提到,EVPN是雲網融合的紅娘,撮合了雲平臺和網絡轉發平面。而當網絡中的硬件交換機支持EVPN和VXLAN時,它可以代替軟件OVS,提升網絡吞吐量,降低轉發時延,並且節約寶貴的CPU資源。

一個問題出現了:
在硬件交換機實現VXLAN封裝的場景中,它需要將不同的VLAN封裝到對應的VXLAN中。VLAN和VXLAN的對應關係,是Neutron進行分配的,那麼,Neutron怎麼樣才能將這個對應關係下發到硬件交換機呢?

讓我們揭開今天的主題——層次化端口綁定。
層次化端口綁定是在OpenStack Kilo版本中引入的。
原來,在Neutron中,向網絡節點下發配置的組件,叫做ML2組件。當用戶在Nova中創建虛擬機時,Nova會通知Neutron將虛擬機的網絡端口,綁定到虛擬化網絡中。對於軟件Overlay的場景,ML2組件調用OVS的驅動——Mechanism Driver,把虛擬機的VLAN、對應的VXLAN等信息配置到OVS上。
引入了層次化端口綁定機制以後,ML2允許註冊多個Mechanism Driver。這樣,硬件交換機的廠商只需要按照ML2 Mechanism Driver的規約,自行開發適配了交換機的Mechanism Driver並在ML2中註冊,就可以接管端口綁定的功能,將Neutron對虛擬化網絡的配置接管到硬件交換機上了。

典型的層次化端口綁定的機制如下圖:
在這裏插入圖片描述
圖中數字表示的各步驟如下:

  1. 用戶在Nova中創建一個虛擬機,將其加入網絡VXLAN 100;
  2. Neutron爲VXLAN 100創建網絡接口,並將請求發送到ML2組件;
  3. ML2調用物理交換機(TOR)的Mechanism Driver,設定VXLAN 100;
  4. 物理交換機Mechanism Driver再申請一個VLAN 110,通知ML2,當前這個VM的網絡接口還需要綁定在VLAN 110
  5. 物理交換機Mechanism Driver通過Netconf接口設定VLAN 110和VXLAN 100的映射關係;
  6. ML2調用OVS的Mechanism Driver,在OVS添加VLAN 110,並將該VLAN配置到VM對應的接口上,
  7. OVS將對VM發出的數據包打上VLAN 110的 TAG並轉發到物理交換機的接口,物理交換機將帶有VLAN 110 TAG的數據包封裝入VXLAN 110;

我們看到,VM的一個網絡接口,既通過OVS的Mechanism Driver綁定到了OVS的VLAN接口上,又通過物理交換機的Mechanism Driver綁定到了物理交換機的VLAN/VXLAN接口上(在交換機上也叫VXLAN Attach Circult接口與VXLAN Tunnel接口)。這就是所謂“層次化端口綁定”這個短語的意義。

層次化端口綁定的本質,是Neutron爲硬件交換機廠商提供了一個實現硬件SDN Overlay的接口。有了這種機制,雲平臺和物理網絡才能成爲一對親密無間的CP。
類似的接口還有LBaaS和FWaaS,在後面內容會提到。
下一章我們將詳解硬件Overlay的轉發平面原理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章