1、 為什么要用到GRE over IPSec、IPSec over GRE或SVTI
為什么要使用GRE over IPSec、IPSec over GRE或SVTI,其中最主要的原因是IPSec不支持組播傳輸,無(wú)法實(shí)現(xiàn)動(dòng)態(tài)路由之間的通告,如果能夠?qū)崿F(xiàn)分支與總部間的動(dòng)態(tài)路由傳輸,那么之前文章中提到的路由指向問(wèn)題完全可以通過(guò)動(dòng)態(tài)路由解決,前提是VPN能夠傳輸動(dòng)態(tài)路由。
使用GRE over IPSec、IPSec over GRE或SVTI的根本原因在于,能夠使用隧道級(jí)VPN技術(shù)將IPsec無(wú)法分離的明文及密文流量通過(guò)隧道級(jí)VPN創(chuàng)建虛擬的隧道接口進(jìn)行分離。

IPsec流量傳輸模型
上圖為標(biāo)準(zhǔn)的IPSec VPN數(shù)據(jù)傳輸圖,由圖可見(jiàn),無(wú)論是明文流量還是隧道中加密的流量都是通過(guò)物理接口進(jìn)行轉(zhuǎn)發(fā)的,并沒(méi)有使用虛擬隧道接口。

gre over ipsec流量傳輸模型
上圖以Gre over IPsec VPN為例,由圖可見(jiàn),明文流量通過(guò)虛擬隧道接口明文傳輸,隧道流量出物理接口時(shí)撞擊物理接口的IPSec VPN MAP,通過(guò)物理接口IPSec SA加密轉(zhuǎn)發(fā)。
做到了明文密文在端口上做到了分離,可以分別控制明文和密文流量了。
知識(shí)擴(kuò)展:為什么IPSec VPN會(huì)不支持動(dòng)態(tài)路由?
網(wǎng)上大部分的說(shuō)法很籠統(tǒng),基本上都是說(shuō)IPSec VPN設(shè)計(jì)的不完善。并沒(méi)有過(guò)多的解釋。
下面是我對(duì)IPSec VPN設(shè)計(jì)不完善的多點(diǎn)理解:
1、 首先,IPSec不是一個(gè)隧道級(jí)的VPN,而是一個(gè)Site to Site的VPN,了解過(guò)動(dòng)態(tài)路由協(xié)議的都知道,動(dòng)態(tài)路由建立鄰居是需要一個(gè)直連的互聯(lián)地址。而IPSec VPN兩端沒(méi)有一個(gè)直連的互聯(lián)地址,從而無(wú)法做到動(dòng)態(tài)路由鄰居的建立。
2、 再者IPSec VPN不支持組播,其原因也是因?yàn)镮Psec不是一個(gè)隧道級(jí)的VPN,設(shè)計(jì)時(shí)沒(méi)有獨(dú)立隧道接口,所以沒(méi)有接口生成在能夠在隧道中傳輸?shù)慕M播報(bào)文。
3、最后IPSec VPN不能夠傳輸組播,首先組播是需要無(wú)連接協(xié)議所支持,而IPSec VPN的數(shù)據(jù)傳輸是基于IPSec SA建立的連接進(jìn)行加解密傳輸?shù)摹?/strong>
多方原因?qū)е翴PSec VPN無(wú)法支持動(dòng)態(tài)路由。
2、 GRE over IPSec 、IPSec over GRE和SVTI的區(qū)別
2.1 GRE over IPSec
首先前兩種技術(shù)從名字中就能看出,GRE over IPsec是將GRE數(shù)據(jù)報(bào)文封裝在IPSec的封裝中進(jìn)行傳輸?shù)模缦聢D:

gre over ipsec流量傳輸模型
數(shù)據(jù)報(bào)文封裝如下圖:

gre over IPsec 報(bào)文封裝格式
由上圖能夠看出GRE over IPSec使用隧道模式時(shí)多封裝了一次IP的頭部,增加了20字節(jié)的報(bào)文載荷,所以使用GRE over IPSec時(shí),IPSec建議使用傳輸模式。
2.2 IPSec over GRE
IPSec over GRE是將IPSec數(shù)據(jù)報(bào)文封裝在GRE的報(bào)文進(jìn)行傳輸?shù)模绻褂脛?dòng)態(tài)路由協(xié)議,路由更新報(bào)文是明文傳輸且不安全的,而且因?yàn)镮PSec VPN通過(guò)GRE虛擬隧道傳輸,所以無(wú)論設(shè)置隧道模式還是傳輸模式均協(xié)商為隧道模式,與GRE造成了重復(fù)封裝,減小了數(shù)據(jù)報(bào)文的數(shù)據(jù)載荷容量,所以現(xiàn)實(shí)情況中很少有使用到IPSec over GRE。
流量傳輸如下圖:

IPsec over gre 流量傳輸模型
數(shù)據(jù)報(bào)文封裝如下圖:

IPSec over gre封裝格式
2.3 SVTI
SVTI,靜態(tài)虛擬隧道接口,該功能可以為IPSec VPN創(chuàng)建一個(gè)虛擬的隧道接口,此虛擬接口上不使用GRE技術(shù),所以可以比GRE over IPSec方式減少4個(gè)字節(jié)的GRE報(bào)文頭部,降低了發(fā)送加密數(shù)據(jù)的帶寬。由于有了虛擬接口,所以可以直接在虛擬接口上啟用動(dòng)態(tài)路由協(xié)議了。
下圖為SVTI流量傳輸圖:

SVTI流量傳輸模型
SVTI可以不用設(shè)置IPSec VPN的感興趣數(shù)據(jù)流,只要將需要安全加密傳輸?shù)牧髁客ㄟ^(guò)路由協(xié)議導(dǎo)向到IPSec虛擬隧道接口即可實(shí)現(xiàn)數(shù)據(jù)的安全隧道傳輸。
SVTI由于沒(méi)有使用GRE技術(shù),所以數(shù)據(jù)報(bào)文封裝與傳統(tǒng)IPSec VPN相同。
以上內(nèi)容均為本人對(duì)所掌握知識(shí)的總結(jié)歸納所創(chuàng)作的原創(chuàng)文章,希望能給大家的學(xué)習(xí)過(guò)程帶來(lái)幫助,如有技術(shù)理解錯(cuò)誤希望能夠得到大家的及時(shí)指正,大家共同學(xué)習(xí),共同進(jìn)步。
歡迎關(guān)注我的頭條號(hào),私信交流,學(xué)習(xí)更多網(wǎng)絡(luò)技術(shù)!