Sat*_*ato 2 networking linux switch linux-networking
例如
SW1
/ | \
server1 SW2 SW3
| | \
server2 server3 server4
Run Code Online (Sandbox Code Playgroud)
如果 server3 向 server4 发送数据,SW3知道两个 MAC,所以它只是转发数据。
但是如果 server1 向 server4 发送数据呢?如何SW1知道使用哪个端口转发数据?
通过 MAC 地址。交换机确实转发所有 ARP 请求并建立一个数据库,哪个 MAC 地址在哪个端口上可用。由于交换机是透明的,这意味着直接或间接通过其他交换机。除非您启用更高的协议。SW3 甚至不知道 SW1 或 SW2 存在。
SW3 知道所有服务器的 MAC 地址以及它自己的端口供它们使用。就这么简单。如果您费心阅读任何交换机的规格,总会有一个概念,这个数据库可以有多大——大多数情况下,对于任何不太便宜的东西来说,都在 1000 多个条目的范围内。