L2TP 客户端如何知道将帧转发到哪里?

网络工程 l2tp
2021-07-25 03:47:26

我目前正在研究 L2TP,即使在学习了教程和 RFC 的某些部分之后,我也不太明白。具体来说,当通过 L2TP 连接时,客户端如何知道将数据帧转发到哪里?

例如,在常规以太网中,客户端使用 ARP 找出它需要发送到的 MAC 地址,将其写入目的地,然后发送。ARP 是否通过 L2TP 工作并且目标是隧道另一端设备的 MAC 地址?或者它是否使用路由器的 MAC 地址作为其帧的目的地?还是我完全误解了这一点?

提前感谢您的任何答案!

2个回答

或者它是否使用路由器的 MAC 地址作为其帧的目的地?

是的,完全正确。VPN 路由器通常使用代理 ARP 来代表实际目标主机回答 ARP 查询。当路由器收到数据包时,它们被转发到实际的目标主机。

来自维基百科

代理 ARP 是一种技术,通过该技术,给定网络上的设备可以回答对不在该网络上的网络地址的 ARP 查询。ARP 代理知道流量目的地的位置,并提供自己的 MAC 地址作为(表面上是最终的)目的地。然后,“捕获的”流量通常由代理通过另一个接口或隧道路由到预期目的地。

ARP 是否通过 L2TP 工作并且目标是隧道另一端设备的 MAC 地址?或者它是否使用路由器的 MAC 地址作为其帧的目的地?

这取决于 l2tp 设置。

如果它使用 BCP(桥接控制协议)PPP 扩展,则 l2tp 的工作方式类似于以太网(转发 L2 帧),因此您的第一个假设是正确的。

如果它是简单的 l2tp(仅转发 L3 数据包)它通过路由或通过路由和 arp 操作(Arp 代理或其他)的组合转发,那么您的第二个假设是正确的。