GRE協(xié)議的使用舉例分析
在GRE協(xié)議的使用過(guò)程中,我們發(fā)現(xiàn),這個(gè)協(xié)議有著非常強(qiáng)大的功能。那么在不同的環(huán)境中,它可以進(jìn)行有效地協(xié)議封裝,來(lái)完成協(xié)議的跨度使用。那么我們這里列舉了一些例子幫助大家分析一下。
1. 多協(xié)議的本地網(wǎng)通過(guò)單一協(xié)議的骨干網(wǎng)傳輸
圖中,Group1和Group2是運(yùn)行Novell IPX的本地網(wǎng),Term1和Term2是運(yùn)行IP的本地網(wǎng)。
通過(guò)在Router A和Router B之間采用GRE協(xié)議封裝的隧道(Tunnel),Group1和Group2、Team1和Team2可以互不影響地進(jìn)行通信。
2. 擴(kuò)大了步跳數(shù)受限協(xié)議(如IPX)的網(wǎng)絡(luò)的工作范圍
在圖中,如果兩臺(tái)終端之間的步跳數(shù)超過(guò)15,它們將無(wú)法通信。在網(wǎng)絡(luò)中使用隧道(Tunnel)可以隱藏一部分步跳,從而擴(kuò)大網(wǎng)絡(luò)的工作范圍。
3. 將不連續(xù)的子網(wǎng)連接起來(lái),用于組建VPN
運(yùn)行Novell IPX協(xié)議的兩個(gè)子網(wǎng)Group1和Group2分別在不同的城市,通過(guò)使用隧道可以實(shí)現(xiàn)跨越廣域網(wǎng)的VPN。
4. 與IPSec結(jié)合使用,彌補(bǔ)IPSec不能保護(hù)組播數(shù)據(jù)的缺陷
GRE可以封裝組播數(shù)據(jù)并在GRE隧道中傳輸,而IPSec目前只能對(duì)單播數(shù)據(jù)進(jìn)行加密保護(hù)。對(duì)于組播數(shù)據(jù)需要在IPSec隧道中傳輸?shù)那闆r,可以先建立GRE隧道,對(duì)組播數(shù)據(jù)進(jìn)行GRE封裝,再對(duì)封裝后的報(bào)文進(jìn)行IPSec加密,從而實(shí)現(xiàn)組播數(shù)據(jù)在IPSec隧道中的加密傳輸。
5. 其他特性
GRE協(xié)議本身提供兩種比較弱的安全機(jī)制:校驗(yàn)和驗(yàn)證和識(shí)別關(guān)鍵字驗(yàn)證。前者對(duì)封裝的報(bào)文進(jìn)行端到端校驗(yàn),后者對(duì)Tunnel接口進(jìn)行校驗(yàn)。
RFC1701(Generic Routing Encapsulation)中規(guī)定:如果GRE報(bào)文頭中的Checksum位置位,則校驗(yàn)和有效。發(fā)送方將根據(jù)GRE頭及payload信息計(jì)算校驗(yàn)和,并將包含校驗(yàn)和的報(bào)文發(fā)送給對(duì)端。接收方對(duì)接收到的報(bào)文計(jì)算校驗(yàn)和,并與報(bào)文中的校驗(yàn)和比較,如果一致則對(duì)報(bào)文進(jìn)一步處理,否則丟棄報(bào)文。
隧道兩端可以根據(jù)實(shí)際需要選擇是否配置校驗(yàn)和,從而決定是否觸發(fā)校驗(yàn)功能。如果本端配置了校驗(yàn)和而對(duì)端沒(méi)有配置,則本端將不會(huì)對(duì)接收到的報(bào)文進(jìn)行校驗(yàn)和檢查;相反,如果本端沒(méi)有配置校驗(yàn)和而對(duì)端已配置,本端將對(duì)從對(duì)端發(fā)來(lái)的報(bào)文進(jìn)行校驗(yàn)和檢查。
RFC1701中還規(guī)定:若GRE報(bào)文頭中的KEY位置位,則收發(fā)雙方將進(jìn)行通道識(shí)別關(guān)鍵字的驗(yàn)證。只有Tunnel兩端設(shè)置的識(shí)別關(guān)鍵字完全一致時(shí)才能通過(guò)驗(yàn)證,否則將報(bào)文丟棄。