Как коммутатор определяет, что к нему поступил пакет DHCP?

Как коммутатор Cisco 2960 определяет, что ему поступил DHCP-пакет, несмотря на то, что он функционирует на 2 уровне, после настройки IP DHCP Snooping, который позволяет ему отбрасывать DHCP Offer от поддельного DHCP-сервера?
  • 23 ноября 2024 г. 6:53
Ответы на вопрос 2
Коммутатор, такой как Cisco 2960, функционирует на канальном уровне (уровень 2) модели OSI, и он не анализирует содержимое пакетов на уровне IP. Однако DHCP (Dynamic Host Configuration Protocol) использует специфические характеристики своих сообщений, что позволяет коммутатору определять их даже на канальном уровне.

Когда клиент отправляет DHCP Discover, он отправляет его в широковещательном режиме (broadcast) на MAC-адрес 255.255.255.255. Пакет передается на уровень 2 и обрабатывается коммутатором. Коммутатор пропускает этот широковещательный пакет через свои порты и может просто переадресовать его на другие порты в своей таблице MAC-адресов.

С включенной функцией IP DHCP Snooping, коммутатор анализирует DHCP-пакеты на уровне данных и использует специальные поля DHCP-сообщений для проверки их подлинности. Вот как это работает:

1. **Настройка доверенных и недоверенных портов**: При настройке DHCP Snooping администратор помечает определенные порты как доверенные, где находятся легитимные DHCP-серверы, и другие как недоверенные, где предполагается подключение клиентов.

2. **Парсинг DHCP-пакетов**: DHCP Snooping просматривает пакет в поисках специфичных полей, таких как опции DHCP, которые определяют информацию о сервере (например, опция 53 для определения типа сообщения: Discover, Offer, Request и т. д.).

3. **Фильтрация пакетов**: Если коммутатор получает пакет DHCP Offer с недоверенного порта, он может проверить его на наличие информации о DHCP-сервере. Если сервер не является доверенным (т.е. его IP-адрес не был заранее зарегистрирован как доверенный), коммутатор отбрасывает данный пакет.

Таким образом, хотя коммутатор работает на уровне 2, наличие механизма DHCP Snooping позволяет ему фильтровать DHCP-пакеты, полагаясь на проверку доверенных портов и анализ базовой структуры DHCP-сообщений.
Этот коммутатор, хоть он и L2 может анализировать содержимое пакетов. (реально, надо проверить, что протокол UDP, и это пакет dhcp offer. Если порт не доверенный, то пакет отбрасываем. Проверять надо конкретные несколько байт в пакете). 
Но так как этот коммутатор на может маршрутизировать трафик, то до L3 он не дотягивает..

Границы - они всегда условны и есть куча переходных состояний...
Похожие вопросы