Назад | Перейти на главную страницу

Как коммутатор узнает, с какого коммутатора отправлять данные?

Например

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

Если server3 отправляет данные на server4, SW3 знает оба MAC, поэтому просто пересылает данные.

Но что, если server1 отправит данные на server4? Как SW1 знаете, какой порт использовать для пересылки данных?

По MAC-адресу. Коммутаторы пересылают все запросы ARP и создают базу данных, в которой MAC-адрес доступен на каком порту. Поскольку переключатели прозрачны, это означает прямое или косвенное использование других переключателей. Если вы не включите более высокие протоколы. SW3 даже не знает о существовании SW1 или SW2.

SW3 знает MAC-адреса всех серверов и какие из собственных портов для них использовать. Вот так просто. Если вы потрудитесь прочитать спецификации любого коммутатора, всегда есть представление о том, насколько большой может быть эта база данных - в основном это диапазон более 1000 записей для чего-то не очень дешевого.