GRE原理与配置 您所在的位置:网站首页 tunnel接口配置 GRE原理与配置

GRE原理与配置

2023-12-15 02:12| 来源: 网络整理| 查看: 265

文章目录 前言GRE的基本概念GRE的优点总结GRE的应用场景(1)GRE的应用场景(2)GRE的应用场景(3) GRE报文结构隧道接口GRE配置Keepalive检测功能

前言

  IPSec VPN用于在两个端点之间提供安全的IP通信,但只能加密并传播单播数据,无法加密和传输语音、视频、动态路由协议信息等组播数据流量。   通用路由封装协议GRE(Generic Routing Encapsulation)提供了将一种协议的报文封装在另一种协议报文中的机制,是一种隧道封装技术。GRE可以封装组播数据,并可以和IPSec结合使用,从而保证语音、视频等组播业务的安全

GRE的基本概念

  作用:能够将一种协议报文封装另外一种协议的报文当中进行传输,可以解决异种网络的传输问题。   使用GRE可以克服IGP协议的一些局限性。例如,RIP路由协议是一种距离矢量路由协议,最大跳数为15。如果网络直径超过15,设备将无法通信。这种情况下,可以使用GRE技术在两个网络节点之间搭建隧道,隐藏它们之间的跳数,扩大网络的工作范围。   GRE属于网络层协议 IP协议号为47。 在这里插入图片描述

GRE的优点总结

  1)、GRE实现机制简单,对隧道两端的设备负担小;   2)、GRE隧道可以通过IPv4网络连通多种网络协议的本地网络,有效利用了原有的网络架构,降低成本;   3)、GRE隧道扩展了跳数受限网络协议的工作范围,支持企业灵活设计网络拓扑;   4)、GRE隧道可以封装组播数据,和IPSec结合使用时可以保证语音、视频等组播业务的安全;   5)、GRE隧道支持使能MPLS LDP,使用GRE隧道承载MPLS LDP报文,建立LDP LSP,实现MPLS骨干网的互通;   6)、GRE隧道将不连续的子网连接起来,用于组建,实现企业总部和分支间安全的连接;

GRE的应用场景(1)

  GRE用来对某些网络层协议如IPX(Internet Packet Exchange)的报文进行封装,使这些被封装的报文能够在另一网络层协议(如IP)中传输。GRE可以解决异种网络的传输问题。   IPSec VPN技术可以创建一条跨越共享公网的隧道,从而实现私网互联。IPSec VPN能够安全传输IP报文,但是无法在隧道的两个端点之间运行RIP和OSPF等路由协议。GRE可以将路由协议信息封装在另一种协议报文(例如IP)中进行传输。

GRE的应用场景(2)

  如图所示,使用GRE可以克服IGP协议的一些局限性。例如,RIP路由协议是一种距离矢量路由协议,最大跳数为15。如果网络直径超过15,设备将无法通信。这种情况下,可以使用GRE技术在两个网络节点之间搭建隧道,隐藏它们之间的跳数,扩大网络的工作范围。 在这里插入图片描述

GRE的应用场景(3)

  GRE本身并不支持加密,因而通过GRE隧道传输的流量是不加密的。将IPSec技术与GRE相结合,可以先建立GRE隧道对报文进行GRE封装,然后再建立IPSec隧道对报文进行加密,以保证报文传输的完整性和私密性。

GRE报文结构

在这里插入图片描述   GRE封装报文时,封装前的报文称为净荷,封装前的报文协议称为乘客协议,然后GRE会封装GRE头部,GRE成为封装协议,也叫运载协议,最后负责对封装后的报文进行转发的协议称为传输协议。

GRE封装和解封装报文的过程如下:   1)、设备从连接私网的接口接收到报文后,检查报文头中的目的IP地址字段,在路由表查找出接口,如果发现出接口是隧道接口,则将报文发送给隧道模块进行处理。   2)、隧道模块接收到报文后首先根据乘客协议的类型和当前GRE隧道配置的校验和参数,对报文进行GRE封装,即添加GRE报文头。   3)、然后,设备给报文添加传输协议报文头,即IP报文头。该IP报文头的源地址就是隧道源地址,目的地址就是隧道目的地址。   4)、最后,设备根据新添加的IP报文头目的地址,在路由表中查找相应的出接口,并发送报文。之后,封装后的报文将在公网中传输。   5)、接收端设备从连接公网的接口收到报文后,首先分析IP报文头,如果发现协议类型字段的值为47,表示协议为GRE,于是出接口将报文交给GRE模块处理。GRE模块去掉IP报文头和GRE报文头,并根据GRE报文头的协议类型字段,发现此报文的乘客协议为私网中运行的协议,于是将报文交给该协议处理。

隧道接口

  ~ GRE隧道是通过隧道两端的Tunnel接口建立的,所以需要在隧道两端的设备上分别配置Tunnel接口。对于GRE的Tunnel接口,需要指定其协议类型为GRE、源地址或源接口、目的地址和Tunnel接口IP地址。   ~ 隧道接口(tunnel接口)是为实现报文的封装而提供的一种点对点类型的虚拟接口 与loopback接口类似 都是一种逻辑接口。   ~ GRE隧道接口包含源地址、目的地址和隧道接口IP地址和封装类型。   ~Tunnel的源地址:配置报文传输协议中的源地址。   ~ 当配置地址类型时,直接作为源地址使用。   ~ 当配置类型为源接口时,取该接口的IP地址作为源地址使用。   ~ Tunnel的目的地址:配置报文传输协议中的目的地址。   ~ Tunnel接口IP地址:为了在Tunnel接口上启用动态路由协议,或使用静态路由协议发布Tunnel接口,需要为Tunnel接口分配IP地址。Tunnel接口的IP地址可以不是公网地址,甚至可以借用其他接口的IP地址以节约IP地址。但是当Tunnel接口借用IP地址后,该地址不能直接通过tunnel口互通,因此在借用IP地址情况下,必须配置静态路由或路由协议先实现借用地址的互通性,才能实现Tunnel的互通。

GRE配置

  如图所示,在本端设备和远端设备上还必须存在经过Tunnel转发的路由,这样,需要进行GRE封装的报文才能正确转发。经过Tunnel接口转发的路由可以是静态路由,也可以是动态路由。配置静态路由时,路由的目的地址是GRE封装前原始报文的目的地址,出接口是本端Tunnel接口。 在这里插入图片描述   执行display interface Tunnel 0/0/1命令,可以查看接口的运行状态和路由信息。如果接口的当前状态和链路层协议的状态均显示为UP,则接口处于正常转发状态。隧道的源地址和目的地址分别为建立GRE隧道使用的物理接口的IP地址。   执行display ip routing table命令,可以查看IP路由表,判断GRE隧道连接的两个网络的可达信息。在本示例中,可以看出目的地址为通过GRE隧道可达的网络地址,下一跳地址为GRE隧道远端接口的IP地址。

Keepalive检测功能

  Keepalive检测功能用于在任意时刻检测隧道链路是否处于Keepalive状态,即检测隧道对端是否可达。如果对端不可达,隧道连接就会及时关闭,避免形成数据空洞。使能Keepalive检测功能后,GRE隧道本端会定期向对端发送Keepalive探测报文。若对端可达,则本端会收到对端的回应报文;若对端不可达,则收不到对端的回应报文。   如果在隧道一端配置了Keepalive功能,无论对端是否配置Keepalive,配置的Keepalive功能在该端都生效。隧道对端收到Keepalive探测报文,无论是否配置Keepalive,都会给源端发送一个回应报文。   使能Keepalive检测功能后,GRE隧道的源端会创建一个计数器,并周期性地发送Keepalive探测报文,同时进行不可达计数。每发送一个探测报文,不可达计数加1 如果源端在计数器值达到预先设置的值之前收到回应报文,则表明对端可达。如果计数器值达到预先设置的重试次数,源端还是没有收到回应报文,则认为对端不可达。此时,源端将关闭隧道连接。 在这里插入图片描述   执行keepalive [ period period [ retry-times retry-times ] 命令,可以在GRE隧道接口启用Keepalive检测功能。其中,period参数指定Keepalive检测报文的发送周期,默认值为5秒;retry-times参数指定Keepalive检测报文的重传次数,默认值为3。如果在指定的重传次数内未收到对端的回应报文,则认为隧道两端通信失败,GRE隧道将被拆除。   执行display interface tunnel命令,还可以查看GRE的Keepalive功能是否使能。本示例中,Keepalive检测功能的当前状态显示为启用,且报文的发送周期为3秒,重传次数为3次。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有