一、GRE协议概述
	1、GRE是Tunnel(隧道)技术的一种,属于第三层隧道协议。GRE隧道是一个虚拟的点到点的连接,为封装的数据
	报文提供了一条传输通路。
	2、GRE隧道的两端是Tunnel接口,分别对数据报文进行封装及解封装。负责发送封装后的报文的物理接口叫做隧
	道源接口,对端接收此报文的物理接口叫做隧道目的接口。

配gre隧道 gre隧道作用_网络协议

上图中报文的封装过程:
	1、NGFW_A连接分部的接口收到IP数据报文后,首先交由IP协议处理。
	2、IP协议检查报文头中目的地址来确定如何转发此报文。若报文的目的地址要经过GRE隧道(Tunnel)才能
	到达,则IP协议将此报文发给相应的Tunnel接口。
	3、 Tunnel接口收到此报文后为其封装GRE报文头,然后交由IP协议处理。
	4、IP协议为GRE报文封装新的IP报文头(源地址为隧道源接口IP,目的地址为隧道目的接口IP),然后根据
	封装后的IP报文的目的地址及路由表对报文进行转发,从相应的连接Internet的物理接口(隧道源接口)发送出去。
 
解封装过程与封装过程相反,具体如下: 
	1、NGFW_B从连接Internet的物理接口收到IP报文后,检查其目的地址。如果目的地 
	址是NGFW_B,且IP报文头中的协议号为47(表示封装的报文为GRE报文),则 
	2、NGFW_B剥掉此报文的IP报文头,交给GRE协议处理。 
	3、GRE协议进行校验和关键字识别后,剥掉GRE报文头,再交由IP协议处理。
	4、IP协议将此数据报文转发到总部。
GRE的优缺点分析
	GRE的优点:1、支持多种上层协议
   			  2、支持组播
	GRE的缺点—薄弱的安全性: 1、不支持加密
 					     2、较弱的身份认证机制
  						 3、较弱的数据完整性校验
二、GRE Over IPSec
1、GRE可以封装组播数据并在GRE隧道中传输。而IPSec目前只能对单播数据进行加密
保护, 因此对于诸如路由协议、语音、视频等组播数据需要在IPSec隧道中传输的情况,
可以 通过建立GRE隧道,并对组播数据进行GRE封装,然后对封装后的报文进行IPSec
的加密 处理,就实现了组播数据在IPSec隧道中的加密传输。 

2、GRE over IPSec可以结合GRE和IPSec两种技术的优点,使网络既可以支持多种上
层协议 和组播报文,又可以支持报文加密、身份认证机制和数据完整性校验。 当网关之
间采用GRE over IPSec连接时,先进行GRE封装,再进行IPSec封装。 

3、GRE over IPSec可以使用两种封装模式:隧道模式、传输模式
注意:隧道模式与传输模式相比多增加了新的IPSec报文头,导致报文长度更长,更容易导致
分片。如果网络环境要求报文不能分片,推荐使用传输模式。
GRE Over IPSec的缺陷:
	1、IPSec隧道集中在Hub点,所有流量都穿越Hub点
	2、每增加一个新的Spoke点,Hub点都必须被配置
	3、若Spoke点的公网地址是动态变化的,部署点到点的GRE会存在问题
三、IPSec 
	IPSec vpn 高可靠性分类
		IPSec高可靠性设计可以分为两类,一种是链路冗余,另一种是主备网关备份。
		链路冗余又有多种不同实现的办法。
链路冗余实现办法:
	1、主备链路备份:两台IPSec网关之间不止一条IPSec VPN隧道,分别配置,VPN
	建立在不同物理接口上。
	2、隧道化链路备份:两台IPSec网关之间只有一条IPSec VPN隧道配置,VPN建立
	在隧道上,IPSec网关上有多个物理出口到达对端,某个物理口上的链路故障时,业
	务能自动切到 另外一个物理口上。
四、DSVPN
1、DSVPN通过NHRP协议(Next Hop Resolution Protocol,下一跳地址解析协议)动
态收集、维护和发布分支节点的公网地址信息,解决了分支节点动态公网IP地址问题。为了在
VPN隧道中能够传送组播报文(如动态路由协议报文),DSVPN在网络节点之间 采用MGRE协
议建立VPN隧道。分支之间建立VPN隧道以后,分支之间的业务流量将不再经过总部(Hub)中
转,从而减轻了总部的负担,也避免了网络延时。

2、DSVPN使用限制 
	DSVPN网络中只支持两种路由协议:静态路由和OSPF路由协议。 
		DSVPN特性不支持虚拟系统。 
DSvpn特性支持双机热备: 
双机热备组网中,支持备份的DSVPN相关配置包括Tunnel接口ID、Tunnel接口别名、Tunnel接
口的封装协议、IPSec配置;如果要修改备用设备的这些 配置,需要先在备用设备上执行
hrp standby config enable命令,启用允许配置备用设备的功能。 
3、注意事项 
	1、在同一个DSVPN网络中,所有Tunnel接口的IP地址应该配置为同一个网段。 
	2、在MGRE隧道中,一个Tunnel接口下只能引用一个IPSec安全框架。
	3、在部署DSVPN的IPSec隧道时,快速刷新NHRP映射表会引发IKE邻居重协商等待,有可能造成业
	务中断,因此应避免频繁刷新NHRP映表

MGRE:MGRE(Multipoint Generic Routing Encapsulation)隧道也叫点到多点的GRE隧道,
它是 对传统点到点GRE隧道的一种扩展。MGRE隧道与GRE隧道只是在构建隧道的方式上存有差异,但
其报文封装过程和原理与 GRE隧道完全相同。 

根据隧道建立机制的不同,可以将MGRE隧道分为静态隧道和动态隧道两种: 
	1、静态隧道建立在Spoke与Hub之间,无论Spoke与Hub间是否有流量经过,该隧道一直存在。
	2、动态隧道建立在Spoke与Spoke之间,当Spoke与Spoke间有流量通过时,隧道被自动创建;
	当一定周期后没有流量经过,隧道将自动拆除
五、NHRP协议原理及作用
NHRP (Next Hop ResolutionProtocol) 即下一跳地址解析 协议。
	基本原理:
	源Spoke (隧道发起方)以到目的Spoke (隧道响应方)路由的下- -跳地址为索引,向目的Spoke
	发送NHRP地址解析请求,目的Spoke收到该地址请求后将向源Spoke返回其公网地址。源Spoke获
	取到目的Spoke的公网地址后,两者之间将建立动态的MGRE隧道。
主要功能:
	1、解决非点到点直连网络跨互联网映射问题。在DSVPN中网络中,源Spoke利用NHRP协议获取对
	端Spoke的公网地址,类似于IP- -MAC或IP- -DHC号的对应关系。
	2、解决动态IP问题。
 
NHRP协议映射表
	1、NHRP映射表是有关Tunnel地址和公网地址的映射关系表。
	2、NHRP映射表中的表项按照生成方式的不同,分为静态表项和动态表项两种:
	静态表项:由网络管理员手工配置生成。
		例如,Spoke需要与Hub建立MGRE隧道,管理员就需要在Spoke.上手工配置Hub
		的Tunnel地址和公网地址。
	动态表项:通过主动注册或动态查询生成。
		源Spoke根据NHRP协议解析到目的Spoke的公网地址,然后自动更新到NHRP映射表的表项中。
3、NHRP映射表老化: 
		(1)Hub生成Spoke的动态NHRP映射表以后,该表项存在一段时间以后会老化。 
	    (2)由于Spoke和Hub间的静态隧道需要永久存在,因此Spoke就需要定时向Hub发送 注册消
	    息,使Hub的NHRP映射表在老化时间到来前重新计时,确保分支与总部一 直能够维持隧道关系。 
 		(3)如果Spoke的公网地址发生变化,Spoke会重新向总部进行注册。
NHRP协议协商过程
	1:Spoke与Hub间建立MGRE隧道
		(1)管理员在Spoke上手工配置Hub的Tunnel地址和公网地址后,Spoke将向Hub发送注册消
		息(包含了Spoke节点的Tunnel地址和公网地址信息)。 
		(2)Hub从注册请求中提取Spoke的Tunnel地址和公网地址,并生成NHRP映射表,然后与
		Spoke之间建立MGRE隧道。 
		(3)Spoke与Hub之间建立MGRE隧道以后,Spoke将按照网络中部署的路由方案学习路由。
2:NHRP协议协商过程二: Spoke与Spoke间建立MGRE隧道
		(1)Spoke与Hub之间的MGRE隧道建立完成后,Spoke 与Spoke之间将通过该隧道,发送
		NHRP地址解析请求给对方,获取对端的公网地址,并生成NHRP映射表,然后建立Spoke与
		Spoke之间的MGRE隧道。
		(2)Spoke与Spoke之间建立MGRE隧道的方式按照路由部署方案的不同,分为如下两种方式:
		Normal方式(解析下一跳)
		当DSVPN采用分支节点相互学习路由方案时,源Spoke可以学习到目的Spoke的 Tunnel地址
		(在该路由部署方案下,目的Spoke的Tunnel地址等同于源Spoke到目 的Spoke路由的下一跳地址)
		,因此源Spoke将以目的Spoke的Tunnel地址为索引 ,查找其公网地址。 
		Shortcut方式(shortcut)
		当DSVPN采用分支节点路由汇聚到总部时,所有Spoke的路由下一跳全部都是Hub 的Tunnel地址。
		源Spoke无法学习到目的Spoke的Tunnel地址,因此,源Spoke只能 以目的Spoke的私网网段查找
		其公网地址。