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