本页使用了标题或全文手工转换

通用路由封装

维基百科,自由的百科全书
跳到导航 跳到搜索

通用路由封装(英語: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