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