-
通用路由封裝
鎖定
- 中文名
- 通用路由封裝
- 外文名
- Generic Routing Encapsulation
- 作 用
- 網絡層協議封裝一個其它網絡協議
- 類 型
- 網絡協議
- 隸 屬
- 通信協議,路由協議
通用路由封裝產品介紹
在大多數常規情況下,系統擁有一個有效載荷(或負載)包,需要將它封裝併發送至某個目的地。首先將有效載荷封裝在一個GRE 包中,然後將此GRE 包封裝在其它某協議中並進行轉發。此外發協議即為發送協議。當IPv4 被作為GRE 有效載荷傳輸時,協議類型字段必須被設置為0x800。當一個隧道終點拆封此含有 IPv4 包作為有效載荷的GRE 包時,IPv4 包頭中的目的地址必須用來轉發包,並且需要減少有效載荷包的TTL。值得注意的是,在轉發這樣一個包時,如果有效載荷包的目的地址就是包的封裝器(也就是隧道另一端),就會出現迴路現象。在此情形下,必須丟棄該包。當 GRE 包被封裝在IPv4 中時,需要使用IPv4 協議47。
GRE 下的網絡安全與常規的IPv4 網絡安全是較為相似的,GRE 下的路由採用IPv4 原本使用的路由,但路由過濾保持不變。包過濾要求防火牆檢查 GRE 包,或者在GRE 隧道終點完成過濾過程。在那些這被看作是安全問題的環境下,可以在防火牆上終止隧道。
GRE(Generic Routing Encapsulation,通用路由封裝)協議是對某些網絡層協議(如IP 和IPX)的數據報文進行封裝,使這些被封裝的數據報文能夠在另一個網絡層協議(如IP)中傳輸。GRE採用了Tunnel(隧道)技術,是VPN(Virtual Private Network)的第三層隧道協議。
Tunnel 是一個虛擬的點對點的連接,提供了一條通路使封裝的數據報文能夠在這個通路上傳輸,並且在一個Tunnel 的兩端分別對數據報進行封裝及解封裝。 一個X協議的報文要想穿越IP網絡在Tunnel中傳輸,必須要經過加封裝與解封裝兩個過程。
通用路由封裝報文格式
GRE 封裝後的報文格式為
[1]
:
Delivery Header | GRE Header | Payload packet |
- Delivery Header:封裝的外部協議報文頭(如IP報文頭),即隧道所處網絡的協議數據頭,是實現一種協議報文穿越另一種協議網絡的傳輸工具。
- GRE Header:對數據報文進行封裝後加入的數據,包含GRE協議本身以及和負載協議有關的一些信息。
- Payload Packet:進入隧道之前的網絡層數據報文,將作為隧道報文的有效負載,該報文的協議號將作為GRE頭部字段中的ProtocolType字段。GRE頭部信息具有如圖所示的結構。
一個最簡單的GRE頭部只有4個字節,即在C、K、S等標誌們都為0的情況下,GRE頭部僅包含第0到31位的信息。前4個bit位都為標誌位,分別表示了頭部後來的字段是否有效;ProtocolType字段標識PayloadPacket的協議類型,一般情況下,該協議字段與以太網幀的類型字段值相同
[2]
。
需要封裝和傳輸的數據報文,稱之為淨荷(Payload),淨荷的協議類型為乘客協議(Passenger Protocol)。系統收到一個淨荷後,首先使用封裝協議(Encapsulation Protocol)對這個淨荷進行GRE 封裝,即把乘客協議報文進行了“包裝”,加上了一個GRE 頭部成為GRE 報文;然後再把封裝好的原始報文和GRE 頭部封裝在IP 報文中,這樣就可完全由IP 層負責此報文的前向轉發(Forwarding)。通常把這個負責前向轉發的IP 協議稱為傳輸協議(Delivery Protocol 或者Transport Protocol)。根據傳輸協議的不同,可以分為GRE over IPv4 和GRE over IPv6 兩種隧道模式。
通用路由封裝封裝過程
1、 Router A 連接Group 1 的接口收到X 協議報文後,首先交由X 協議處理
2、X 協議檢查報文頭中的目的地址域來確定如何路由此包
3、 若報文的目的地址要經過Tunnel 才能到達,則設備將此報文發給相應的Tunnel 接口
4、 Tunnel 口收到此報文後進行GRE 封裝,在封裝IP 報文頭後,設備根據此IP 包的目的地址及路由表對報文進行轉發,從相應的網絡接口發送出去。
通用路由封裝解封裝過程
解封裝過程和加封裝的過程相反。
1、 RouterB 從Tunnel 接口收到IP 報文,檢查目的地址
3、 GRE 協議完成相應的處理後,剝掉GRE 報頭,再交由X 協議對此數據報進行後續的轉發處理。
説明:GRE 收發雙方的加封裝、解封裝處理,以及由於封裝造成的數據量增加,會導致使用GRE 後設備的數據轉發效率有一定程度的下降。
- 參考資料
-
- 1. RFC 2784 .IETF[引用日期2017-01-07]
- 2. 基於GRE協議的雙重接入系統的設計與實現 .萬方數據庫[引用日期2017-01-07]
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:19次歷史版本
- 最近更新: 皮皮唱唱