天天看點

KVM 網絡虛拟化基礎 - 每天5分鐘玩轉 OpenStack(9)Linux Bridge 基本概念

網絡虛拟化是虛拟化技術中最複雜的部分,學習難度最大。 但因為網絡是虛拟化中非常重要的資源,是以再硬的骨頭也必須要把它啃下來。

為了讓大家對虛拟化網絡的複雜程度有一個直覺的認識,請看下圖

這是 OpenStack 官網上給出的計算節點(可以了解為 KVM 的主控端)虛拟網絡的邏輯圖,上面的網絡裝置很多,層次也很複雜。

我第一次看到這張圖,也着實被下了一跳。

不過大家也不要怕,萬丈高樓從地起,虛拟網絡再複雜,也是由一些基礎的元件構成的。隻要我們将這些基礎元件的概念和它們之間的邏輯關系搞清楚了,就能深刻了解虛拟網絡的架構,那麼雲環境下的虛拟化網絡也就不在話下了。

下面我們來學習網絡虛拟化中最重要的兩個東西:Linux Bridge 和 VLAN

假設主控端有 1 塊與外網連接配接的實體網卡 eth0,上面跑了 1 個虛機 VM1,現在有個問題是: 如何讓 VM1 能夠通路外網?

至少有兩種方案

将實體網卡eth0直接配置設定給VM1,但随之帶來的問題很多:

主控端就沒有網卡,無法通路了;

新的虛機,比如 VM2 也沒有網卡。

下面看推薦的方案

給 VM1 配置設定一個虛拟網卡 vnet0,通過 Linux Bridge  br0 将 eth0 和 vnet0 連接配接起來,如下圖所示

Linux Bridge 是 Linux 上用來做 TCP/IP 二層協定交換的裝置,其功能大家可以簡單的了解為是一個二層交換機或者 Hub。多個網絡裝置可以連接配接到同一個 Linux Bridge,當某個裝置收到資料包時,Linux Bridge 會将資料轉發給其他裝置。

在上面這個例子中,當有資料到達 eth0 時,br0 會将資料轉發給 vnet0,這樣 VM1 就能接收到來自外網的資料;

反過來,VM1 發送資料給 vnet0,br0 也會将資料轉發到 eth0,進而實作了 VM1 與外網的通信。

現在我們增加一個虛機 VM2,如下圖所示

VM2 的虛拟網卡 vnet1 也連接配接到了 br0 上。

現在 VM1 和 VM2 之間可以通信,同時 VM1 和 VM2 也都可以與外網通信。

有了上面的基礎知識,下一節将示範如何在實驗環境中實作這套虛拟網絡。

本文轉自CloudMan6 51CTO部落格,原文連結:http://blog.51cto.com/cloudman/1752386

繼續閱讀