正如我在这个支持文件中可以find的,为了在两个路由器R1和R2之间configuration一个GRE隧道,我发出以下命令集(mtu和mss省略),
R1
R1(config)# interface Tunnel1 R1(config-if)# ip address 172.16.1.1 255.255.255.0 R1(config-if)# tunnel source 1.1.1.1 R1(config-if)# tunnel destination 2.2.2.2
R2
R2(config)# interface Tunnel1 R2(config-if)# ip address 172.16.1.2 255.255.255.0 R2(config-if)# tunnel source 2.2.2.2 R2(config-if)# tunnel destination 1.1.1.1
我不明白的是,为什么我们在每一端都需要两个地址? 如果我没有错,R1正在获取地址172.16.1.1 (接口)和1.1.1.1 (隧道),R2正在获取地址172.16.1.2 (接口)和2.2.2.2 (隧道)。 每个路由器都充当其他的目的地。 但为什么在每一端分配两个地址? 根据我的(错误)理解,在R1中,如果我们指定172.16.1.1 ,为什么我们需要1.1.1.1 ? 同样的问题适用于R2。
而且,正如我在同一个文件中发现的,进一步的连通性检查是通过使用
R1# ping 172.16.1.2
命令。 所以,至less,1和2地址在连通性testing中不起任何作用。
我感谢你清除上述困惑。
1.1.1.1和2.2.2.2地址是点对点连接上的虚拟端点,它们是stream量从172.16.1.1到172.16.1.2所需的“path”。 GRE是一种在IP内部进行远程协议的协议,如果你想了解一般的VPN的工作原理,那么它就是你需要的一种概念。 它使用IP作为传输层,而不是使用以太网(或其他物理层)。
由于GRE隧道是三层的机制,需要转发表的三层地址。 如果从路由器的angular度来看,它需要知道什么“接口”发送它,然后一旦它在接口,下一步发送它。
另外请注意,您可以在单个路由器上有多个GRE隧道。
如果您不想在隧道上使用IP,请查看第2层隧道。
如果使用接口路由,则不需要GRE隧道的IP地址。 只有使用“下一跳”路由到远程networking时,才需要IP地址。