1. GRE隧道基础知识
GRE是一种隧道协议,可以在IP隧道内封装各种网络层协议数据包类型,在隧道远端的路由器之间创建虚拟点对点链路。 如图所示,GRE隧道用于隧道IP流量以及非IP流量,例如IPX和AppleTalk。除了引用的协议数据包类型之外,GRE隧道还常用于通过IP传输网络隧道传输IPv6和MPLS协议流量。在这些情况下,GRE隧道连接隔离的IPv6网络,并代替通常由RSVP和LDP创建的隧道。
![6f97a4cb66b95ad04ed76977b0424b93.png](https://i-blog.csdnimg.cn/blog_migrate/9d37e501cedcd8324f02210c3911206e.jpeg)
为了将GRE分组封装在IP分组中,添加GRE报头和外部IP报头。GRE报头和外部IP报头为数据包添加了额外的24字节开销。 外部头部包括源IP地址,隧道的入口点和目标IP地址,也就是隧道的出口点。除了TTL字段之外,内部数据包(也称为有效负载数据包)不会被修改。封装在IP数据包中的GRE数据包使用IP协议类型47。
思科开发了GRE协议,目前已经被包括Juniper在内的很多厂商支持,RFC1702定义了GRE over IPv4 networks。
2. 实验拓扑及环境描述
为了对GRE隧道有一个初步认识,我们准备了如下实验:
![7fb32187a9ff2f545cb8e6f4d913325b.png](https://i-blog.csdnimg.cn/blog_migrate/61e15e8a2829eb55f2074d2effcdc863.jpeg)