什么是“GRE”协议?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是“GRE”协议?相关的知识,希望对你有一定的参考价值。

GRE(Generic Routing Encapsulation)即通用路由封装协议是对某些网络层协议(如IP和IPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。GRE是VPN(Virtual Private Network )的第三层隧道协议,即在协议层之间采用了一种被称之为Tunnel(隧道)的技术。

GRE

GRE(通用路由协议封装)是由Cisco和Net-smiths等公司于1994年提交给IETF的,标号为RFC1701和RFC1702。目前有多数厂商的网络设备均支持GRE隧道协议。
GRE规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路由协议(如RIP2、OSPF等)。通过GRE,用户可以利用公共IP网络连接IPX网络、AppleTalk网络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。
GRE协议的主要用途有两个:企业内部协议封装和私有地址封装。在国内,由于企业网几乎全部采用的是TCP/IP协议,因此在中国建立隧道时没有对企业内部协议封装的市场需求。企业使用GRE的唯一理由应该是对内部地址的封装。当运营商向多个用户提供这种方式的VPN业务时会存在地址冲突的可能性。
参考技术A GRE技术规定了如何用一种网络协议去封装另一种网络协议的方法。GRE隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、网际包交换协议(IPX)如AppleTalk包,并支持各种路由协议,如路由信息协议版本2(RIP2)、开放最短路径优先协议(OSPF)等。虽然GRE协议已经比较成熟,但这里需要处理的IP隧道却数量惊人,且必须通过手工调度来完成,还须给每个隧道指配一对IP地址,IP隧道地址对的管理是一个很大的问题。当网络出现故障时,IP路由协议至少需要花费数秒才能使网络收敛,为此IETF定义了链路管理协议(LMP)用于监控底层的链路状态并提供快速故障检测。虽然可以通过定义有层次的IP VPN使核心网络的隧道数最少以使网络具有可扩展性,但这将导致原始以太帧被封装到两个IP包头(分别用于点对点内部以及相互之间的连通)而使带宽利用率降低。 参考技术B GRE

GRE(通用路由协议封装)是由Cisco和Net-smiths等公司于1994年提交给IETF的,标号为RFC1701和RFC1702。目前有多数厂商的网络设备均支持GRE隧道协议。
GRE规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路由协议(如RIP2、OSPF等)。通过GRE,用户可以利用公共IP网络连接IPX网络、AppleTalk网络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。
GRE协议的主要用途有两个:企业内部协议封装和私有地址封装。在国内,由于企业网几乎全部采用的是TCP/IP协议,因此在中国建立隧道时没有对企业内部协议封装的市场需求。企业使用GRE的唯一理由应该是对内部地址的封装。当运营商向多个用户提供这种方式的VPN业务时会存在地址冲突的可能性。

华为路由器GRE配置

GRE(Generic Routing Encapsulation)通用路由封装:是对某些网络层协议(如IP和IPX)的报文进行封装,使这些被封装的报文能够在另一网络层协议(如IP)中传输。GRE可以作为第三层隧道协议,在协议层之间采用隧道(Tunnel)技术。Tunnel是一个虚拟的点对点的连接,可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路,使封装的数据报能够在这个通路上传输,并在一个Tunnel的两端分别对数据报进行封装及解封装。 
  我们使用两台AR28进行互联,并在之间创建GRE最简单的隧道。互联拓扑图如下: 
  AR28-31<++++++++++>AR28-31 
  【AR28-1】 
  # 
  sysname AR28-1 
  # 
  interface Ethernet2/0 
  ip address 202.101.1.2 255.255.255.0 /公网IP/ 
  # 
  interface Ethernet2/1 
  ip address 192.168.1.1 255.255.255.0 //内部私网IP 
  # 
  interface Tunnel0 //创建GRE隧道 tunnel 0 
  ip address 192.168.0.1 255.255.255.252 // tunnel IP和对方tunnel IP在同一网段 
  source 202.101.1.2 //GRE隧道源地址 
  destination 202.101.2.2 //GRE隧道目的地址 
  # 
  ip route-static 0.0.0.0 0.0.0.0 202.101.1.1 preference 60 
  //到公网的默认路由 
  ip route-static 192.168.2.0 255.255.255.0 Tunnel 0 preference 60 
  //通过tunnel访问对方私网的路由 
  # 
  【AR28-2】 
  # 
  sysname AR28-2 
  # 
  interface Ethernet2/0 
  ip address 202.101.2.2 255.255.255.0 //内部私网IP 
  # 
  interface Tunnel0 //创建tunnel 0 
  ip address 192.168.0.2 255.255.255.252 //tunnel IP和对方tunnel IP在同一网段 
  source 202.101.2.2 /源地址 
  destination 202.101.1.2 //目的地址 
  # 
  ip route-static 0.0.0.0 0.0.0.0 202.101.2.1 preference 60 
  //到公网的默认路由 
  ip route-static 192.168.1.0 255.255.255.0 Tunnel 0 preference 60 
  //通过tunnel访问对方私网的路由 
  
  GRE 
  GRE(Generic Routing Encapsulation)通用路由封装:是对某些网络层协议(如IP和IPX)的报文进行封装,使这些被封装的报文能够在另一网络层协议(如IP)中传输。GRE可以作为第三层隧道协议,在协议层之间采用隧道(Tunnel)技术。Tunnel是一个虚拟的点对点的连接,可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路,使封装的数据报能够在这个通路上传输,并在一个Tunnel的两端分别对数据报进行封装及解封装。 
  我们使用两台AR28进行互联,并在之间创建GRE最简单的隧道。互联拓扑图如下: 
  AR28-31<++++++++++>AR28-31 
  【AR28-1】 
  # 
  sysname AR28-1 
  # 
  interface Ethernet2/0 
  ip address 202.101.1.2 255.255.255.0 //公网IP 
  # 
  interface Ethernet2/1 
  ip address 192.168.1.1 255.255.255.0 //内部私网IP 
  # 
  interface Tunnel0 //创建GRE隧道 tunnel 0 
  ip address 192.168.0.1 255.255.255.252 // tunnel IP和对方tunnel IP在同一网段 
  source 202.101.1.2 //GRE隧道源地址 
  destination 202.101.2.2 //GRE隧道目的地址 
  # 
  ip route-static 0.0.0.0 0.0.0.0 202.101.1.1 preference 60 
  //到公网的默认路由 
  ip route-static 192.168.2.0 255.255.255.0 Tunnel 0 preference 60 
  //通过tunnel访问对方私网的路由 
  # 
  【AR28-2】 
  # 
  sysname AR28-2 
  # 
  interface Ethernet2/0 
  ip address 202.101.2.2 255.255.255.0 //内部私网IP 
  # 
  interface Tunnel0 //创建tunnel 0 
  ip address 192.168.0.2 255.255.255.252 //tunnel IP和对方tunnel IP在同一网段 
  source 202.101.2.2 /源地址 
  destination 202.101.1.2 //目的地址 
  # 
  ip route-static 0.0.0.0 0.0.0.0 202.101.2.1 preference 60 
  //到公网的默认路由 
  ip route-static 192.168.1.0 255.255.255.0 Tunnel 0 preference 60 
  //通过tunnel访问对方私网的路由 
  GRE隧道建立之后,我们在任何一台AR28上面都可以Ping通对方的私网地址,这个就是GRE隧道发挥的作用。GRE隧道还有更加复杂的应用,我们将陆续介绍基于华为路由器、华为交换机设备进行的GRE各种应用配置。

以上是关于什么是“GRE”协议?的主要内容,如果未能解决你的问题,请参考以下文章

GRE协议有啥作用?用在那里?

VPN三层隧道协议GRE IPsec

GRE协议CentOS配置GRE隧道

Cisco GRE 基础配置详解

通信领域的GRE是啥的缩写?有啥功能?

路由基础之GRE和SNMP的配置