通用路由封裝
外觀
此條目沒有列出任何參考或來源。 (2013年8月17日) |
通用路由封裝(英語:Generic Routing Encapsulation,縮寫:GRE)是一種可以在虛擬對等鏈路中封裝多種網路層協定的隧道協定。由思科系統開發,在RFC 2784中定義。
協定棧舉例
[編輯]OSI模型分層 | 協定 |
---|---|
5. 對談層 | X.225 |
4. 傳輸層 | UDP |
3. 網路層 (GRE封裝) | IPv6 |
封裝 | GRE |
3. 網路層 | IPv4 |
2. 資料鏈路層 | 乙太網路 |
1. 實體層 | 以太實體層 |
從上面的圖表可以看出,協定封裝(非特指GRE)打破了OSI模型中定義的分層。這可以被看成兩個不同協定棧中間的分割器,一個承載另一個。
報文頭
[編輯]GRE報文頭結構如下圖所示。[最新的RFC 2784 && RFC 2890]
Bits 0–3 | 4–12 | 13–15 | 16–31 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C | K | S | Reserved1 | Version | Protocol Type | ||||||||||||||||||
Checksum (optional) | Reserved2 | ||||||||||||||||||||||
Key (optional) | |||||||||||||||||||||||
Sequence Number (optional) |
- C:校驗碼標記位,標為1為代表啟用校驗碼。
- K:鍵碼標記位,標為1為代表啟用鍵碼。
- S:序列號標記位,標為1為代表啟用序列號。
- Reserved1、Reserved2:預留,預設為填0。
- Version:版本號,預設值為0。
- Protocol Type:負載得網路層以太類型。
- Checksum:校驗碼,C位啟用時可用。為GRE頭與負載的校驗碼。
- Key:鍵碼,K位啟用時可用。特定用語所需的鍵值。
- Sequence Number,序列號,S位啟用時可用。為GRE封包的傳送序列號。
參考資料
[編輯]外部連結
[編輯]- RFCs
- RFC 1701 — Generic Routing Encapsulation (GRE) (INFORMATIONAL)
- RFC 1702 — Generic Routing Encapsulation over IPv4 networks (INFORMATIONAL)
- RFC 2784 — Generic Routing Encapsulation (GRE) (PROPOSED STANDARD - Updated by RFC 2890)
- RFC 2890 — Key and Sequence Number Extensions to GRE (PROPOSED STANDARD)
- Cisco Systems
- Generic Routing Encapsulation, Subprotocol homepage at Cisco
- Generic Routing Encapsulation (頁面存檔備份,存於網際網路檔案館), Entry in Cisco DocWiki (formerly known as the "Internetworking Technology Handbook")