GRE协议的使用举例分析

xxjoy 2010-07-05

在GRE协议的使用过程中,我们发现,这个协议有着非常强大的功能。那么在不同的环境中,它可以进行有效地协议封装,来完成协议的跨度使用。那么我们这里列举了一些例子帮助大家分析一下。

1. 多协议的本地网通过单一协议的骨干网传输

图中,Group1和Group2是运行Novell IPX的本地网,Term1和Term2是运行IP的本地网。

通过在Router A和Router B之间采用GRE协议封装的隧道(Tunnel),Group1和Group2、Team1和Team2可以互不影响地进行通信。

GRE协议的使用举例分析

2. 扩大了步跳数受限协议(如IPX)的网络的工作范围

在图中,如果两台终端之间的步跳数超过15,它们将无法通信。在网络中使用隧道(Tunnel)可以隐藏一部分步跳,从而扩大网络的工作范围。

GRE协议的使用举例分析

3. 将不连续的子网连接起来,用于组建VPN

运行Novell IPX协议的两个子网Group1和Group2分别在不同的城市,通过使用隧道可以实现跨越广域网的VPN。

GRE协议的使用举例分析

4. 与IPSec结合使用,弥补IPSec不能保护组播数据的缺陷

GRE可以封装组播数据并在GRE隧道中传输,而IPSec目前只能对单播数据进行加密保护。对于组播数据需要在IPSec隧道中传输的情况,可以先建立GRE隧道,对组播数据进行GRE封装,再对封装后的报文进行IPSec加密,从而实现组播数据在IPSec隧道中的加密传输。

GRE协议的使用举例分析

5. 其他特性

GRE协议本身提供两种比较弱的安全机制:校验和验证和识别关键字验证。前者对封装的报文进行端到端校验,后者对Tunnel接口进行校验。

RFC1701(Generic Routing Encapsulation)中规定:如果GRE报文头中的Checksum位置位,则校验和有效。发送方将根据GRE头及payload信息计算校验和,并将包含校验和的报文发送给对端。接收方对接收到的报文计算校验和,并与报文中的校验和比较,如果一致则对报文进一步处理,否则丢弃报文。

相关推荐