我已经阅读了很多关于交换机如何在 LAN 内转发的文章,但很少了解交换机如何与路由器通信。
交换机何时向路由器发送数据包?是在同一局域网内找不到收件人吗?
我已经阅读了很多关于交换机如何在 LAN 内转发的文章,但很少了解交换机如何与路由器通信。
交换机何时向路由器发送数据包?是在同一局域网内找不到收件人吗?
这有点取决于。
交换机的正常主要操作是根据目标 MAC 地址将帧从 L2 域上的一台主机转发到另一台主机。因此,从这个意义上说,如果交换机接收到的帧以路由器的 MAC 地址作为目的地,则交换机只会将帧转发到路由器。
但是,如果它是管理型交换机,那么它也充当网络上的主机以及 L2 设备。因此,需要路由的管理流量(即到不同子网/网络上的主机)将由交换机发送到路由器(假设正确的路由/默认网关到位)。
交换机不发送数据包,它们发送帧。交换机只在接口之间转发二层帧。对于交换机来说,路由器只是另一台主机。当交换机有一个寻址到路由器 MAC 地址的帧时,它会与路由器通话。
根据您提出问题的方式,我认为要知道的重要一点是,数据包是否应该进入路由器的决定是由交换机做出的,而是由该 LAN 上的发送主机做出的。
主机(PC 或路由器)确定目的地不在本地网络上,需要转发到路由器。如果是,则主机将目标 MAC 地址设置为路由器的目标 MAC 地址。然后交换机根据 MAC 地址转发数据包。它不知道是路由器还是其他什么东西。
开关有不同的风格 JavaDeveloper。为什么需要开关?因为您希望多于 2 台主机共享一个公共通信介质。如果您有 2 台 PC 并且它们彼此相距不远,您可以在它们之间连接以太网电缆,分配 IP 地址并开始通信。如果你有 15 台电脑怎么办?然后你想要一个共享的媒体,一个所有人都可以使用的聚会场所。
让我们继续用同样的比喻。您插入交换机,进行布线,采用 IP 分配机制并为每个分配一个 192.168.1.x/24 地址。你会看到他们可以联系到其他人。您可以在一个文件夹上创建共享文件夹并从其他人发送/接收文件,您已连接。
现在想象一下,您希望您和邻居的 PC 进行通信,他使用不同的子网,而且您没有足够的以太网端口。您现在需要另一种机制来路由你们两人之间的流量。您找到了一个有两个接口的路由器,并将一根电缆从您的交换机连接到一个接口,将另一根电缆从邻居的交换机连接到另一个接口。为什么您将这条电缆插入交换机而不是打印机?因为每个人都在那里并且可以使用。如果从路由器的角度看世界,我每边有 2 个网络,一个说德语,另一个说法语。为了能够让你们 2 交流,它必须说两种语言。这就是为什么在每个路由器接口上,您将每个子网的 IP 地址分配给正确的一侧(您的将是 192.168.1.x/24)。他是你通往邻居家的虚拟大门。如果您的网络需要与邻居通信,您必须敲虚拟的门。您刚刚在路由器接口上分配的地址是您的网络通往另一个网络的网关,这是否合理?如果您有一台仅与打印机通信的 PC,您不需要为他分配网关地址,为什么要?他总是待在家里。
交换机何时与路由器通话?当需要联系其他相邻或可达的网络时。
(正如其他人所写的那样,有可以从其他网络分配 IP 地址的第 3 层交换机,使您可以与那里的所有人见面,但我不会谈论那个。我写得很长,请不要误会我的意思,有其他可以使用此线程的人)
希望这可以帮助。