当设备通过以太网电缆连接到路由器时,路由器是否像交换机一样?

iPr*_*ram 4 router switch

在我的网络课程中,我了解到路由器将数据发送到网络上的所有计算机,而交换机仅将数据发送到所需的 MAC 地址。

我的问题是,如果设备通过以太网电缆连接到路由器(如 BT-Infinity),数据包是否仍会传输到网络上的所有设备?还是它们只传送到所需的 MAC 地址?

Law*_*ceC 7

在我的网络课程中,我了解到路由器将数据发送到网络上的所有计算机,而交换机仅将数据发送到所需的 MAC 地址。

交换机工作在第 2 层,它使用 MAC 地址来识别主机。交换机只能将移动到该交换机上的另一台主机。假设当您将发送到 MAC 地址时,它与您在同一介质上。

路由器在第 3 层工作,它使用 IP 地址来识别主机。

IP数据包独立于介质;不在私有范围内的地址是全局可访问的。第 3 层具有网络的概念,允许它不关心实际介质(或第 2 层所做的任何事情)。

显然,您有可以直接访问的本地邻居(例如,在您的交换机上,或与您的无线 AP 相关联),然后您可能想与网络外部的主机通信。因此,需要路由器或转发器的概念。同一网络中的主机可以直接相互访问,如果它们不在同一网络中,则需要一个或多个路由器在网络之间进行流量切换。

因此路由器不会向网络上的所有计算机发送数据,而是网络之间转发流量。

我的问题是,如果设备通过以太网电缆连接到路由器(如 BT-Infinity),数据包是否仍会传输到网络上的所有设备,还是仅传输到所需的 MAC 地址?

请记住,大多数消费者“路由器”实际上是路由器和交换机的组合。

如果多台机器连接到一个交换机,则所有设备将仅在以下条件下从源接收流量:

  • 源已经发送了一个广播(第 2 层处理的是帧,而不是数据包)——即一个到目标 mac FF:FF:FF:FF:FF:FF 的帧。这是广播 MAC。寻址到网络广播地址的 IP 数据包可能会导致这种情况发生。

  • 交换机不知道目标 MAC 所在的端口。因此,它用淹没每个端口以试图找到它。它会记住响应来自哪个端口,并且将来仅通过该端口发送该目标MAC 的流量。

  • 交换机忘记了目标 MAC 所在的端口。它会再次做泛滥的事情。交换机可以记住有限数量的 MAC 地址。

  • 路由器所做的一切都没有任何意义。

一个集线器不记得MAC地址,并始终充斥所有帧到所有的端口。但是自从 100Mbit 的网络时代以来,集线器并不常用,我相信只有非常老的路由器才会有内置集线器,而不是内置交换机。如果您的路由器具有千兆 LAN 端口,则 100% 肯定不是集线器。

所以基本上帧只会传送到所需的 MAC,除非交换机之前没有看到该 MAC,或者它是广播 MAC。


小智 0

数据包仅传输到具有指定 MAC 地址的设备。相反,集线器会将数据包发送到所有设备。

为了支持我的论点,这里有一个支持我的答案的页面: http: //en.wikipedia.org/wiki/Router_%28computing%29

如果路由器将数据包发送到每个主机,那么确定最终目的地将是无意义的。

这仅描述了单播数据包,当然路由器可以发送广播和组播数据包,其中多个主机将被寻址。