GRE技術介紹

GRE技術介紹


GRE

GRE簡介

協議簡介

GRE(Generic Routing Encapsulation,通用路由封裝)協議是對某些網絡層協議(如IP和IPX)的數據報文進行封裝,使這些被封裝的數據報文能夠在另一個網絡層協議(如IP)中傳輸。GRE採用了Tunnel(隧道)技術,是VPN(Virtual Private Network)的第三層隧道協議。

Tunnel是一個虛擬的點對點的連接,提供了一條通路使封裝的數據報文能夠在這個通路上傳輸,並且在一個Tunnel的兩端分別對數據報進行封裝及解封裝。

一個X協議的報文要想穿越IP網絡在Tunnel中傳輸,必須要經過加封裝與解封裝兩個過程,下面以圖1的網絡爲例說明這兩個過程:

圖1 X協議網絡通過GRE隧道互連

1. 加封裝過程

l              Router A連接Group 1的接口收到X協議報文後,首先交由X協議處理;

l              X協議檢查報文頭中的目的地址域來確定如何路由此包;

l              若報文的目的地址要經過Tunnel才能到達,則設備將此報文發給相應的Tunnel接口;

l              Tunnel口收到此報文後進行GRE封裝,在封裝IP報文頭後,設備根據此IP包的目的地址及路由表對報文進行轉發,從相應的網絡接口發送出去。

2. GRE封裝後的報文格式

封裝好的報文的形式如下圖所示:

圖2 封裝好的Tunnel報文格式

舉例來說,一個封裝在IP Tunnel中的X協議報文的格式如下:

圖3 Tunnel中傳輸報文的格式

需要封裝和傳輸的數據報文,稱之爲淨荷(Payload),淨荷的協議類型爲乘客協議(Passenger Protocol)。系統收到一個淨荷後,首先使用封裝協議(Encapsulation Protocol)對這個淨荷進行GRE封裝,即把乘客協議報文進行了“包裝”,加上了一個GRE頭部成爲GRE報文;然後再把封裝好的原始報文和GRE頭部封裝在IP報文中,這樣就可完全由IP層負責此報文的前向轉發(Forwarding)。通常把這個負責前向轉發的IP協議稱爲傳輸協議(Delivery Protocol或者Transport Protocol)。

根據傳輸協議的不同,可以分爲GRE over IPv4和GRE over IPv6兩種隧道模式。

3. 解封裝的過程

解封裝過程和加封裝的過程相反。

l              Router B從Tunnel接口收到IP報文,檢查目的地址;

l              如果發現目的地是本路由器,則Router B剝掉此報文的IP報頭,交給GRE協議處理(進行檢驗密鑰、檢查校驗和及報文的序列號等);

l              GRE協議完成相應的處理後,剝掉GRE報頭,再交由X協議對此數據報進行後續的轉發處理。

&  說明:

GRE收發雙方的加封裝、解封裝處理,以及由於封裝造成的數據量增加,會導致使用GRE後設備的數據轉發效率有一定程度的下降。

 

GRE的安全選項

爲了提高GRE隧道的安全性,GRE還支持由用戶選擇設置Tunnel接口的識別關鍵字(或稱密鑰),和對隧道封裝的報文進行端到端校驗。

在RFC1701中規定:

l              若GRE報文頭中的Key標識位置1,則收發雙方將進行通道識別關鍵字的驗證,只有Tunnel兩端設置的識別關鍵字完全一致時才能通過驗證,否則將報文丟棄。

l              若GRE報文頭中的Checksum標識位置1,則校驗和有效。發送方將根據GRE頭及Payload信息計算校驗和,並將包含校驗和的報文發送給對端。接收方對接收到的報文計算校驗和,並與報文中的校驗和比較,如果一致則對報文進一步處理,否則丟棄。

應用範圍

GRE主要能實現以下幾種服務類型:

1. 多協議的本地網通過單一協議的骨幹網傳輸

圖4 多協議本地網通過單一協議骨幹網傳輸

上圖中,Group 1和Group 2是運行Novell IPX協議的本地網,Team 1和Team 2是運行IP協議的本地網。通過在Router A和Router B之間採用GRE協議封裝的隧道(Tunnel),Group 1和Group 2、Team 1和Team 2可以互不影響地進行通信。

2. 擴大了步跳數受限協議(如RIP)的網絡的工作範圍

圖5 擴大網絡工作範圍

兩臺終端之間的步跳數超過15,它們將無法通信。而通過在網絡中使用隧道(Tunnel)可以隱藏一部分步跳,從而擴大網絡的工作範圍。

3. 將一些不能連續的子網連接起來,用於組建VPN

圖6 Tunnel連接不連續子網

運行Novell IPX協議的兩個子網Group 1和Group 2分別在不同的城市,通過使用隧道可以實現跨越廣域網的VPN。

4. IPSec結合使用

圖7 GRE-IPSec隧道應用

對於諸如路由協議、語音、視頻等數據先進行GRE封裝,然後再對封裝後的報文進行IPSec的加密處理。

原文來源:http://www.h3c.com.cn/Products___Technology/Technology/Security_Encrypt/Other_technology/Technology_recommend/200805/605933_30003_0.htm#

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章