路由器能隔絕廣播,那要VLAN有什么用,既配置了VLAN又劃分在不同的網段是不是有些多余了?

題主的意思是不要VLAN,可以嗎?

當然可以。可以是可以,但是每臺主機都能接收到路由器同一個接口(三層/路由)下所有的廣播報文。

既然路由器隔離廣播,為何主機能收到路由器同一個接口(三層/路由)下所有的廣播報文?

很顯然啊,因為路由器隔離廣播報文,是以三層接口為最小單元的。換句話說,接口1的廣播報文不會擴散到接口2,同理接口2的廣播報文也不會擴散到接口1。

但是,接口1的廣播報文,在到達路由器接口1之前的廣播擴散行為,路由器是無法控制的。也就是說,由于沒有VLAN的邏輯隔離,接口1延伸出去的勢力范圍,其實是一個廣播域,廣播報文會在這個廣播域自由擴散。路由器接口1的存在是讓這個廣播域內的廣播報文無法擴散到其它三層接口/廣播域,比如接口2,僅此而已。

廣播報文的最大益處是在DHCP、ARP、以及NetBios能夠方便主機之間的通信。但是廣播報文的副作用占據網絡帶寬資源、消耗每臺接收主機的CPU處理時間,因為無論愿不愿意,廣播報文需要強制接收,并被CPU處理。一旦廣播域內的主機數量過大,廣播報文數量也會急劇增加,從而影響廣播域內每臺主機。

沒有VLAN的存在,路由器接口物理延伸出去的即為一個廣播域。為了限制廣播域的面積(一個廣播域內主機的數量),在主機數量固定的情況下,勢必要增加路由器的三層物理接口。意味著路由器的物理接口會隨著主機的數量等比例增長,這顯然不是好的option。

有了VLAN的存在,可以在廣播報文在到達路由器三層接口之前,已提前將不同廣播域/網段/VLAN的廣播報文提前隔離開了。有了VLAN的隔離廣播報文的利器,路由器的三層接口剩下的工作很簡單,就是跨網段路由IP報文,使得不同網段主機之間的通信成為可能。

但是上文使用路由器的三層路由物理(PHY)接口,這種接口最不友好的地方在于:

不同的三層物理接口延伸出去的區域,必須是不同的VLAN。

舉個例子,接口1延伸出去VLAN 10、20、30。那么接口2延伸出去VLAN就不能是10、20、30,只能選擇別的了。這樣方便嗎?

當然不方便啦,試想一個公司的10樓有HR的員工,連接在路由器接口1的vlan 10 上。12樓依然有HR員工,也想使用vlan 10上,且大家工作在一個相同的廣播域/網段。但是12樓的連著的是路由器的接口2,很顯然他們不能使用10樓一樣的廣播域/網段。

解決方案?

  • 基于VLAN三層路由接口的三層交換機
  • 基于VLAN三層路由子接口的路由器
  • 基于VLAN三層路由子接口的防火墻

以上三種解決方案都可以,一般對安全要求不高的會使用方案1、2。對網絡安全要求嚴格的會使用方案3,即在接入層會對進入流量做安全過濾,只有security policy允許放行,才使用路由轉發將IP報文轉發出去,否則一律丟棄處理。

以上三種解決方案,都是利用VLAN在二層的強大的隔離能力,使得不同VLAN/網段/廣播域之間的一切報文,包括廣播報文井水不犯河水。

一旦它們之間需要跨網段通信,就需要以上三個設備介入了。這同樣也不是難事,因為以上三個設備在每一個VLAN里都有自己的三層路由接口,都可以充當三層網關,這種路由接口是基于軟件的,想要多少有多少,上限的數量受限于VLAN ID 的4096。

盡管三種設備三層路由接口/子接口,限于路由轉發能力也是有上限的,但是支持幾十個路由接口通常是沒有問題的。這對于絕大多數公司來說已經綽綽有余了。對于大型機構,只要提升防火墻的型號,增加兩臺冗余設備,一樣也是綽綽有余的。