vault backup: 2026-05-24 15:03:28

This commit is contained in:
Dmitry
2026-05-24 15:03:28 +03:00
parent 6189cfdd1c
commit 7335ca7c23
705 changed files with 18360 additions and 154 deletions
+51
View File
@@ -0,0 +1,51 @@
---
status: stable
type: concept
tags:
- network
- networking
- ethernet
created: 2025-12-17
updated: 2026-05-07
title: Ethernet
---
# Ethernet
> Определяется стандартом IEEE 802.3
Ethernet относится к построению исключительно ЛВС, в силу малого радиуса действия. В модели OSI он живет на L1+L2, т.е.:
> Ethernet - это набор описаний способов физической передачи данных на первом уровне модели и формирования кадров на втором уровне внутри локальной сети LAN
Стоит отметить, что исходный Ethernet, разработанный в _1970 году_, имеет скорость всего в 10Мбит/с, что очень мало. После было разработан Fast Ethernet - 100 Мбит/с А сейчас мы используем Gigabit Ethernet, скорость которого, как несложно понять, 1 Гбит/с.
Ethernet - это не кабель, это стандарт. Если говорить о кабелях, то сейчас используется кабель UTP 5 категории (CAT 5). UTP - Unshielded Twisted Pair - неэкранированная витая пара.
## Ethernet Vs WiFi
### Стабильность
Развертывание сети на базе Ethernet, разумеется, сильно дороже, но это обеспечивает бОльшую устойчивость к помехам.
Если нужна железобетонная стабильность (транзакции, важные документы и т.д.), то проводное соединение. Иначе, wifi.
### Безопасность
Тут, опять же, побеждает Ethernet, к wifi можно подключиться извне, а проводное соединение так просто не украдешь.
### Стоимость
Инвестиции в проводные сети кратно выше, чем в беспроводные, т.к. необходимо покупать все больше сетевых устройств для подключения большого кол-ва физических носителей + безопасность (фаерволы).
### Порты
То же, что и стоимость, нужны доп.коммутаторы.
### Мобильность
Устройство с кабелем сзади особо не потаскаешь. + в карму WiFi.
### Итог
Ethernet - стандарт, описывающий подключение к локальным сетям через провод. При использовании его дома, есть профит только в большей скорость загрузки/отдачи. В офисе, кабели безусловно занимают лидирующие позиции - это связано в первую очередь с безопасностью, ведь утечки коммерческих тайн еще никому не шли на пользу. В домашних условиях Wi-Fi занимает уверенные лидерские позиции.
+23
View File
@@ -0,0 +1,23 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: LAN Vs WAN
---
# LAN Vs WAN
ЛВС - локальная вычислительная сеть, локалка.
Покрывает небольшую зону (максимум, здание), в неё подключаются все локальные устройства. Как правило, делится VLAN'ы - виртуальные локальные сети.
## WAN - Wide Area Network
Глобальная вычислительная сеть.
Крупная сеть с публичным характером, например, интернет.
![](LAN%20vs%20WAN_image.png)
+16
View File
@@ -0,0 +1,16 @@
---
status: stable
type: concept
tags:
- networking
created: 2025-12-17
updated: 2026-05-07
title: MAC-адрес
---
# MAC-адрес
Физический адрес. MAC - Media access control. Он присваивается на заводе, он относится непосредственно к устройству.
Пример MAC-адреса: `00-50-B6-5B-CA-6A`
Первые три _октета_ - OUI (Organizational Unique Identifier) - идентификатор производителя сетевой железки. Вторые 3 октета уникальны и идентифицируют конкретное устройство.
+95
View File
@@ -0,0 +1,95 @@
---
status: stable
type: concept
tags:
- network
- networking
- nat
created: 2025-12-17
updated: 2026-05-07
title: NAT
---
# NAT
При использовании IPv4 в какой-то момент возникла глобальная проблема нехватки IP-адресов, ведь количество устройств росло семимильными темпами, поэтому долгосрочным решением стал ввод IPv6, но это оказалось очень долго и дорого, поэтому спасением стала технология NAT - Network Assress Translation.
Сети, обычно, проектируются с учетом приватной адресации, например:
- `10.0.0.0/8`
- `172.16.0.0/12`
- `192.168.0.0/16`
Эти адреса позволяют устройствам внутри сети общаться друг с другом, при этом не выводя каждое устройство в сеть на всеобщее обозрение. Чтобы локальному устройству "выйти" в сеть и связаться с внешними устройствами, нужно его внутренний приватный адрес "перевести" во внешний "белый" IP.
Как раз для этого и нужна технология _NAT_, она позволяет переводить частный адреса в публичные. Это не только позволило, в связке с частными IPv4, экономить адреса, но и добавляет конфиденциальность, т.к. за одним публичным IP могут скрываться десятки, сотни, а то и тысячи устройств.
Маршрутизаторы с поддержкой NAT могут быть настроены на один или несколько "белых" IP-адресов. Этот список называется **пулом NAT**. Когда устройство из внутренней сети отправляет трафик во внешнюю сеть, маршрутизатор переводит внутренний IP во внешний из пула. Для внешних устройств весь входящий и исходящий трафик выглядит, как имеющий общедоступный IP-адрес.
Маршрутизатор с NAT, обычно, работает на границе со **Stub-сетью**.
> _Stub-сеть_ — это тупиковая сеть, в которой весь трафик к другим сетям проходит через один-единственный маршрут, обычно через один маршрутизатор или шлюз. Такая сеть не используется для транзита чужих данных между сетями, а только для подключения собственных устройств к внешнему миру, часто по маршруту по умолчанию.
![](4_NAT_image.png)
В терминах NAT внутренней сетью является набор сетей, подлежащий переводу. Внешняя сеть относится ко всем остальным сетям.
NAT включает 4 типа адресов:
1. Внутренний локальный адрес (Inside Local Address)
2. Внутренний глобальный адрес (Inside Global Address)
3. Внешний местный адрес (Outside local address)
4. Внешний глобальный адрес (Outside global address)
При определении того, какой тип адреса используется, важно помнить, что терминология NAT всегда _применяется с точки зрения устройства с транслированным адресом_:
- **Внутренний адрес (Inside address)** - адрес устройства, которое транслируется NAT
- **Внешний адрес (Outside address)** - адрес устройства назначения
- **Локальный адрес (Local address)** - это любой адрес, который отображается во внутренней части сети
- **Глобальный адрес (Global address)** - это любой адрес, который отображается во внешней части сети
![](2_NAT_image.png)
## Типы NAT
1. Статическая адресная трансляция (Static NAT) - сопоставление один к одному между локальными и глобальными адресами.
2. Динамическая адресная трансляция (Dynamic NAT) - сопоставление многих ко многим между локальными и глобальными адресами.
3. Post Address Translation (PAT) - многоадресное сопоставление локальных и глобальных адресов с использованием портов. Также известен, как **NAT Overload**.
### Static NAT
Статический NAT использует сопоставление локальных и глобальных адресов один к одному. Настраиваются администратором сети и остаются постоянными. При отправке пакетов на внешний адрес, он транслируется на внутренний, при этом для внешних устройств, они имеют внешний ip-адрес. Используются, например, для веб-серверов и иных устройств, которые должны иметь согласованный адрес, доступный в интернете. Статический NAT требует достаточное количество общедоступных адресов для обеспечения всех устройств.
![](NAT_image.png)
Таблица статического NAT
### Dynamic NAT
Динамический, обратно статическому, автоматически назначает и освобождает внешние адреса. Занимаются они по принципу "кто первый пришел, то и занял". Аналогично статике, требует достаточного количества адресов для удовлетворения общего количества одновременного использования всеми устройствами.
![](1_NAT_image.png)
Таблица динамического NAT
### Port Address Translation (PAT)
PAT - это совершенно иная по сути работы система. Тут происходит параллельная трансляция многих внутренних адресов на один или несколько внешних адресов. Такая схема чаще всего используется в домашних маршрутизаторах. Хитрость заключается в том, что адресация идет не только по адресам, но и для каждого внутреннего адреса, сопоставляется номер порта. Когда устройство инициирует сеанс **TCP/IP**, оно генерирует значение порта источника **TCP** или **UDP** для уникальной идентификации сеанса. Когда NAT-маршрутизатор получает пакет от клиента, он использует номер своего исходного порта, чтобы однозначно идентифицировать конкретный перевод NAT. PAT гарантирует, что устройства используют разный номер порта TCP для каждого сеанса. Когда ответ возвращается с сервера, номер порта источника, который становится номером порта назначения в обратном пути, определяет, какое устройство маршрутизатор перенаправляет пакеты.
![](3_NAT_image.png)
Таблица PAT
**А что относительно пакетов IPv4, содержащих данные, отличные от TCP или UDP?**
Эти пакеты не содержат номер порта уровня 4. PAT переводит наиболее распространенные протоколы, переносимые IPv4, которые не используют TCP или UDP в качестве протокола транспортного уровня. Наиболее распространенными из них являются **ICMPv4**. Каждый из этих типов протоколов по-разному обрабатывается PAT. Например, сообщения запроса ICMPv4, эхо-запросы и ответы включают идентификатор запроса Query ID. ICMPv4 использует Query ID. для идентификации эхо-запроса с соответствующим ответом. Идентификатор запроса увеличивается с каждым отправленным эхо-запросом. PAT использует идентификатор запроса вместо номера порта уровня 4.
|Преимущества NAT|Недостатки NAT|
|---|---|
|Поддержка приватных адресов, экономия публичных IPv4|Увеличение задержек, особенно для VoIP|
|Возможность нескольких пулов (резерв, балансировка нагрузки)|Потеря сквозной адресации, проблемы с некоторыми приложениями|
|Независимость внутренней адресации от провайдера|Потеря сквозной трассировки, сложнее диагностика|
|Повышение безопасности за счёт скрытия внутренней топологии|Сложности с туннелированием (IPsec и др.)|
|Лёгкая смена публичной схемы адресации без перенастройки хостов|Нарушение работы сервисов, требующих входящих соединений или UDP|
## Связанные заметки
- [[Terraform]] — NAT-шлюзы и пулы IP-адресов — типовые сетевые ресурсы, которые Terraform декларативно управляет в облачной инфраструктуре (VPC, subnets)
+60
View File
@@ -0,0 +1,60 @@
---
status: stable
type: moc
tags:
- network
- networking
created: 2026-05-02
updated: 2026-05-07
title: Networking - MOC
---
# Networking — MOC
## Модели и концепции
- [[Модель OSI]]
- [[Инкапсуляция данных]]
- [[LAN vs WAN]]
- [[Иерархическая модель Cisco]]
- [[Режимы передачи данных в сетях]]
- [[Сегментация сети]]
## Физический и канальный уровень
- [[Ethernet]]
- [[Витая пара]]
- [[MAC-адрес]]
- [[Широковещательные и коллизионные домены. Коммутация.]]
- [[Широковещательные и коллизионные домены. Маршрутизация.]]
- [[Сетевые устройства]]
- [[Базовая настройка коммутатора]]
## Сетевой уровень
- [[IP-адрес]]
- [[IPv6]]
- [[VLSM]]
- [[NAT]]
- [[Коммутатор L3 vs Маршрутизатор]]
## Транспортный уровень
- [[TCP vs UDP]]
## Протоколы
- [[ARP]]
- [[ICMP - Internet Control Messag]]
- [[DNS]]
- [[DHCP]]
- [[VPN]]
## VLAN
- [[VLAN]]
## Router-on-a-Stick
- [[Router-on-a-Stick]]
## Безопасность
- [[DHCP-snooping]]
- [[Dynamic ARP Inspection]]
## Прочее
- [[Утилита Ping]]
- [[Пример настройки DHCPv6]]
@@ -0,0 +1,34 @@
---
status: stable
type: concept
tags:
- network
- networking
- roas
created: 2025-12-19
updated: 2026-05-07
title: RoaS - Base
---
# RoaS - Base
**Router-on-a-stick** (роутер на палочке) - это термин, часто используемый для описания схемы, состоящей из маршрутизатора и коммутатора, которые соединены с использованием одного канала Ethernet, настроенного как **802.1Q.** 
Стандарт 802.1Q используется для тегирования трафика, для передачи информации о принадлежности к VLAN. В этой схеме на коммутаторе настроено несколько VLAN и маршрутизатор выполняет всю маршрутизацию между различными сетями или VLAN (**Inter-VLAN routing**).
Также такую схему иногда называют "леденец"  _**lollypop**_.
## Пример В VoIP
```text
[Коммутатор] ←→ один кабель ←→ [Роутер]
↓ ↓
trunk физический порт разветвляется
VLAN 10,20 на .10 и .20 сабинтерфейсы
маршрутизация между .10 ↔ .20
```
Пакеты, передающиеся между VLAN маршрутизируются через один роутер, подключенный к коммутатору, используя один физический порт, настроенный как транк на обоих концах (коммутатор и маршрутизатор).
![Схема Router-on-a-stick](Router-on-a-Stick_2.png)
@@ -0,0 +1,24 @@
---
status: stable
type: moc
tags:
- network
- networking
- roas
created: 2025-12-17
updated: 2026-05-07
title: Router-on-a-Stick
---
# Router-on-a-Stick
%% Begin Waypoint %%
- [[Настройка коммутатора Cisco (Router-on-a-Stick)]]
- [[RoaS - Base]]
%% End Waypoint %%
## Контекст
- [[VLAN]] — RoaS используется именно для маршрутизации между VLAN на одном физическом интерфейсе
- [[DHCP]] — часто настраивается совместно: разные VLAN получают адреса из разных пулов
- [[Коммутатор L3 vs Маршрутизатор]] — альтернатива RoaS для крупных сетей
@@ -0,0 +1,68 @@
---
status: processing
type: lab
tags:
- network
- networking
- roas
created: 2025-12-17
updated: 2026-05-07
title: Настройка Коммутатора Cisco (Router-on-a-Stick)
---
# Настройка Коммутатора Cisco (Router-on-a-Stick)
## Настройка Коммутатора
Первым шагом является создание необходимых двух VLAN на нашем коммутаторе Cisco и настройка их с IP-адресом. Поскольку все коммутаторы Cisco содержат VLAN1 (VLAN по умолчанию), нам нужно только создать VLAN2.
```bash
Switch# configure terminal
Switch(config)# vlan2
Switch(config-vlan)# name voice
Switch(config-vlan)# exit
Switch(config)# interface vlan1
Switch(config-if)# ip address 192.168.10.2 255.255.255.0
Switch(config-if)# exit
Switch(config)# interface vlan2
Switch(config-if)# ip address 192.168.20.2 255.255.255.0
Switch(config-if)# exit
```
Далее, нам нужно создать транк порт, который будет соединятся с маршрутизатором. Для этой цели мы выберем порт GigabitEthernet 0/1
```bash
Switch# configure terminal
Switch(config)# interface gigabitethernet 0/1
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# spanning-tree portfast trunk
```
При помощи данных команд мы определили, что транк будет использовать инкапсуляцию 802.1Q, установили порт в режим транка и включили функцию **portfast trunk spanning-tree**, чтобы гарантировать, что порт будет пересылать пакеты немедленно при подключении к устройству, например, маршрутизатору. Внимание: команда spanning-tree portfast trunk не должна использоваться на портах, которые подключаются к другому коммутатору, чтобы избежать петель в сети.
## Настройка Маршрутизатора
Создание транка на порте маршрутизатора не сильно отличается от процесса, описанного выше - хотя мы транк на одном физическом интерфейсе, мы должны создать под-интерфейс (**sub-interface**) для каждого VLAN.
```bash
Router# configure terminal
Router(config)# interface gigabitethernet0/1
Router(config-if)# no ip address
Router(config-if)# duplex auto
Router(config-if)# speed auto
Router(config-if)# interface gigabitethernet0/1.1
Router(config-subif)# encapsulation dot1q 1 native
Router(config-subif)# ip address 192.168.10.1 255.255.255.0
Router(config-subif)# interface gigabitethernet0/1.2
Router(config-subif)# encapsulation dot1q 2
Router(config-subif)# ip address 192.168.20.1 255.255.255.0
```
Чтобы сформировать транк с нашим коммутатором, необходимо создать один под-интерфейс для каждого VLAN, сконфигурированного на нашем коммутаторе. После создания под-интерфейса мы назначаем ему IP-адрес и устанавливаем тип инкапсуляции 802.1Q и указываем номер VLAN, к которому принадлежит под-интерфейс.
Например, команда **encapsulation dot1q 2** определяет инкапсуляцию 802.1Q и устанавливает под-интерфейс на VLAN 2.
Параметр **native** который мы использовали для под-интерфейса gigabitethernet0/1.1, сообщает маршрутизатору, что нативный vlan - это VLAN 1. Это параметр по умолчанию на каждом коммутаторе Cisco и поэтому должен совпадать с маршрутизатором.
Для проверки можно использовать на роутере команду **show vlans**, где будут отображены созданные нами под-интерфейсы, а также при помощи команды **show ip route** в таблице маршрутизации мы должны увидеть наши под-интерфейсы.
+33
View File
@@ -0,0 +1,33 @@
---
status: stable
type: concept
tags:
- network
- networking
- vlan
created: 2025-12-19
updated: 2026-05-07
title: VLAN - Base
---
# VLAN - Base
Virtual Local Area Network (VLAN), или виртуальная локальная сеть. 
По факту – это функция устройств связи, например, коммутаторов или маршрутизаторов, которая позволяет объединять устройства в одну или несколько **виртуальных** локальных подсетей в рамках одного физического сетевого интерфейса, такого как Wi-fi или Ethernet. Стоит отметить, что виртуальная логическая топология сети никак не пересекается с физической топологией и, соответственно, не зависит от нее.
- **Создание отдельных подсетей для групп устройств, подключенных к одному и тому же коммутатору:**
![Отдельные подсети на одном и том же коммутаторе](VLAN_1.png)
- **Создание виртуальной сети для устройств, подключенных к разным коммутаторам:**
**![VLAN-ы на разных коммутаторах](VLAN_2.png)**
- **Распределение Wi-fi сети для различных групп пользователей:**
**![VLAN-ы для беспроводного доступа](VLAN_3.png)**
## **Итог:**
Технология VLAN позволяет разбить (объединить) подсети, что порождает следующие преимущества:
- Меньшее количество используемых для создания внутренней сети организации проводов;
- Более безопасную и контролируемую связь между устройствами – рабочие станции в рамках одной подсети не будут "видеть" устройства из других подсетей;
- Более эффективное использование трафика в различных подсетях общей сети, за счет возможности управления трафиком в различных подгруппах;
- Повышение эффективности работы отделов через создание новых подгрупп устройств, для чего VLAN предоставляет широчайшие возможности;
@@ -0,0 +1,70 @@
---
status: stable
type: concept
tags:
- network
- networking
- vlan
created: 2025-12-17
updated: 2026-05-07
title: VLAN - Диапазоны
---
# VLAN - Диапазоны
Вывод команды `show vlan brief` на коммутаторе cisco по умолчанию:
![[Pasted image 20251219143634.png]]
```text
Switch# show vlan brief
VLAN Name Status Ports
---- ----------------- ------- --------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gi0/1, Gi0/2
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
```
## Нормальный Диапазон VLAN
Ниже перечислены основные характеристики нормального диапазона: 
- Они используются в **малых, средних и больших сетях**;
- Нумерация начинается от 1 до 1005;
- Идентификаторы с 1002 до 1005 зарезервированы для устаревших сетей (Token Ring, FDDI);
- Идентификаторы с 1002 до 1005 созданы автоматически и не могут быть удалены;
- Созданные VLAN хранятся в памяти коммутатора в файле базы данных VLAN, именуемого vlan.dat;
- VTP, если настроен, помогает распространять все VLAN между коммутаторами.
## Расширенный Диапазон
Ниже перечислены основные характеристики расширенного VLAN:
- **Используется провайдерами и очень большими компаниями**;
- Нумерация начинается с 1006 по 4094;
- По умолчанию, они хранятся в running-config;
- Имеют меньшую функциональность, чем нормальные VLAN;
- Для настройки расширенного VLAN VTP должен работать в режиме **transparent**.
**Примечание** 
Ограничение количества доступных VLAN продиктовано особенностями заголовка 802.1Q. Полю VLAN ID заголовка 802.1Q IEEE выделено всего 12 бит, поэтому 4096 -- верхняя граница доступных VLAN на коммутаторах Catalyst. А если нужно больше, то можно обратиться к такой технологии как VXLAN. 
|**Задача**|**IOS команда**|
|---|---|
|Войти в режим глобальной конфигурации|`Switch# configure terminal`|
|Создать VLAN с валидным ID|`Switch(config)# vlan <vlan-id>`|
|Указать уникальное имя для идентификации VLAN|`Switch(config-vlan)# name <vlan-name>`|
|Вернуться в привилегированный режим EXEC|`Switch(config-vlan)# end`|
Ещё про VLAN:
[[VLAN - настройка Cisco]]
[[VLAN - Base]]
[[VLAN - история и trunk]]
[[VLAN - полная настройка Cisco]]
@@ -0,0 +1,27 @@
---
status: stable
type: concept
tags:
- network
- networking
- vlan
created: 2025-12-17
updated: 2026-05-07
title: VLAN - История И Trunk
---
# VLAN - История И Trunk
Начиная с конца 1990-х, все коммутаторы Cisco поддерживали проприетарный протокол, помогающий инженерам настраивать одинаковые VLAN на нескольких коммутаторах одновременно. Назывался он **VTP - Virtual Trunking Protocol**. 
**VLAN (Virtual Local Area Network)** – виртуальная локальная сеть, помогает создавать новые бродкастные домены, увеличивает сегментацию и безопасность сети.
До этого Cisco поддерживали иной транковый протокол  - Cisco **Inter-Switch Link (ISL).**
Этот протокол поддерживал создание VLAN только в диапазоне 1-1005, ранние версии версии VTP аналогично поддерживали только такой диапазон. Т.е. VTP v1 и v2 поддерживают только 1-1001 (1002-1005 зарезервированы).
В 1998 году ввели стандарт **IEEE 802.1Q,** который ввел много нового, основным из которых стало увеличение размера заголовка для тега VLAN до 12 бит, что позволило увеличить диапазон допустимых VLAN до 4094 (за исключением зарезервированных). Однако, третья версия VTP, включившая это нововведение появилась  лишь в 2009 году. Поэтому многие привыкли настраивать коммутаторы без VTP.
> Не все коммутаторы Cisco поддерживают 4 090 VLAN-ов. Это ограничение оборудования, как такового.
[[VLAN - настройка Cisco]]
@@ -0,0 +1,74 @@
---
status: stable
type: concept
tags:
- network
- networking
- vlan
created: 2025-12-17
updated: 2026-05-07
title: VLAN - Настройка Cisco
---
# VLAN - Настройка Cisco
## Команды Для Настройки VLAN
```bash
conf t # - вход в режим конфигурации коммутатора;
vlan %номер vlan-а% # - создание VLAN-а, нужно указать номер;
name %имя vlan-а% # - также VLAN-у можно присвоить имя;
```
> VLAN **не будет** создан, пока не выйти из режима конфигурирования.
Существует иной способ - назначение интерфейса в VLAN.
```bash
conf t # - вход в режим конфигурации коммутатора;
interface %номер интерфейса% # - вход в конкретный интерфейс;
switchport access vlan %номер vlan-а% # - присваиваем VLAN интерфейсу, если VLAN не существовал, он будет автоматически создан;
```
**Удаление VLAN:**
```bash
conf t
no vlan %номер vlan-а%
```
**Проверка VLAN:**
```bash
show vlan
show vlan brief
```
При начале работы с коммутаторами Cisco необходимо перевести VTP на 3-ю версию, либо включить режим _**transparent**_  или выключить полностью.
```bash
conf t # - вход в режим конфигурации коммутатора;
vtp mode {server / client / transparent / off} # - настройка режима VTP, для использования расширенного диапазона VLAN-ов, вам нужны transparent или off;
```
### Кейс 1 - Компания В Новом Офисе
Организация переезжает в новый офис, отдел продаж и отдел разработки живут на одном этаже и подключены к одному коммутатору. Для разделения прав продавцов и разработчиков будут использованы VLAN.
У продавцов поставим VLAN 10, программисты - VLAN 20. На коммутаторе, первые будут занимать порты FastEthernet 0/1 - 0/12, а программисты - 0/13 - 0/24.
Для настройки каждого интерфейса в соответствии с нужным VLAN'ом, используем `interface range`.
```bash
conf t # режим конфигурации коммутатора
vlan 10 # создаем VLAN для продавцов
vlan 20 # создаем VLAN для разработчиков
interface range fatethernet0/1-12 # конфигурация параллельно всех 12 интерфейсов
switchport access vlan 10 # интерфейсы настроены на работу в vlan 10
interface range fastethernet0/13-24
switchport access vlan 20
do wr # сохраняем конфигурацию
```
@@ -0,0 +1,390 @@
---
status: stable
type: concept
tags:
- network
- networking
- vlan
created: 2025-12-17
updated: 2026-05-07
title: VLAN - Полная Настройка Cisco
---
# VLAN - Полная Настройка Cisco
Создание **VLAN**-ов, как и все другие конфигурации на сетевом оборудование, достигается путем ввода соответствующих команд. В этой статье рассматриваются настройка разных типов VLAN на коммутаторах **Cisco**.
![Руководство по настройке VLAN](1_VLAN%20-%20полная%20настройка%20Ci.png)
---
## Диапазоны VLAN На Коммутаторах Catalyst
В зависимости от модели, коммутаторы **Cisco** поддерживает разное число VLAN. Числа поддерживаемых VLAN обычно вполне достаточно для задач большинства компаний. Например, коммутаторы Cisco Catalyst 2960 и 3650 поддерживают больше 4000 виртуальных сетей. Нормальный диапазон VLAN начинается от 1 до 1005, а расширенный – от 1006 до 4094. На выводе внизу можно увидеть VLAN по умолчание на коммутаторе Cisco Catalyst 2960 с Cisco IOS 15 версии.
Switch# show vlan brief
VLAN Name Status Ports
---- ----------------- ------- --------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gi0/1, Gi0/2
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
### Нормальный Диапазон VLAN
Ниже перечислены основные характеристики нормального диапазона:
- Они используются в малых, средних и больших сетях;
- Нумерация начинается от 1 до 1005;
- Идентификаторы с 1002 до 1005 зарезервированы для устаревших сетей (Token Ring, FDDI);
- Идентификаторы с 1002 до 1005 созданы автоматически и не могут быть удалены;
- Созданные VLAN хранятся в памяти коммутатора в файле базы данных VLAN, именуемого vlan.dat;
- VTP, если настроен, помогает распространять все VLAN между коммутаторами.
### Расширенный Диапазон
Ниже перечислены основные характеристики расширенного VLAN:
- Используется провайдерами и очень большими компаниями;
- Нумерация начинается с 1006 по 4094;
- По умолчанию, они хранятся в running-config;
- Имеют меньшую функциональность, чем нормальные VLAN;
- Для настройки расширенного VLAN VTP должен работать в режиме transparent.
> Примечание: Ограничение количества доступных VLAN продиктовано особенностями заголовка 802.1Q. Полю VLAN ID заголовка 802.1Q IEEE выделено всего 12 бит, поэтому 4096 -- верхняя граница доступных VLAN на коммутаторах Catalyst. А если нужно больше, то можно обратиться к такой технологии как VXLAN.
---
## Команды Для Создания VLAN
Когда создается VLAN нормального диапазона, как уже было отмечено, эти настройки хранятся в файле `vlan.dat`, то есть не нужно вводить команды `copy running-config startup-config` или `write memory`. Тем не менее, чтобы не потерять изменения сделанные наряду с созданием VLAN, рекомендуется сохранять текущую конфигурацию.
В таблице ниже перечислены команды, которые нужно вводит для создания VLAN и присвоения им названия. Хорошей практикой считается давать VLAN понятные названия, чтобы облегчить поиск и устранение проблем в будущем.
| | |
|---|---|
|**Задача**|**IOS команда**|
|Войти в режим глобальной конфигурации|Switch# configure terminal|
|Создать VLAN с валидным ID|Switch(config)# vlan vlan-id|
|Указать уникальное имя для идентификации VLAN|Switch(config-vlan)# name vlan-name|
|Вернуться в привилегированный режим EXEC|Switch(config-vlan)# end|
---
## Пример Создания VLAN
В топологии ниже, порт к которому подключен ПК Stundent, еще не добавлен ни в один VLAN, но у него есть IP 172.17.20.22, который принадлежит VLAN 20.
![Топология 1](2_VLAN%20-%20полная%20настройка%20Ci.png)
Пример ниже демонстрирует настройку VLAN 20 с названием student на коммутаторе S1.
S1# configure terminal
S1(config)# vlan 20
S1(config-vlan)# name student
S1(config-vlan)# end
> Примечание: Кроме создание VLAN-ов по одному, так же есть возможность создания нескольких влан, вводя их идентификаторы через запятые или дефис. Например, команда vlan 100,102,105-107 в режиме конфигурации создаст сразу 5 VLAN-ов с идентификаторами 100, 102, 105, 106, и 107
---
## Добавление Портов В VLAN
После создания VLAN, следующий шаг – это добавление нужных портов в конкретный VLAN.
В таблице ниже приведены команды для переведения порта в режим **access** и добавления в конкретный VLAN. Команда `switchport mode access` опциональна, но в целях безопасности рекомендуется вводить ее, так как она принудительно переводит порт в режим **access**, что помогает защищаться от атак вроде VLAN Hopping.
| | |
|---|---|
|**Задача**|**IOS команда**|
|Войти в режим глобальной конфигурации|Switch# configure terminal|
|Войти в режим конфигурации интерфейса|Switch(config)# interface interface-id|
|Установить порт в режим access|Switch(config-if)# switchport mode access|
|Присвоить порт VLAN'у.|Switch(config-if)# switchport access vlan vlan-id|
|Вернуться в привилегированный режим EXEC|Switch(config-if)# end|
> Примечание: Для одновременной конфигурации нескольких портов можно воспользоваться командой **interface range**.
---
## Пример Присвоения Порту VLAN
В топологии ниже порт F0/6 коммутатора S1 настроен в режиме access и добавлен в VLAN 20. Теперь любое устройство, подключенное к данному порту, будет в 20-ом VLAN-е, как и ПК2 в нашем случае.
![Топология 2](3_VLAN%20-%20полная%20настройка%20Ci.png)
А ниже приведен пример команд для реализации вышеуказанной цели.
S1# configure terminal
S1(config)# interface fa0/6
S1(config-if)# switchport mode access
S1(config-if)# switchport access vlan 20
S1(config-if)# end
VLAN настраивается на порту коммутатора, а не на конечном устройстве. ПК2 присвоен IP адреси маска подсети, которая относиться к VLAN 20, а последний указан на порту коммутатора. Если VLAN 20 настроить на другом коммутаторе, администратор сети должен настроить другой компьютер так, чтобы он был в одной подсети с ПК2 (172.17.20.0/24).
---
## VLAN Данных И Голосовой VLAN
На порту коммутатора в режиме access можно настроить не более одного VLAN-а данных. Тем не менее, на том же порту можно настроить голосовой VLAN. Например, порт к которому подключены IP телефон и конечное устройство, может быть сразу в двух VLAN-ах, - голосовом и VLAN-е данных.
Например, в топологии ниже, ПК5 подключен к IP телефону, который в свою очередь подключен к порту F0/18 коммутатора S3. Для реализации данной идеи созданы VLAN данных и голосовой VLAN.
![Топология 3](VLAN%20-%20полная%20настройка%20Ci.png)
---
## Пример Голосового VLAN И VLAN Данных
Чтобы настроить на интерфейсе голосовой VLAN используется команда `switchport voice vlan [vlan-id]` в режиме конфигурации порта на коммутаторе.
В сетях, где поддерживается голосовой трафик, обычно настраиваются различные QoS. Голосовой трафик должен быть маркирован доверенным, как только попадет на интерфейс. Чтобы пометить голосовой трафик как доверенный, а так же указать какое поле пакета используется для классификации трафика, применяется команда `mls qos trust [cos | device cisco-phone | dscp | ip-precedence]` в режиме конфигурации интерфейса.
Конфигурация в примере ниже создаст два VLAN-а и присвоит порту F0/18 коммутатора S3 VLAN данных с идентификатором 20, а также голосовой VLAN 150 и включит QoS, на основе CoS.
S3(config)# vlan 20
S3(config-vlan)# name student
S3(config-vlan)# vlan 150
S3(config-vlan)# name VOICE
S3(config-vlan)# exit
S3(config)# interface fa0/18
S3(config-if)# switchport mode access
S3(config-if)# switchport access vlan 20
S3(config-if)# mls qos trust cos
S3(config-if)# switchport voice vlan 150
S3(config-if)# end
Если на коммутаторе еще не создан нужный VLAN команда `switchport access vlan` принудительно создаст его. Например, VLAN 30 не выводится при вводе команды `switchport vlan brief`. Но если ввести команду `switchport access vlan 30` без предварительного создания под любым интерфейсом на терминале выведется соответствующее сообщение:
% Access VLAN does not exist. Creating vlan 30
---
## Проверка Настроек VLAN
После настроек VLAN, правильность конфигурации можно проверить с помощью команды `show` с последующим ключевым словом.
Команда `show vlan` выводит список существующих VLAN. Данной команде можно задать разные параметры. Полный синтаксис команды такой: `show vlan [brief | id vlan-id | name vlan-name | summary]`.
В таблице описываются параметры команды `show vlan`.
| | |
|---|---|
|**Задача**|**Опция команды**|
|Отображение имени, статуса и портов VLAN по одной VLAN на строку|brief|
|Отображение информации об определенном номере VLAN ID. Для vlan-id диапазон от 1 до 4094|id vlan-id|
|Отображение информации об определенном имени VLAN. Vlan-name - это строка ASCII от 1 до 32 символов.|name vlan-name|
|Отображение сводной информации о VLAN|summary|
Команда `show vlan summary` выводит количество настроенных VLAN на коммутаторе:
S1# show vlan summary
Number of existing VLANs : 7
Number of existing VTP VLANs : 7
Number of existing extended VLANS : 0
Есть и другие полезные команды вроде `show interfaces interface-id switchport` и `show interfaces vlan vlan-id`. Например, команда `show interfaces fa0/18 switchport` может использоваться для проверки правильно ли присвоен интерфейс F0/18 к голосовому VLAN и VLAN данных.
S1# show interfaces fa0/18 switchport
Name: Fa0/18
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 20 (student)
Trunking Native Mode VLAN: 1 (default)
Voice VLAN: 150
Administrative private-vlan host-association: none
(Output omitted)
---
## Переназначение VLAN На Интерфейсе
Есть несколько вариантов переназначения интерфейсу VLAN-а.
Если неправильно сконфигурировали VLAN на интерфейсе, просто введите команду `switchport access vlan vlan-id` подставив нужный VLAN. Например, представим что порт F0/18 добавлен в VLAN по умолчанию VLAN 1. Чтобы поменять на VLAN 20, достаточно ввести switchport access vlan 20.
Чтобы вернуть обратно в VLAN по умолчанию в режиме конфигурации интерфейса введите команду `no switchport access vlan`.
На выводе ниже можно убедиться, что 18-ый порт коммутатора находится в VLAN по умолчанию.
S1(config)# interface fa0/18
S1(config-if)# no switchport access vlan
S1(config-if)# end
S1#
S1# show vlan brief
VLAN Name Status Ports
---- ------------------ --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gi0/1, Gi0/2
20 student active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
Следует заметить, что 20-ый VLAN все еще активен, несмотря на то, что под ним нет никакого интерфейса. Чтобы убедиться, что на 18-ый порт в VLAN 1, можно воспользоваться командой show interfaces f0/18 switchport:
S1# show interfaces fa0/18 switchport
Name: Fa0/18
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
---
## Удаление VLAN
Для удаления VLAN используется команда `no vlan vlan-id` в глобальном режиме конфигурации.
Внимание: Прежде чем удалить VLAN убедитесь, что все интерфейсам с данным VLAN назначен другой.
Чтобы удалить весь файл `vlan.dat` введите команду `delete flash:vlan.dat` в привилегированном режиме EXEC. После перезагрузки все настроенные на коммутаторе VLAN удалятся.
> Примечание: Чтобы сбросить коммутаторы Catalyst до заводских настроек отсоедините все кабели кроме кабеля питания и консольного кабеля, от коммутатора. Затем введите `erase startup-config` после него `delete vlan.dat`. После перезагрузки коммутатор сбросится до первоначальных настроек.
---
## Настройка Trunk
После создания и настройки VLAN, пора перейти к конфигурации **Trunk** портов. Trunk это связь на втором уровне OSI между коммутаторами, который пропускает все VLAN (если список разрешенных VLAN явно не указан).
Для настройки интерфейса в режиме Trunk нужно воспользоваться команды, указанные ниже в таблице:
| | |
|---|---|
|**Задача**|**IOS команда**|
|Войти в режим глобальной конфигурации|Switch# configure terminal|
|Войти в режим конфигурации интерфейса|Switch(config)# interface interface-id|
|Установите порт в режим постоянного транкинга|Switch(config-if)# switchport mode trunk|
|Устанавливает для native VLAN значение, отличное от VLAN 1|Switch(config-if)# switchport trunk native vlan vlan-id|
|Укажите список VLAN, разрешенных для транка|Switch(config-if)# switchport trunk allowed vlan vlan-list|
|Вернуться в привилегированный режим EXEC|Switch(config-if)# end|
---
## Пример Настройки Trunk
В топологии ниже VLAN 10, 20 и 30 обслуживают компьютеры Faculty, Student и Guest. Порт F0/1 коммутатора S1 настроек в режиме Trunk и пропускает VLAN-ы 10, 20, 30. VLAN 99 настроен в качестве native (VLAN по умолчанию).
![Топология 4](2_VLAN%20-%20полная%20настройка%20Ci.png)
В данном примере показывается настройка порта в режиме trunk, смена VLAN по умолчанию и ограничение разрешенных VLAN.
S1(config)# interface fastEthernet 0/1
S1(config-if)# switchport mode trunk
S1(config-if)# switchport trunk native vlan 99
S1(config-if)# switchport trunk allowed vlan 10,20,30,99
S1(config-if)# end
> Примечание: В данном примере подразумевается, что используется коммутатор Cisco Catalyst 2960, в котором порты по умолчанию используют 802.1Q. На других коммутаторах может понадобиться ручная настройка режима энкапсуляции на интерфейсе. Так же следует настроить VLAN по умолчанию на обоих концах, иначе коммутатор будет выдавать ошибки.
---
## Проверка Настройки Trunk
Вывод ниже демонстрирует настройки интерфейса Fa0/1 коммутатора S1. Данный вывод получен с помощью команды `show interfaces interface-ID switchport`:
S1# show interfaces fa0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 99 (VLAN0099)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk Native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk associations: none
Administrative private-vlan trunk mappings: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
(output omitted)
Подчеркнутые части показывают режим работы интерфейса и нативный VLAN.
---
## Сброс Trunk До Настроек По Умолчанию
Для сброса настроек транкового интерфейса используйте команды `no switchport trunk allowed vlan` и `no switchport trunk native vlan`. После сброса настроек данный порт будет пропускать все VLAN-ы и VLAN-ом по умолчанию будет VLAN 1.
S1(config)# interface fa0/1
S1(config-if)# no switchport trunk allowed vlan
S1(config-if)# no switchport trunk native vlan
S1(config-if)# end
Вывод команды `show interfaces f0/1 switchport` показывает, что порт сброшен до настроек по умолчанию:
S1# show interfaces fa0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk Native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk associations: none
Administrative private-vlan trunk mappings: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
(output omitted)
В вывод ниже показывает команды, которые используются для смены режима работы интерфейс с **trunk** на **access**.
S1(config)# interface fa0/1
S1(config-if)# switchport mode access
S1(config-if)# end
S1# show interfaces fa0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
(output omitted)
+22
View File
@@ -0,0 +1,22 @@
---
status: stable
type: moc
tags:
- network
- networking
- vlan
created: 2025-12-17
updated: 2026-05-07
title: VLAN
---
# VLAN
%% Begin Waypoint %%
- [[VLAN - диапазоны]]
- [[VLAN - история и trunk]]
- [[VLAN - настройка Cisco]]
- [[VLAN - полная настройка Cisco]]
- [[VLAN - Base]]
%% End Waypoint %%
+66
View File
@@ -0,0 +1,66 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: VLSM
---
# VLSM
Стоит вспомнить про [[IP-адрес]], а конкретно то, что существует две версии IPv4 и IPv6.
IP бывают _публичные_ и _приватные_. Публичный адрес уникален, он виден всем в интернете. Каждый сайт глобальной сети имеет свой IP-адрес (_белый_). Устройства же также имеют публичный IP-адрес, но под ним же в сеть могут выходить ещё сотни устройств, т.к. это IP не конкретного устройства, а маршрутизатора, который эти устройства обслуживает.
Приватные же IP-адреса - это адреса, используемые в пределах одной сети, они могут повторяться в разрезе разных сетей, но в одной строго идентифицируют конкретное устройство. Стандартные диапазоны приватных сетей:
1. 10.0.0.0-10.255.255.255
2. 172.16.0.0 - 172.31.255.255
3. 192.168.0.0 - 192.168.215.255
В период зарождения интернета, было принято делить IP-адреса в интернете на классы:
![](1_VLSM_image.png)
При этом, `0.0.0.0` используется для протокола DHCP, этот адрес присваивается новому устройству в сети и он отправляет **широковещательный** (_broadcast_) запрос на адрес `255.255.255.255`, т.е. всем устройствам сети, в надежде найти DHCP-сервер.
`127.*.*.*` - используются для **lookback**-адресации (адресация на самом хосте).
IP-адрес, в сущности, имеет две части:
1. Адрес сети
2. Адрес узла, который определяется маской сети
**Маска сети** - это 32-битное число, где подряд идущие биты всегда равны _единице_. Вообще говоря, каждое десятичное число IP-адреса - это сумма степеней двойки.
Принадлежность адреса к классу определялась по первым битам. Для сетей класса A, первый бит всегда был равен `0`, B - `10`, C - `110`. И, разумеется, за каждым классом закреплялась своя маска подсети:
- A -> 255.0.0.0
- B -> 255.255.0.0
- C -> 255.255.255.0
Со временем стало ясно, что система классов не особо эффективно использует адреса. Поэтому мир перешел на **CIDR** (_Classless Inter-Domain Routing_) или, проще говоря, бесклассовую адресацию.
Однако, даже это не решило проблему полностью. Отделу бухгалтерии в крупной фирму надо выделить сеть с адресом `192.168.1.0/24`, при этом в отделе всего 25 хостов, значит 229 адресов остаются неиспользованными. `192.168.1.0` - адрес сети `192.168.1.255` - широковещательный адрес.
Есть формула для вычисления кол-ва занятых адресов в указанной сети:
$$H = 2^{n}-2,\ \text{где H - число хостов, n - число бит, отведенных под номер хоста}$$
Например, в адресе `192.168.1.0` - первые 24 бита `192.168.1` - определяются номер сети, а остальные 8 бит `.0` - номер конкретного устройства, поэтому $2^{8}-2 = 254$ хоста.
Вспоминаем про деление на подсети. Это не только позволяет экономить адресное пространство, но и дает дополнительную безопасность, т.к. пользователи одной подсети не могут слушать трафик другой подсети. Вдобавок, мы можем увеличивать количество широковещательных доменов, сокращая широковещательный трафик.
В сегментировании сети используется маска сети с переменной длиной _**VLSM**_ (_Variable Length Subnet Mask_). Суть состоит в том, что вам выделяют пул (диапазон) адресов и надо их распределить так, чтобы никто не мог перехватить трафик, но и всем досталось, как минимум, по одному адресу.
Выделением IP-адресов занимается организация _IANA_ (Internet Assigned Numbers Authority). Она делегирует права на выделение региональным регистраторам, которые выделяют адреса национальным регистраторам. Например, для Европы, региональным является _RIPE_. А те делят адреса между провайдерами.
> IANA -> Региональные регистраторы - Национальные регистрации -> Провайдеры
192.168.25.0/24, где 24 - кол-во единиц в маске. _255.255.255.0_
Для определения количества подсетей: $N = 2^{n}$, где $N$ - число подсетей, а $n$ - число бит, заимствованных из хостовой части IP-адреса.
![](VLSM_image.png)
+28
View File
@@ -0,0 +1,28 @@
---
status: stable
type: concept
tags:
- network
- networking
- vpn
created: 2025-12-17
updated: 2026-05-07
title: VPN
---
# VPN
VPN - Virtual Private Network (Виртуальная частная сеть) - Технология, позволяющая установить прямое виртуальное соединение между устройством и удаленным устройством (или сетью).
Существуют два основных вида VPN:
1. **Site-to-Site** - С пограничного маршрутизатора (VPN-шлюза) строится туннель до другого такого устройства, тем самым, объединяя обе сети в одну виртуальную, и рабочие станции с первой сети могут "достучаться" до станций второй сети безопасно и без препятствий.
2. **Remote Access** - Использование удаленного сервера (VPN-сервера), для прогона всего трафика через него.
Защита заключается в алгоритмах шифрования, которое бывает двух типов:
- Симметричное - один и тот же ключ для зашифрования и дешифрования.
- Ассимметричное - один для зашифровывания (открытый), один для расшифровывания (закрытый).
## Связанные заметки
- [[CA и NGINX]] — TLS-сертификат в NGINX реализует асcиметричное шифрование, описанное здесь; CA выдаёт пару ключей
- [[Network Drivers - Docker]] — overlay-драйвер в Docker реализует принцип VPN: инкапсуляция трафика одной сети поверх другой
@@ -0,0 +1,88 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Базовая Настройка Коммутатора
---
# Базовая Настройка Коммутатора
Сетевые железки, глобально, работают в режимах, разделяемые на три категории:
1. Первая и основная - передача данных (плоскость данных, data plane). 
Это режим работы коммутатора по передаче кадров, генерируемых устройствами, к нему подключенных. Иначе говоря, это _основной режим работы коммутатора._
2. Управление передачей данных (плоскость управления, control plane).
Управление тем, _как_ передаются данные: какие порты активны, их скорость, работы **spanning tree** (блокировка петель маршрутизации) и т.д. Влияет непосредственно на работу **data plane**.
3. Управление устройством (плоскость управления устройством, management plane)
Управление самим коммутатором, как устройством: доступ администратора, IP-адрес для удаленного доступа, мониторинг и т.д.
Не влияет напрямую на передачу данных
## Защита Коммутатора Через CLI
**Безопасность доступа к коммутатору Cisco**
**Проблема по умолчанию:**
- Любой с физическим доступом может подключиться через консоль/USB
- Вход в user mode и privileged mode без пароля
- Нет защиты из коробки
**Важность защиты CLI:** Защита CLI критически важна, поскольку злоумышленник, получивший доступ к привилегированному режиму (`enable`), может перезагрузить коммутатор или изменить его конфигурацию. Защита пользовательского режима также необходима, так как она предотвращает просмотр настроек коммутатора и сети, которые могут быть использованы для последующих атак.
### Основные Методы Защиты Входа
В статье рассматриваются четыре основных метода защиты доступа к коммутатору:
#### 1. Защита Простыми Общими Паролями
По умолчанию коммутатор Cisco Catalyst позволяет любому пользователю подключиться через консольный порт и получить доступ к пользовательскому, а затем к привилегированному режиму без какой-либо защиты. Настройка общих паролей позволяет получить доступ к оборудованию, используя только пароль, без ввода имени пользователя.
- **Консольный доступ:** Пароль настраивается для линии `line con 0`.
- **Удаленный доступ (Telnet):** Пароль настраивается для терминальных линий `line vty 0 15` (vty Virtual TeletYpe).
- **Привилегированный режим (**`**enable**`**):** Защита настраивается с помощью команды `enable password` или `enable secret`.
- **Рекомендация:** **Рекомендуется использовать команду** `**enable secret**`, так как она считается более безопасной по сравнению с `enable password`.
**Пошаговая настройка общих паролей (Пример 2, 12, 13):**
1. Установите пароль привилегированного режима: `enable secret password-value`.
2. Настройте консоль: `line con 0` -> `password password-value` -> `login`.
3. Настройте VTY (Telnet): `line vty 0 15` -> `password password-value` -> `login`.
#### 2. Локальная Аутентификация По Имени Пользователя И Паролю
Этот метод использует **пары имя пользователя / пароль**, настроенные непосредственно в локальной конфигурации коммутатора. Этот метод работает для входа по консоли, Telnet и SSH, но не влияет на пароль для перехода в привилегированный режим (`enable`).
**Пошаговая настройка локальной аутентификации (19, 20, 21):**
1. Создание пары: В режиме глобальной конфигурации используйте команду `username <имя> secret <пароль>`.
2. Настройка консоли: В режиме `line con 0` используйте подкоманду `**login local**` для запроса имени пользователя и пароля из локальной базы.
3. Настройка VTY: В режиме `line vty 0 15` используйте подкоманду `**login local**`.
4. _Опционально:_ Используйте `no password` для удаления существующих простых общих паролей.
#### 3. Использование Внешних Серверов Аутентификации (AAA)
Использование локальной базы данных на каждом устройстве неудобно для администрирования. **Серверы аутентификации, авторизации и учета (AAA)** обеспечивают централизованное и безопасное хранение всех пар имя пользователя / пароль.
- Коммутатор отправляет полученные учетные данные на внешний AAA-сервер для проверки.
- Соединение между коммутатором и AAA-сервером обычно осуществляется с использованием протоколов **RADIUS** или **TACACS+**, которые шифруют пароли при передаче по сети.
#### 4. Защита Удаленного Доступа С Помощью Secure Shell (SSH)
**Telnet** имеет серьезный недостаток: **все данные, включая пароли, передаются в открытом виде**. Протокол **SSH шифрует все передаваемые данные**, защищая их.
- **Требования:** SSH, в отличие от простых общих паролей, требует использования метода аутентификации, который включает имя пользователя (например, локальная база или AAA-сервер).
- **Настройка SSH (33):** Для настройки SSH на коммутаторе необходимо выполнить следующие шаги:
1. Задать имя хоста: `hostname <name>`.
2. Задать доменное имя: `ip domain-name <name>`.
3. Сгенерировать ключи шифрования RSA: `**crypto key generate rsa**` (рекомендуется использовать ключ не менее 768 бит для SSHv2).
**Управление протоколами удаленного доступа (31, 32):** Чтобы повысить безопасность, можно отключить Telnet на линиях vty. Для управления разрешенными протоколами используется подкоманда `transport input` в режиме конфигурации линий vty:
- `transport input all` или `transport input telnet ssh`: Поддержка и Telnet, и SSH (по умолчанию).
- `transport input ssh`: **Поддержка только SSH**.
- `transport input telnet`: Поддержка только Telnet.
- `transport input none`: Не поддерживается ни один протокол.
@@ -0,0 +1,74 @@
---
status: seed
type: concept
tags:
- networking
- security
- infosec
created: 2025-12-17
updated: 2026-05-07
title: Введение в сетевую безопасность
---
# Введение в сетевую безопасность
**Сетевая безопасность** — часть информационной безопасности, которая защищает сетевую инфраструктуру, передаваемые данные и доступ к сетевым ресурсам.
Сетевая безопасность связана с архитектурой сети, политиками доступа, сегментацией, мониторингом и защитой от атак. В контексте сети рядом лежат темы [[Сегментация сети]], [[VPN]] и [[Networking - MOC]].
## CIA: базовая модель безопасности
Информационная безопасность описывает состояние защищённости информации, при котором обеспечиваются:
- **конфиденциальность** — информация недоступна неавторизованным пользователям;
- **целостность** — информация не искажена и не подменена;
- **доступность** — система и данные доступны легитимным пользователям.
## Идентификация, аутентификация, авторизация
- **Идентификация** — присвоение субъектам и объектам уникальных идентификаторов.
- **Аутентификация** — проверка подлинности пользователя или системы.
- **Авторизация** — проверка прав доступа к объектам и операциям.
## Принципы защиты
Для повышения уровня безопасности полезны следующие принципы:
- **простота** — меньше лишних технологий и механизмов, меньше поверхность атаки;
- **безопасные настройки по умолчанию** — доступ запрещён, если он явно не разрешён;
- **полная опосредованность** — каждое обращение к ресурсу проходит проверку прав;
- **минимизация полномочий** — субъект получает только необходимые права;
- **разделение ответственности** — разные части системы получают разные зоны ответственности и доступы.
## Уязвимость, угроза и атака
> [!info] Уязвимость
> **Уязвимость** — слабое место системы, которое может позволить нарушить её безопасность.
Примеры уязвимостей:
- ошибка в программе;
- слабый пароль;
- неправильные права доступа;
- небезопасная конфигурация сети.
**Угроза** — набор обстоятельств и действий, которые потенциально могут привести к нарушению безопасности.
**Атака** — реализованная угроза.
## Поиск уязвимостей
Поиск уязвимостей включает регулярное тестирование системы и анализ её состояния. Для автоматизации применяются сканеры уязвимостей, например OpenVAS и Nessus.
Сканирование обычно строится так:
1. Инструмент отправляет запросы к целевой системе.
2. По ответам формируется информационный отпечаток.
3. Отпечаток сравнивается с базой известных уязвимостей.
4. Формируется отчёт с найденными проблемами.
## Связанные заметки
- [[Networking - MOC]]
- [[Сегментация сети]]
- [[VPN]]
@@ -0,0 +1,51 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Витая Пара
---
# Витая Пара
**Почему патч-корд?** 
Предположительно, вторым названием витой пары стал патч-корд, потому что в серверных стойках устройства, предоставляющие прямой доступ к портам коммутатора называют патч-панелью, а витая пара вставляется как раз в такую патч-панель.
Витой парой, обычно, называют кабель, состоящий из пары (нескольких пар) скрученных между собой проводов в единой оболочке. Современные кабели предоставляют на концах (для связи устройств) коннекторы с восьмиконтактными разъемами `8P8C`. В обиходе его называют `RJ45`, но это неверно, `RJ45` - это другой стандарт связи, несовместимый с `8P8C`, пусть и напоминающем его по внешнему виду.
Кабели витой пары имеют более десятка разных стандартов, но многие из них канули в лету из-за низкой скорости. Стандарт, на данный момент, это _8 изолированных проводов_, попарно свитых между собой, заключенных в общую оболочку. Для удобства распиновки (а это важно, ведь при ошибках, работать не будет), каждый провод обозначается своим цветом.
![](Витая%20пара_image.png)
- бело-оранжевый (БО) оранжевый (О);
- бело-зеленый (БЗ) зеленый (З);
- бело-синий (БС) синий (С);
- бело-коричневый (БК) коричневый (К;)
Существует 3 основных способа коммутации сетевых кабелей:
1. Прямое
- соединение разнородных устройств (ПК - коммутатор)
- используется одинаковый обжим по одному из стандартов (568A-568A или 568B-568B)
- наиболее распространен в LAN
2. Кросс-соединение
- соединение однородных устройств (ПК-ПК, коммутатор-коммутатор)
- обжимаются по разным стандартам (один по 568A, другой по 568B)
- нужен для передачи данных по одинаковым портам, т.к. осуществляется перекрестное соединение сигнальных пар
- в современных устройствах не используется, т.к. поддерживается авто-согласование (_Auto-MDI/MDIX_)
3. Консольное (rollover)
- используется исключительно для подключения в консольный порт сетевого оборудования для его настройки
- обжим происходит по особенному принципу: порядок проводов на одном конце кабеля _зеркально противоположен_ другому концу
- используется исключительно в сервисных целях, а не для передачи данных
## Стандарты Обжима
|Стандарт|Один конец|Второй конец|
|---|---|---|
|TIA/EIA-568A|_БЗ-З-БО_-С-БС-_О_-БК-К|-|
|TIA/EIA-568B|_БО-О-БЗ_-С-БС-_З_-БК-К|-|
|Кросс-соединение|_БЗ-З-БО_-С-БС-_О_-БК-К|_БО-О-БЗ_-С-БС-_З_-БК-К|
|Консольное|**БО-О-БЗ-С-БС-З-БК-К**|**К-БК-З-БС-С-БЗ-О-БО**|
@@ -0,0 +1,48 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Иерархическая Модель Cisco
---
# Иерархическая Модель Cisco
Сетевая модель от компании Cisco предлагает правила по созданию сети внутри предприятия. Подразделяются на 3 уровня:
1. Уровень ядра (Core Level)
2. Уровень распределения (Distribution Level)
3. Уровень доступа (Access Level)
![](Иерархическая%20модель%20Cisco.png)
## Уровень Ядра | Внутренний Уровень (Core Level)
Также называется сетевым магистральным уровнем и отвечает за обеспечение транспорта между распределительными коммутаторами в пределах предприятия.
На этом уровне очень важна отказоустойчивость и качество соединения, поэтому оборудованием являются устройства высокого класса, имеющий модульный форм-фактор. Основным здесь является сохранение конфигурации как можно более минимальной на уровне ядра.
## Распределительный Уровень | Distribution Level
Уровень, стоящий между уровнем ядра и уровнем доступа. Обеспечивает маршрутизацию, фильтрацию, WAN-доступ, а также визуализировать связь между уровнями.
Основные функции:
- Аккумулирование каналов LAN/WAN - увеличение пропускной способности за счет объединения каналов связи
- Контроль доступа и фильтрация
- Маршрутизация между локальными сетями и VLAN
- Управление широковещательным доменом
## Уровень Доступа | Access Level
Включает в себя коммутаторы 2 уровня и точки доступа, обеспечивая подключение к рабочим станциям и серверам (Endpoints).
- Коммутация уровня 2;
- Высокая доступность;
- Безопасность портов;
- Классификация и маркировка QoS;
- Граница доверия;
- Списки контроля доступа (ACL);
- Остовное дерево.
@@ -0,0 +1,48 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Инкапсуляция Данных
---
# Инкапсуляция Данных
Согласно моделям [[Модель OSI|OSI]] и TCP/IP данные передаются последовательно от приложения ниже по уровням, далее по физическому уровню от отправителя к получателю, а у получателя последовательно вверх к уровню приложения. Процесс "спуска" сверху вниз называется _**инкапсуляцией**_, а "подъем" снизу вверх - _**деинкапсуляцией**_
## Инкапсуляция
_Инкапсуляция данных_ - это процесс добавления к исходным данным, полученным с уровня приложения (L7), некоторой дополнительной служебной информации, которая позволяет надлежащим образом обрабатывать и передавать исходную информацию. Добавляться информация может как в заголовок (**header**), так и в конец (**footer**, **trailer**) данных.
## Деинкапсуляция
_Деинкапсуляция данных_ - процесс, очевидно, обратный инкапсуляции. Информация, полученная на уровне `n` в процессе инкапсуляции, обрабатывается тем же уровнем `n` в процессе деинкапсуляции и эта информация удаляется из данных.
![](Инкапсуляция%20данных_image.png)
## Процесс Инкапсуляции
1. Приложение получает какие-то данные (имеются ввиду L7+L6+L5), обрабатывает, инкапсулирует (как - не столь важно, это зависит от приложения, притом не обязательно, добавляя _headers_).
2. Транспортный (L4) уровень получает поток данных и разделяет на несколько частей. К каждой части добавляет заголовок, теперь это "**сегменты данных**". Заголовки содержат информацию о последовательности, что позволяет получателю собрать сегменты в полноценный поток данных.
3. Сетевой (L3) уровень получает сегменты данных, добавляя им заголовок, содержащий служебную информацию о маршрутизации для правильной доставки данных. Теперь сегмент называется пакетом или дейтаграммой (datagram).
4. Канальный (L2) уровень берет пакет и добавляет к нему **заголовок**, содержащий информацию для коммутации конкретным аппаратным компонентам, а также нижний **футер**, содержащий информацию, связанную с обнаружением ошибок. Здесь данные называются фреймом (_frame_) данных.
5. Физический (L1) уровень работает с фреймами, преобразуя их в физический сигнал.
## Процесс Деинкапсуляции
1. L1 принимает физический сигнал и преобразовывает в фреймы данных.
2. L2 проверяет заголовок фрейма, правильно ли он пришел (если нет - выбрасываем), дальше проверяет футер, если есть ошибка, то запрашивается повторная передача данных, иначе, пересылает выше.
3. L3 получает пакет и смотрит на заголовок (проверка правильности маршрутизации), если всё нормально, то сегмент данных пересылается дальше.
4. L4 проверяет заголовок сегмента, затем собирает все сегменты в нужном порядке для формирования потока данных.
5. L5+L6+L7 преобразуют поток данных по правилам конкретного ПО и выдают конечному пользователю.
> **Сегментирование данных**
>
>  Сегментирование - процесс разбиение сообщения на более мелкие единицы. Мультиплексирование - процесс получение нескольких потоков сегментированных данных.
>
> Сегментация имеет два основных преимущества:
>
> 1. Высокая скорость - нет нужны отправлять весь файл по одному каналу связи, можно отправить много сегментов по многим каналам.
> 2. Большая эффективность - при потере одного сегмента не надо перекачивать весь файл, а нужно заново скачать только этот сегмент.
@@ -0,0 +1,33 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Коммутатор L3 Vs Маршрутизатор
---
# Коммутатор L3 Vs Маршрутизатор
**Коммутатор L3 (Layer 3 switch):**
- Основная задача - _коммутация на уровне L2 с возможностью маршрутизации между VLAN_
- Аппаратная маршрутизация (ASIC) - очень высокая скорость
- Много портов (24-48+)
- Ограниченный функционал маршрутизации
- Простые протоколы (статика, RIP, иногда OSPF)
- Работает внутри локальной сети/ЦОД
**Маршрутизатор:**
- Основная задача - маршрутизация между сетями
- Программная или смешанная обработка
- Мало портов (2-8)
- Полный функционал маршрутизации (BGP, OSPF, QoS, NAT, VPN, firewall)
- Работает на границе сетей/в WAN
**Простая аналогия:**
- L3 switch - быстрая маршрутизация между этажами внутри здания
- Router - соединение зданий между собой с контролем трафика
+78
View File
@@ -0,0 +1,78 @@
---
status: stable
type: concept
tags:
- network
- networking
- osi
created: 2025-12-17
updated: 2026-05-07
title: Модель OSI
---
# Модель OSI
**Модель OSI (Open Systems Interconnection)** - это база всех сетей. Теоретическая база, определяющая протоколы, равномерно распределяя их на 7 логических уровней.
_Протокол_ - это набор правил и соглашений, которые определяет, как будет происходить обмен данными. Важно, что в любом процессе, управление сетевой передачей переходит от уровня к уровню, добавляя все новую информацию к исходной информации.
Нижние уровни отвечают за физическую передачу данных по проводам (представление в токи, нули и единицы). Верхние же отвечают за сетевые данные с точки зрения пользователя.
![](Модель%20OSI_image.png)
## 01: Физический (physical) Уровень
На самом первом уровне происходит передача _физических_ сигналов (токи, свет, радиоволны) от источника к получателю. На этом уровне оперируем кабелями, контактами, модуляцией, патч-кордами, патч-панелями и кодированием нулей и единиц.
Основным протоколом является [[Ethernet]]
Устройствами, используемыми на этом уровне, выступают хабы и репитеры. Они весьма глупые, просто работают с физ.сигналом (например, усиливают).
## 02: Канальный (data Link) Уровень
После получения физического сигнала (набор напряжений разной амплитуды, волн, радиочастот), второй уровень проверяет и исправляет ошибки передачи. На этом уровне мы оперируем понятием _frame_ или кадр. Появляются идентификатора - [[MAC-адрес]]
> MAC-адрес MAC-адрес — уникальный идентификатор устройства в сети, который используется для определения источника и назначения данных на уровне канального уровня модели OSI.
**В общем, он отвечает за передачу данных в одной сети.**
Делится на два подуровня:
1. **Управление логическим каналом** (LLC, Logical Link Control) - обеспечение надежной передачи данных, контроль ошибок, управление потоком и идентификация протоколов. Позволяет различным протоколам работать на одном физическом носителе.
2. Управление доступом к среде (MAC, Media Access Control) - регуляция кто и как может получить доступ к сетевому средству.
На этом уровне работают коммутаторы (switch) и _мосты_ (bridge). Ну и _**Ethernet**_ (L1 + L2) для соединения этого всего безумия.
L1 + L2 работают исключительно в парадигме локальной сети (LAN).
## 03: Сетевой (network) Уровень
На сетевом уровне, мы вводим понятие _маршрутизации_ и, следовательно, [[IP-адрес|ip-адреса]]
Для преобразования IP-адреса в MAC и обратно используется протокол **ARP**.
> [!tldr] ARP ARP (Address Resolution Protocol) — протокол, используемый для определения MAC-адреса устройства по его IP-адресу в локальной сети.
На этом уровене происходит маршрутизация трафика, если мы хотим перейти на конкретный сайт example.ru, то устройство отправляет запрос к DNS-серверу, тот отправляет ответ в виде IP-адреса сервера этого сайта и мы подставляем его в _пакет_ (в отличии от L2, L3 оперирует понятием _пакет_).
Основное устройство - маршрутизатор (роутер).
> Процесс передачи данных с верхнего уровня на нижние называется **инкапсуляцией** (мы добавляем все больше служебной информации), а обратно **деинкапсуляцией**.
## 04: Транспортный (transport) Уровень
Транспортный уровень обеспечивает передачу данных по сети. Основными протоколами являются TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Применяются они для разных категорий трафика.
- Если нам нужна точность в передаче данных - TCP (пароли, транзакции, почта).
- Если важна скорость, но не так страшны потери - UDP (видео, звонки).
[[TCP vs UDP]]
---
Дальше идут уровни, с которыми сетевой инженер, как таковыми, не работает - это задача разработчиков софта.
## 05-07: Верхние Уровни OSI
1. 05: Сеансовый (session) уровень - Сеансовый уровень занимается тем, что управляет соединениями, или попросту говоря, сессиями. Он их разрывает.
2. 06: Уровень представления (presentation) - Отвечает за преобразование форматов сообщений (кодирование, сжатие). Протоколы JPEG, GIF, например. Отвечает ещё за передачу потока на L4.
3. 07: Уровень приложения (application) - Оперирует сетевыми службами. HTTP(-S), SMTP, FTP.
@@ -0,0 +1,27 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-18
updated: 2026-05-07
title: Пример Настройки DHCPv6
---
# Пример Настройки DHCPv6
![[Pasted image 20251219101128.png]]
В этом примере у нас есть DHCP-клиент, маршрутизатор и DHCP-сервер. Поскольку DHCP-клиент и DHCP-сервер не находятся в одной подсети, нам придется настроить маршрутизатор для ретрансляции сообщений DHCP.
![[Pasted image 20251219101452.png]]
Клиент будет использовать свой link-local адрес в качестве источника, а адрес назначения будет многоадресный адрес **FF02:: 1:2 (all-DHCP-agents)**. Это **link-local multicast** адрес, поэтому он не будет покидать подсеть. В результате DHCP-сервер никогда не получит это сообщение запроса.
Настройка ретрансляции DHCPv6 запросов, чтобы запрашиваемое сообщение было переадресовано DHCP-серверу:
```js
Router(config)# interface fa0/0
Router(config-if)# ipv6 dhcp relay destination 2001:5:6:7::2
```
![[Pasted image 20251219102347.png]]
Маршрутизатор переадресует сообщение запроса, и адрес будет изменнен. Источником будет IPv6-адрес на интерфейсе Fa1/0 нашего маршрутизатора, а местом назначения-IPv6-адрес DHCP-сервера. Это большая разница по сравнению с DHCP relay для IPv4, где был бы использован IP-адрес на Fa0/0.
Другие сообщения DHCP будут использовать те же адреса. Между маршрутизатором и DHCP-сервером мы будем использовать **2001:5:6:7::1** и еще **2001:5:6:7::2 адреса**. Маршрутизатор будет перенаправлять трафик на DHCP-клиент, используя его link-local адрес и в качестве места назначения.
@@ -0,0 +1,78 @@
---
status: stable
type: concept
tags:
- network
- networking
- protocols
- arp
created: 2025-12-17
updated: 2026-05-07
title: ARP
---
# ARP
## Адресация
Адреса L2 используются для связи устройств, связанных напрямую в локальной сети. Адреса же L3 для связи устройств, подключенных косвенно в межсетевой среде.
Сети используют адресацию для идентификации и группировки устройств для успешной передачи данных. Протокол [[Ethernet]] использует MAC-адреса, привязанные к сетевой карте устройства.
Для общения устройств, находящихся в разных сетях, необходимо установить соответствие IP и MAC адресов. Для этого используются протоколы ARP:
1. ARP - Address Resolution Protocol
2. Reverse ARP (RARP)
3. Serial Line ARP (SLARP)
4. Inverce ARP (InARP)
## Address Resolution Protocol
Для передачи данных на L3 ARP необходим для сопоставления IP с MAC для отправки IP-пакетов. Перед отправкой, устройство обратится к своему кешу ARP, где хранятся все сопоставления IP и MAC для того, чтобы узнать, есть ли там соответствие. Если же записи нет, то оно отправляет _широковещательный_ пакет каждому устройство в сети, чтобы узнать, кому принадлежит соответствующий IP адрес. Устройства сами сравнивают запрашиваемый IP со своим и, при совпадении, нужное устройство отправляет в ответ свой MAC-адрес. Исходное устройство добавляет эту информацию в свою таблицу ARP для дальнейшего использования.
![](ARP_image.png)
Если устройство назначения находится в удаленной сети, то устройства L3 отправляют один за одним ARP-запрос для MAC-адреса шлюза по умолчанию (192.168.0.1, например).
> Шлюз - это устройство, куда направляется пакет, если для отправителя получатель неизвестен.
Далее шлюз смотрит по IP-адресу, ищет нужную сеть и отправляет на устройство L3 соответствующей сети.
## Кэширование ARP
Т.к. сопоставление IP и MAC адресов происходит на каждом "хопе" в сети для каждого пакета, производительность сети может быть снижена огромным количеством запросов. Для эффективного использования ресурсов сети, применяется кэширование протокола ARP.
Кэш ARP - это способ хранения таблицы соответствия IP и MAC адресов. Запиши кэша должны обновляться для поддержания актуальности. Каждое устройство обновляет свои таблицы по мере передачи адресов.
## Статические И Динамические Записи В Кэше ARP
Существуют записи статического и динамического ARP-кэша. Статические записи - это вручную проставленные записи соответствия, они сохраняются на постоянной основе. Динамические выставляются сами и могут обновляться по мере необходимости.
Для статической маршрутизации, администратор должен вручную вводить IP-адрес, маски подсети, шлюзы, соответствующий MAC-адрес. Статика обеспечивает больший контроль, но создает дополнительную работу при поддержании.
## Устройства, Не Использующие ARP
Когда сеть делится на два сегмента, устройство под названием _мост_ (bridge) соединяет сегменты и фильтрует трафик на каждый сегмент на основе MAC-адресов. Мост создает собственную таблицу, использующую только MAC, в отличие от маршрутизатора, который имеет кэш ARP, который содержит как IP-адреса, так и соответствующие MAC-адреса.
Пассивные хабы - это устройства L1, работа которых заключается в пересылке всех пакетов, полученных на один порт, на все основные порты. Нет необходимости в таблице адресов.
## Inverce ARP
Вместо использования адреса уровня 3 (IP-адреса) для поиска MAC-адреса, Inverse ARP использует MAC-адрес для поиска IP-адреса. Как следует из названия, InARP - это просто противоположность ARP. Обратный ARP был заменен более поздними версиями DHCP, но обратный ARP используется исключительно для настройки устройства. Обратный ARP включен по умолчанию в сетях ATM (Asynchronous Transfer Mode)
> ATM (Asynchronous Transfer Mode) — это сетевая технология передачи данных, которая используется для передачи информации в виде небольших фиксированных ячеек размером 53 байта.
## Reverse ARP
Reverse ARP (RARP) - работает так же, как и протокол ARP, но целью является запрос IP-адреса, исходя из MAC-адреса устройства. Используется бездисковыми устройства, не имеющим возможности хранить свой IP на постоянной основе.
## Proxy ARP
Если два устройства находятся в разных сегментах сети, например, подключены к разным коммутаторам, которые, в свою очередь, подключены к одному маршрутизатору, то получается ситуация, при которой они не могут друг друга увидеть, т.к. маршрутизатор не передает широковещательный запрос ARP (для поиска MAC по IP). В таком случае, маршрутизатор становится "соседом" для каждого устройства, передавая отправителю свой MAC, как ответ, а отправитель отправляет данные на маршрутизатор, а тот уже пересылает нужному устройству в другом сегменте.
Proxy ARP вызывается следующими условиями:
- IP-адрес назначения не находится в той же физической сети (LAN), на которой получен запрос.
- Сетевое устройство имеет один или несколько маршрутов к IP-адресу назначения.
- Все маршруты к IP-адресу назначения проходят через интерфейсы, отличные от тех, на которых получен запрос.
Когда proxy ARP отключен, устройство отвечает на запросы ARP, полученные на его интерфейсе, только если IP-адрес назначения совпадает с его IP-адресом или если целевой IP-адрес в ARP-запросе имеет статически настроенный псевдоним ARP.
@@ -0,0 +1,17 @@
---
status: seed
type: concept
tags:
- network
- networking
- protocols
- dhcp
created: 2025-12-22
updated: 2026-05-07
title: DHCP-snooping
---
# DHCP-snooping
DHCP-snooping - функция коммутатора, предназначенная для защиты от атак с использованием протокола DHCP.
Например, атаки с подменой **DHCP**-сервера в сети или атаки **DHCP** starvation, которая заставляет **DHCP**-сервер выдать все существующие на сервере адреса злоумышленнику.
@@ -0,0 +1,34 @@
---
status: stable
type: concept
tags:
- network
- networking
- protocols
- dhcp
created: 2025-12-17
updated: 2026-05-07
title: DHCP
---
# DHCP
DHCP - **Dynamic Host Configuration Protocol**
При простой конфигурации сети (устройств мало и они не изменяются), сетевой администратор может спокойно сам прописать всем устройствам статичный IP и это нормально.
Но если в сети есть мобильные клиенты или устройства постоянно то приходят, то уходят, то задача становится весьма трудоемкой. Для решения это проблемы существует протокол DHCP, позволяющий удобно управлять распределением адресов в сети.
Существует 3 механизма работы DHCP:
1. Manual Allocation (Ручное распределение) - администратор предварительно настраивает IPv4 адрес клиенту, а сервер его автоматически передает.
2. Automatic Allocation (Автоматическое) - Администратор выделяет пул адресов серверу и тот сам распределяет их между клиентами, но нет понятия "аренды" после присвоения этот IP остается с клиентом навсегда.
3. Dynamic Allocation (Динамическое распределение) - сервер динамически назначает IP-адреса из выделенного пула на ограниченный срок, после его истечения, устройство должно заново запросить IP. Сервер, как правило, просто продлевает аренду.
%% Begin Waypoint %%
- [[Механизм работы - DHCP]]
- [[Настройка DHCP - Cisco]]
- [[Настройка DHCP Snooping и DAI]]
- [[DHCP-snooping]]
- [[Dynamic ARP Inspection]]
%% End Waypoint %%
@@ -0,0 +1,19 @@
---
status: seed
type: concept
tags:
- network
- networking
- protocols
- dhcp
- arp
created: 2025-12-22
updated: 2026-05-07
title: Dynamic ARP Inspection
---
# Dynamic ARP Inspection
**Dynamic ARP Inspection**  — функция коммутатора, предназначенная для защиты от атак с использованием протокола ARP.
Например, атаки ARP-spoofing, позволяющей перехватывать трафик между узлами, которые расположены в пределах одного широковещательного домена.
Данная функция предотвращающая атаку типа **Man-in-The-Middle**. Это такой вид атаки, когда к вашей сети подключается устройство злоумышленника и, например, объявляет, что IP адрес, принадлежащий авторизованному серверу, принадлежит ему. После этого все данные, которые отправляются на сервер переходят через устройство злоумышленника.
@@ -0,0 +1,33 @@
---
status: stable
type: concept
tags:
- network
- networking
- protocols
- dhcp
created: 2025-12-17
updated: 2026-05-07
title: Механизм Работы - DHCP
---
# Механизм Работы - DHCP
Получение IP-адреса по механизму DORA (Discovery, Offer, Request, Ack)
1. dhcpDISCOVER 
Клиент, у которого нет IP-адреса, отправляет широковещательный запрос (broadcast) в сеть. В нем он сообщает свой MAC-адрес с адресом назначения `255.255.255.255`, и т.к. у клиента ещё нет IP, то отправитель - `0.0.0.0`
2. dhcpOFFER
После получения запроса, существующий в сети DHCP-сервер резервирует свободный адрес из пула и создает ARP запись (сопоставление MAC и IP) и отправляет на `0.0.0.0` "предложение" клиенту с этим IP.
3. dhcpREQUEST
Ответ клиента уже с полученным IP, если DHCP-серверов несколько, то ответ также широковещательный.
Используется request также и для продления.
4. dhcpACK 
Сервер отправляет "подтверждение принятия" клиентом адреса и окончательно фиксирует аренду. 
![](1_Механизм%20работы%20-%20DHCP_ima.png)
При истечении аренды IP-адреса, клиент отправляет REQUEST-запрос серверу, который выдал ему адрес для продления, для получения ACK.
Если сервер не отвечает, то клиент отправляет broadcast-запрос ко всем серверам.
![](Механизм%20работы%20-%20DHCP_ima.png)
@@ -0,0 +1,49 @@
---
status: stable
type: concept
tags:
- network
- networking
- protocols
- dhcp
created: 2025-12-17
updated: 2026-05-07
title: Настройка DHCP - Cisco
---
# Настройка DHCP - Cisco
- **Исключение адресов из пула**
```text-plain
Router(config)# ip dhcp excluded-address 192.168.1.254
Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.9
```
- **Настройка DHCP-пула**
```bash
Router(config)# ip dhcp pool POOL-1 - создание пула
Router(dhcp-config)# network 192.168.1.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.1.1
Router(dhcp-config)# dns-server 192.168.1.2 - dns-сервер
Router(dhcp-config)# domain-name merionet.ru - доменное имя
Router(dhcp-config)# lease 2 - время аренды
Router(dhcp-config)# show ip dhcp binding - ARP-таблица
```
- Ретрансляция DHCP (DHCP RELAY)
```bash
Router_2(config)# interface g0/0
Router_2(config-if)# ip helper-address 192.168.1.1
```
- Настройка роутера как DHCP-клиента 
```text-plain
Router_3(config)# interface g0/0
Router_3(config-if)# ip address dhcp
```
@@ -0,0 +1,61 @@
---
status: seed
type: lab
tags:
- network
- networking
- protocols
- dhcp
created: 2025-12-22
updated: 2026-05-07
title: Настройка DHCP Snooping И DAI
---
# Настройка DHCP Snooping И DAI
Чтобы включить DHCP Snooping и DAI нужно, для начала, задать доверенные и не доверенные порты. По умолчанию, все порты, к которым подключаются конечные пользователи считаются **не доверенными**.
```js
AccSwitch# conf t
AccSwitch(config)#
AccSwitch(config)#int ra gi1/0/1-46
AccSwitch(config-if-range)#ip dhcp snooping limit rate 15
AccSwitch(config-if-range)#ip arp inspection limit rate 100
```
Тут мы задаем количество пакетов, которые должны проходить через не доверенный интерфейс. Обычно такого числа пакетов хватает для получения и обновления IP адреса. Далее настраиваем доверенные интерфейсы:
```js
AccSwitch(config)#int ra gi1/0/47-48
AccSwitch(config-if-range)#ip dhcp snooping trust
AccSwitch(config-if-range)#ip arp inspection trust
```
После этого глобально включаем DHCP Snooping, но НЕ ARP Inspection:
```js
AccSwitch(config)#ip dhcp snooping
AccSwitch(config)#ip dhcp snooping vlan 200
AccSwitch(config)#no ip dhcp snooping information option
```
Последняя команда отключает опцию 82, которая используется коммутатором в DHCP пакетах, идущих от DHCP клиента через коммутатор к DHCP серверу. Опция 82 содержит информацию об устройстве (например, MAC адрес коммутатора) и информацию о номере порта с которого идет запрос для того, чтобы сервер, опираясь на полученную информацию, смог выдать IP адрес DHCP клиенту из нужной подсети.
Далее переходим к настройке DAI. Если у вас в сети есть устройства со статическим IP адресом, то нужно как-то сказать коммутатору, чтобы порты, к которым подключены такие устройства не проверялись. Для этого существуют ARP списки доступа. Важно, чтобы название access-list-а было именно DAI. По личному опыту знаю, что в противном случае нужно вводить дополнительные команды. А так все работает без лишних команд.
```js
AccSwitch(config)#
AccSwitch(config)# arp access-list DAI
AccSwitch(config-arp-nacl)# permit ip host 192.168.200.25 mac host 0017.6111.a309
```
В таком порядке добавляем IP адреса всех устройств со статическим IP. Дополнительно можно настроить Sorce Guard. Этим мы конкретное устройство к порту коммутатора, таким образом другое устройство подключенное к указанному порту не сможет выдать себя за привязанное:
```js
AccSwitch(config)#ip source binding 0017.6111.a309 vlan 200 192.168.200.14 interface Gi1/0/5
```
Также под не доверенными интерфейсами нужно ввести команду _ip verify source_, которые проверяет источник запросов.
Важно! После всех настроек, приведенных выше, ждем сутки-две чтобы DHCP Snooping таблица заполнилась. В противном случае DAI будет блокировать все запросы, и пользователи не смогут работать в сети. Когда таблица заполнена включаем arp inspection:
```js
AccSwitch(config)#ip arp inspection vlan 200
```
@@ -0,0 +1,49 @@
---
status: stable
type: concept
tags:
- network
- networking
- protocols
- dns
created: 2025-12-17
updated: 2026-05-07
title: DNS
---
# DNS
DNS - Domain Name System Аналог: контактная книга в телефоне (сопоставление ФИО номеру телефона).
При вводе названия сайта или его доменного имени в поисковую строку браузер обращается к кэшу, если вдруг уже заходили на этот сайт с этого браузера.
Далее идет обращение к локальному DNS серверу (для ПК это файл `hosts`).
Если ничего нет, то идет обращение к **resolver** (распознающий). Обычно, это сервер у хостинг-провайдера, но можно задать любой другой.
Тот ищет записи в своем кэше (если его пользователи часто ищут твой сайт) А если не находит, то идет к корневому **root** серверу, который отвечает за зону `.`.
Стоит отметить, что все доменные имена, на самом деле, имеют точку в конце адреса: youtube.com. vk.com. mephi.ru. За эту корневую точку и отвечают корневые сервера.
Тот не говорит IP-адрес, но говорит, кто может "подсказать".
Он нас пересылает на TLD (Top Level Domain) сервер, который отвечает за свою верхнеуровневую доменную зону. Те делятся на:
1. gTLD (Generic Top Level Domain) - доменные зоны, не привязанные к стране.
- `.edu` - образование
- `.com` - коммерческие
- `.org` - организации и некомерческие
2. ccTLD (Country Code Top Level Domain) - привязанные к стране:
- `.ru` - Россия
- `.ua` - Украина
- `.by` - Беларусь
- `.us` - США
Т.е. после корневого сервера, resolver пойдет к серверу верхнего уровня, но и тот не скажет ему, куда переходить, тот подскажет, к какому _авторитарному_ серверу обратиться.
Авторитарный сервер или сервер авторитативных имен (_Authoritative nameserver_) - это сервер, отвечающий за конкретный пул адресов, как правило, такими выступают хостинг-провайдеры, которые регистрируют домены. Вот они как раз говорят, какое нужен ip-адрес.
В терминологии DNS существует 3 вида запросов:
1. Recursive (рекурсивный) - запрос IP-адреса по домену.
2. Iterative (итеративный) - запрос IP-адреса, либо авторитативного DNS сервера.
3. Inverse (обратный) - запрос доменного имени по IP-адресу.
@@ -0,0 +1,27 @@
---
status: stable
type: concept
tags:
- network
- networking
- protocols
- icmp
created: 2025-12-17
updated: 2026-05-07
title: ICMP - Internet Control Message
---
# ICMP - Internet Control Message
ICMP - расшифровывается как Internet Control Message Protocol - протокол служебных сообщений на сетевом уровне. Используется на третьем уровне модели [[Модель OSI|OSI]]. ICMP позволяет определить, может ли достичь пакет адреса назначения в установленные временные рамки (TTL). ICMP используют маршрутизаторы и др. устройства третьего уровня.
Для демонстрации работы протокола, можно взять в пример утилиту `ping`, которая позволяет проверить сетевую связность между узлами. 
С помощью TTL - time to live - можно понять, сколько переходов между маршрутизаторами (или "хопов") потребовалось пакету, если есть петля в настройках маршрутизаторов, то TTL быстро закончится и не будет зацикливания и траты ресурсов, а полное использование 128 хопов - явление редкое, поэтому с большой долей вероятности это означает петлю.
Вторым важным примером использования является утилита `traceroute`, которая позволяет просмотреть список "хопов" пакета от отправителя к получателю.
## Темная Сторона ICMP
С помощью этого протокола можно не только проверять "жив ли хост?", но и проводить полноценные атаки на сеть. Такие атаки, зачастую, связаны с атакой типа DOS (Denial-Of-Service - отказ в обслуживании). Например, огромное количество пинг-запросов на хоста с разных источников. В итоге, хост пытается ответить всем и перегружается.
Так же, раньше была популярна атака **Ping of Death**. Если кратко, ее суть заключалась в следующем: злоумышленник намеренно отправляет пакет больше максимального размера. Такой пакет фрагментируется на сети на несколько частей, прилетает в буфер устройства и попадает в очередь на сборка пакета "воедино". Переполнение этой очереди приводило к подвисанию хоста и полному отказу в работе.
@@ -0,0 +1,24 @@
---
status: stable
type: concept
tags:
- network
- networking
- protocols
created: 2025-12-17
updated: 2026-05-07
title: IP-адрес
---
# IP-адрес
**IP - Internet Protocol -** Сетевой адрес
IP-адрес - это просто набор из 32 нулей и единиц, который преобразовали в 10-ричную систему счисления и разбили на 4 части для удобства.
В стандарте IPv4 мы можем использовать только **4 294 967 296** адресов, что может не хватить. На замену ему потихоньку вводится [[IPv6]] - число из 128 единиц и нулей, переведенный в 16-чную С.С. и разбитый на 8 частей. Тут доступно уже сильно больше вариантов...
## Статическая И Динамическая Адресация
Статика - задается вручную и не меняется в ходе работы. Динамика - задается автоматически посредством DHCP-сервера из определенного ему пула IP.
Т.к. переход на IPv6 дорог, да и иметь всем конкретный IP не очень безопасно, придумали [[NAT]] (Network Address Translation) и его надстройку PAT (Port Address Translation). Суть в том, что много устройств могут выходить в сеть под "одним" белым (внешним) IP. Но есть нюанс, при маршрутизации трафика к белому IP добавляется порт, который уточняет, к какому именно устройству сети и с каким "внутренним" IP направить эти пакеты.
@@ -0,0 +1,127 @@
---
status: stable
type: concept
tags:
- network
- networking
- protocols
- ipv6
created: 2025-12-17
updated: 2026-05-07
title: IPv6
---
# IPv6
При использовании IPv4 с 4 миллиардами адресов, в какой-то момент очевидно столкнулись с проблемой их нехватки. Даже создание PAT и использование локальной адресации не сильно спасло ситуацию.
Решением проблемы стало изобретение IP версии 6, где используется не 32 бита для кодирования адреса, а 128, при этом, увеличение количества бит на единицу, увеличивает кол-во доступных адресов ровно в два раза, следовательно, для 128 бит вакантных адресов примерно...
$$\large 340\ 282\ 366\ 920\ 938\ 463\ 463\ 374\ 607\ 431\ 768\ 211\ 456$$
Это много, даже очень.
IPv5 А что случилось с IPv5? Хороший вопрос ... IP-версия 5 была использована для экспериментального проекта под названием "Протокол интернет-потока". Он определен в RFC, если вас интересуют исторические причины: [http://www.faqs.org/rfcs/rfc1819.html](http://www.faqs.org/rfcs/rfc1819.html)
## Отличия IPv4 И IPv6
В чем же основная проблема перехода на IPv6? А в том, что нет совместимости протоколов для IPv4 и новых поколений.
- **OSPF** был обновлен с 2 (IPv4) до 3 (IPv6) версии.
- **ICMP** был обновлен до ICMP 6.
- **ARP** был заменен на _NDP_ (Neighborhood Discovery Protocol).
![](IPv6_image.png)
Вместо того чтобы уже добавлять все поля в заголовок, заголовок IPv6 использует "следующий заголовок", который ссылается на необязательные заголовки. Поскольку заголовок намного проще, маршрутизаторам придется выполнять меньше работы.
Маршрутизация тоже сильно поменялась при переходе на новую версию:
1. RIP -> RIPng (RIP Next Generation)
2. BGP (Border Gateway Protocol) - протокол, объединяющий интернет вместе. MP-BGP - Multi-Protocol BGP, он может маршрутизировать IPv6. EIGRP также поддерживает IPv6.
Надо учитывать, что даже при условии поддержки OSPF и EIGRP адресации обоих версий, это два **разных протокола**. Из этого следует, что сначала надо поднять протокол для одной версии, а потом для другой. Использование двух версий IP называется **двойным стеком**.
> Поскольку эти два протокола несовместимы, в будущем будет происходить переход с IPv4 на IPv6. Это означает, что вы будете запускать оба протокола в своей сети и, возможно, однажды вы сможете отключить IPv4, так как весь интернет будет настроен на IPv6.
## Формат IPv6
```text
2041:0000:140F:0000:0000:0000:875B:131B
```
Он сильно длиннее, чем IPv4, состоит из 8 частей, каждая часть состоит из 4 шестнадцатиричных чисел.
![](5_IPv6_image.png)
Таблица перевода шестнадцатиричных чисел в двоичные
Существуют некоторые правила, позволяющие упростить работу с адресами:
1. Если есть несколько частей с нулями, то их можно убрать, заменив на `::` `2041:0000:140F:0000:0000:0000:875B:131B` -> `2041: 0000:140F:: 875B:131B`
2. Если есть одиночный блок с нулями, то можно его заменить на один ноль `2041: 0000:140F:: 875B:131B` -> `2041:0:140F:: 875B:131B`
3. При наличии в блоке значащих чисел и нулями перед ними, нули можно опустить `2001:0001:0002:0003:0004:0005:0006:0007` -> `2001:1:2:3:4:5:6:7`
При использовании IPv4 и нехватке адресов, люди начали адаптироваться, придумав частные сети и [[VLSM]] (сегментацию сети), использовали [[NAT]] и так далее. При переходе на IPv6 такой проблемы уже не будет, т.к. пула доступных адресов будет достаточно для снабжения адресами нескольких планет, таких, как Земля. Протокол IPv6 предлагает два варианта для одноадресной рассылки:
1. Global Unicast
2. Unique Local
Ранее, как отголосок IPv4 существовал третий диапазон адресов "site local", который начинался с `FEC0::/10`. Он предназначался для использования во внутренних сетях (аналог `192.168.0.0/24`), но был удален из стандарта IPv6.
**Global Unicast** передачи похожи на публичные IPv4 адреса. Каждая компания, желающая подключится к интернету, получает пул адресов, которые они, на своё усмотрение, делят на более мелкие префиксы, чтобы все устройства сети поулчили IPv6 адрес, притом уникальный во всем мире. Зарезервированный блорк называется префиксом глобальной маршрутизации.
## Получение Префиксов
- **IANA** отвечает за распределение всех префиксов IPv6. Они будут назначать реестрам разные блоки, которыми будут управлять региональные компании.
- **ISP**, попадлающие под реестр региональной компании, заправшивает блок IPv6. Они получают свой пул адресов, которые могут распределять между провайдерами. !
![](4_IPv6_image.png)
> Некоторые префиксы **FD**: Unique Local **FF**: Multicast **FE80**: Link-Local
## Local И Link-Local
После получения клиентом от провайдера префикса, например, `2001: 828:105:: / 48`, необходимо его разбить на подсети для различных VLAN и point-to-point соединений, которые могут быть. Поскольку адресное пространство настолько велико, все используют префикс `/64` для подсетей. Не имеет смысла брать меньшие подсети. Когда мы используем IPv4, мы вынуждены, для подсетей, дробить хостовую часть!
![](12_IPv6_image.png)
Тогда, у нас, в целом, будет меньше хостов на подсеть.
![](3_IPv6_image.png)
 В IPv6 такой проблемы нет:
![](11_IPv6_image.png)
Префикс Global Routing был назначен провайдером. Последние 64 бита называются **идентификатором интерфейса**, это эквивалетно части хоста в IPv4.
Путем несложно математики, получается, что у нас 16 бит на подсети, а это около 65536 подсетей (как правило, этого _более чем_ достаточно). В этой же схеме, на хосты в каждой подсети отводится около **18 квинтиллионов** хостов.
Если клиент получил префикс `2001: 828: 105:: / 48`, то он может создать такие подсети: 
![](2_IPv6_image.png)
```text
- 2001:828:105:0000::/64;
- 2001:828:105:0001::/64;
- 2001:828:105:0002::/64;
- 2001:828:105:0003::/64;
- 2001:828:105:0004::/64;
- 2001:828:105:0005::/64;
- 2001:828:105:0006::/64;
- 2001:828:105:0007::/64;
- 2001:828:105:0008::/64;
- 2001:828:105:0009::/64;
- 2001:828:105:000A::/64;
- 2001:828:105:000B::/64;
- 2001:828:105:000C::/64;
- 2001:828:105:000D::/64;
- 2001:828:105:000E::/64;
- 2001:828:105:000F::/64;
- 2001:828:105:0010::/64;
- 2001:828:105:0011::/64;
- 2001:828:105:0012::/64;
- 2001:828:105:0013::/64;
- 2001:828:105:0014::/64;
...
```
@@ -0,0 +1,42 @@
---
status: stable
type: concept
tags:
- network
- networking
- protocols
created: 2025-12-17
updated: 2026-05-07
title: TCP Vs UDP
---
# TCP Vs UDP
Основные протоколы транспортного уровня модели OSI (L4).
## **TCP**
- Transmission Control Protocol Перед передачей данных устанавливает соединение трехсторонним рукопожатием.
- SYN - отправка запроса на возможность передачи данных от отправителя.
- SYNACK - подтверждение получающей стороной.
- ACK - начало передачи данных.
После отправки части данных, получающая сторона отправляет подтверждение передачи.
Этот протокол надежный, но очень медленный.
TCP, как протокол, определен в **RFC (Request For Comments) 793**, выполняет функции, перечисленные в таблице ниже, через механизмы, предоставляемые конечными устройствами. Он полагается на IP для сквозной доставки данных, включая вопросы маршрутизации. Независимо от того, в каких условиях находятся ПК для передачи, TCP работает одинаково на своем уровне. 
![](1_TCP%20vs%20UDP_image.png)
Функционал TCP
![Отправка данных с трех приложений Анной Грише](TCP%20vs%20UDP_2.png)
Поля заголовка TCP
## **UDP**
- User Datagram Protocol Просто бросается файлами в "сторону" получающей стороны. Может теряться часть данных, или их порядок. В случае с видео, звонками, мы можем позволить себе потерю данных.
![](2_TCP%20vs%20UDP_image.png)
@@ -0,0 +1,52 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Режимы Передачи Данных В Сетях
---
# Режимы Передачи Данных В Сетях
> Механизм передачи данных или информации между двумя устройствами, связанными по сети, называется **режимом передачи**.
Существует 3 категории режимов передачи:
1. Симплексный режим
2. Полудуплексный режим
3. Дуплексный (полнодуплексный) режим
## Симплексный Режим
В этом режиме связь является исходно однонаправленной, т.е. данные могут передаваться только в одном направлении.
Пример: пульт от телевизора, пульт отправляет запросы, но телевизон даже не думает, что-то пересылать пульту.
|Преимущества|Недостатки|
|---|---|
|Станция может использовать всю пропускную способность канала связи|Нет связи м/у устройствами, т.е. движение одностороннее|
## Полудуплекс
В этом режиме оба устройства могут и передавать и получать данные, но не одновременно!
В полудуплексном режиме отправитель отправляет данные и ожидает их подтверждения, а если есть какая-либо ошибка, то получатель может потребовать от него повторной передачи этих данных. Благодаря этому возможно обнаружение ошибок.
|Преимущества|Недостатки|
|---|---|
|Аналогично, сиплексному режиму, передаче доступна вся полоса пропускания|Огромные задержки в обмене информацией, ведь нужно дождаться, пока коллега завершит передачу|
## Полнодуплекс
В отличие от двух методов выше, полнодуплекс предоставляет двустороннюю одновременную связь, поток движется между двумя устройствами в обе стороны.
Дуплекс имеет два отдельных канала передачи информации, один для прямого хода, второй для обратного.
|Преимущества|Недостатки|
|---|---|
|Обе станции могут отправлять и получать данные одновременно|Полоса пропускания делится на две части, между устройствами|
![](Режимы%20передачи%20данных%20в%20с.png)
@@ -0,0 +1,54 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Сегментация Сети
---
# Сегментация Сети
Сегментация сети позволяет усилить информационную безопасность сети, путем уменьшения площади проникновения и уменьшая воздействие броадкастного шторма, при котором сеть перегружается большим количеством широковещательных запросов.
Сегментация сети выполняет разделение пользователей на различные сетевые группы, изолированные друг от друга. В зависимости от политик безопасности, определяемых отделом ИБ, обмен информацией между группами строго контролируется или вовсе ограничен.
Политика безопасности определяет некоторые принципы, позволяющие разделить пользователей на подгруппы.
- Гость
- Временный сотрудник
- Персонал
- Администратор
> Сегментацию сети желательно выполнять при полной реализации бизнес-процессов. К таким процессам относится выдача доступа к сети интернет пользователям, не состоящих в рядах работников компании, так сказать, гостевым юзерам.
## Методы Сегментации Сети
Для выполнения сегментации сети, необходимо выполнить следующие задачи:
1. Определить, действительно ли пользователь принадлежит той или иной группе
2. Ограничить трафик пользователей одной группы к пользователям другой группы
3. Предоставить пользователям разрешение на использование только разрешенных ресурсов, и наложить запрет на остальное
Решением первой задачи является использование технологии `802.1x` в корпоративных сетях - т.е. использование дополнительного фактора для получения доступа в сеть.
Второй - создание дополнительных сетей, в т.ч. виртуальных, путем создания разных сетей для сотрудников разных департаментов, различные DMZ и т.д.
Третьей - фильтрация на основе IP-адресов. Контроль доступа обычно может быть реализован двумя способами: грубыми средствами и тонкой фильтрацией. Это реализуется с помощью листов контроля доступа - обычных, расширенных и динамических.
## Ограничение Традиционных Методов
Если использовать только эти подходы, то, зачастую, большую часть работы придется выполнять вручную. Эта ситуация станет более ощутимой, когда сегментированная среда станет динамической, ведь правила могут меняться.
> - Некоторые правила, которые тесно связаны с обновлениями служб защиты, а также которые управляют ресурсами и сотрудниками компаний;
> - Количество групп юзеров, которое может меняться от условий реорганизации внутри организации, а от различных дополнений ресурсов в сети и так далее;
> - Расположение групп пользователей, в связи с чем может возникнуть необходимость расширить сегментацию на новые части сети;
С ростом количества сотрудников и различных устройств, поддержка сегментации становится всё более сложной.
 _**Сегментация**_ - это не единовременная операция, а постоянный и очень важный процесс. Всё более популярным становится подход программно-определяемой сегментации сети (напр. **TrustSec** от Cisco).
## Связанные заметки
- [[Network Drivers - Docker]] — изоляция контейнеров по bridge-сетям = программная сегментация; разные bridge-сети не видят друг друга, как разные VLAN
- [[File Permissions]] — принцип наименьших привилегий: в ФС — rwx для owner/group/others; в сети — изоляция Guest/Employee/Admin
@@ -0,0 +1,29 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Сетевые Устройства
---
# Сетевые Устройства
## **Хаб**
Хаб (концентратор) - есть несколько портов для подключения нескольких устройств. После того, как данные приходят на один порт, он их копирует и рассылает по всем портам.
## **Коммутатор**
**Коммутатор** (switch) - пришедший трафик рассылается только адресату, кроме broadcast (широковещательный) и multicast (отдельная общая волна, на которую надо настроиться).
## **Маршрутизатор**
**Маршрутизатор** (router) - работают с IP-адресами. Маршрутизирует данные из сетей в сети, на основе полученных данных и таблицы маршрутизации. - может выступать как DNS, DHCP сервер, обладать firewall'ом и много чего ещё.
> Хаб - L1
>
> Коммутатор - L2
>
> Маршрутизатор - L3
@@ -0,0 +1,23 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Утилита Ping
---
# Утилита Ping
Можно сказать, это самый базовый инструмент инженера, который позволяет понять ""А жив ли хост?"
Помимо прочего, пинг поможет понять как долго пакет доходит до адреса назначения и, соответственно, поможет измерить задержку.
Работает ping предельно просто:
1. Источник отправляет запрос вида **ICMP echo request**. Это выглядит как вопрос "бро, ты живой?"
2. Получатель отправляет ответ источнику **ICMP echo reply**. Это звучит как ответ вида "да, бро, я жив, спасибо!"
3. Время с момента отправки вопроса до получения ответа суммируется и считается за время пинга
![Протокол ICMP - что это и для чего нужен](Утилита%20Ping_1.png)
@@ -0,0 +1,31 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Широковещательные И Коллизионные Домены. Коммутация
---
# Широковещательные И Коллизионные Домены. Коммутация
![1.png (800×161)](Широковещательные%20и%20коллиз.png)
Домен коллизий определяется как набор хостов, подключенных к сети. Если эти хосты соединены прямым проводом, то они не смогут передавать пакеты одновременно (из-за возможного столкновения в одном потоке). Но если между устройствами будет ещё одно вспомогательное физическое устройство, то одновременная передача становится возможной, так как они находятся в отдельных **доменах коллизий.** 
**Домен коллизий** — это сегмент сети, в котором пакеты данных от разных устройств могут столкнуться друг с другом.
Широковещательный домен - набор хостов, которые **могут** обмениваться данными, отправляя их по L2. Если узел А посылает широковещательный пакет, то его получают все устройства локальной сети, включая B, так как они находятся в одном широковещательном домене.
**Широковещательный домен (broadcast domain)** — это сегмент сети, в котором широковещательный пакет (broadcast), отправленный одним устройством, достигает всех остальных устройств.
Формально говоря, мостовое (прямое соединение) создает **домен коллизий**, а не широковещательный домен.
Для создания функционирующей коммутируемой среды, необходимо поставить между устройствами коммутатор. 
![2.png (800×149)](2_Широковещательные%20и%20коллиз.png)
Стоит отметить, что устройства не видят, что между ними что-то есть, коммутаторы "прозрачны" для устройств сети.
Если узел А отправляет пакет на `192.168.1.2` (узел B), то от отправляет перед этим широковещательный запрос ко всем узлам, запрашивая [[MAC-адрес]] соответствующего устройства. Разрешает этот запрос протокол [[ARP]] (Address Resolution Protocol). Так как узлы находятся в одном широковещательном домене, то устройство B получает этот запрос и отправляет свой MAC-адрес обратно отправителю для последующего обмена пакетами.
@@ -0,0 +1,29 @@
---
status: stable
type: concept
tags:
- network
- networking
created: 2025-12-17
updated: 2026-05-07
title: Широковещательные И Коллизионные Домены. Маршрутизация
---
# Широковещательные И Коллизионные Домены. Маршрутизация
Сеть, построенная на основе **маршрутизатора** (L3), не создает доменов вовсе.
![3.png (800×197)](7_Широковещательные%20и%20коллиз.png)
Как можно заметить, устройства находятся в разных подсетях. Указатель `/24` показывает, какое количество бит установлено в маске подсети, и указывает на длину перефикса. В нашем случае, префикс занимает 24 бита и эта адресация имеет маску: 255.255.255.0.
Таким образом, узел A понимает, что узел B находится в другой подсети (192.168.**1**.1 и 192.168.**2**.1) и для оправки, должен использовать определенные методы маршрутизации.
![4.png (800×173)](5_Широковещательные%20и%20коллиз.png)
Хост А понимает, что находится с получатеем в разных широковещательных доменах. Он отправляет свои пакеты напрямую маршрутизатору (в данном случае, он знает, что маршрутизатор есть в его сети). Теперь А помещает в заголовок пакета IP-адрес хоста B, а также меняет MAC получателя на MAC промежуточного маршрутизатора.
![5.png (800×278)](6_Широковещательные%20и%20коллиз.png)
Маршрутизатор принимает пакет от узла А и строит наиболее коротки маршрут до B, исходя из его IP-адреса и своей таблицы маршрутизации. Сам заменяет MAC адрес в заголовке пакета на верный и отправляет в следующую подсеть для дальнейшей маршрутизации.
> Коммутация L3 == маршрутизация.