Linux

交換機如何知道哪個交換機發送數據?

  • March 21, 2017

例如

                 SW1
            /    |      \
        server1  SW2    SW3
                 |      |     \
            server2   server3 server4

如果 server3 向 server4 發送數據,SW3兩個 MAC 都知道,所以它只是轉發數據。

但是如果 server1 向 server4 發送數據呢?如何SW1知道使用哪個埠來轉發數據?

通過 MAC 地址。交換機會轉發所有 ARP 請求並建立一個數據庫,哪個 MAC 地址在哪個埠上可用。由於交換機是透明的,這意味著直接或間接通過其他交換機。除非您啟用更高的協議。SW3 甚至不知道 SW1 或 SW2 的存在。

SW3 知道所有伺服器的 MAC 地址以及它自己的埠供它們使用。就這麼簡單。如果您不厭其煩地閱讀任何交換機的規格,總會有一個概念,即這個數據庫可以有多大——大多數情況下是在 1000 多個條目範圍內,任何不是非常便宜的東西。

引用自:https://serverfault.com/questions/839580