VLAN 劃分與子網劃分聯繫與區別?

劃分子網,子網網段間不能直接進行通訊。劃分VLAN,每個VLAN間也不能直接通訊。

  1. 那麼這兩種技術有和區別聯繫

  2. 為什麼說「通過子網劃分的網路,不同網段並沒有真正意義上實現隔絕廣播,廣播數據包還是會發送到其他的網段,只是會直接拒絕。而使用了vlan以後廣播數據包只會在該vlan中傳播,不會發送到其他vlan中,真正意義的隔絕廣播。」 它們隔絕廣播的原理是什麼,簡單敘述一下。
  3. 一個子網可以劃分(包含)多個VLAN嗎?一個VLAN可以包括多個子網嗎?還是一個子網只能對應一個VLAN?一般情況是怎麼的?能否舉例說明?
  4. 子網劃分能取代VLAN劃分嗎? VLAN劃分能取代子網劃分嗎?
  5. 不用路由器隔離廣播的原因有哪些?路由器一般用在哪個地方?而三層交換機應該用在什麼地方?(補充問題1)

各位學霸,能否詳細回答一下。


發現一個規律,凡是帶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,從而實現通信,為何要這樣啊?因為橋接設備要監控客戶端與伺服器的所有流量啊!


謝@八里土人兄指正,IP地址加上了子網掩碼,並明確了默認vlan的情況。子網劃分是在網路層,它的作用是隔離不同網段之間的通信,比如192.168.0.1/24與192.168.1.1/24是不能直接通信的,注意這裡是IP層的不通,數據鏈路層的報文是可達的,只不過在IP層被丟棄了。vlan劃分是在數據鏈路層,它的作用是隔離不同vlan之間的乙太網幀的通信。而我們經常說的廣播一般就是指由arp、交換機轉發時產生的乙太網幀的廣播,因此這種廣播會被隔離在vlan中。由於在IP層已經可以有效隔離通信,因此我們經常說vlan劃分主要用於廣播隔離。為了便於管理和識別,子網劃分和vlan劃分經常做成一樣的,比如公司內共有30個部門,您可以給每個部門劃分一個子網和一個vlan,也可以給每個子網劃分更多vlan,甚至可以給每個計算機劃分一個vlan。同vlan內劃分不同子網,最常見的情況是:交換機不劃分vlan,則可認為所有主機都在vlan1,此時即為同一vlan內劃分多個網段。

我認為子網劃分不能取代vlan劃分,因為隔離廣播域是提升帶寬利用率的重要手段;vlan劃分取代子網劃分理論上是可以,但是我認為並不實用,因為子網劃分通過IP和掩碼很輕易就能看出,這種易識別性在日常管理中是很重要的。而vlan劃分由交換機配置和主機的接入埠共同確定,難以觀察識別,管理維護成本較高。

總結:子網與vlan劃分的都是為了隔離通信,只是vlan更底層,能夠有效隔離我們通常意義上的廣播。但是二者不存在必然的對應關係。


要搞清楚這個問題 首先你要知道OSI七層網路模型和報文的基本結構

1 VLAN是作用在二層 而網段(ip)是作用在三層

VLAN分離可以理解成把若干人分到不同的房間,基本可以理解成物理上隔離

網段可以理解成把若干人放在相同的房間 但是分了不同的組, 他們的聲音沒有隔離(廣播) 也可以通過一些手段讓他們相互通信(靜態路由)

2 埠VLAN是在第二層給不同的埠打上了不同的標記 而廣播包也是作用在網路的第二層 只有帶著相同標記的廣播包才會在網路上傳播共享. 而網段是三層的概念 和廣播沒有關係

3 一個子網可以包含多個VLAN 網路是一個樹形的概念 如一個大型公司網路當做一個子網 給一部分人規劃一個VLAN 另外一部分人再規劃一個VLAN 再講分流的口設置成truck模式支持2個VLAN都可以通過即可

一個VLAN可以包含多個子網 這個應該不需要解釋

4 是不可取代的 任何技術其實都是根據需求而產生的 而一種特性是優點的同時也可能是缺點

VLAN 可以隔絕廣播報文 減少網路的負擔.

網段 可以在手動設置路由後通過區域網相互訪問


第一個問題

VLAN 和子網,真的就是兩個概念東西。你可以粗暴的理解為,可以組合使用。

第二個問題

VLAN 的劃分,是隔離,比如你把一個24口的交換機,劃分1-12 屬於一個VLAN 1,劃分13-24屬於VLAN ,這相當於是 兩個交換機了。二層里,廣播的數據,是每個口都可以收到的,做隔離的目的,是為了減少廣播域。當然,如果你把 這兩個VLAN 把 12 和 13串起來,那廣播包也過來了。

第三個問題

這問題問的很模糊,一個子網,當然可以存在於一個VLAN 下(一個交換機下),也可以存在於多個VLAN下,這看你怎麼用了。

你要先搞清楚,子網是界定是否可以直接通訊,比如同一個交換機下面

PC1 插 交換機的 1口,PC1配置為 192.168.1.253 掩碼 255.255.255.252 (不配置網關)

PC2 插 交換機的 2口,PC2配置為 192.168.1.100 掩碼 255.255.255.252(不配置網關)

(以上兩個PCwindows防火牆關閉著)

顯然這兩個機器是相互ping不通的,因為非同一個子網,沒法直接通訊,如果要通訊,需要網關去轉發(網關轉發,兩個對應的網關要有路由,就能通訊了)

但不直接通訊,不意味著 交換機的1口就收不到2口的包,要知道,交換機是二層的東西,他不管你IP 的概念的,交換機只管把沒有學習到的幀,直接給廣播到2 口了,或者廣播到1口了。

當一個網路龐大的時候,如果不做VLAN隔離,任由廣播,這性能就下降的厲害了。

第四個問題

不能取代,子網劃分是取代在三層的網路;交換機VLAN隔離是要減少廣播。


一個子網可以設置成一個Super vlan。下面再劃分若干個sub vlan。這樣下來,各sub vlan之間既歸屬於同一子網,又是相互獨立隔離的。


ip子網隔離是由路由器實現的,vlan劃分是由交換機實現的。ip子網隔離只能實現三層(ip層)隔離,vlan隔離可以隔離到二層,比如arp這種會消耗系統資源的廣播報文。三層交換機可以同時實現IP子網隔離和vlan隔離。就想到那麼多了。


舉例:

假設有PC_A_192.168.1.2/24和PC_B_192.168.2.2/24在同一個VLAN裡面(或者接入了同一台傻瓜交換機)。注意,PC_A和PC_B不在同一個IP子網內!

下面的例子需要簡單了解一下ARP就能看懂了。

例子甲:

PC_A發送了一個目的255.255.255.255:10086的廣播數據,本機的ARP解析後封裝成目的MAC:FFFFFFFFFFFF的廣播幀,走你~

因為在同一個VLAN,PC_B的網卡會收到這個幀,也會受理並解封成目的IP:255.255.255.255的包,轉交給操作系統網路層。操作系統的網路層IP協議也會受理這個包,繼續解封成目的埠10086的數據段向傳輸層轉交。最終PC_B操作系統的傳輸層Socket發現這個數據段的目的埠10086與本機任何一個Socket進程的埠都不符,到這一步才進行丟棄。

例子乙:

PC_A_192.168.1.2/24發送了一個目的192.168.2.2的單播數據,層層向下到了本機的ARP會識別這不是本地流量,於是目的MAC被解析成網關的MAC交給數據鏈路層,於是這個包被發給了網關路由器。若沒有指定網關則根本不會發送這個包直接報錯。

可見跨IP子網之間沒有路由器無法成功通訊。

可見,劃分不同的子網但是卻接入同一個VLAN,結果是無法正常通訊而且還不能隔離廣播數據。可見,若需要解決廣播風暴的困擾,需要從數據鏈路層進行隔離。

繼續窮舉一下,VLAN和IP子網,各種劃分,會有4種情形

1、A和B相同IP子網,相同VLAN:可以正常通訊,單播和廣播通訊都會送達。

2、A和B不同IP子網,相同VLAN:需要路由器才能單播通訊,但是會有廣播跨IP子網互相干擾。

3、A和B相同IP子網,不同VLAN:完全無法通訊,即使有路由器也不行。(除非用一條線路直接把兩個VLAN連接上,這樣就變成同一VLAN了嘛)。因為APR認為是發給鄰居,數據不會轉發給網關,會進行ARP請求廣播,可是B由於在另一個VLAN收不到ARP請求。結局是數據鏈路層無法獲得目的MAC,通訊失敗。(當然非要較真,修改PC_A的Windows路由表是可以強行塞給網關的,我們整這麼複雜幹嘛?)

4、A和B不同IP子網,不同VLAN:需要路由器才能進行單播通訊,不會有廣播跨子網干擾。

情形1是常見的小型區域網;

情形2不應出現在正確配置的網路里,因為花了錢買路由器(三層交換機)但是錢白花了,沒能隔離廣播風暴;

情形3是常見的家庭WiFi路由器配置故障,一些運營商進戶線路經過NAT是192.168.1.0/24的地址段,家用WiFi路由器恰好也用192.168.1.0/24這個地址段作為Lan口默認地址,路由器Lan端和WAN端衝突,傻掉了;

情形4是常見的企業區域網。


VLAN可以理解成一台物理交換機在邏輯上,分割成若干台虛擬交換機


vlan是二層的,網段是三層的;vlan帶tag可以認為是物理隔離,同一vlan內主機的數據只能在本vlan傳遞,無論主機是否在同一個網段;同一網段在不同的vlan的情況,詳見super vlan技術;同一vlan,可以認為是一個獨立的網路,可以包含任意多網段;還有需要理解的一點,同一vlan內,我完全可以不經你同意給你發包,這和同一網段沒關係,而跨vlan就不行,這就是同一vlan隔離衝突域不隔離廣播域,不同vlan之間隔絕廣播域。


推薦閱讀:

如何看待 10 月 21 日 美國遭到大規模 DDoS 攻擊並導致美國部分地區暫時「斷網」的事件?
烏雲裡面的大神們用的都有哪些工具?
為什麼要由TCP協議負責數據傳輸的可靠性?
自學web前端真的很難找到工作嘛?
任何情況下的數據傳輸都需要建立連接為什麼是錯的?

TAG:網路安全 | 路由器 | 計算機網路 | 交換機 | 網路工程 |