GRE:通用路由封裝(GRE: Generic Routing Encapsulation)

 用路由封裝(GRE)定義了在任意一種網絡協議上封裝任意一個其它網絡協議協議

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

GRE 下的網絡安全與常規的 IPv4 網絡安全是較爲相似的,GRE 下的路由採用 IPv4 原本使用的路由,但路由過濾保持不變 。包過濾要求防火牆檢查 GRE 包,或者在 GRE 隧道終點完成過濾過程。在那些這被看作是安全問題的環境下,可以在防火牆上終止隧道。


協議結構

1 13 16 32 bit
C Reserved 0 & 1 Ver Protocol Type
Checksum (optional) Reserved

C ― 當前校驗和。
Reserved 0 & 1 ― 預留以備後用。
Ver ― 版本號,當前爲0。
Protocol Type ― 包括有效載荷數據包的協議類型。
Checksum ― 包括 GRE 頭和有效負載數據包中所有16位字的 IP 校驗和總數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章