上QQ阅读APP看书,第一时间看更新
第2章 GRE
2.1 GRE技术简介
GRE是一项由Cisco公司开发的轻量级隧道协议,它能够将各种网络协议(IP协议与非IP协议)封装到IP隧道内,并通过IP互连网络在Cisco路由器间创建一个虚拟的点对点隧道链接。将GRE称为轻量级隧道协议的主要原因是,GRE头部较小,因此用它封装数据效率高。但GRE没有任何安全防护机制,因此后面章节中讲到的GRE Over IPSec 和DMVPN技术,都是使用IPSec来对GRE进行保护的。
GRE是一种典型的三层隧道封装技术,其封装结构如图2-1所示。
图2-1 GRE的封装结构
GRE封装后的数据主要由4个部分组成。其中内层IP头部和内层实际传递数据为封装负载(封装之前的数据包)。在内层IP头部之前添加一个GRE头部,再在GRE头部之前,添加一个全新的外层IP头部,从而实现GRE技术对原始IP数据包的封装。
GRE 技术的主要问题就是对封装负载不提供任何安全防护,在图 2-2 所示的 GRE 抓包实例中,可以清楚地看到 GRE数据包的外层IP头部、4个字节的GRE头部,以及内层IP头部和用户数据。其中,内层 IP 头部的源为 66.1.1.2,目的是66.1.1.1,用户数据为ICMP数据包,这也再次证明GRE技术不对它包裹的数据进行任何安全防护,我们可以通过抓包技术轻松地获取GRE传输的数据。
图2-2 GRE抓包实例分析