Linux
交換機如何知道哪個交換機發送數據?
例如
SW1 / | \ server1 SW2 SW3 | | \ server2 server3 server4
如果 server3 向 server4 發送數據,
SW3
兩個 MAC 都知道,所以它只是轉發數據。但是如果 server1 向 server4 發送數據呢?如何
SW1
知道使用哪個埠來轉發數據?
通過 MAC 地址。交換機會轉發所有 ARP 請求並建立一個數據庫,哪個 MAC 地址在哪個埠上可用。由於交換機是透明的,這意味著直接或間接通過其他交換機。除非您啟用更高的協議。SW3 甚至不知道 SW1 或 SW2 的存在。
SW3 知道所有伺服器的 MAC 地址以及它自己的埠供它們使用。就這麼簡單。如果您不厭其煩地閱讀任何交換機的規格,總會有一個概念,即這個數據庫可以有多大——大多數情況下是在 1000 多個條目範圍內,任何不是非常便宜的東西。