引入
GRE VPN本质上利用了一个网络层封装技术GRE,并没有对VPN有过多规范,而且没有信息加密
协议A承载协议里面如果是IPv4协议的话协议号字段GRE的协议号是47号,
协议B载荷协议如果是IPv4,GRE类型号字段为0x0800
工作流程:
1.隧道起点路由查找
2.加封装
3.承载协议路由转发
4.中途转发
5.解封装
6.隧道终点查找
详细说明:
1.隧道起点路由查找
假设内网A的10.1.1.1要访问,内网B的10.1.3.1,开始先发送报文到RA查找路由表
发现出接口是一个虚拟的Tunnel接口
2.加封装
发现是隧道接口后,对数据包进行GRE封装,把源地址203.1.1.1和目的地址203.1.1.2封装
进新的IP头部
3.承载协议报文路由转发
承载协议报文按照自己正常的路由进行转发
4.中途转发
5.解封装
当数据报文到达目的地址时,拆开报文
一、发现IP目的地址是自己
二、检查IP头部发现协议号是47号
三、解开IP头检查GRE头部
四、检查私网地址,然后发给Tunnel接口转发
6.隧道终点路由查找:根据路由表RB转发
考虑因素:
1.连接私网的网络接口和Tunnel接口是同一个AS
2.公网接口属于公网AS
Tunnel:
静态配置:手工配置目的隧道接口IP
动态配置:把两个内网看从一个AS,然后在私网接口和Tunnel接口开启路由协议
如图,当中间链路断开的时候,内网边界的路由器接口未发送故障,但是RTA接口未故障
这时就会导致信息接收不到,这时应景产生的措施就是RTA每隔一段时间会发送Keep live报文
当三次没收到就会切换备份线路,但是如果是动态路由协议就会自动检测线路,就不用该报文
实验配置命令
支持校验和识别关键字
优点:通过实验,我们配置命令非常简单,基本上没有多少时间,也不需要复杂的操作
缺点:通过实验可以看出来,我们能直接打开数据报文,看到里面的封装的数据,载荷数据就是一个裸奔的状态
总结:GRE VPN就是在原来的网络,重新封装上新的网络头部,进行通信,GRE兼容性非常好,配置命令简单,能在各个网络的应用场景下面适用,但是致命的缺点就是没有安全措施,在网络中完全属于一个裸奔的状态。