---
# System prepended metadata

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

---

# Занятие №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 - это протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах, разработанный для передачи сведений между центральной платформой и оборудованием