關(guān)于VPN(虛擬專用網(wǎng)絡(luò))技術(shù)估計(jì)大家都已經(jīng)有所了解了,它對大型的跨地域企業(yè)內(nèi)部同步使用ERP、MRP等信息化管理系統(tǒng)有著極大的幫助作用和可觀的經(jīng)濟(jì)意義,不過受到流量問題的限制,VPN技術(shù)也面臨一個(gè)網(wǎng)絡(luò)帶寬“供不應(yīng)求”的難題,例如現(xiàn)在很多企業(yè)都是采用ADSL網(wǎng)絡(luò)接入方式,而基于ADSL線路由于技術(shù)本身的限制,單條的上行速率只能達(dá)到幾百K,如果是一些數(shù)據(jù)量較大的企業(yè)信息系統(tǒng),要求信息流是雙向的,傳和下傳的速度都要快,那么單條ADSL就顯得力不從心了。
于是,一種既可以不改動原有ADSL線路,又可以有效提升VPN系統(tǒng)性能的技術(shù)呼之欲出--采用多路捆綁,這種技術(shù)現(xiàn)在在國內(nèi)也已經(jīng)十分成熟,例如我國較早涉足VPN領(lǐng)域的深信服(SINFOR)公司在VPN的多路捆綁技術(shù)上就有著諸多建樹。
什么是多路捆綁
所謂捆綁,簡單的說就是數(shù)據(jù)包可以從兩條線路進(jìn)行傳輸,有點(diǎn)像磁盤陣列RAID 0的方式,這樣在理論上就可以達(dá)到帶寬倍增的效果。
從表面上看,多線路捆綁似乎是一種非常理想的技術(shù),但真正實(shí)現(xiàn)起來,其中也存在不少困難:
首先,數(shù)據(jù)要同時(shí)在多條線路上傳輸、如何能保證相同的業(yè)務(wù)數(shù)據(jù)分配到不同線路時(shí),仍然不受影響?比如一串視頻數(shù)據(jù),發(fā)送時(shí)通過多條Internet線路、在接收端,傳輸?shù)臄?shù)據(jù)順序必須準(zhǔn)確有效、并能還原成發(fā)送前的狀態(tài)。
其次,線路的中斷和恢復(fù)也是一個(gè)必須解決的問題。一旦一條線路出現(xiàn)故障,所承載的數(shù)據(jù)要立刻無縫切換到其他線路,并保證業(yè)務(wù)不受影響。同樣,線路恢復(fù)后,也要能夠在新恢復(fù)的線路上建立VPN隧道,并能夠重新調(diào)整負(fù)載均衡策略。
最后,Internet連接方式也多種多樣。用戶為了進(jìn)一步增強(qiáng)系統(tǒng)穩(wěn)定性,往往傾向于從不同的運(yùn)營商處申請線路,就會存在各種不同方式的Internet線路(如ADSL、寬帶、DDN等等)需要能夠?qū)崿F(xiàn)帶寬的捆綁和疊加。
多路捆綁的組合
在一個(gè)路由器上做多條線路捆綁的方式有多種組合:多條ADSL線路捆綁,多條光纖線路捆綁,光纖和ADSL線路進(jìn)行捆綁。這種捆綁是一種帶寬相加式的捆綁,而不是線路互相備份。一些產(chǎn)品在參數(shù)上寫著“……可以進(jìn)行多路捆綁,還支持互相備份……”其實(shí)這句話是要分開來看的,因?yàn)?條ADSL線路使用多路捆綁模式的時(shí)候是不能實(shí)現(xiàn)互相備份的,就像兩個(gè)硬盤使用RAID 0加速的時(shí)候不能實(shí)現(xiàn)RAID 1備份一樣。
多路捆綁1+1=2?
從實(shí)際應(yīng)用的角度去分析,兩條線路進(jìn)行捆綁后,上下行的流量是不可能達(dá)到1+1=2的效果的,2條以上的線路也是同樣道理,原因大致如下:
1、當(dāng)每一個(gè)數(shù)據(jù)包進(jìn)行傳輸時(shí),它必須先選擇其中一條線路,這個(gè)選擇的過程就是路由器進(jìn)行調(diào)度分配的過程,路由器會按照預(yù)先設(shè)定的算法將每一個(gè)數(shù)據(jù)包根據(jù)一定的條件(這個(gè)條件通常不是固定的)分配到一條線路,這個(gè)過程會占用路由器的處理器資源,需要耗費(fèi)一定的時(shí)間,當(dāng)然耗時(shí)是非常短的,但是大量的數(shù)據(jù)包耗費(fèi)的時(shí)間累加起來就比較可觀了,加上現(xiàn)在中低端路由器的處理能力還比較有限,所以這種資源的消耗是不能忽略的。如果你捆綁兩條2M的線路和一條4M的線路做對比,就會發(fā)現(xiàn)捆綁兩條2M線路的速度不會快過那條4M的線路,其中一個(gè)重要因素就是路由器上對數(shù)據(jù)包進(jìn)行調(diào)度而耽誤了數(shù)據(jù)轉(zhuǎn)發(fā)的時(shí)間。
2、相信大家也知道,RAID 0陣列的容量是取決于容量小的那個(gè)硬盤,因?yàn)閿?shù)據(jù)是同時(shí)在兩個(gè)硬盤上進(jìn)行讀寫的;而在VPN多路捆綁中也有類似情形--如果兩條線路的帶寬不一樣,也就是一條大些,一條小些,這時(shí)情況就比較復(fù)雜了。因?yàn)槿绻酚蛇是按照1:1的比例將數(shù)據(jù)包分別派發(fā)給兩條線路的話,就會造成帶寬大的那條線路發(fā)完時(shí)帶寬小的那條還沒發(fā)完,于是帶寬大的線路得等待帶寬小的線路,這樣會造成效率的降低,因此很多支持不對稱多路捆綁的路由器都允許設(shè)置路由器調(diào)度分配的比例,例如接入1條1M的ADSL和1條2M的ADSL時(shí),就可以把這個(gè)比例設(shè)成1:2,這樣兩條線的帶寬就可以充分利用起來;當(dāng)然,由于數(shù)據(jù)分配的比例不會是完美的1:2,而兩條線路的實(shí)際流量也不是準(zhǔn)確的1:2,因此寬帶資源還是沒有被完全的利用起來,所以最終1M和2M兩條ADSL線路捆綁之后的實(shí)際效果依舊小于3M線路的實(shí)際效果。
3、還有一點(diǎn),如果兩條線路進(jìn)行捆綁,在下載時(shí)和上傳時(shí)得到的帶寬其實(shí)是不同的,因?yàn)樵谏蟼鲿r(shí)你是兩條線路同時(shí)傳送數(shù)據(jù),可以理解為1+1=2;但在下載時(shí),對方并不知道你將線路進(jìn)行了捆綁,他也無法控制數(shù)據(jù)包往哪條線路上傳送,所以每次對方的數(shù)據(jù)包發(fā)送過來都是由其中一條線路承擔(dān)接收任務(wù),在這種情況下,兩條1M的線路進(jìn)行捆綁后其實(shí)效果大概也是1M,也就是1+1=1,因此,將多路捆綁簡單的理解為帶寬的疊加其實(shí)是不對的。
多線路捆綁的好處
1、多線路捆綁技術(shù)給用戶帶來的好處是顯而易見的。首先就是帶寬的大幅提升,在目前大多數(shù)的VPN系統(tǒng)應(yīng)用中,都是總部的一條線路、需要應(yīng)對來自幾個(gè)甚至幾十個(gè)分支機(jī)構(gòu)、移動用戶的數(shù)據(jù)量。尤其在類似ADSL的非對稱線路中、上行帶寬本來就較窄,造成總部數(shù)據(jù)量不堪重負(fù)。為了解決帶寬不平衡的問題,有些企業(yè)不得不在總部耗費(fèi)巨資申請高速的專用線路,成本高昂。
2、VPN支持各種不同方式的線路綁定,用戶可以申請多條動態(tài)IP的ADSL上網(wǎng)線路、也可以申請ADSL及其他寬帶線路甚至無線連接等等。通過多線路防火墻/NAT模塊,還可以實(shí)現(xiàn)多條線路共同訪問Internet,成倍的提高了上網(wǎng)的速度。
3、多線路捆綁的另一個(gè)好處就是系統(tǒng)的穩(wěn)定性大大增強(qiáng)。如果是單條線路,一旦中斷、整個(gè)系統(tǒng)就會陷入癱瘓,VPN系統(tǒng)的穩(wěn)定性非常依賴于線路本身的穩(wěn)定性。通過多線路捆綁技術(shù),尤其是對不同方式的線路捆綁、在任何一條線路出現(xiàn)故障時(shí),數(shù)據(jù)可以無縫切換到其他正常線路,保證了整個(gè)系統(tǒng)的持續(xù)可靠運(yùn)行。優(yōu)秀的VPN路由還進(jìn)一步實(shí)現(xiàn)了多條Internet線路的QOS管理,并能根據(jù)不同線路的帶寬情況智能分配負(fù)載,最大限度的提高帶寬利用率。
多線路捆綁的安全和權(quán)限問題
多條線路同時(shí)連接時(shí),局域網(wǎng)也同時(shí)面臨著多條與Internet連接的通道。這就給各種網(wǎng)絡(luò)攻擊、病毒提供了更多的可乘之機(jī),所以很多VPN路由都是直接結(jié)合了比較專業(yè)的防火墻功能,不但能夠支持多條線路的捆綁上網(wǎng),還能對帶寬進(jìn)行智能動態(tài)分配,防護(hù)來自多條線路的攻擊。
由于很多VPN網(wǎng)絡(luò)的結(jié)構(gòu)非常龐大,內(nèi)部成員的權(quán)限問題也就非常復(fù)雜,因此一些優(yōu)秀的VPN產(chǎn)品可以對各成員接入后的可訪問資源做嚴(yán)格而詳細(xì)的限定來杜絕這些安全隱患。例如Sinfor的DLAN方案就可以針對每個(gè)用戶設(shè)定不同的接入訪問權(quán)限,如某些用戶只能訪問總部的庫存系統(tǒng),不能訪問財(cái)務(wù)系統(tǒng)等,不同的VPN用戶可以設(shè)定對不同資源的訪問權(quán)限,避免因?yàn)閂PN用戶權(quán)限過大造成的安全隱患。