请参考下图: R1 和 R4 之间建立了一条 GRE 隧道。隧道源是具有 IP 地址的 R1 接口172.16.0.1/16
隧道目标是具有 IP 地址的 R4 接口192.16.0.2/16
172.16.0.0/16和192.16.0.0/16网络之间存在IGP可达性。因此,我们提出如下隧道。
在 R1 上
R1(config)#interface tunnel 1
R1(config-if)#tunnel source 172.16.0.1
R1(config-if)#tunnel destination 192.16.0.2
R1(config-if)#ip address 8.8.8.1 255.0.0.0
在 R4 上
R4(config)#interface tunnel 1
R4(config-if)#tunnel source 192.16.0.2
R4(config-if)#tunnel destination 172.16.0.1
R4(config-if)#ip address 8.8.8.2 255.0.0.0
目标是4.4.4.4使用 Source 作为ping1.1.1.1
Q1:数据包被封装后会是什么样子?请从外部源 IP 地址、外部目标 IP 地址、内部源 IP 地址、内部目标 IP 地址、GRE 头等方面进行说明。
A:外部源 IP 地址:8.8.8.1
外部目标 IP 地址:8.8.8.2
内部 Src IP 地址:1.1.1.1
内部目标 IP 地址:4.4.4.4
Q2:由于 R2 和 R3 不知道隧道,当数据包到达他们时,他们将如何看到?他们会看到什么源和目标 IP 地址?他们为什么不丢弃数据包?
A:R2 和 R3 不知道隧道。因此他们不知道8.0.0.0子网。所以当数据包到达 R2 时,它只会看到 TUNNEL DESTINATION,例如192.16.0.2,但是 Src IP 地址呢?我的困惑是,原始数据包会被调整吗?此时 Outer Src IP 地址和 Outer Dest IP 地址会发生什么变化?
Q3:GRE隧道(他们说)最常见的优势是支持多播(因此我们可以在隧道上运行路由协议,因为路由协议需要多播。这是唯一的优势吗?
A:我想这是最大的优势
Q4:要启动隧道本身,我们需要确保 Tunnel Source 和 Destination 是可达的(比如通过 IGP),那么它与 Q3 有什么不同?我的意思是,要引入隧道本身,我们需要 IGP 可达性(这也需要多播)。
答:我不确定这一点。
我已经用我自己的答案更新了帖子。如有错误请指正。
