在交換機上劃分VLAN 後,VLAN 間的計算機就無法通信了。VLAN 間的通信需要借助第三層設備,我們可以使用路由器來實現這個功能,如果使用路由器通常會采用單臂路由模式。實踐上,VLAN 間的路由大多是通過三層交換機實現的,三層交換機可以看成是路由器加交換機,然而因為采用了特殊的技術,其數據處理能力比路由器要大得多。VLAN間路由主要有單臂路由和三層交換兩種解決方案。
物理接口和子接口
使用物理接口的傳統 VLAN 間路由具有一定的局限性。隨著網絡中 VLAN 數量的增加,每個 VLAN 配置一個路由器接口的物理方式將受到路由器物理硬件的局限。路由器用於連接不同 VLAN 的物理接口數量有限。因此子接口便是最好的選擇。
物理接口和字接口的區別:
單臂路由
處於不同VLAN 的計算機即使它們是在同一交換機上,它們之間的通信也必須使用路由器。可以在每個VLAN 上都有一個以太網口和路由器連接。采用這種方法,如果要實現N 個VLAN 間的通信,則路由器需要N 個以太網接口,同時也會占用了N 個交換上的以太網接口。單臂路由提供了一種解決方案。路由器只需要一個以太網接口和交換機連接,交換機的這個接口設置為Trunk 接口。在路由器上創建多個子接口和不同的VLAN 連接,子接口是路由器物理接口上的邏輯接口。如圖11-1,當交換機收到VLAN1 的計算機發送的數據幀後,從它的Trunk 接口發送數據給路由器,由於該鏈路是Trunk 鏈路,幀中帶有VLAN1的標簽,幀到了路由器後,如果數據要轉發到VLAN2 上,路由器將把數據幀的VLAN1 標簽去掉,重新用VLAN2 的標簽進行封裝,通過Trunk 鏈路發送到交換機上的Trunk 接口;交換機收到該幀,去掉VLAN2 標簽,發送給VLAN2 上的計算機,從而實現了VLAN 間的通信。
單臂路由的缺點:
VLAN 之間的通信需要路由器來完成
數據量增大,路由器與交換機之間的通道會成為整個網絡的瓶頸:
▲ 單臂路由示意
單臂路由配置中用到的命令:
創建子接口
Interface F0/0.1
指明子接口承載哪個VLAN 的流量以及封裝類型,同時該VLAN 是native vlan
encapture dot1q 1 native
三層交換
采用單臂路由實現VLAN 間的路由時轉發速率較慢,在實際工作中多在局域網內部采用三層交換的方式實現VLAN間路由。由於三層交換機采用硬件來實現路由,所以其路由數據包的速率是普通路由器的幾十倍。從使用者的角度可以把三層交換機看成是二層交換機和路由器的組合,現在Cisco 主要采用CEF 的三層交換技術。在CEF 技術中,交換機利用路由表形成轉發信息庫(FIB),FIB 和路由表是同步的,關鍵的是它的查詢是硬件化,查詢速度快得多。除了FIB,還有鄰接表(Adjacency Table),該表和ARP 表有些類似,主要放置了第二層的封裝信息。FIB 和鄰接表都是在數據轉發之前就已經建立准備好了,這樣一有數據要轉發,交換機就能直接利用它們進行數據轉發和封裝,不需要查詢路由表和發送ARP 請求,所以VLAN 間的路由速率大大提高。如下圖所示: