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