# Занятие №2 - Сети. Канальный уровень модели OSI
## Топологии сети:


Ситуация 1:
Пробуем подключить коммутаторы таким образом:

В этом случае произойдет закольцовывание трафика. Или по-другому - Broadcast Storm(всплеск широковещательноого трафика, парализующего работу сети). В таком случае трафик бесконечно ходит между коммутаторами.
## Средства предотвращения этой проблемы:
### STP
STP- протокол связующего дерево, который находит петли в сети и усраняет их.
Как STP понимает, какие порты блокировать, а какие нет?
Для этого он сначала выбирает корневой хост, затем определяет выделенные и корневые порты.
Корневым коммутатором становится свитч на основе наименьшего Bridge ID. Изначально он стоит из MAC-адреса и приоритета коммутатора.

Что такое корневые порты и как они выбираются?
**Корневой порт** - это порт коммутатора, который имеет кратчайший путь к корневому коммутатору.
Алгоритм выбора корневого порта:

Алгоритм действия STP

## Таймеры 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 порт - пропускает тегированный трафик и обрабатывает его согласно правилам.
Процесс тегирования трафика:

:::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:



Настройка Access портов на Cisco



Отметка о тегированном трафике в Wireshark

## Вектора атак на канальном уровне
### MAC-address Spoofing
Это атака канального уровня, которая заключается в том, что на сетевой карте меняется MAC-адрес, что заставляет коммутатор отправлять пакеты на порт, к которому подключен злоумышленник.
### CAM table overflow
Эта атака переполняет таблицу MAC-адресов, что приводит к снижению скорости трафика вплоть до полной неработоспособности сети.
:::info
Как сменить MAC-адрес на Linux. С помощью утилиты macchanger. Делается это с помощью комады `macchanger -r *интерфейс*`
:::
Данную атаку можно провести с помощью утилиты `macof` на kali-linux. В таком случае заполниться таблица коммутации нашего коммутатора и скорость трафика упадет. Атака эта блокируется с помощью Port Security
### ARP Spoofing

Эта атака заключается в подмене мак-адреса в ARP таблице. Для эксплуатации этой атаки используем утилиту `arpspoof -i *интерфейс* -t *адрес, которым подменяем* -r *ip-адрес цели*`
Защита от такой атаки лежит в настройках коммутатора
### Vlan Hopping

Защита заключается в отключении функции DTP в Cisco
### STP атака
Эта атака позволяет злоумышленнику встать во главе всего дерева за счет становления root.
### Широковещательный домен
Это область сети, в которой происходит обмен широковещательными сообщениями, и устройства могут отправлять друг другу сообщения без участия маршрутизатора.
Radius - это протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах, разработанный для передачи сведений между центральной платформой и оборудованием