У меня относительно тупой вопрос. Предположим, что коммутатор только что запустился и получил кадр, содержащий MAC-адрес назначения для сетевого устройства, которого нет в таблице MAC-адресов.
Что происходит потом? Передает ли он (MAC-адрес ff:ff:ff:ff:ff:ff
) и получает ответы от подключенных устройств, или для этого используется протокол, выделенный? Я не думаю, что коммутатор использует ARP (Address Resolution Protocol)?
switch
mac-address
Рон Мопин
источник
источник
Ответы:
Хороший вопрос. Я отвечу на это с анимацией:
Когда узел A посылает фрейм, коммутатор не имеет ничего в его таблице МАС - адресов. Получив кадр, он записывает MAC-адрес хоста A в соответствие с портом коммутатора . Поскольку он не знает, где находится MAC-адрес назначения, он затопляет кадр всеми портами.
Это гарантирует, что если хост B существует (который на данный момент коммутатор еще не знает), он получит его. Надеемся, что после получения кадра хост B сгенерирует ответный кадр, который позволит коммутатору узнать сопоставление MAC-адреса из возвращаемого кадра.
Вы можете прочитать больше о том, как работает Switch, здесь (откуда я взял анимацию). Я также предложил бы прочитать всю серию статей, чтобы поближе рассмотреть, как пакет перемещается по сети .
Последнее замечание, касающееся терминов « Затопление против трансляции» . Коммутатор никогда не передает кадры, широковещание - это не действие, которое может выполнить коммутатор. Переключатель может затопить только кадр. Вещания просто кадр с назначением MAC - адресом
ffff.ffff.ffff
. Это часто путают, потому что конечный эффект один и тот же, но на самом деле они разные .источник
Коммутатор не использует ARP, но ARP может помочь предотвратить возникновение этой ситуации, по двум причинам:
Если узел A отправляет IP-пакет на узел B, который не находится в его кэше ARP, он сначала отправит запрос ARP (который является широковещательным пакетом и будет автоматически передан коммутатором во все порты). Когда узел B отправляет свой ответ ARP, коммутатор узнает свой MAC-адрес. Таким образом, к тому времени, когда происходит фактическая передача данных, коммутатор уже знает MAC-адреса участников, и ему не нужно загружать пакеты данных.
Многие устройства, когда их связь повышается, отправят бесплатный пакет ARP . Помимо обновления кэшей ARP других узлов в сети, GARP также заполняет таблицу MAC-адресов коммутатора.
IPv6 не использует ARP, но NDP выполняет аналогичную задачу.
Таким образом, в целом, хотя коммутаторы, безусловно, будут заполнять кадры одноадресными адресами, которые они не изучили, это необязательно так часто, как вы думаете, потому что обычно у них будет возможность заранее узнать адреса узлов из широковещательных кадров. Тем не менее, вы можете определенно наблюдать это с коммутатором, у которого была переполнена его таблица MAC или которая только что перезагрузилась.
источник
Когда коммутатор получает кадр, он обновляет свою таблицу MAC-адресов, указав MAC-адрес источника и порт, на котором он получил кадр. Если MAC-адрес назначения отсутствует в его таблице MAC-адресов (неизвестная одноадресная передача), он перенаправляет кадр на все порты, кроме порта, на котором был получен кадр.
источник