通用路由封装(GRE:Generic Routing Encapsulation)在RFC1701/RFC1702中定义,它规定了怎样用一种网络层协议去封装另一种网络层协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,它允许用户使用IP封装IP、IPX、AppleTalk,并支持全部的路由协议,如RIP、OSPF、IGRP、EIGRP。通过GRE,用户可以利用公用IP网络连接IPX网络和AppleTalk网络,还可以使用保留地址进行网络互联,或对公网隐藏企业网的IP地址。
GRE的包头包含了协议类型(用于标明乘客协议的类型);校验和包括了GRE的包头和完整的乘客协议与数据;密钥(用于接收端验证接收的数据);序列号(用于接收端数据包的排序和差错控制)和路由信息(用于本数据包的路由)。
GRE只提供了数据包的封装,它没有防止网络侦听和攻击的加密功能。所以在实际环境中它常和IPsec一起使用,由IPsec为用户数据的加密,给用户提供更好的安全服务。