GRE VPN网络拓扑设计如图5.79所示,有以下几种类型:
图5.79 GRE VPN拓扑
1.全网状连接
全网状的隧道连接无疑可以提供整网最快速的路由选路能力和最高的网络冗余可靠地能力,但是全网状的部署将迅速使网络陷入不可扩展的困境之中,因为每台设备同其他设备都必须建立一条独立的IPSec隧道连接,如果有一个50个节点的网络,采用全网状连接那么需要的连接隧道数将达到50×(50-1)/2=1 225条隧道,配置的复杂性极其巨大。在某些情况下可怕的N平方问题将会使网络的继续扩展成为几乎不可能的事情。而且一般的VNP网关的设备性能多数情况下将无法满足。但是全网状拓扑结构在节点数量少于20的情况下仍不失为一种高效的网络设计方法。
2.星形连接
星形连接的方式可以很好解决网络可扩展性的问题。但是由于所有内部节点的通信必须经过统一的中心节点,在数据量大的时候中心设备的数据转发性能将会受到极大的影响。所有的访问控制都需要部署在中心节点,在节点较多访问且访问控制严格的情况下配置的工作量将非常巨大,而且中心设备必须提供足够的带宽来满足所有内部节点的通信要求。
如果中心站点使用单一的设备,则网络的可靠性也是一个重要问题。因为单台核心设备的故障将直接导致整个网络的中断。
3.部分网状连接
部分网状的拓扑结构可以缓解全网状拓扑带来的可扩展问题,内部节点之间的隧道连接只有在需要的时候才进行建立,但是这种网络的缺陷依旧是在设备CPU利用率处于合理范围下所能支持的隧道数量。这两种网络中的隧道建立都可以利用动态VNP的技术进行动态建立,以减轻配置的工作量,但是必须要求设备支持动态VNP的技术,对设备的选择提出了更高的要求。
4.树形连接
树形连接可以有效解决网状连接中遇到的可扩展性问题和纯星形连接中遇到的设备转发性能问题。引入经典的网络分层概念将VNP网络分为核心层、汇聚层、接入层。大部分的节点间通信可以通过分散的汇聚层设备进行转发,节点间的访问控制也可以在汇聚层进行分布式的部署,核心节点只需要提供到各个汇聚节点的连接即可,有效缓解了中心节点的转发压力和配置复杂性。
但树形结构同样存在星形连接类型的单台故障导致中断的问题。在某节点发生故障时,整网虽然不会全部中断,但是会被分割为两个分离的部分。
5.双星连接
对于典型的核心——分支GRE部署来说,这恐怕是最现实的选择。在不引入过多消耗的情况下,它不但提供了类似星形连接的扩展性和可维护性,也提供了核心节点单点故障时的可靠性。(www.xing528.com)
GRE是一种三层VNP技术,每一个运行GRE的路由器实际上属于两个地址空间。其到Internet的物理接口属于公网地址空间,参加公网路由AS决策;其Tunnel接口属于私有地址空间,参与私网路由AS计算。
组织到Internet的边缘路由器通常从ISP获得一个默认路由,作为到Internet的路由。GRE路由规划如图5.80所示。而为私网转发数据的Tunnel接口则可以使用静态路由或任何路由协议获得远方站点的私网路由。静态路由有相应的弊端,如图5.81所示。
图5.80 GRE路由规划
图5.81 静态路由的弊端
GRE根据手工的配置启动。但是,GRE本身并不提供对隧道状态的维护机制。默认情况下,系统根据隧道源接口状态设置Tunnel接口状态。依赖物理端口状态而决定Tunnel接口的状态是不足的。因为即使隧道两端的物理接口正常,在隧道经过的物理路径上仍然可能存在故障。在使用静态路由或接口备份的情况下,假设主用隧道路径发生故障,而主用隧道接口的状态不能反映实际的连接状态,则即使存在备用的隧道,隧道封装包仍会由主用隧道发出,因而可能在途中被丢弃。
由于故障觉察和路由备份的目的,需要有一种手段维护隧道的状态。这样一旦双方不可达,路由器可以迅速选择其他的接口继续转发。可以通过配置Tunnel接口Keepalive功能测隧道的连通性,如图5.82所示。
图5.82 Tunnel接口Keepalive功能
或者在Tunnel接口上使用诸如OSPF这样的动态路由协议,通过路由协议的定时探测功能,了解路由的可达性,如图5.83所示。
图5.83 在Tunnel接口运行动态路由
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。