问题描述
随着企业的发展,越来越多的企业需要在分支-总部之间进行内网通信。传统分支-总部之间内网通信需要租用专线(比如 MPLS,传输专线等);
但是专线价格昂贵,对于中小型企业,或者跨国公司来说,成本较高;
由于 Internet 的发展,Internet 网有了足够的带宽和覆盖,通过 Internet 建立分支-总部内网通信的可行性越来越高;
解决方案
GRE(Generic Routing Encapsulation,通用路由封装协议)就是在这种背景下被提出的;
GRE 是种 Layer 3 VPN 封装技术。GRE 能够对某些网络层协议(如 IPX、IPv4、IPv6 等)的报文进行封装,使封装后的报文能够在另一种网络中(如 IPv4)传输,从而解决跨越异种网络的报文传输问题;
原理简述
GRE 提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过 GRE 隧道透明的传输;
GRE 技术本质上是一种隧道技术,可以对某些网络层协议(如 IPX、IPv6、IPv4 等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如 IPv4、IPv6 等)中传输;
特性说明
GRE 实现机制简单,对隧道两端的设备负担小;
GRE 隧道可以通过 IPv4 网络连通多种网络协议的本地网络,有效利用了原有的网络架构,降低成本;
GRE 隧道将不连续的子网连接起来,用于组建 VPN,实现企业总部和分支间的连接;
GRE 只有简单的密码验证,没有加密功能;
GRE 隧道能够承载 IPv4/IPv6 的:单播、组播、广播报文;
1)由于动态路由协议中会使用组播报文,因此更多时候 GRE 会在需要传递组播路由数据的场景中被用到,这也是 GRE 被称为通用路由封装协议的原因;
应用场景
IPv6 over IPv4
通过在 IPv4 网络上建立 GRE 隧道,解决两个 IPv6 网络的通信问题:
广域互联
通过 GRE 隧道,分支和总部之间可以基于 Internet 建立企业网络,解决了企业分支与总部互联的问题;
GRE 隧道能承载 IPv4/IPv6 单播、组播、广播报文,分支-总部之间可以通过 GRE 隧道建立内网之间的动态路由协议邻居,使得分支-总部之间内网互联更加方便;
通过 GRE 接入 MPLS VPN 网络
在 MPLS VPN 中,为了让 CE 设备接入 VPN 中往往需要 CE 与 MPLS 骨干网的 PE 设备之间有直接的物理链路;
在实际组网中,并非所有的 CE 和 PE 都能用物理链路直接相连。例如,很多已经连接到 Internet 或基于 IP 技术的骨干网上的机构,其 CE 和 PE 设备之间地理位置上相距甚远,不可能直接接入到 MPLS 骨干网的 PE 设备上。这样就无法通过 Internet 或者是 IP 骨干网直接访问 MPLS VPN 内部的站点;
为了让 CE 能接入到 MPLS VPN 且可以保证数据传输的安全性,可以在 CE 和 PE 间利用公共网络或某私有网络相连,并在 CE 与 PE 之间创建 GRE 隧道,在 PE 上将 VPN 与 GRE 隧道接口进行关联;
参考文献
Generic Routing Encapsulation – Wikipedia