Принцип работы коммутатора: как коммутатор обрабатывает пакет данных после его получения (экспериментируйте и перехватывайте пакеты, чтобы узнать больше)
Принцип работы коммутатора: как коммутатор обрабатывает пакет данных после его получения (экспериментируйте и перехватывайте пакеты, чтобы узнать больше)

Предисловие

В статье «Основы сети» я кратко узнал о принципе работы коммутатора, но до сих пор не знаю, как он работает и как его изучить. Эта статья официально вводит содержание коммутации и рассматривает, как работает коммутатор. .

Почувствуйте хаб

О принципах работы хабов я узнал на базовом курсе, так что экспериментировать особо не придется. Здесь мы используем eNSP для эксперимента, который, оказывается, поддерживает устройство HUB.

Здесь мы используем 192.168.255.1 для проверки связи с 192.168.255.2, а затем захватываем трафик PC3 и смотрим, что произойдет.

Когда вы захватываете трафик ПК3, используйте ПК1 для проверки связи с ПК2, весь трафик может быть получен ПК3. Это принцип работы концентратора. Когда часть данных отправляется, она копируется на все остальные интерфейсы, независимо от того, какой из них используется. ПК Независимо от того, необходимо это или нет, другие недостатки, такие как полудуплекс и домен коллизий, не будут обнаружены. Вы можете просмотреть базовый контент. Следующей заменой этого продукта будет коммутатор.

Понять рабочий процесс коммутатора

Прежде чем понять формальный процесс переключения, давайте рассмотрим функции, предоставляемые им.

  • выключатель в основном работает на уровне канала передачи данных,Возможность чтения заголовка Ethernet
  • Каждый интерфейс имеет независимый аппаратный чип,Работа в полном дуплексе,Когда порт 1 и порт 3 отправляют данные,Не влияет на другой интерфейс,Это обеспечивает изоляцию конфликтных областей и в то же время,Другой интерфейс также может отправлять данные одновременно,Повышение эффективности работы,Это также причина, по которой в корпоративных сетях используются выключатели.
  • Имеет богатый интерфейс для удовлетворения потребностей предприятий.,В настоящее время на рынке представлены основные 8-портовые, 16-портовые, 24-портовые и 48-портовые выключатели.,Выбирайте гибко в соответствии с реальными потребностями.
  • С функцией изучения адреса,Это также умная точка выключателя.,Уметь знать, где находится конкретное местонахождение терминала.,Точная доставка до места назначения,Вместо надежного копирования на все остальные интерфейсы.
  • из экспериментов Понять рабочий процесс коммутатора

Это все та же экспериментальная среда, что и раньше, но HUB заменен коммутатором.

Прежде чем начать, давайте изучим команду. Из вышесказанного мы узнали, что коммутатор имеет функцию изучения адреса, то есть MAC-адреса. В коммутаторе можно использовать отображение MAC-адреса для просмотра изученного MAC-адреса. текущий переключатель. Эта запись называется MAC-адресом. Таблица используется для хранения изученного MAC-адреса. В настоящее время он не изучен, поскольку данные еще не были активированы.

Включите захват пакетов ПК3. Рекомендуется фильтровать его, поскольку коммутатор по умолчанию будет отправлять пакет, который будет мешать нашему перехвату пакетов, а затем использовать ПК1 для проверки связи с ПК2.

Вы обнаружите, что когда вы захватываете пакет сейчас, PC3 получает только один широковещательный пакет. У широковещательного пакета MAC-адрес назначения равен всем F, поэтому коммутатор отправит его на все интерфейсы, кроме интерфейса отправителя, но PC3 не сможет получить остальные. одноадресные пакеты.

В это время содержимое появляется в таблице MAC коммутатора. Это то, что нам нужно понять.

  • MAC-адрес 5489-9856-195f был получен из интерфейса G0/0/3.,Этот интерфейс соответствует PC2.
  • MAC-адрес 5489-98d4-0ac8 был получен из интерфейса GE0/0/1, который соответствует ПК1.
  • Тип — динамический, что означает динамическое обучение. Если это динамическое обучение, оно должно иметь жизненный цикл. Например, если компьютер выключается, соответствующие записи таблицы будут удалены через определенный период времени, поскольку для оптимизации ресурсов. емкость таблицы MAC ограничена, а не бесконечна.
  • Проанализируйте весь процесс обучения адреса автомата.

(1) Когда ПК1 инициирует запрос Ping на ПК2, ПК1 сначала отправит запрос ARP.

Потому что он не знает MAC-адрес ПК2.

(2) После отправки этого пакета данных он будет получен коммутатором G0/0/1. Прочитав информацию заголовка Ethernet, он обнаружит, что MAC-адрес источника — PC1, а MAC-адрес назначения — это F (широковещательный, широковещательный, с указанием всех хостов в локальной сети)

В это время коммутатор сделает две вещи: во-первых, запишет MAC-адрес ПК1 в таблицу MAC-адресов и свяжет его с интерфейсом G0/0/1 (поскольку пакет данных получен от G0/0/1). .

Во-вторых, отправьте этот пакет запроса ARP на все интерфейсы, кроме принимающего интерфейса (все интерфейсы, кроме ПК1).

Вот почему широковещательные сообщения ARP можно увидеть при захвате пакетов PC3.

(3) После того, как коммутатор отправит запрос, ПК2 и ПК3 получат запрос ARP. ПК3 обнаруживает, что запрос предназначен не для него, поэтому отклоняет его. ПК2 обнаруживает, что запрос предназначен для него, поэтому он отвечает ARP. ответ. Это одноадресный ответ. Это также причина, по которой вы его не видите при перехвате пакетов на ПК3. Почему вы его не видите? Это то, что делает переключатель. Когда коммутатор получает этот ответ ARP, он считывает информацию заголовка уровня 2 и обнаруживает, что исходным MAC-адресом является ПК2, поэтому он записывает MAC-адрес ПК2 в таблицу MAC-адресов и связывает его с G0/0/3.

Когда MAC-адрес назначения является MAC-адресом ПК1, он запрашивает таблицу MAC-адресов, чтобы узнать, существует ли запись, соответствующая MAC-адресу и интерфейсу. Он обнаруживает, что MAC-адрес ПК1 существует, поэтому отправляет пакет данных с него. G0/0/1. Причина, по которой ПК3 не может его получить, заключается в том, что коммутатор знает, где находится ПК1, и не отправляет его на все интерфейсы, такие как HUB.

(4) После того, как ПК1 получает ответ ARP, он может инкапсулировать заголовок уровня 2, отправляя таким образом запрос ICMP. После его получения коммутатор таким же образом считывает заголовок уровня 2 и обнаруживает, что MAC-адрес назначения — это ПК2. в таблице MAC есть запись, отправленная с G0/0/3.

(5) ПК2 получает запрос ICMP от ПК1, отвечает ответом ICMP и передает его коммутатору. Коммутатор также считывает заголовок уровня 2 и обнаруживает, что MAC-адресом назначения является ПК1 и отправляется непосредственно с G0/0/1. .

Подвести итог:Его можно найти из описанного выше процесса.,выключатель узнает MAC-адрес, читая исходный MAC-адрес в заголовке Ethernet.,А затем передайте MAC-адрес назначения заголовка уровня 2.,Найдите соответствующий интерфейс в полученной вами таблице MAC-адресов.,Отправьте данные.

  • Предположим, что MAC-адрес назначения не существует в таблице MAC-адресов, как коммутатор с этим справится?

Для завершения этого эксперимента, прежде всего, необходимо выполнить один раз пинг. Рекомендуется закрыть предыдущий захват пакета PC3 и перехватить его снова.

Как обычно, ПК3 по-прежнему видит только пакеты ARP при перехвате пакетов. Предположим, что линия ПК2 повреждена.

При остановке ПК2 (выключении) произошло нечто интересное. Когда pc1пинг pc2, отображается тайм-аут запроса (это объясняется в сообщении об ошибке ICMP, помните, что это связано с тем, что ПК2 выключен, поэтому он, естественно, заблокирован, но это так). Дело в том, что ПК3 действительно получил ICMP-сообщение от ПК1! ! ! ! Не правда ли, это немного странно? Разве на другие интерфейсы не может быть отправлен только MAC-адрес назначения со всеми F?

Здесь мы представим еще одну особенность работы переключателя.

Когда коммутатор получает пакет данных, он считывает заголовок Ethernet внутри и запоминает исходный MAC-адрес в таблице MAC-адресов.

  • Если MAC-адрес назначения полностью F (широковещательный) или многоадресный MAC,Отправлять напрямую со всех интерфейсов, кроме полученных
  • Когда MAC-адрес назначения является обычным MAC-адресом,Проверьте, есть ли в таблице MAC запись для MAC-адреса назначения.,Некоторые из них проходят непосредственно через записанный рот.,Отправка одноадресной рассылки,если не,Со всех полученных интерфейсов, кроме отправленных. Вот что происходит после выключения ПК2, описанного выше.,Из-за физического отключения линии интерфейса G0/0/3.,выключатель удалит все MAC-адреса, полученные G0/0/3.,Поэтому проверьте таблицу MAC-адресов: там указан только MAC-адрес ПК1.,В это время ПК1 обращается к ПК2,Коммутатор обнаружил, что в таблице MAC нет записи MAC компьютера PC2.,Так что возьми весь интерфейс и отправь,Фактически, это немного назад к модели HUB.,HUB - это потому, что физика работает вот так,выключатель Цель этого — найти ПК2,Пусть PC2 ответит,MAC-адрес вы можете узнать самостоятельно,В следующий раз, когда соответствующий пакет данных будет получен, его можно будет отправить напрямую в одноадресной рассылке.,Пересылается на соответствующий интерфейс через таблицу MAC-адресов.
  • В ситуации, когда MAC-адрес назначения одноадресной рассылки не найден в таблице MAC,неизвестный одноадресный кадр,Потому что выключатель не знает, где он находится,Так что только через флуд (Флуд),Этот термин упоминается во многих книгах.,Упомяните об этом здесь.
  • Разница между флудом и широковещательной трансляцией: широковещательная рассылка подразумевает получение широковещательного адреса с четкой целью всех F,Этот кадр данных будет перенаправлен со всех интерфейсов, кроме исходного интерфейса.,Под флудом подразумевается получение кадра с одноадресным адресом назначения.,Но его нет в моей таблице MAC,Принадлежит неизвестному одноадресному кадру,выключатель может принимать только форму затопления,Он также пересылается со всех интерфейсов, кроме исходного.,Надеюсь, будет ответ,Таким образом, выключатель может узнать интерфейс, на котором расположен MAC-адрес назначения.

На этом этапе принцип пересылки данных коммутатора понятен. Таким образом, рекомендуется провести этот эксперимент, чтобы понять весь принцип пересылки.

Просмотр таблицы MAC-адресов устройства H3C

Симулятор H3C такой же, как у компьютеров Huawei Drag 3, затем вынимаем переключатель, соединяем их кабелями и тестируем.

PC3 и PC4 имеют одинаковый адрес настройки, не забудьте включить его.

После включения перехвата пакетов необходимо запустить Wirehsark, но он не запустится автоматически.

В настоящее время по умолчанию коммутатор H3C не имеет записей в таблице адресов.

Запустите терминал командной строки (поэтому раньше для демонстрации использовался eNSP, HCL немного хлопотный)

Феномен тот же, что и у Huawei

Делюсь специальным чехлом (тот же порядок, что и у Huawei H3C)

В некоторых конкретных средах, особенно с серверами, обычно выполняется операция статической привязки MAC-адреса сервера. Например, сервер на рисунке выше подключен к G0/0/3, и вы можете это сделать. на переключателе работают.

Команда: mac-address static [MAC-адрес] [Интерфейс] [VLAN] MAC-адрес При работе MAC-адрес отличается от изображения. В зависимости от вашей реальной ситуации статически установите MAC-адрес сервера на G0/0/. 3 порт. Для привязки один из незнакомых параметров — vlan 1. Об этом мы узнаем в следующей статье. Сначала вы сможете понять, что исходное состояние свитча по умолчанию принадлежит VLAN1.

Видно, что тип поменялся на статический, и проблем с доступом к нему нет. А если в это время появится устройство, выдающее себя за MAC сервера?

Когда для ПК2 установлено значение 192.168.255.3, а MAC-адрес также замаскирован, но когда ПК1 действительно обращается к серверу, маскировка ПК2 не повлияет на сервер. Это преимущество статической привязки, и это также более распространенный вариант. используемый метод на практике, т.к. приоритет статической привязки Он выше динамического, поэтому установка для ПК2 того же IP-адреса и MAC, что и для сервера, не повлияет на сервер. Коммутатор не будет записывать этот MAC-адрес в таблицу MAC. Из приведенного выше представления вы также можете обнаружить, что он существует. отсутствие информации о G0/0/2 обеспечивает стабильность соединения с сервером.

Если я не хочу, чтобы G0/0/3 изучал другие MAC-адреса, могу ли я просто использовать статическую привязку? Да, коммутатор поддерживает функцию, которая может отключить механизм динамического изучения MAC-адресов определенного интерфейса.

  • Оборудование Huawei: интерфейсвниз, mac-address learning disable | mac-address learning disable action discard
  • Оборудование H3C: интерфейс Вниз, отменить mac-address mac-learning enable (Последующее дополнение: если вам нужно запретить ему пересылать трафик других MAC-адресов, вам понадобятся две команды. Первая — ограничить количество MAC-адресов, полученных интерфейсом, mac-адрес max-mac-count 0. Другая команда — правило обработки после достижения верхнего предела. undo mac-address max-mac-count enable-forwarding
  • Другие знания о MAC-адресе
    • Автоматически полученный MAC-адрес будет сохранен в таблице MAC-адресов.,Это относится к динамическому обучению (динамическое/обученное).,Существует ограничение по времени,Будь то продукты Huawei, H3C или Cisco, значение по умолчанию — 300 с.,проходитьdisplay mac-address aging-time Проверять.
    • Huawei через mac-адрес aging-time Эту команду можно использовать для изменения времени динамического старения MAC, если оно изменено на 0 (H3C использует mac-адрес). timer no-aging для изменения), что означает, что он будет существовать постоянно и не устареет. Рекомендуется использовать параметры по умолчанию.
    • Чтобы очистить таблицу MAC-адресов оборудования Huawei H3C, вы можете использовать команду отмены. mac-address :Очистить все записи таблицы MAC. | undo mac-address G0/0/1 : Очистить то, что узнал G0/0/1. | | undo mac-address static убрать статику | undo mac-address динамический: Очистить динамически изученные.
    • Оборудование Huawei H3C статически привязывает MAC через mac-адрес static xxxx-xxxx-xxxx interface vlan x (H3C может поддерживать глобальную конфигурацию и конфигурацию интерфейса, Huawei может поддерживать только глобальную конфигурацию)

Операция

PC_2, pc_3_pc4 задают адрес, а PC4 используется как сервер.

  • ПК_2 не может пропинговать 3 и 4, а затем просмотреть таблицу MAC-адресов (рекомендуется скопировать MAC-адрес для дальнейшего использования)
  • Отключите изучение MAC-адреса на порту G1/0/3 и проверьте, могут ли ПК_2 и 3 взаимодействовать с ПК_4 (в основном проверяйте таблицу MAC-адресов).
  • Выполните функцию статической привязки,Привяжите MAC-адрес ПК_4 к выключателю
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose