Я много читал о том, как коммутаторы работают в локальной сети, но мало о том, как коммутатор общается с маршрутизатором.
Когда коммутатор отправляет пакет на маршрутизатор? Это когда он не находит получателя в той же локальной сети?
Это отчасти зависит.
Обычная основная операция для коммутатора - пересылка кадров с одного хоста в домене L2 на другой хост на основе MAC-адреса назначения. Таким образом, в этом смысле коммутатор будет пересылать кадры маршрутизатору, только если полученный кадр имеет MAC-адрес маршрутизатора в качестве пункта назначения.
Однако, если это управляемый коммутатор, он также выступает в качестве хоста в сети, а также в качестве устройства L2. Таким образом, управляющий трафик, который необходимо маршрутизировать (т. Е. На хосты в другой подсети / сети), будет отправляться коммутатором на маршрутизатор (при условии наличия правильной маршрутизации / шлюза по умолчанию).
Коммутаторы не отправляют пакеты, они отправляют кадры. Переключатель только пересылает кадры уровня 2 от интерфейса к интерфейсу. Для коммутатора маршрутизатор - это просто еще один хост. Коммутатор обращается к маршрутизатору, когда у него есть кадр, адресованный MAC-адресу маршрутизатора.
источник
Основываясь на том, как вы сформулировали свой вопрос, я думаю, что важно знать, что решение о том, должен ли пакет идти на маршрутизатор или нет, принимается коммутатором, а не хостом-отправителем в этой локальной сети.
Хост (ПК или маршрутизатор) определяет, что пункт назначения не находится в локальной сети и что его необходимо перенаправить на маршрутизатор. Если это так, хост устанавливает MAC-адрес назначения на адрес маршрутизатора. Затем коммутатор пересылает пакеты на основе MAC-адреса. Он не знает, маршрутизатор ли это или что-то еще.
источник
Переключатели бывают разных вкусов JavaDeveloper. Зачем вам нужен переключатель? Потому что вы хотите, чтобы более 2 хостов использовали общую коммуникационную среду. Если у вас есть 2 компьютера, и они не далеко друг от друга, вы можете подключить кабель Ethernet между ними, назначить IP-адреса и начать общение. Что делать, если у вас 15 компьютеров? Затем вы хотите иметь общий носитель, место встречи, где все доступно.
Давайте продолжим по той же аналогии. Вы подключили коммутатор, подключили кабели, использовали механизм распределения IP и назначили каждому адрес 192.168.1.x / 24. Вы увидите, что они могут достичь других. Вы можете создать общую папку на одной и отправлять / получать файлы от других, вы подключены.
Теперь представьте, что вы хотите, чтобы вы и ваши соседи общались, он использует другую подсеть, плюс вам не хватает портов Ethernet. Теперь вам нужен еще один механизм, который будет направлять трафик между вами. Вы нашли маршрутизатор с двумя интерфейсами и подключили кабель от вашего коммутатора к одному интерфейсу, а другой кабель от коммутатора ваших соседей к другому интерфейсу. Почему вы подключили этот кабель к коммутаторам, а не к принтеру? Потому что все есть и доступны. Если вы видите мир с точки зрения маршрутизатора, у меня есть 2 сети с каждой стороны, одна говорит по-немецки, другая говорит по-французски. Чтобы иметь возможность общаться с вами, он должен говорить на обоих языках. Вот почему на каждом интерфейсе маршрутизатора вы назначаете IP-адрес из каждой подсети для правильной стороны (ваш будет 192.168.1.x / 24). Он ваши виртуальные ворота в дом вашего соседа. Если вашей сети нужно общаться с соседями, вам нужно постучать в виртуальную дверь. Адрес, который вы только что присвоили на интерфейсе маршрутизатора, является шлюзом вашей сети для другой сети, что имеет смысл, верно? Если у вас есть компьютер, который взаимодействует только с вашим принтером, вам не нужно назначать ему адрес шлюза, почему вы должны? Он всегда остается дома.
Когда коммутатор общается с маршрутизатором? Когда нужно связаться с другими соседними или доступными сетями.
(как написали другие люди, есть коммутаторы уровня 3, которым можно назначать IP-адреса из других сетей, что позволяет вам встретиться там со всеми, но я не буду об этом говорить. Я долго писал, пожалуйста, не поймите меня неправильно, есть другие люди, которые могут использовать эту тему)
Надеюсь это поможет.
источник
Обычный (уровень 2) коммутатор отправляет кадры с одного порта (вход) на другой порт (выход) на основе MAC-адреса назначения в кадре. Он будет искать свою таблицу MAC
источник
Хост упакует пакет / кадр с MAC-адресом маршрутизатора, основываясь на знании того, находится ли желаемая конечная точка в той же подсети (используется маска). Если он не находится в подсети или сегменте сети, он затем перенаправит пакет / кадр на шлюз по умолчанию на сегменте (маршрутизаторе), который сначала пройдет через подключенный коммутатор. Коммутатор, знающий, что MAC-адрес не подключен к устройству на входящем интерфейсе, затем запросит таблицу CAM и перенаправит кадр из необходимого интерфейса, если информация MAC указана для желаемого шлюза (маршрутизатора). Если нет, то кадр будет многоадресным из всех портов с arp, запрашивающим желаемый mac-адрес, пока он не получит ответ от DGW (маршрутизатора), который затем начнет процесс установления соединения и необходимой связи. Который' в двух словах. Надеюсь, я не пропустил ни одной важной детали.
источник