Насколько я понимаю, сетевой коммутатор обрабатывает трафик «интеллектуально» таким образом, что он распространяет пакеты только на свой порт, где он знает, что находится приемник (в отличие от концентратора, который перебирает все данные на все порты).
Да, это правильно.
Поэтому коммутатору необходимо помнить все адреса хостов, связанных с ним. Если хост не найден, пакет отправляется по маршруту по умолчанию (обычно восходящая связь с более широкой сетью)
Ну, не совсем. Это правда, что коммутатор запоминает, какие хосты подключены к какому порту (обычно, наблюдая MAC-адреса пакетов, поступающих на порты). Однако коммутатор обычно не знает о «маршруте по умолчанию», так как это концепция более высокого сетевого уровня. Коммутаторы работают на уровне 2 модели OSI (уровень линии передачи данных). «Маршрут по умолчанию» - это концепция, используемая для маршрутизации, которая происходит на уровне 3 (сетевой уровень).
Поэтому у коммутатора нет «маршрута по умолчанию». Если он не знает MAC-адрес назначения, он просто отправляет пакет на все порты (по крайней мере, в начале, это все, что он может сделать - это известно как «флудинг»). В любом случае в сети Ethernet каждый пакет должен быть адресован локальному MAC-адресу, иначе он никогда не будет доставлен. Пакеты, отправленные «в Интернет», по-прежнему получают локальный адрес MAC-адреса, а именно адрес сетевого шлюза по умолчанию. Коммутатор просто передает этот пакет на шлюз по умолчанию, а шлюз (который работает на уровне 3) затем считывает «реальный» пункт назначения с IP-адреса, встроенного в пакет, и отправляет его по пути.
Запоминает ли коммутатор IP-адреса или MAC-адреса для расчета своих решений?
Как объяснено выше, коммутатор не зависит от IP, поскольку работает на более низком уровне абстракции. Таким образом, только MAC-адреса.
Одна из сложностей: Как объяснено в ответ wolfgangsz, есть есть переключатели , которые также работают на слое 3 (так называемые многослойные переключатели ). Они немного сложнее, и они могут обрабатывать IP-адреса и многое другое.