GRE的簡介和基本原理

GRE的簡介和基本原理

GRE簡介

定義

通用路由封裝協議GRE(Generic Routing Encapsulation)可以對某些網絡層協議(如IPX、IPv6、AppleTalk等)的數據報文進行封裝,使這些被封裝的數據報文能夠在另一個網絡層協議(如IPv4)中傳輸。

GRE提供了將一種協議的報文封裝在另一種協議報文中的機制,是一種三層隧道封裝技術,使報文可以通過GRE隧道透明的傳輸,解決異種網絡的傳輸問題。

受益

  • GRE實現機制簡單,對隧道兩端的設備負擔小。
  • GRE隧道可以通過IPv4網絡連通多種網絡協議的本地網絡,有效利用了原有的網絡架構,降低成本。
  • GRE隧道擴展了跳數受限網絡協議的工作範圍,支持企業靈活設計網絡拓撲。
  • GRE隧道將不連續的子網連接起來,用於組建VPN,實現企業總部和分支間安全的連接。

基本原理

實現過程

報文在GRE隧道中傳輸包括封裝和解封裝兩個過程。如圖1所示,如果X協議報文從Ingress PE向Egress PE傳輸,則封裝在Ingress PE上完成,而解封裝在Egress PE上進行。封裝後的數據報文在網絡中傳輸的路徑,稱為GRE隧道。

1 通過GRE隧道實現X協議互通組網圖

GRE的簡介和基本原理

通過GRE隧道實現X協議互通組網圖

  • 封裝
  1. Ingress PE從連接X協議的接口接收到X協議報文後,首先交由X協議處理。
  2. X協議根據報文頭中的目的地址在路由表或轉發表中查找出接口,確定如何轉發此報文。如果發現出接口是GRE Tunnel接口,則對報文進行GRE封裝,即添加GRE頭。
  3. 根據骨幹網傳輸協議為IP,給報文加上IP頭。IP頭的源地址就是隧道源地址,目的地址就是隧道目的地址。
  4. 根據該IP頭的目的地址(即隧道目的地址),在骨幹網路由表中查找相應的出接口併發送報文。之後,封裝後的報文將在該骨幹網中傳輸。
  • 解封裝

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

  1. Egress PE從GRE Tunnel接口收到該報文,分析IP頭髮現報文的目的地址為本設備,則Egress PE去掉IP頭後交給GRE協議處理。
  2. GRE協議剝掉GRE報頭,獲取X協議,再交由X協議對此數據報文進行後續的轉發處理。

報文格式

GRE封裝後的報文結構如圖2所示。

  • 乘客協議(Passenger Protocol):封裝前的報文稱為淨荷,封裝前的報文協議稱為乘客協議。
  • 封裝協議(Encapsulation Protocol):GRE Header是由封裝協議完成並填充的,封裝協議也稱為運載協議(Carrier Protocol)。
  • 傳輸協議(Transport Protocol或者Delivery Protocol):負責對封裝後的報文進行轉發的協議稱為傳輸協議。

圖2 GRE報文結構

GRE的簡介和基本原理

GRE報文結構


分享到:


相關文章: