什么是“GRE”协议?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是“GRE”协议?相关的知识,希望对你有一定的参考价值。
GRE(Generic Routing Encapsulation)即通用路由封装协议是对某些网络层协议(如IP和IPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。GRE是VPN(Virtual Private Network )的第三层隧道协议,即在协议层之间采用了一种被称之为Tunnel(隧道)的技术。
GREGRE(通用路由协议封装)是由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”协议?的主要内容,如果未能解决你的问题,请参考以下文章