乐趣区

关于网络:GRE隧道是什么他的作用是什么

在学习 GRE 隧道之前,咱们首先须要理解 GRE 隧道是什么,它的作用是什么。

通用路由封装 (GRE) 是一种协定,用于将应用一个路由协定的数据包封装在另一协定的数据包中。“封装”是指将一个数据包包装在另一个数据包中,就像将一个盒子放在另一个盒子中一样。GRE 是在网络上建设间接点对点连贯的一种办法,目标是简化独自网络之间的连贯。它实用于各种网络层协定。

要理解其工作原理,请想像一下汽车和渡轮之间的区别。汽车在海洋上行驶,而渡轮在水上行驶。汽车通常不能在水上行驶,然而能够将汽车装载到渡轮上。

在这个类比当中,地形类型好比是反对某些路由协定的网络,而车辆则好比是数据包。GRE 是一种将一种类型的数据包装载到另一种类型的数据包中的形式,以便第一个数据包能够穿梭它通常无奈穿梭的网络,就像一种类型的运输工具(汽车)被装载到到另一种类型的运输工具(渡轮)上,以便穿梭本来无奈行驶的地形。

例如,假如一家公司须要在位于两个不同办公室的局域网(LAN)之间建设连贯。两个 LAN 都应用最新版本的 互联网协议 IPv6。然而,为了从一个办公网络达到另一个办公网络,流量必须通过一个由第三方治理的网络 — 该网络有些过期,仅反对较旧的 IPv4 协定。

借助 GRE,该公司能够将 IPv6 数据包封装在 IPv4 数据包中,而后便可通过此网络传输流量。回到那个类比,IPv6 数据包是汽车,IPv4 数据包是渡轮,而第三方网络则是水。

应用 GRE 还能够克服 IGP 协定的一些局限性。

例如,RIP 路由协定是一种间隔矢量路由协定,最大跳数为 15。如果网络直径超过 15,设施将无奈通信。这种状况下,能够应用 GRE 技术在两个网络节点之间搭建隧道,暗藏它们之间的跳数,扩充网络的工作范畴。

上面咱们来做个小试验来体验一下 GRE 隧道。

图 1 GRE 拓扑

对 AR1 做上面的配置:

创立 Tunnel 接口

interface Tunnel0/0/1

配置 IP 地址

ip address 20.1.12.1 255.255.255.0

配置 Tunnel 接口的隧道协定

tunnel-protocol gre

配置 Tunnel 源地址

source 10.1.12.1

指定 Tunnel 接口的目标 IP 地址

destination 10.1.12.2

配置一条动态路由指向 Tunnel

ip route-static 192.168.2.0 24 Tunnel 0/0/1

AR2 上的配置与下面相似,这里就不再列出了。

咱们在 PC1 上 pingPC2。

咱们抓取 AR1 与 AR2 之间传递的 GRE 报文。

Frame 3: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0

Ethernet II, Src: HuaweiTe_53:13:29 (00:e0:fc:53:13:29), Dst: HuaweiTe_d3:05:4f (00:e0:fc:d3:05:4f)

Internet Protocol Version 4, Src: 10.1.12.2, Dst: 10.1.12.1

Generic Routing Encapsulation (IP)

Flags and Version: 0x0000

Protocol Type: IP (0x0800)

Internet Protocol Version 4, Src: 192.168.2.1, Dst: 192.168.1.1

Internet Control Message Protocol

能够看到外层的 IP 报文源目 IP 地址别离为 10.1.12.2,10.1.12.1。内层源目 IP 地址则成了 192.168.2.1,192.168.1.1。实现了在 AR1 与 AR2 之间的通明传输。

咱们可能很分明的看到从 PC1 到 PC2 传递的数据,这带来了安全隐患。咱们能够对传递的数据进行加密解决。

而 GRE 自身并不反对加密,因此通过 GRE 隧道传输的流量是不加密的。咱们将 IPSec 技术与 GRE 相结合,先建设 GRE 隧道对报文进行 GRE 封装,而后再建设 IPSec 隧道对报文进行加密,这样就只能够保障报文传输的完整性和私密性。

咱们下一期来解说 IPSec 是如何进行报文加密的。

明天的分享就到这里啦。

退出移动版