logo
Программа Сетевой академии Cisco CCNA 3 и 4 (Вс

Как коммутатор узнает адреса устройств

Коммутатор сети Ethernet может узнать адреса всех устройств сети путем считывания МАС-адресов источников каждого получаемого фрейма каждого получаемого фрейма данных и регистрируя порт, через который фрейм поступил на коммутатор. После этого коммутатор добавляет эту информацию в свою базу данных пересылки, называемую также таблицей коммутации. Адреса регистрируются в этой таблице динамически, т.е. по мере поступления. Это означает, что по мере считывания новых адресов они анализируются и хранятся в адресуемой по содержанию памяти (content- addressable memory — САМ). Если адрес источника в полученном фрейме отсутствует в памяти САМ, то он анализируется и хранится для будущего использования.

При каждой записи адреса в память регистрируется текущее время. Это позволяет хранить адрес в течение заданного периода времени. При каждом использовании этого адреса или обнаружения его в памяти САМ (при анализе новых адресов) он получает новую метку времени. Если в течение определенного времени на адрес не было ссылок, то он удаляется из списка. Путем удаления устаревших адресов память САМ поддерживает точную и полнофункциональную базу данных пересылки. Это особенно важно если у рабочей станции заменяется карта сетевого интерфейса (сетевой адаптер).

Если станции А требуется передать данные станции В, то посылаемые ею данные проходят через коммутатор, как показано на рис. 7.6. Следует помнить о том, что при прохождении данных по сети коммутатор функционирует на 2-м уровне, т.е. просматривает лишь адрес управления доступом к среде, называемый МАС-адресом (Media Access Control — MAC). Как показано на рис. 7.7, по мере прохождения фреймов данных через коммутатор осуществляется просмотр МАС-адресов источников и, при необходимости, их сохранение в адресной таблице. 

Рис. 7.6. Пример выполнения коммутации в среде локальной сети LAN

При поступлении пакета на порт коммутатора в этой таблице создается позиция, указывающая МАС-адрес станции, отправившей этот пакет, и порт, на который он поступил.

При необходимости переслать фрейм коммутатор анализирует его МАС-адрес и просматривает свою память САМ в поисках порта, с которого можно было бы отправить фрейм по этому адресу. Если коммутатор не находит в свой таблице пересылки позиции, соответствующей этому адресу, то он рассылает этот фрейм со всех своих портов, за исключением того, на котором он был получен (такая рассылка называется лавинной, flood), как показано на рис. 7.8. Если станция А посылает фрейм станции В, то коммутатор рассылает его со всех своих портов, поскольку пункт назначения неизвестен. Однако когда станция В отвечает станции А, коммутатор рассматривает МАС-адрес станции В как адрес источника и создает для него позицию в памяти САМ. Теперь коммутатору известно, где станция В подсоединена к сети. 

Рис. 7.10. Передача данных от станции В к станции А

Теперь данные пересылаться через коммутатор от станции А к станции В и при этом не требуется лавинная рассылка. Коммутатор посылает данные только с порта 3, поскольку ему известно расположение станции А в сети. Как показано на рис. 7.9, станция В посылает данные коммутатору. На рис. 7.10 показано как коммутатор пе­редает данные от станции В к станции А. Первоначальная передача данных указала коммутатору откуда поступил МАС-адрес, что позволило ему в дальнейшем переда­вать данные по сети более эффективным образом.