GRE 通用路由封裝

2021-08-07 10:56:27 字數 1137 閱讀 9567

1、簡介

gre(generic routing encapsulation,通用路由封裝)協議是對某些網路層協議(如ip 和ipx)的資料報文進行封裝,使這些被封裝的資料報文能夠在另乙個網路層協議(如ip)中傳輸。

在大多數常規情況下,系統擁有乙個有效載荷(或負載)包,需要將它封裝並傳送至某個目的地。首先將有效載荷封裝在乙個 gre 包中,然後將此 gre 包封裝在其它某協議中並進行**。此外發協議即為傳送協議。當 ipv4 被作為 gre 有效載荷傳輸時,協議型別字段必須被設定為 0x800 。當乙個隧道終點拆封此含有 ipv4 包作為有效載荷的 gre 包時, ipv4 包頭中的目的位址必須用來**包,並且需要減少有效載荷包的 ttl 。值得注意的是,在**這樣乙個包時,如果有效載荷包的目的位址就是包的封裝器(也就是隧道另一端),就會出現迴路現象。在此情形下,必須丟棄該包。當 gre 包被封裝在 ipv4 中時,需要使用 ipv4 協議 47 。

gre採用了tunnel(隧道)技術,是vpn(virtual private network)的第三層隧道協議。tunnel 是乙個虛擬的點對點的連線,提供了一條通路使封裝的資料報文能夠在這個通路上傳輸,並且在乙個tunnel 的兩端分別對資料報進行封裝及解封裝。

2、報文格式

gre 封裝後的報文格式為:

[delivery header(transport protocol)]——[gre header(fncapsulation protocol)]——[payload header(passenger potrocol)]

需要封裝和傳輸的資料報文,稱之為淨荷(payload),淨荷的協議型別為乘客協議(passenger protocol)。系統收到乙個淨荷後,首先使用封裝協議(encapsulation protocol)對這個淨荷進行gre 封裝,即把乘客協議報文進行了「包裝」,加上了乙個gre 頭部成為gre 報文;然後再把封裝好的原始報文和gre 頭部封裝在ip 報文中,這樣就可完全由ip 層負責此報文的前向**(forwarding)。通常把這個負責前向**的ip 協議稱為傳輸協議(delivery protocol 或者transport protocol)。 

根據傳輸協議的不同,可以分為gre over ipv4 和gre over ipv6 兩種隧道模式。 

GRE 通用路由封裝

一 gre 通用路由封裝 gre generic routing encapsulation 是通用路由封裝協議,可以對某些網路層協議的資料報進行封裝,使這些被封裝的資料報能夠在ipv4網路中傳輸。中文名 通用路由封裝 外文名 generic routing encapsulation 作用 網路層...

通用路由封裝(GRE)

通用路由封裝 gre generic routing encapsulation 是通用路由封裝協議,可以對某些網路層協議的資料報進行封裝,使這些被封裝的資料報能夠在ipv4網路中傳輸。中文名 通用路由封裝 外文名 generic routing encapsulation 作用 網路層協議封裝乙個...

GRE通用路由封裝協議簡單例項

兩個網路穿越中間網路通訊,實現類似專線才有的效果 一種虛擬的點到點網路型別 inte ce tunnel 0 0 0 建立隧道介面 r1 tunnel0 0 0 ip address 10.1.1.1 24 r1 tunnel0 0 0 tunnel protocol gre 定義使用通用路由封裝 ...