根據到此為止的學習,我們已經知道 VLAN 間路由,必須經過外部的路由器或是三層交換機的內置路由模塊 。但是,有時并不是所有的數據都需要經過路由器(或路由模塊)。
例如,使用 FTP ( File Transfer PRotocol )傳輸容量為數 MB 以上的較大的文件時, 由于 MTU 的限制, ip 協議會將數據分割成小塊后傳輸、并在接收 方重新 組合 。這些被分割的數據,“發送的目標”是完全相同的。發送目標相同,也就意味著同樣的目標 IP 地址、目標端口號(注:非凡強調一下,這里指的是 TCP/UDP 端口)。自然,源 IP 地址、源端口號也應該相同。 這樣一連串的數據流被稱為“流( Flow )” 。
只要將流最初 的數據正確地路由以后,后繼的數據理應也會被同樣地路由 。
據此, 后繼的數據不再需要路由器進行路由處理;通過省略反復進行的路由操作,可以進一步提高 VLAN 間路由的速度 。
加速 VLAN 間路由的機制
接下來,讓我們具體考慮一下該如何使用三層交換機進行高速 VLAN 間路由。
首先,整個流的第一塊數據,照常由交換機轉發 → 路由器路由 → 再次由交換機轉發到目標所連端口。這時, 將第一塊數據路由的結果記錄到緩存里保存下來 。需要記錄的信息有:
l 目標 IP 地址
l 源 IP 地址
l 目標 TCP/UDP 端口號
l 源 TCP/UDP 端口號
l 接收端口號(交換機)
l 轉發端口號(交換機)
l 轉發目標 MAC 地址
等等。
同一個流的第二塊以后的數據到達交換機后,直接通過查詢先前保存在緩存中的信息查出“轉發端口號”后就可以轉發 給目標 所連端口了 。
這樣一來,就不需要再一次次經由內部路由模塊中繼,而僅憑交換機內部的緩存信息就足以判定應該轉發的端口。
這時,交換機會對數據幀進行由路由器中繼時相似的處理,例如改寫 MAC 地址、 IP 包頭中的 TTL 和 Check Sum 校驗 碼信息 等,
通過在交換機上緩存路由結果,實現了以纜線速度( Wired Speed )接收發送方傳輸來數據的數據、并且能夠全速路由、轉發給接收方。
需要注重的是類似的加速 VLAN 間路由的手法多由各廠商獨有的技術所實現,并且該功能的稱謂也因廠商而異 。例如,在 Cisco 的 Catalyst 系列交換機上,這種功能被稱為“ 多層交換( Multi Layer Switching ) ”。另外,除了三層交換機的內部路由模塊,外部路由器中的某些機型也支持類似的高速 VLAN 間路由機制。
新聞熱點
疑難解答