|
【摘要】TSC
【正文】
1.GRE協議簡介
GRE(Generic Routing Encapsulation,通用路由封裝)協議是對某些網絡層協議(如IP 和IPX)的數據報進行封裝,使這些被封裝的數據報能夠在另一個網絡層協議(如IP)中傳輸。GRE 是VPN(Virtual Private Network)的第三層隧道協議,在協議層之間采用了一種被稱之為Tunnel(隧道)的技術。Tunnel是(shi)一(yi)個(ge)虛(xu)擬(ni)的(de)點(dian)對(dui)點(dian)的(de)連(lian)接(jie),在(zai)實(shi)際(ji)中(zhong)可(ke)以(yi)看(kan)成(cheng)僅(jin)支(zhi)持(chi)點(dian)對(dui)點(dian)連(lian)接(jie)的(de)虛(xu)擬(ni)接(jie)口(kou),這(zhe)個(ge)接(jie)口(kou)提(ti)供(gong)了(le)一(yi)條(tiao)通(tong)路(lu)使(shi)封(feng)裝(zhuang)的(de)數(shu)據(ju)報(bao)能(neng)夠(gou)在(zai)這(zhe)個(ge)通(tong)路(lu)上(shang)傳(chuan)輸(shu),並(bing)且(qie)在(zai)一(yi)個(ge)Tunnel的兩端分別對數據報進行封裝及解封裝。
一個報文要想在Tunnel中傳輸,必須要經過加封裝與解封裝兩個過程,下麵以圖1的網絡為例說明這兩個過程:
(1) 加封裝過程
連接Novell Group1的接口收到IPX數據報後首先交由IPX 協議處理,IPX 協議檢查IPX 報頭中的目的地址域來確定如何路由此包。若報文的目的地址被發現要路由經過網號為1f 的網絡(Tunnel 的虛擬網號),則將此報文發給網號為1f 的Tunnel端口。Tunnel 口收到此包後進行GRE 封裝,封裝完成後交給IP 模塊處理,在封裝IP 報文頭後,根據此包的目的地址及路由表交由相應的網絡接口處理。
(2) 解封裝的過程
解封裝過程和加封裝的過程相反。從Tunnel 接口收到的IP 報文,通過檢查目的地址,當發現目的地就是此路由器時,係統剝掉此報文的IP 報頭,交給GRE 協議模塊處理(進行檢驗密鑰、檢查校驗和及報文的序列號等);GRE 協議模塊完成相應的處理後,剝掉GRE 報頭,再交由IPX 協議模塊處理,IPX 協議模塊象對待一般數據報一樣對此數據報進行處理。
係統收到一個需要封裝和路由的數據報,稱之為淨荷(payload),這個淨荷首先被加上GRE 封裝,成為GRE 報文;再被封裝在IP 報文中,這樣就可完全由IP 層負責此報文的向前傳輸(forwarded)。人們常把這個負責向前傳輸IP 協議稱為傳輸協議(delivery protocol 或者transport protocol)。
封裝好的報文的形式如下圖所示:
2.應用範圍
(1) 多協議的本地網通過單一協議的骨幹網傳輸
(2) 擴大了步跳數受限協議(如rip)的網絡的工作範圍
(3) 將一些不能連續的子網連接起來,用於組建vpn
(4) 與IPSec 結合使用,常用的是GRE over IPSec
3.注意事項:
61656; 隻有在Tunnel兩端都配置了校驗才對進行校驗
61656; Tunnel兩端配置的識別關鍵字完全一致時才能正常通信
|