一、VLAN 間路由
在交換機上劃分 VLAN 后,VLAN 間的計算機就無法通信了。VLAN 間的通信需要借助第三層設備,我們可以使用路由器來實現這個功能,如果使用路由器通常會采用單臂路由模式。實踐上,VLAN 間的路由大多是通過三層交換機實現的,三層交換機可以看成是路由器加交換機。
1、單臂路由
處于不同 VLAN 的計算機即使它們是在同一交換機上,它們之間的通信也必須使用路由器。可以在每個 VLAN 上都有一個以太網口和路由器連接。采用這種方法,如果要實現 N 個VLAN 間的通信,則路由器需要 N 個以太網接口,同時也會占用了 N 個交換上的以太網接口。單臂路由提供另外一種解決方案。路由器只需要一個以太網接口和交換機連接,交換機的這個接口設置為 Trunk 接口。在路由器上創建多個子接口和不同的 VLAN 連接,子接口是路由器物理接口上的邏輯接口。工作原理如圖 15-1,當交換機收到 VLAN1 的計算機發送的數據幀后,從它的 Trunk 接口發送數據給路由器,由于該鏈路是 Trunk 鏈路,幀中帶有 VLAN1的標簽,幀到了路由器后,如果數據要轉發到 VLAN2 上,路由器將把數據幀的 VLAN1 標簽去掉,重新用 VLAN2 的標簽進行封裝,通過 Trunk 鏈路發送到交換機上的 Trunk 接口;交換機收到該幀,去掉 VLAN2 標簽,發送給 VLAN2 上的計算機,從而實現了 VLAN 間的通信。
2、三層交換單臂路由實現 VLAN 間的路由時轉發速率較慢,實際上在局域網內部多采用三層交換。
三層交換機通常采用硬件來實現,其路由數據包的速率是普通路由器的幾十倍。從使用者的角度可以把三層交換機看成是二層交換機和路由器的組合,這個虛擬的路由器和每個 VLAN 都有一個接口進行連接,不過這個接口是 VLAN1 或 VLAN2 接口。Cisco 早些年采用的基于 NetFlow 的三層交換技術;現在 Cisco 主要采用 CEF 技術。CEF 技術中,交換機利用路由表形成轉發信息庫(FIB),FIB 和路由表是同步的,關鍵的是它的查詢是硬件化,查詢速度快得多。除了 FIB,還有鄰接表(Adjacency Table),該表和 ARP 表有些類似,主要放置了第二層的封裝信息。FIB 和鄰接表都是在數據轉發之前就已經建立準備好了,這樣一有數據要轉發,交換機就能直接利用它們進行數據轉發和封裝,不需要查詢路由表和發送 ARP 請求,所以 VLAN 間的路由速率大大提高。