通用路由封装是将IP数据包封装在GRE标头中的一种方法,该报头隐藏了原始IP数据包。此外,在GRE头上方添加了一个名为delivery header的新头,其中包含新的源和目标地址。
GRE标头用作新的IP标头,而Delivery标头包含新的源和目标地址。只有配置了GRE的路由器才能解密和加密GRE标头。原始IP数据包进入路由器,以加密形式传输,并像原始IP数据包经过隧道一样从另一个GRE配置的路由器中出现。因此,此过程称为GRE隧道。
通过GRE隧道路由:
下图是任何企业网络的一部分。 PC1要与服务器通信。 PC1将数据包发送到服务器。路由器R1将IP数据包从其Gi0 / 1接口转发到R2的Gi0 / 2接口,并且数据包将到达其目标服务器(10.20.2.2)。但是,当在路由器上配置GRE时,它们将使用称为隧道接口的虚拟接口,而不是普通路由器的接口。该虚拟接口使用除最初配置的路由器接口IP地址以外的新IP地址。这些新地址来自公司的IP地址池列表。
在路由器上配置GRE之后,当PC1将数据包发送到子网10.20.2.0/24中的服务器时。路由器R1接收此IP数据包,将原始IP数据包封装在GRE报头中,在Delivery报头中添加新的隧道接口IP地址10.40.20.1作为源地址,并添加10.40.20.2作为目标地址,并将其发送到隧道接口之外(tunnel0 )。
GRE数据包现在通过各种路由协议定义的网络中的路径传播,并到达R2的隧道接口(隧道1)。 R2在接收到GRE数据包后,对该数据包进行解密,即删除传递和GRE报头。 R2现在根据原始目标地址将IP数据包转发到服务器。启用GRE的路由器的IP路由表也将更改,并包含如图所示的信息。