Типичная сеть кампуса состоит из различных устройств, таких как маршрутизаторы, коммутаторы и межсетевые экраны. Как правило, сеть кампуса использует многоуровневую архитектуру, которая включает в себя уровень доступа, уровень агрегации, базовый уровень и выходной уровень.
А коммутатор - это устройство, наиболее близкое к конечным пользователям, которое используется для подключения терминалов к сети кампуса. Например, устройства отмечены желтым на следующем рисунке. Коммутаторы на уровне доступа обычно являются коммутаторами уровня 2.
Коммутатор уровня 2 работает на втором уровне модели TCP/IP, который является канальным уровнем и пересылает пакеты данных на основе MAC-адресов.
Принцип работы коммутатора
Чтобы соединить несколько хостов в интрасети для простейшего взаимодействия друг с другом, обычно используется коммутатор уровня 2, как показано на следующем рисунке.
Host1 и Host2 подключены к одному и тому же коммутатору уровня 2. В этом случае хосты, подключенные к этому коммутатору, принадлежат одной локальной сети. Хосты имеют IP-адреса в одном сегменте сети и находятся в одном широковещательном домене. Под широковещательной областью понимается область лавинной рассылки кадра широковещательных данных.
Коммутатор поддерживает сопоставление между MAC - адресами и интерфейсами, изучая исходные MAC - адреса кадров Ethernet. Таблица, в которой хранится соответствие между MAC-адресами и интерфейсами, называется таблицей MAC-адресов. В таблице MAC-адресов записывается сопоставление между MAC-адресами и интерфейсами других устройств, изученных коммутатором. При пересылке кадра коммутатор просматривает таблицу MAC-адресов на основе MAC-адреса назначения кадра. Если таблица MAC-адресов содержит запись, соответствующую MAC-адресу назначения кадра, кадр напрямую пересылается через исходящий интерфейс в записи. Если таблица MAC-адресов не содержит записи, соответствующей MAC-адресу назначения кадра, коммутатор выполняет лавинную рассылку кадра на всех интерфейсах, кроме интерфейса, который принимает этот кадр.
В исходном состоянии коммутатор не знает MAC-адрес подключенного хоста. Таким образом, таблица MAC-адресов пуста.
Если Host1 хочет отправить данные на Host2 (предположим, что Host1 получил IP-адрес и MAC-адрес Host2), Host1инкапсулирует кадр со своим собственным исходным IP-адресом и исходным MAC-адресом. После получения кадра коммутатор ищет свою собственную таблицу MAC-адресов. Если в таблице не найдено соответствующей записи, коммутатор считает этот кадр неизвестным одноадресным кадром.
Коммутатор рассылает принятый кадр лавинной рассылкой, поскольку это неизвестный одноадресный кадр. Кроме того, коммутатор записывает MAC-адрес источника и номер интерфейса принятого кадра в таблицу MAC-адресов.
Обратите внимание, что динамически полученные записи в таблице MAC-адресов не всегда действительны. У каждой записи есть срок жизни. Если запись не обновляется в течение срока службы, она будет удалена. Эта продолжительность жизни называется временем старения. Например, время устаревания коммутаторов Huawei серии S по умолчанию составляет 300 с.
Все хосты в широковещательной сети получают кадр, но только Host2 обрабатывает кадр, потому что MAC-адрес назначения является MAC-адресом Host2. Host2 отправляет кадр ответа, который также является кадром одноадресных данных, Host1.
После получения одноадресного кадра коммутатор проверяет свою таблицу MAC-адресов. Если соответствующая запись найдена, коммутатор пересылает кадр через соответствующий интерфейс. Кроме того, коммутатор записывает исходный MAC-адрес и номер интерфейса полученного кадра в таблицу MAC-адресов.
Поведение коммутатора при обработке кадров
Коммутатор обрабатывает кадры тремя способами: лавинная рассылка, пересылка и отбрасывание.
· лавинная рассылка: коммутатор пересылает кадры, полученные от интерфейса, на все другие интерфейсы.
Как показано на этом рисунке:
Сценарий 1: Host1 хочет получить доступ к Host2 и отправляет одноадресный кадр коммутатору. После получения одноадресного кадра коммутатор ищет в таблице MAC-адресов MAC-адрес назначения кадра. Если MAC-адрес назначения не существует в таблице, коммутатор выполняет лавинную рассылку кадра.
Сценарий 2: Host1 хочет получить доступ к Host2, но не знает MAC-адрес Host2. Host1 отправляет на коммутатор пакет запроса ARP, который является широковещательным кадром. Затем коммутатор заполняет широковещательный кадр.
· Пересылка : коммутатор пересылает кадры, полученные от интерфейса, на другой интерфейс.
Как показано на этом рисунке , Host1 хочет получить доступ к Host2 и отправляет одноадресный кадр коммутатору. После получения одноадресного кадра коммутатор находит соответствующую запись в таблице MAC-адресов и пересылает кадр в двухточечном режиме.
· Отбрасывание: коммутатор отбрасывает кадры, полученные от интерфейса.
Как показано на этом рисунке:
Host1 хочет получить доступ к Host2 и отправляет одноадресный кадр коммутатору 1. После получения одноадресного кадра коммутатор 1 ищет в таблице MAC-адресов MAC-адрес назначения кадра. Если MAC-адрес назначения не существует в таблице, коммутатор 1 выполняет лавинную рассылку кадра.
После получения кадра коммутатор 2 обнаруживает, что интерфейс, соответствующий MAC-адресу назначения, является интерфейсом, который принимает кадр. В этом случае коммутатор 2 отбрасывает кадр.