路由器内部是否有多个 DLL?

网络工程 路由 路由器 第 2 层 第 3 层
2022-02-23 20:17:17

我遇到了一个真/假答案类型的练习题。声明是:

路由器具有将与 2 个数据链路层交互的单个网络层”。

答:是的(没有给出解释)

在此处输入图像描述 .我知道N/w层对于路由器上的所有接口都是通用的(Nw层由os实现)。

路由器上的DLL接收到传入的数据包,将其传递给上面的N/W层,N/W层使用路由表找到合适的接口并将数据包转发到该接口。为此,数据包必须再次通过路由器中的 DLL。

我的问题是路由器是否有多个 DLL(多个 NIC)具有不同的 mac addr(因为 Mac addr 基于 NIC),每个都与它们相应的接口相关联,以便接收 DLL 将数据包传递到上面的 NL 以及在相同数据包的传出期间NL 将它传递给适当接口的 DLL,然后再将它传递给下一跳?

或者

路由器只有一个 DLL处理路由器上的所有接口(DLL->NL->DLL),并且数据包通过路由器中的同一个 DLL两次(在传入和传出期间)?可以忽略路由器中 DLL 中显示的区别上图?

1个回答

是的 - 路由器可能会在其每个(子)接口上与不同的数据链路层网络(即 L2 段)通信。在不同的物理接口上,您甚至可以有不同的 L2 协议(在实践中很常见)。

我的问题是路由器是否有多个 DLL(多个 NIC)具有不同的 mac addr(因为 Mac addr 基于 NIC),每个都与它们相应的接口相关联,以便接收 DLL 将数据包传递到上面的 NL 以及在相同数据包的传出期间NL 将它传递给适当接口的 DLL,然后再将它传递给下一跳?

是的。路由器有两个或多个接口(不一定是真正的 NIC),每个接口通常连接到不同的 L2 段(或数据链路层实例,我认为您的意思是 DLL)。

路由器将接收到的数据包转发到到达目的地的下一跳(下一跳也可以是目的地本身)。为此,路由器使用提供数据帧的底层 L2,并且通常需要寻址,可能通过 MAC。