在前面的文章中,我們已經把宏觀物理網絡的架構大致講清楚了:
骨干網的那點事
IP城域網究竟是個什么網?
數據中心網絡架構是怎樣的?)
家庭設備是如何接入網絡的?
手機上網的物理鏈路是怎樣的?
同時,物理服務器的宿主系統Linux基礎網絡也進行了介紹:
Linux基礎網絡是怎樣的?
Linux網絡設備:Linux Bridge
Linux網絡設備:Open vSwitch
后面我們將討論: 微觀虛擬網絡:虛擬機網絡和容器網絡。 本文將探討虛擬機網絡是如何構建的?
我們知道,現在物理服務器性能強勁,一個物理服務器可以數十個虛擬機,這些虛擬機之間必然需要通信,即要通信必然需要網絡。此時,就需要進行虛擬機網絡的構建了。
一、虛實相通,先看物理服務器網絡如何構建?
物理服務器之間要進行通信,通常情況下,可以將其連接到物理交換機上。
物理服務器之間的數據包通過交換機進行轉發,那么如何轉發呢?MAC地址表。
A發送數據包到C,通過查詢MAC地址表可知,數據包從交換機的3號口轉發。
說明:起初MAC地址表是空的,A發出未知單播包,交換機記錄macA和端口的映射關系;交換機轉發數據包到所有的端口,端口3發現自己連接的物理服務器macC,則將macC和端口記錄到MAC地址表中。
注意到,MAC地址表含有VLAN字段。對于支持VLAN的交換機來說,交換機端口分成: Access、Trunk和Hybrid 。
Access: 以太幀從access口進入交換機時會打上VLAN TAG,從access口出去時,交換機去除VLAN TAG;access只屬于一個VLAN;
Trunk: 以太幀帶VLAN TAG進行傳輸,trunk口可同時傳輸多個VLAN;
Hybrid: 具有trunk和access兩種端口的特點,tag類似trunk,untag類似access。
多個交換機進行互聯:
二、虛實相通,再來看虛擬機網絡如何構建?
將紅色框的部分看成一個物理服務器,那么,一個物理服務器中包含了交換機和虛擬機。交換機上存在不同的VLAN Tag,不同的用戶使用不同的VLAN Tag,以隔離不同的網絡。
通常將這里的VLAN Tag稱為 Local VLAN ,只在本物理服務器內部有效。
如果一個用戶在不同服務器申請了多個虛擬機,那么不同服務器的 Local VLAN Tag可能是不同的 。Local VLAN Tag在出入物理服務器時,會進行Local VLAN和外部VLANID(VxLANID)的轉換。
三、開源軟件是如何實現虛擬機網絡的?
物理服務器內的虛擬交換機通常使用Open vSwitch。
有關Open vSwitch的詳細介紹,可以閱讀文章:
初識Open vSwitch:基礎與原理
認識Open vSwitch
Open vSwitch基礎命令
Linux網絡設備:Open vSwitch
在虛擬機網絡中,通常把物理交換機看成一朵云。
通常在物理服務器之間打上VxLAN隧道,這樣物理網絡就是一朵云了。
關注的重點在于是虛擬機之間如何進行通信?
本質上虛擬機網絡就是接入邏輯交換機下的二層網絡。
-
交換機
+關注
關注
21文章
2645瀏覽量
99786 -
MAC地址表
+關注
關注
0文章
3瀏覽量
5619 -
端口
+關注
關注
4文章
978瀏覽量
32102
發布評論請先 登錄
相關推薦
評論