GRE VPN隧道技术详解!
2025-01-17 18:34:58 来源: 阅读:次
一、GRE定义通用路由封装协议GRE(Generic Routing Encapsulation)可以对某些网络层协议(如IPX、ATM、IPv6、AppleTalk等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IPv4)中传输。Tunnel是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报文进行封装及解封装。隧道技术是一种封装技术,利用一种网络协议来传输另一种网络协议,即一种网络协议将其他网络协议的数据报文封装在自己的报文中,然后再在网络中传输,封装后的数据报文在网络中传输的路径称为隧道。GRE提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过GRE隧道透明的传输,解决异种网络的传输问题。
GRE的作用使隧道两端的网络组成一个更大的内部网络把不支持的协议数据包打包成支持的协议数据包之后进行传输如下,Term1和Term2是运行IPv6的本地网,Term3和Term4是运行IP的本地网,不同地域的子网间需要通过公共的IP网络互通。通过在Router_1和Router_2之间采用GRE协议封装的隧道,Term1和Term2、Term3和Term4可以互不影响地进行通信。克服IGP协议的一些局限性。例如RIP路由最大15跳即为不可达,可以使用GRE技术在两个网络节点之间搭建隧道,隐藏它们之间的跳数,扩大网络的工作范围。与IPSec结合,保护组播数据GRE可以封装组播数据并在GRE隧道中传输。如图所示,对于组播数据需要在IPSec隧道中传输的情况,可以先建立GRE隧道,对组播数据进行GRE封装,再对封装后的报文进行IPSec加密,从而实现组播数据在IPSec隧道中的加密传输。
GRE的优点,GRE实现机制简单,对隧道两端的设备负担小。GRE隧道可以通过IPv4网络连通多种网络协议的本地网络,有效利用了原有的网络架构,降低成本。GRE隧道扩展了跳数受限网络协议的工作范围,支持企业灵活设计网络拓扑。GRE隧道可以封装组播数据,和IPSec结合使用时可以保证语音、视频等组播业务的安全。 GRE隧道支持使能MPLS LDP,使用GRE隧道承载MPLS LDP报文,建立LDP LSP,实现MPLS骨干网的互通。GRE隧道将不连续的子网连接起来,用于组建VPN,实现企业总部和分支间安全的连接。
GRE的特点机制简单,无需维持状态,对隧道两端设备的CPU负担小;无状态,没有流量控制机制不提供流量控制和QoS不提供安全机制,本身不提供数据的加密,如果需要加密,可以与IPSec结合使用;
二、IPv6 over IPv4隧道在IPv4网络向IPv6网络过渡的初期,IPv4网络已被大量部署,而IPv6网络只是散布在世界各地的一些孤岛。利用隧道技术可以在IPv4网络上创建隧道,从而实现IPv6孤岛之间的互连。在IPv4网络上用于连接IPv6孤岛的隧道成为IPv6 over IPv4隧道。为了实现IPv6 over IPv4隧道,需要在IPv4孤岛的隧道称为IPv6 over IPv4隧道。为了实现IPv6 over IPv4隧道,需要在IPv4网络与IPv6网络交界的边界路由设备商启动IPv4/IPv6双协议栈。
*边界路由设备启动IPv4/IPv6双协议栈,并配置IPv6 over IPv4隧道。边界路由设备在收到从IPv6网络侧发来的报文后,如果报文的目的地址不是自身且下一跳出接口为Tunnel接口,就要把收到的IPv6报文作为负载,加上Ipv4报文头,封装成IPv4报文。 *在IPv4网络中,封装后的报文被传递到对端的边界路由设备。*对端边界路由设备对报文解封装,去掉IPv4报文头,然后将封装后的IPv6报文发送到对端的IPv6网络中。*其他隧道原理类似
三、IPv4 over IPv6隧道在IPv4 Internet向IPv6 Internet过渡后期,IPv6网络被大量部署后,而IPv4网络只是散布在世界各地的一些孤岛。利用隧道技术可以在IPv6网络上创建隧道,从而实现IPv4孤岛的互联,IPv4孤岛能通过IPv6公网访问其他IPv4网络。
一些其他问题:
1、GRE与IPSec的区别?什么情况下适合使用GRE?IPSec目前只能对单播报文进行加密保护,不能对组播报文进行加密保护。而GRE可以将组播报文封装成单播报文,但不能对报文进行加密保护。GRE的最大作用是对路由协议、语音、视频等组播报文或IPv6报文进行封装。
2、Tunnel接口(GRE接口)的作用是什么?什么是隧道源接口和目的接口?Tunnel接口(GRE接口)的作用是对数据报文进行GRE封装及解封装。负责发送封装后的报文的物理接口叫做隧道源接口,对端接收此报文的物理接口叫做隧道目的接口。一般情况下,选择本端设备与公网相连的物理接口作为隧道源接口,选择对端设备与公网相连的物理接口作为隧道目的接口。
3、Tunnel接口的IP地址作用是什么?隧道两端的IP地址是否必须配置成同一网段?Tunnel的IP地址只是为了使Tunnel接口UP起来,属于必配参数,但是该IP地址并不参与报文封装。在使用静态路由将流量引导到GRE隧道的场景中,隧道两端的Tunnel接口IP地址可以不在同一个网段。但在OSPF动态路由的GRE隧道应用场景中,隧道两端的Tunnel接口就必须在同一个网段,这是因为不在同一网段时,会导致Tunnel接口建立邻接关系失败,影响到路由学习。
4、Tunnel接口(GRE接口)是否一定要加入安全区域?Tunnel接口必须要加入到安全区域,一般是DMZ域,因为GRE中报文所经过的安全域间与Tunnel接口所在的安全域有关联。
5、多个Tunnel接口(GRE接口)是否可以使用同一个源IP地址?多个Tunnel接口不能使用同一个源IP地址。