細說VLAN與Trunk
介紹
網路效能是影響業務效率的一個重要因素。將大型廣播域分段是提高網路效能的方法之一。路由器能夠將廣播包阻隔在一個介面上,但是,路由器的LAN介面數量有限,它的主要功能是在網路間傳輸資料,而不是對終端裝置提供網路接入。訪問LAN的功能還是由接入層交換機來實現。與三層交換機相類似,通過在二層交換機上建立VLAN來減少廣播域。現代交換機就是通過VLAN來構造的,因此在某種程度上,學習交換機就是學習VLAN。
更多資訊
問題的產生:
上一節已經講過廣播域的概念:即廣播幀傳播覆蓋的範圍。如下圖所示,當網路上的所有裝置在廣播域產生大量的廣播以及多播幀,就會與資料流競爭頻寬。這是由網路管理資料流組成,如:ARP,DHCP,STP等。如下圖所示,假設PC 1產生ARP,Windows登入,DHCP等請求:
這些廣播幀到達交換機1之後,遍歷整個網路併到達所有節點直至路由器。隨著網路節點增加,開銷的總數也在增長,直至影響交換機效能。通過實施VLAN斷開廣播域將資料流隔離開來,能夠解決這一問題。
什麼是VLAN:
VLAN(virtual local area network)是一組與位置無關的邏輯埠。VLAN就相當於一個獨立的三層網路。VLAN的成員無需侷限於同一交換機的順序或偶數埠。下圖顯示了一個常規的部署,左邊這張圖節點連線到交換機,交換機連線到路由器。所有的節點都位於同一IP網路,因為他們都連線到路由器同一介面。
圖中沒有顯示的是,預設情況下,所有節點實際上都是同一VLAN。因此,這種拓撲介面可看作是基於同一VLAN的,如上面右圖所示。例如,Cisco裝置預設VLAN是VLAN 1,也稱為管理VLAN。預設配置下包含所有的埠,體現在源地址表(source address table,SAT)中。該表用於交換機按照目的MAC地址將幀轉發至合適的二層埠。引入VLAN之後,源地址表按照VLAN將埠與MAC地址相對應起來,從而使得交換機能夠做出更多高階轉發決策。下圖顯示了show mac address table和show vlan命令的顯示輸出。所有埠(FA0/1 – FA0/24)都在VLAN 1。
另一種常用的拓撲結構是兩個交換機被一個路由器分離開來,如下圖所示。這種情況下,每臺交換機各連線一組節點。每個交換機上的各節點共享一個IP地址域,這裡有兩個網段:192.168.1.0和192.168.2.0。
注意到兩臺交換機的VLAN相同。非本地網路資料流必須經過路由器轉發。路由器不會轉發二層單播,多播以及廣播幀。這種拓撲邏輯在兩個地方類似於多VLAN:同一VLAN下的節點共享一個通用地址域,非本地資料流(對應多VLAN情況不同VLAN的節點)需通過路由器轉發。在一臺交換機上新增一個VLAN,去掉另一臺交換機的話,結構如下所示:
每一個VLAN相當於一個獨立的三層IP網路,因此,192.168.1.0上的節點試圖與192.168.2.0上的節點通訊時,不同VLAN通訊必須通過路由器
VLAN的作用:
安全性:每一個分組的敏感資料需要與網路其他部分隔離開,減少保密資訊遭到破壞的可能性。如下圖所示,VLAN 10上的教職工主機完全與學生和訪客資料隔離。
節約成本:無需昂貴的網路升級,並且頻寬及上行鏈路利用率更加有效。
效能提高:將二層網路劃分成多個邏輯工作組(廣播域)減少網路間不必要的資料流並提升效能。
縮小廣播域:減少一個廣播域上的裝置數量。如上圖所示:網路上有六臺主機但有三個廣播域:教職工,學生,訪客。
提升IT管理效率:網路需求相似的使用者共享同一VLAN,從而網路管理更為簡單。當新增一個新的交換機,在指定埠VLAN時,所有策略和步驟已配置好。
簡化專案和應用管理:VLAN將使用者和網路裝置彙集起來,以支援不同的業務或地理位置需求。
每一個VLAN對應於一個IP網路,因此,部署VLAN的時候必須結合考慮網路地址層級的實現情況。
交換機間VLAN:
多交換機的情況下,VLAN是怎麼工作的呢?下圖所示的這種情況,兩個交換機VLAN相同,都是預設VLAN 1,即兩個交換機之間的聯絡同在VLAN 1之內。路由器是所有節點的出口。
這時單播,多播和廣播資料自由傳輸,所有節點屬於同一IP地址。這時節點之間的通訊不會有問題,因為交換機的SAT顯示它們在同一VLAN。
而下面這種連線方式就會有問題。由於VLAN在連線埠的主機之間建立了三層邊界,它們將無法通訊。
仔細看上圖,這裡有很多問題。第一,所有主機都在同一IP網,儘管連線到不同的VLAN。第二,路由器在VLAN 1,因此與所有節點隔離。最後,兩臺交換機通過不同的VLAN互連。每一點都會造成通訊阻礙,合在一起,網路各元素之間會完全無法通訊。
交換機用滿或同一管理單元物理上彼此分離的情形是很常見的。這種情況下,VLAN需要通過trunk延伸至相鄰交換機。trunk能夠連線交換機,在網路間傳載VLAN資訊。如下圖所示:
對之前的拓撲的改進包括:
· PC 1和PC 2分配到192.168.1.0網段以及VLAN 2。
· PC 3和PC 4分配到192.168.2.0網段以及VLAN 3。
· 路由器介面連線到VLAN 2和VLAN 3。
· 交換機間通過trunk線互連。
注意到trunk端口出現在VLAN 1,他們沒有用字母T來標識。trunk在任何VLAN都沒有成員。現在VLAN跨越多交換機,同一VLAN下的節點可以物理上位於任何地方。
什麼是Trunk:
Trunk是在兩個網路裝置之間承載多於一種VLAN的端到端的連線,將VLAN延伸至整個網路。沒有VLAN Trunk,VLAN也不會非常有用。VLAN Trunk允許VLAN資料流在交換機間傳輸,所以裝置在同一VLAN,但連線到不同交換機,能夠不通過路由器來進行通訊。
一個VLAN trunk不屬於某一特定VLAN,而是交換機和路由器間多個VLAN的通道。如下圖所示,交換機S1和S2,以及S1和S3之間的鏈路,配置為傳輸從VLAN10,20,30以及90的資料流。該網路沒有VLAN trunk就無法工作。
當安裝好trunk線之後,幀在trunk線傳輸是就可以使用trunk協議來修改乙太網幀。這也意味著交換機埠有不止一種操作模式。預設情況下,所有埠都稱為接入埠。當一個埠用於交換機間互連傳輸VLAN資訊時,這種埠模式改變為trunk,節點也路由器通常不知道VLAN的存在並使用標準乙太網幀或“untagged”幀。trunk線能夠使用“tagged”幀來標記VLAN或優先順序。
因此,在trunk埠,執行trunk協議來允許幀中包含trunk資訊。如下圖所示:
PC 1在經過路由表處理後向PC 2傳送資料流。這兩個節點在同一VLAN但不同交換機。步驟如下:
· 乙太網幀離開PC 1到達Switch 1。
· Switch 1的SAT表明目的地是trunk線的另一端。
· Switch 1使用trunk協議在乙太網幀中新增VLAN id。
· 新幀離開Switch 1的trunk埠被Switch 2接收。
· Switch 2讀取trunk id並解析trunk協議。
· 源幀按照Switch 2的SAT轉發至目的地(埠4)。
VLAN tag如下圖所示,包含型別域,優先順序域,CFI(Canonical Format Indicator)指示MAC資料域,VLAN ID。