通用路由封装(GRE: Generic Routing Encapsulation)是通用路由封装协议,可以对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在IPv4网络中传输[1]。在大多数常规情况下,系统拥有一个有效载荷(或负载)包,需要将它封装并发送至某个目的地。首先将有效载荷封装在一个GRE 包中,然后将此GRE 包封装在其它某协议中并进行转发。此外发协议即为发送协议。当IPv4 被作为GRE 有效载荷传输时,协议类型字段必须被设置为0x800。当一个隧道终点拆封此含有 IPv4 包作为有效载荷的GRE 包时,IPv4 包头中的目的地址必须用来转发包,并且需要减少有效载荷包的TTL。值得注意的是,在转发这样一个包时,如果有效载荷包的目的地址就是包的封装器(也就是隧道另一端),就会出现回路现象。在此情形下,必须丢弃该包。当 GRE 包被封装在IPv4 中时,需要使用IPv4 协议47。