# Занятие №2 - Сети. Канальный уровень модели OSI ## Топологии сети: ![](https://i.imgur.com/zwgp0st.png) ![](https://i.imgur.com/w5fyvKJ.png) Ситуация 1: Пробуем подключить коммутаторы таким образом: ![](https://i.imgur.com/IybVEOn.png) В этом случае произойдет закольцовывание трафика. Или по-другому - Broadcast Storm(всплеск широковещательноого трафика, парализующего работу сети). В таком случае трафик бесконечно ходит между коммутаторами. ## Средства предотвращения этой проблемы: ### STP STP- протокол связующего дерево, который находит петли в сети и усраняет их. Как STP понимает, какие порты блокировать, а какие нет? Для этого он сначала выбирает корневой хост, затем определяет выделенные и корневые порты. Корневым коммутатором становится свитч на основе наименьшего Bridge ID. Изначально он стоит из MAC-адреса и приоритета коммутатора. ![](https://i.imgur.com/25xoThv.png) Что такое корневые порты и как они выбираются? **Корневой порт** - это порт коммутатора, который имеет кратчайший путь к корневому коммутатору. Алгоритм выбора корневого порта: ![](https://i.imgur.com/nbMC02A.png) Алгоритм действия STP ![](https://i.imgur.com/eN87DWa.png) ## Таймеры STP **Hello Time** - время, через которое коммутатор отправляет конфигурационные BPDU **Forward Delay** - время, в течении которого порт коммутатора находится в состоянии "Обучение" и "Прослушивание" **Max Age** - интервал времени, в которое коммутатор хранит параметры текущей конфигурации связующего дерева. ## Роли портов **Root** - корневой порт коммутатора **Designated Port** - порты, находящиеся в режиме передачи данных **Nonesignated Port** - заблокированные порты ## Состояния портов **Blocking** - блокирование порта **Listening** - прослушивание порта **Learning** - обучение **Forwarding** - пересылка **Disabled** - выключен ## PVST - Per-VLAN Spanning Tree Это проприетарный протокол CISCO. Работает он как протокол STP, но для каждого VLAN строится свое дерево. То есть порт может быть заблокирован для одного VLAN, а для другого открыт. ## Агрегация портов Агрегирование каналов - это технология, которая позволяет объединить несколько физических каналов в один логический. LACP - протокол, который используется для объединения нескольких физических каналов в один логический в рамках Ethernet сети. ## Сегментация сети Сегментация сети - это разделение сети на несколько подсетей. Она позволяет уменьшить количество широковещательного трафика и ускорить работу всей сети. ### VLAN VLAN - Virtual Local Area Network - группа устройств, имеющих возможность взаимодействовать между собой напрямую на канальном уровне, хотя физически они могут быть подключены к разным сетевым коммутаторам Каждый физический порт имеет идентификатор порта PVID VLAN-порты: Access порт - пропускает через себя нетегированный трафик Trunk порт - пропускает тегированный трафик и обрабатывает его согласно правилам. Процесс тегирования трафика: ![](https://i.imgur.com/LS12e0a.png) :::info Отсутствие VLAN означает, что устройства работают в VLAN 1. ::: ### VTP VTP - VLAN Trunking Protocol - проприетарный протокол CISCO, использующийся для создания, удаления и переименования VLAN на сетевых устройствах и запрещает изменять эту таблицу. Ее может менять только административный коммутатор. ### GARP Vlan Это сетевой протокол, позволяющий устройству локальной сети сообщить всем соседним устройствам, что оно желает принять пакеты для одной или нескольких VLAN. ### Multiple VLAN Registration Protocol Протокол, который синхронизирует информацию о используемых устройствами VLANи привязки VLAN к интерфейсам. :::info При тегировании трафика может исопльзоваться два разных протокола: 802.1q и icl. Их отличия в том, что dot1q интегрирует тэг внутри фрейма, а ICL тегирует весь пакет внутрь тэга. ::: Настройка trunk-порта на Cisco: ![](https://i.imgur.com/NpMrKvm.png) ![](https://i.imgur.com/QR6Atw4.png) ![](https://i.imgur.com/kTrszKJ.png) Настройка Access портов на Cisco ![](https://i.imgur.com/XgMcHb4.png) ![](https://i.imgur.com/1tfHfIR.png) ![](https://i.imgur.com/sHniJBS.png) Отметка о тегированном трафике в Wireshark ![](https://i.imgur.com/P8z9aMZ.png) ## Вектора атак на канальном уровне ### MAC-address Spoofing Это атака канального уровня, которая заключается в том, что на сетевой карте меняется MAC-адрес, что заставляет коммутатор отправлять пакеты на порт, к которому подключен злоумышленник. ### CAM table overflow Эта атака переполняет таблицу MAC-адресов, что приводит к снижению скорости трафика вплоть до полной неработоспособности сети. :::info Как сменить MAC-адрес на Linux. С помощью утилиты macchanger. Делается это с помощью комады `macchanger -r *интерфейс*` ::: Данную атаку можно провести с помощью утилиты `macof` на kali-linux. В таком случае заполниться таблица коммутации нашего коммутатора и скорость трафика упадет. Атака эта блокируется с помощью Port Security ### ARP Spoofing ![](https://i.imgur.com/6In9r75.png) Эта атака заключается в подмене мак-адреса в ARP таблице. Для эксплуатации этой атаки используем утилиту `arpspoof -i *интерфейс* -t *адрес, которым подменяем* -r *ip-адрес цели*` Защита от такой атаки лежит в настройках коммутатора ### Vlan Hopping ![](https://i.imgur.com/tjTG562.png) Защита заключается в отключении функции DTP в Cisco ### STP атака Эта атака позволяет злоумышленнику встать во главе всего дерева за счет становления root. ### Широковещательный домен Это область сети, в которой происходит обмен широковещательными сообщениями, и устройства могут отправлять друг другу сообщения без участия маршрутизатора. Radius - это протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах, разработанный для передачи сведений между центральной платформой и оборудованием