BFD 回显包

网络工程 bfd
2022-02-25 02:16:27

你能解释一下 BFD Echo 数据包是如何在邻居之间转发的吗?

路由器A -------------- 路由器B

回显数据包的源IP 是RouterA,目的IP 也是RouterA。因此当RouterB 收到数据包时,它会将其转发回RouterA(仅使用CEF)。

如果RouterA和RouterB之间有交换机怎么办?

路由器A--------交换机--------路由器B

据我所知,echo 数据包使用 RouterA 作为源 MAC,RouterA 作为目标 MAC。在这种情况下,交换机会将数据包发送回路由器 A。

我哪里错了?

2个回答

目标 IP 地址与 BFD Echo 模式的源 IP 地址相同,查看此数据包捕获https://www.cloudshark.org/captures/ada0ef51d5f5

BFD 运行在第 3 层和第 2 层之上,因此它与 IP 或 MAC 寻址无关。事实上,路由器之间的第 2 层协议(例如 PPP)可能不使用 MAC 地址。

当一台路由器向另一台路由器发送BFD(包括BFD Echo)时,会将另一台路由器的二层和三层地址分别作为帧和报文的目的二层和三层目的地址,但这实际上与 BFD 本身无关,理论上 BFD 独立于用于承载它的第 2 层和第 3 层协议。

Router A向Router B发送BFD时,会使用Router B的二层地址(可能是MAC地址)作为目的二层地址,使用Router B的IP地址作为目的IP地址。Router B向Router A发送BFD时,会使用Router A的二层地址(可能是MAC地址)作为目的二层地址,使用Router A的IP地址作为目的IP地址。发送的 BFD 是 Control 还是 Echo 数据包都没有关系。底层的二层和三层协议需要使用目标路由器的二层和三层目的地址。

例如,当具有 Web 浏览器的主机向 Web 服务器发送请求时,Web 服务器会回复请求主机的目标地址,而不是它自己的地址。BFD同理;它是第 3 层协议的有效载荷,也就是第 2 层协议的有效载荷。