Ethernet: топология сети

Рассмотрим стандартный сетевой коммутатор GigE. Для выполнения переключения, по-видимому, необходимо поддерживать карту MAC-адресов всех вещей, которые существуют в сети, с номерами портов (коммутатора).

  • Как он поддерживает такую ​​карту?
  • Какие протоколы задействованы?
  • Если я изменю топологию одной части сети, получит ли уведомление всю сеть или что-то обнаружится "лениво" (т.е. при первой необходимости)?

3 ответа

Решение

Коммутатор изучает сопоставление MAC-порта, просматривая MAC-адрес источника каждого входящего пакета. Таким образом, коммутатор может строить таблицу Mac постепенно.

Когда ему нужно переслать пакет, он смотрит на MAC-адрес назначения и перенаправляет его на соответствующий порт в соответствии с таблицей Mac. Если он не обнаружил ни одной записи, он отправит пакет на все порты (кроме порта отправки).

Чтобы сохранить только допустимые записи в таблице mac, коммутатор сбрасывает неиспользуемые записи после определенного времени ожидания.

При изменении топологии сети коммутатор может узнать новое местоположение MAC-адреса при получении нового пакета. Это перезапишет старое отображение этого mac-адреса.

Для получения дополнительной информации, посмотрите на эту ссылку.

Он называется таблицей MAC-адресов и содержит port, MAC address и timestamp, Если вы измените топологию, потому что вы отсоедините некоторые кабели, в это время все записи, которые содержат соответствующие порты, будут удалены из таблицы MAC-адресов. Новые записи изучаются после получения каждого первого пакета от оборудования. Некоторые записи останутся для неправильного порта, если оборудование не подключено напрямую, но, как правило, оно будет изучено в ближайшее время из-за широковещательных рассылок. Если от оборудования нет трафика, то оно должно пройти тайм-аут, пока его вход не будет отброшен. Время ожидания обычно составляет 120 секунд.

Взял этот сценарий:

host_a - порт 1 host_b - порт 2

когда host_a хочет отправить пакет на host_b, он нажмет на коммутатор, который запишет mac-адрес host_a, а поскольку host_b еще ничего не отправил, будет транслировать кадр на все порты - host_b заметит, что ему отправлено, и ответит в порту б.

в этот момент коммутатор знает, что host_a имеет mac1 на порту 1, а host_b имеет mac2 на порту 2. любая дальнейшая связь будет осуществляться только через эти порты вместо широковещательной передачи.

  • Как поддерживать карту, зависит от поставщика, но это сводится к списку Mac и связанных с ними портов.
  • в самой простой модели нет протокола на самом деле, за исключением того, что все это происходит на уровне 2 OSI
  • если вы измените топологию, коммутатор удалит старую запись и обновит ее новой (так как host_1 mac1 находится на порте 10 вместо 1).

То, что я сказал, применимо к неуправляемым коммутаторам и может также применяться к управляемым коммутаторам, но там все усложняется. например, cisco может настроить, какой mac приходит на какой порт, они запускают проприетарные протоколы как ISL или открытый текст ссылки dot1q http://en.wikipedia.org/wiki/IEEE_802.1Q

Другие вопросы по тегам