在网络中,隧道是两个节点之间的逻辑连接 . 在隧道中,有多个物理上构成路径的路由器 . 因此,隧道中的分组基本上通过IP路由 . (如果我错了,请纠正我)

这对于第3层隧道协议是有意义的,其中乘客协议被封装在IP协议中 . 隧道内的Routeres可以利用额外的IP报头将数据包路由到隧道 endpoints .

然而,在第2层隧道协议中,乘客协议被封装在layer2 protcol中 . 例如,在如下的L2TP中,我们可以看到原始数据包(ppp header ppp payload)被封装在L2TP报头,UDP报头,IPSec报头,IP报头,数据链路报头中 . 因为我们已经有了一个外部IP头,它足以将整个数据包通过隧道路由到它的 endpoints . 为什么我们懒得添加另一个额外的数据链接头?我可能遇到的唯一原因是它试图通过ppp链路或WAN链路发送这些数据包,但实际上这个链路是合乎逻辑的,由许多物理路由器组成 . 那么为什么要添加额外的链接层 Headers ?以及如何在隧道中处理此数据包?

enter image description here