-
1 # 使用者5137775297663
-
2 # 使用者5137775297663
發現一個規律,凡是帶V(Virtual )的技術,包括 VLAN、VRF、VPN、vSwitch、VMWare,很多人理解起來很吃力,Virtual 中文意思是虛擬,既然是虛擬技術,則需要一點抽象思維。
比如電信公司一臺物理路由器,希望將這臺路由器邏輯分割成100臺虛擬路由器vRouter,每臺vRouter給一個客戶公司提供服務,每臺vRouter分別與客戶公司路由器交換路由表,並將客戶路由表儲存在一個獨立的容器中,這個容器就是VRF,則有如下的對應關係:
Customer 1 ----- vRouter1 ---VRF1
Customer 2 ----- vRouter2 ---VRF2
…
Customer 100 ---vRouter100---VRF100
既然VRF之間是邏輯隔離的,那客戶的路由資訊就是邏輯隔離的,井水不犯河水,即使客戶公司都使用相同的IP地址段,如 10.0.0.0/8 也不會引起歧義,一般vRouter也無法直接通訊,所以安全性高。
繞了一大圈熱身,其實是想自然過渡到這個問題的本身。先來看看沒有VLAN概念(不懂VLAN為何物)的交換機如何工作?
假設是一臺24口交換機,連著24臺PC,其中有12臺是位於1.1.1.0/24網段,另外12臺位於 2.2.2.0/24 網段。
則任何關於1.1.1.0/24網段的ARP廣播請求到達交換機,交換機會將廣播請求發給其它23個埠,其中有12臺位於2.2.2.0/24 網段的PC同樣也可以收到,然後它們的ARP模組會一臉懵逼,不知所措,憤憤然丟棄。
以上情況就是不同網段在沒有VLAN隔離情況下的互相干擾,一方面干擾大,資源浪費;另一方面也不安全,完全可以用ARP Spoofing欺騙另一個網段的主機,實現流量黑洞。
既然沒有VLAN的世界不太平,那就引入VLAN到二層交換機吧。同理,也是類似將一臺物理交換機邏輯分割成多個虛擬交換機vSwitch(對應一個VLAN),然後將客戶PC的MAC地址放在一個容器內,這個容器就是VLAN,其對應關係為:
PC ---- vSwitch ----VLAN
至於哪個PC連著哪個埠,屬於哪個vSwitch,由交換機埠配置而成。
那再使用剛才的場景,假定交換機VLAN 10 連著12臺PC,同時有一個trunk口連線其它交換機,VLAN 10 裡的PC使用 1.1.1.0/24 網段,則一個ARP廣播請求會發給多少個埠?(12 -1)+ 1 = 12 ,記住一點,trunk口預設狀態下屬於任何VLAN,所以屬於VLAN 10 一共有13個埠,去掉一個傳送埠,則剩下12個接收埠。
一個VLAN對應一個網段,或者一個網段對應一個VLAN,對於初學者這些知識足夠了。
但世界是複雜的,總有例外,如果一個VLAN內有多個網段的PC,網段之間的廣播還會互相干擾,那要VLAN又有何意義?此外這種情況不同網段還是需要三層交換機或路由器的幫助才可以通訊,所以沒有任何意義。
一個網段可以有不同的VLAN,這種一般藉助外部的橋接裝置將兩個VLAN搭接在一起,雖然是兩個VLAN,但是是一個廣播域,網段內(不同VLAN)可以直接通訊。
比如一個交換機vlan10 是客戶端,vlan 20 是伺服器,它們的IP地址是一個網段,有一臺橋接裝置一個介面在 vlan 10,另一個介面在vlan 20,客戶端和伺服器可以直接發ARP廣播請求,發現對方的MAC,從而實現通訊,為何要這樣啊?因為橋接裝置要監控客戶端與伺服器的所有流量啊!
回覆列表
發現一個規律,凡是帶V(Virtual )的技術,包括 VLAN、VRF、VPN、vSwitch、VMWare,很多人理解起來很吃力,Virtual 中文意思是虛擬,既然是虛擬技術,則需要一點抽象思維。
比如電信公司一臺物理路由器,希望將這臺路由器邏輯分割成100臺虛擬路由器vRouter,每臺vRouter給一個客戶公司提供服務,每臺vRouter分別與客戶公司路由器交換路由表,並將客戶路由表儲存在一個獨立的容器中,這個容器就是VRF,則有如下的對應關係:
Customer 1 ----- vRouter1 ---VRF1
Customer 2 ----- vRouter2 ---VRF2
…
Customer 100 ---vRouter100---VRF100
既然VRF之間是邏輯隔離的,那客戶的路由資訊就是邏輯隔離的,井水不犯河水,即使客戶公司都使用相同的IP地址段,如 10.0.0.0/8 也不會引起歧義,一般vRouter也無法直接通訊,所以安全性高。
繞了一大圈熱身,其實是想自然過渡到這個問題的本身。先來看看沒有VLAN概念(不懂VLAN為何物)的交換機如何工作?
假設是一臺24口交換機,連著24臺PC,其中有12臺是位於1.1.1.0/24網段,另外12臺位於 2.2.2.0/24 網段。
則任何關於1.1.1.0/24網段的ARP廣播請求到達交換機,交換機會將廣播請求發給其它23個埠,其中有12臺位於2.2.2.0/24 網段的PC同樣也可以收到,然後它們的ARP模組會一臉懵逼,不知所措,憤憤然丟棄。
以上情況就是不同網段在沒有VLAN隔離情況下的互相干擾,一方面干擾大,資源浪費;另一方面也不安全,完全可以用ARP Spoofing欺騙另一個網段的主機,實現流量黑洞。
既然沒有VLAN的世界不太平,那就引入VLAN到二層交換機吧。同理,也是類似將一臺物理交換機邏輯分割成多個虛擬交換機vSwitch(對應一個VLAN),然後將客戶PC的MAC地址放在一個容器內,這個容器就是VLAN,其對應關係為:
PC ---- vSwitch ----VLAN
至於哪個PC連著哪個埠,屬於哪個vSwitch,由交換機埠配置而成。
那再使用剛才的場景,假定交換機VLAN 10 連著12臺PC,同時有一個trunk口連線其它交換機,VLAN 10 裡的PC使用 1.1.1.0/24 網段,則一個ARP廣播請求會發給多少個埠?(12 -1)+ 1 = 12 ,記住一點,trunk口預設狀態下屬於任何VLAN,所以屬於VLAN 10 一共有13個埠,去掉一個傳送埠,則剩下12個接收埠。
一個VLAN對應一個網段,或者一個網段對應一個VLAN,對於初學者這些知識足夠了。
但世界是複雜的,總有例外,如果一個VLAN內有多個網段的PC,網段之間的廣播還會互相干擾,那要VLAN又有何意義?此外這種情況不同網段還是需要三層交換機或路由器的幫助才可以通訊,所以沒有任何意義。
一個網段可以有不同的VLAN,這種一般藉助外部的橋接裝置將兩個VLAN搭接在一起,雖然是兩個VLAN,但是是一個廣播域,網段內(不同VLAN)可以直接通訊。
比如一個交換機vlan10 是客戶端,vlan 20 是伺服器,它們的IP地址是一個網段,有一臺橋接裝置一個介面在 vlan 10,另一個介面在vlan 20,客戶端和伺服器可以直接發ARP廣播請求,發現對方的MAC,從而實現通訊,為何要這樣啊?因為橋接裝置要監控客戶端與伺服器的所有流量啊!